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