1 引言
西門子S7—200/300為可編程邏輯控制器,具有豐富的指令強大、運行穩定特點,廣泛的應用于工業控制。本文將西門子S7—200/300組合,共同構成一個完整的控制網絡,該系統應用于一種藥品的生產流程控制,其涉及眾多反應罐和控制設備,程序設計中進行參數化處理,發掘控制邏輯共性,使整個控制系統邏輯清晰、易于修改。
2 控制系統軟硬件環境
2.1 硬件
上位監控計算機兩套,下位西門子s7—300PLC-套,s7—200PLC若干套,以及反應釜、閥、泵、變頻器等需要被控制的設備。
2.2 軟件
上位使用組態王6.5開發和監控軟件, 下位為Step7和Step7Micro/Win編程軟件。
3 控制對象參數化處理
3.1 控制參數化和流程和配方的概念
流程是一個反應罐生產所進行所有操作,包含每一步所要控制的設備及控制順序,固化在S7-200PLC中,更改需重新下載。配方是操作人員用上位組態王通過S7-300控制器經DP總線發送到指定200PLC中,配方中包含所有流程步、被執行的順序及加料量等參數,可以根據工藝修改。
3.2 流程和配方中涉及的參數化處理
(1)流程步參數化:將流程進行排序用流程序號指向對應流程,這在程序的執行中對流程步調用起到指針的作用。(2)設備參數化:將整個流程中所有設備進行編號。規則:0表示空設備,1為泵,2為底閥,3為排污閥,4為總閥,5-14為閥1~10。(3)控制參數化:為解決設備啟停連鎖先后順序,引入一個字節開關掩碼:低4位開掩碼,高4位關掩碼。由高到低對應設備編號定義的被控設備,1關聯,0不關聯。如開關掩碼為0010 0110,高四位0010為設備1的關掩碼,四位所對應的設備號從高到低4321,表明設備l關閉前提是設備2先關;低四位01l0為設備1的開掩碼,表明設備1打開的前提條件是設備2和設備3都打開。
3.3 S7- 200參數化控制編程
(1)讀取配方參數:考慮生產需求,配方的執行由人工按鈕啟動,步執行以后按該步序號讀取VB 1200中的流程參數,放到從VB319起始的6個臨時內存中。
程序代碼(斜體表示): LD啟動步:IO.2 //啟動按鈕按下 EI 7 CALL指針計算:SBR1 1,&VB1200,10,當前步:VB312,0, #Point:LD0 //計算出存放配方參數的地址 BMB #Point: LD0,配方序號:VB319,6 //存儲配方控制參數
(2)執行流程參數:配方執行(V31 8.24升沿),以內存VB1200中讀取的流程序號(已經存儲在VB320后單元中)為指針,從VB2000中讀取流程控制數據,包括設備編號,開關掩碼等,放到從VB300起始內存中。
程序代碼: LD步啟動:V318.2 EU CALL指針計算:SBR1 1,&VB2000,15,執行流程:VB320,1,#Point:LD1 //計算出存放流程參數的地址 BMB #Point: LD10,流程類:VB300,9
(3)輸出邏輯控制指令。下面以設備1的啟停控制為例說明該邏輯控制的實現。如下面代碼所示,其中
控制1:V310.0置1貝0打開設備1,否則關閉。 設備1啟動控制代碼: LD步執行:V318.3 //流程步執行中,步執行為1 LD狀態2:V309.1 設備2狀態與其開掩碼常閉觸點進行或運算 ON開掩碼12:V305.1 ALD LD狀態3:V309.2 ON開掩碼13:V305.2 ALD LD狀態4:V309.3 ON開掩碼14:V305.3 ALD S控制1:V310.0, //輸出邏輯控制指令 設備1停止控制代碼: LDN步執行:V3l8.3 LDN狀態2:V309.1 //設備2狀態常閉觸點與其開掩碼常閉觸點或運算 ON 關掩碼12:V305.5 ALD LDN狀態3:V309.2 ON關掩碼13:V305.6 ALD LDN狀態4:V309.3 ON關掩碼14:V305.7 ALD R控制1:V310.0, //輸出邏輯控制指令
從控制代碼中可以看出:設備1的控制與其它三個設備狀態以及開關掩碼有關,狀態1,狀態2,狀態3,狀態4為三臺設備的狀態值,開關掩碼直接決定設備1的控制指令是否與該設備的狀態有關。
以上就是該控制系統中S7-200的參數化編程每一步的代碼實現。
(審核編輯: Doris)
分享