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