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