WinCC和S7-200在橡膠三角帶生產(chǎn)中的應(yīng)用
三. 控制系統(tǒng)完成的功能
1. 對硫化機來說由于機臺數(shù)量多,筆者應(yīng)用西門子程控器編程所特有的庫程序,將8臺設(shè)備為一組,先編制庫程序。為簡化編程,在庫程序中要求輸入編號,V區(qū)中為每個硫化機子程序保留30個字節(jié)暫存區(qū),為每個硫化罐子程序保留20個字節(jié)暫存區(qū),用于保存8臺機組的運行狀態(tài)、硫化計時、硫化時間到達輸出提示、硫化時間出錯輸出報警及及硫化過程結(jié)束輸出歸檔信號等。72臺硫化機共調(diào)用9次,編號為0-8。52臺硫化罐調(diào)用7次,編號0-6。
硫化機子程序輸入輸出要求:
輸入:
編號 雙字,根據(jù)編號分配緩存區(qū)地址
壓力信號 字,輸入壓力和二次硫化信號,8臺硫化機共16位。
運行狀態(tài) 雙字,采用間接尋址,用vbxxxx格式輸入,硫化機實際運行狀態(tài),將當(dāng)前輸入狀態(tài)保存,用于判斷邊緣。
時間設(shè)定 雙字,采用間接尋址,用vbxxxx格式輸入,一二次硫化設(shè)定時間(字)
實際時間 雙字,采用間接尋址,用vbxxxx格式輸入,一二次硫化實際時間(字)
硫化次數(shù) 雙字,采用間接尋址,用vbxxxx格式輸入,一二次硫化次數(shù)(字節(jié))
輸出:
報警輸出 字,每臺硫化機2個位,分別代表一二次硫化時間故障
次數(shù)報警 字節(jié),兩次硫化次數(shù)不等時報警
完成輸出 字節(jié),硫化到時輸出提示信號
一次脈沖 字,一次硫化卸壓時輸出5秒脈沖,用于歸檔
二次脈沖 字,二次硫化卸壓時輸出5秒脈沖,用于歸檔
次數(shù)脈沖 字節(jié),當(dāng)二次硫化信號消失時為二次硫化結(jié)束,輸出3秒脈沖,用于歸檔
2. 由于采用了庫程序,S7-224的編程比較簡單。需要注意的是符號定義,對符號采用連續(xù)成塊的定義。這樣既便于了PC Access的變量讀取,也方便WinCC的變量的添加和使用。
3. 庫程序的編制難點在于對8臺機組進行計時。信號輸入,每臺硫化機有2點輸入(壓力、二次硫化選擇)共16位一個字,時間設(shè)定采用間接尋址方法輸入地址,實際硫化時間也是采用間接尋址方法,輸出端不能輸入地址信號,是通過輸入端送入。對每臺設(shè)備的硫化時間的計時,由于庫程序無法使用計時器,筆者采用字加1的辦法實現(xiàn)計時,只要保證子程序每秒運行一次,則該數(shù)字就是實際時間,時間單位為秒。
硫化機庫庫程序簡介:
程序運行,需要30個字節(jié)內(nèi)存保存運行時的數(shù)據(jù),實時時間計時保存,每臺一個字,共16個字節(jié)。輸出報警狀態(tài)暫存2個字節(jié),當(dāng)前運行狀態(tài)保存,每臺2位,共16位2個字節(jié)。硫化次數(shù)保存,每臺一個字節(jié),共8個字節(jié)。2次硫化次數(shù)不一致時的次數(shù)報警暫存1個字節(jié)。共29個字節(jié),保留1個字節(jié)。其存儲器起始地址,由庫程序調(diào)用時定義。
以1#-8#硫化機為例,計時處理,IW0是輸入信號,VW2000是1#一次硫化設(shè)定時間,VW2002是1#二次硫化時間設(shè)定。VW2400是1#一次實際硫化時間,VW2402是1#二次實際時間。采用vb2000和vb2400輸入庫程序。在每次運行,先將壓力信號移到LW29臨時寄存器,L29.0是1#機壓力信號,L29.1是1#機的二次硫化信號。只要有壓力信號就對計時保存字加1,并根據(jù)L29.1狀態(tài)分別將當(dāng)前時間送到實際時間地址中(間接尋址輸入程序)。當(dāng)實際時間到達設(shè)定時間時,對提示位置1,一旦壓力信號為0時,提示位復(fù)位,同時根據(jù)狀態(tài)暫存位狀態(tài)判斷是否首次為0,是首次為0,運行比較程序段,比較時間值,小于設(shè)定值或大于一定值輸出報警位,同時硫化次數(shù)加1。每循環(huán)一次,LW29右移2位,實際時間地址的間接尋址數(shù)加4。循環(huán)8次,可以對8臺硫化機處理完。
由于庫程序中要處理多種位信號和數(shù)字,在循環(huán)處理時,必需做到一一對應(yīng),程序結(jié)束時,將當(dāng)前運行狀態(tài)信號、時間報警狀態(tài),次數(shù)報警狀態(tài)及歸檔脈沖信號保留至?xí)捍鎯?nèi)存相應(yīng)地址中。在編制時,多次對試驗后的結(jié)果進行調(diào)整,造成內(nèi)容繁雜,有些內(nèi)容可以簡化,但是在程序中,用了大量的臨時地址,一旦改動輸入輸出的數(shù)量和數(shù)據(jù)格式,會造成L地址的變動。鑒于現(xiàn)程序在實際應(yīng)用中工作正常,為避免產(chǎn)生差錯,也就保留一下多余程序段。具體參見附件程序。
四. 項目運行
系統(tǒng)于2006年5月投入工作,運行情況良好,用戶感到使用方便。集中監(jiān)控系統(tǒng)使得車間工藝員更便于管理,只需要在車間辦公室就可對所有設(shè)備進行時間設(shè)定和監(jiān)視。均比以前有了很大的提高。更直觀,更可靠。保證了三角帶的硫化時間,穩(wěn)定產(chǎn)品質(zhì)量。同時,通過歷史數(shù)據(jù)的分析,可以優(yōu)化品種的搭配,直接提高了產(chǎn)量,增加效益。
五. 應(yīng)用體會
1. 對庫程序的編制有了更深刻的了解,在編制8臺硫化機的庫程序時,先對一臺進行編程,然后再循環(huán)運行。為了保證能一一對應(yīng),先將信號輸入字,暫存臨時地址,每次均以L0.0和L0.1作為當(dāng)前信號輸入處理,并在每次循環(huán)時右移2位。循環(huán)結(jié)束后并將其保存在緩存區(qū)中,以便下次調(diào)用時作比較用。
2. 計時處理:庫程序不能采用定時器,就采用字加一來計時。定義庫程序每秒運行一次,則字中的數(shù)字就是時間,單位是秒。為了對應(yīng),硫化時間的設(shè)定也是以秒為單位。通過字比較,可以判斷硫化到時或出錯。筆者采用定時中斷,100mS中斷一次,1秒為一個周期。子程序分時運行,保證每100mS只運行一個編號子程序,所有子程序每秒運行一次。在實際使用中,其時間誤差為1秒。
3. 庫程序中需判斷信號輸入的首次和結(jié)束,庫程序無法采用邊沿指令,筆者采用信號輸入位與暫存信號位比較來確定。當(dāng)信號輸入位是1,暫存信號位是0,此時就是首次信號輸入,運行首次程序段,并對暫存位置位。當(dāng)信號輸入位是0,暫存信號位是1,此時就是信號輸入結(jié)束,運行結(jié)束程序段,并對暫存位復(fù)位。
4. 項目的硫化時間數(shù)據(jù)保存要求,對過程時間記錄毫無意義,只需要每次硫化結(jié)束時保存結(jié)果數(shù)據(jù)。WinCC的故障記錄和數(shù)據(jù)歸檔,采用觸發(fā)歸檔,由程序給出一個脈沖信號進行觸發(fā)。這樣數(shù)據(jù)量少,查找方便。
5. PC Access作為S7-200程控器的OPC服務(wù)器,對與200通訊有一個缺點。開始做試驗時,用一臺S7-200只進行數(shù)據(jù)移動運行,PC Access組態(tài)對PLC讀寫,在WinCC上觀察從數(shù)據(jù)寫入到數(shù)據(jù)讀出,其響應(yīng)速度很快。后將兩臺PLC的變量全部配置好,在公司進行模擬運行,發(fā)現(xiàn)運行速度很慢,數(shù)據(jù)輸入到顯示要等上近20秒!反復(fù)檢查硬件和軟件都沒有問題,當(dāng)時幾乎想放棄使用PC Access改用別的OPC。直到后來訂貨的2臺PLC到齊后,全部連上再次試其通訊速度又很快。分析后發(fā)現(xiàn)是通訊等待響應(yīng)問題。原來在以前試驗時,只接了一臺PLC,PC Access在通訊時,對不存在的PLC通訊會反復(fù)進行,大量的時間浪費在這上面!建議PC Access應(yīng)能設(shè)定通訊重試間隔時間,并對每次通訊重發(fā)次數(shù)進行限制。這樣會給現(xiàn)場調(diào)試使用帶來方便。
六. 結(jié)束語
首次使用WinCC配PC Access,深感其使用方便,尤其是變量的導(dǎo)入,幾乎不需花費時間,幾分鐘就全部完成。為底端PLC也能用上高端的組態(tài)軟件提供了良好的應(yīng)用條件,便于開發(fā)出更多的產(chǎn)品。
評論