一. 項目簡介
1. 上海方電科技發(fā)展有限公司是一家由繼續(xù)設(shè)計,計算機(jī)軟硬件及自動化專業(yè)等高級技術(shù)人員組成的科技公司,主要從事簾帆布浸膠機(jī)設(shè)備及涂層設(shè)備的設(shè)計、開發(fā)和制造。該項目于2006初確定,3月開始實施,5月完成交付使用。
2. 用戶單位:河南尉氏久龍橡塑集團(tuán)有限公司,地處河南開封尉氏縣,年產(chǎn)三角帶以生產(chǎn)各種規(guī)格三角帶為主。現(xiàn)有平版硫化機(jī)72臺,硫化罐50臺。久龍橡塑集團(tuán)年生產(chǎn)三角帶達(dá)7000萬A米,處于行業(yè)領(lǐng)先地位。橡膠三角帶的質(zhì)量與硫化時間有關(guān),硫化時間不能少,也不能太長。為保證質(zhì)量,采用了 硫化計算機(jī)監(jiān)控系統(tǒng)。
3. 三角帶的規(guī)格繁多,小型的,采用模具固定,在硫化罐中加壓、加熱并保持一定硫化時間一次完成。對大型三角帶,由于尺寸大,模具費用高,一般采用平版硫化機(jī)分段硫化。同時對6-8根三角帶進(jìn)行硫化,一段硫化完成后,轉(zhuǎn)動三角帶到下一段。反復(fù)5-10次才能對整根三角帶都硫化一遍。為了更好的達(dá)到質(zhì)量要求,工藝要求進(jìn)行2遍硫化,分別為一次硫化和二次硫化。兩次硫化時間各不相同。監(jiān)控系統(tǒng)要求能對所有的硫化機(jī)和硫化罐的硫化時間進(jìn)行設(shè)定,同時能實時觀察實時硫化時間。硫化到時發(fā)出提示信號。對硫化時間不到或超過一定時間的設(shè)備,有報警輸出。保存每次硫化的設(shè)定值和實際時間值,便于進(jìn)行質(zhì)量跟蹤。
4. 系統(tǒng)配置:
DELL商用機(jī)一臺,配CP5611卡
操作系統(tǒng):WinXP Professional SP2
S7-224 2臺,另配多個數(shù)字?jǐn)U張模塊
軟件:WinCC V6.0 SP1中文版、S7-200 PC Access SP2。WinCC通過OPC方式,對S7-224進(jìn)行讀寫,所有的控制由224完成。
5. 現(xiàn)場設(shè)備照片
二. 控制系統(tǒng)構(gòu)成
1. 硫化機(jī)車間共有72臺硫化機(jī),每臺硫化機(jī)有壓力信號和2次硫化選擇信號兩點輸入,一點到時提示輸出。配1臺S7-224+DI/DO模塊,由于輸入點太多,采用動態(tài)掃描輸入。硫化灌車間共有50臺硫化灌,每臺硫化罐有一點壓力信號輸入,一點到時提示輸出。配1臺S7-224+DI/DO模塊。通訊口地址分別設(shè)定為3、4,波特率:187.5K。
上位機(jī)位于車間辦公室,PLC分別安裝于兩個車間,采用總線連接器和總線電纜與S7-224程控器相連,CP5611配置為MPI通訊,波特率:187.5K。電纜總長約200米。
2. 系統(tǒng)的硬件配置圖,網(wǎng)絡(luò)結(jié)構(gòu)圖,應(yīng)用中的監(jiān)視畫面。
硫化機(jī)硫化時間設(shè)定畫面:
硫化機(jī)實時數(shù)據(jù)顯示:
硫化罐實時數(shù)據(jù)顯示:
故障記錄:
硫化機(jī)歷史記錄:
三. 控制系統(tǒng)完成的功能
1. 對硫化機(jī)來說由于機(jī)臺數(shù)量多,筆者應(yīng)用西門子程控器編程所特有的庫程序,將8臺設(shè)備為一組,先編制庫程序。為簡化編程,在庫程序中要求輸入編號,V區(qū)中為每個硫化機(jī)子程序保留30個字節(jié)暫存區(qū),為每個硫化罐子程序保留20個字節(jié)暫存區(qū),用于保存8臺機(jī)組的運(yùn)行狀態(tài)、硫化計時、硫化時間到達(dá)輸出提示、硫化時間出錯輸出報警及及硫化過程結(jié)束輸出歸檔信號等。72臺硫化機(jī)共調(diào)用9次,編號為0-8。52臺硫化罐調(diào)用7次,編號0-6。
輸入:
編號 雙字,根據(jù)編號分配緩存區(qū)地址
壓力信號 字,輸入壓力和二次硫化信號,8臺硫化機(jī)共16位。
運(yùn)行狀態(tài) 雙字,采用間接尋址,用&vbxxxx格式輸入,硫化機(jī)實際運(yùn)行狀態(tài),將當(dāng)前輸入狀態(tài)保存,用于判斷邊緣。
時間設(shè)定 雙字,采用間接尋址,用&vbxxxx格式輸入,一二次硫化設(shè)定時間(字)
實際時間 雙字,采用間接尋址,用&vbxxxx格式輸入,一二次硫化實際時間(字)
硫化次數(shù) 雙字,采用間接尋址,用&vbxxxx格式輸入,一二次硫化次數(shù)(字節(jié))
輸出:
報警輸出 字,每臺硫化機(jī)2個位,分別代表一二次硫化時間故障
次數(shù)報警 字節(jié),兩次硫化次數(shù)不等時報警
完成輸出 字節(jié),硫化到時輸出提示信號
一次脈沖 字,一次硫化卸壓時輸出5秒脈沖,用于歸檔
二次脈沖 字,二次硫化卸壓時輸出5秒脈沖,用于歸檔
次數(shù)脈沖 字節(jié),當(dāng)二次硫化信號消失時為二次硫化結(jié)束,輸出3秒脈沖,用于歸檔
2. 由于采用了庫程序,S7-224的編程比較簡單。需要注意的是符號定義,對符號采用連續(xù)成塊的定義。這樣既便于了PC Access的變量讀取,也方便WinCC的變量的添加和使用。
3. 庫程序的編制難點在于對8臺機(jī)組進(jìn)行計時。信號輸入,每臺硫化機(jī)有2點輸入(壓力、二次硫化選擇)共16位一個字,時間設(shè)定采用間接尋址方法輸入地址,實際硫化時間也是采用間接尋址方法,輸出端不能輸入地址信號,是通過輸入端送入。對每臺設(shè)備的硫化時間的計時,由于庫程序無法使用計時器,筆者采用字加1的辦法實現(xiàn)計時,只要保證子程序每秒運(yùn)行一次,則該數(shù)字就是實際時間,時間單位為秒。
硫化機(jī)庫庫程序簡介:
程序運(yùn)行,需要30個字節(jié)內(nèi)存保存運(yùn)行時的數(shù)據(jù),實時時間計時保存,每臺一個字,共16個字節(jié)。輸出報警狀態(tài)暫存2個字節(jié),當(dāng)前運(yùn)行狀態(tài)保存,每臺2位,共16位2個字節(jié)。硫化次數(shù)保存,每臺一個字節(jié),共8個字節(jié)。2次硫化次數(shù)不一致時的次數(shù)報警暫存1個字節(jié)。共29個字節(jié),保留1個字節(jié)。其存儲器起始地址,由庫程序調(diào)用時定義。
以1#-8#硫化機(jī)為例,計時處理,IW0是輸入信號,VW2000是1#一次硫化設(shè)定時間,VW2002是1#二次硫化時間設(shè)定。VW2400是1#一次實際硫化時間,VW2402是1#二次實際時間。采用&vb2000和&vb2400輸入庫程序。在每次運(yùn)行,先將壓力信號移到LW29臨時寄存器,L29.0是1#機(jī)壓力信號,L29.1是1#機(jī)的二次硫化信號。只要有壓力信號就對計時保存字加1,并根據(jù)L29.1狀態(tài)分別將當(dāng)前時間送到實際時間地址中(間接尋址輸入程序)。當(dāng)實際時間到達(dá)設(shè)定時間時,對提示位置1,一旦壓力信號為0時,提示位復(fù)位,同時根據(jù)狀態(tài)暫存位狀態(tài)判斷是否首次為0,是首次為0,運(yùn)行比較程序段,比較時間值,小于設(shè)定值或大于一定值輸出報警位,同時硫化次數(shù)加1。每循環(huán)一次,LW29右移2位,實際時間地址的間接尋址數(shù)加4。循環(huán)8次,可以對8臺硫化機(jī)處理完。
由于庫程序中要處理多種位信號和數(shù)字,在循環(huán)處理時,必需做到一一對應(yīng),程序結(jié)束時,將當(dāng)前運(yùn)行狀態(tài)信號、時間報警狀態(tài),次數(shù)報警狀態(tài)及歸檔脈沖信號保留至?xí)捍鎯?nèi)存相應(yīng)地址中。在編制時,多次對試驗后的結(jié)果進(jìn)行調(diào)整,造成內(nèi)容繁雜,有些內(nèi)容可以簡化,但是在程序中,用了大量的臨時地址,一旦改動輸入輸出的數(shù)量和數(shù)據(jù)格式,會造成L地址的變動。鑒于現(xiàn)程序在實際應(yīng)用中工作正常,為避免產(chǎn)生差錯,也就保留一下多余程序段。具體參見附件程序。
四. 項目運(yùn)行
系統(tǒng)于2006年5月投入工作,運(yùn)行情況良好,用戶感到使用方便。集中監(jiān)控系統(tǒng)使得車間工藝員更便于管理,只需要在車間辦公室就可對所有設(shè)備進(jìn)行時間設(shè)定和監(jiān)視。均比以前有了很大的提高。更直觀,更可靠。保證了三角帶的硫化時間,穩(wěn)定產(chǎn)品質(zhì)量。同時,通過歷史數(shù)據(jù)的分析,可以優(yōu)化品種的搭配,直接提高了產(chǎn)量,增加效益。
五. 應(yīng)用體會
1. 對庫程序的編制有了更深刻的了解,在編制8臺硫化機(jī)的庫程序時,先對一臺進(jìn)行編程,然后再循環(huán)運(yùn)行。為了保證能一一對應(yīng),先將信號輸入字,暫存臨時地址,每次均以L0.0和L0.1作為當(dāng)前信號輸入處理,并在每次循環(huán)時右移2位。循環(huán)結(jié)束后并將其保存在緩存區(qū)中,以便下次調(diào)用時作比較用。
2. 計時處理:庫程序不能采用定時器,就采用字加一來計時。定義庫程序每秒運(yùn)行一次,則字中的數(shù)字就是時間,單位是秒。為了對應(yīng),硫化時間的設(shè)定也是以秒為單位。通過字比較,可以判斷硫化到時或出錯。筆者采用定時中斷,100mS中斷一次,1秒為一個周期。子程序分時運(yùn)行,保證每100mS只運(yùn)行一個編號子程序,所有子程序每秒運(yùn)行一次。在實際使用中,其時間誤差為1秒。
3. 庫程序中需判斷信號輸入的首次和結(jié)束,庫程序無法采用邊沿指令,筆者采用信號輸入位與暫存信號位比較來確定。當(dāng)信號輸入位是1,暫存信號位是0,此時就是首次信號輸入,運(yùn)行首次程序段,并對暫存位置位。當(dāng)信號輸入位是0,暫存信號位是1,此時就是信號輸入結(jié)束,運(yùn)行結(jié)束程序段,并對暫存位復(fù)位。
4. 項目的硫化時間數(shù)據(jù)保存要求,對過程時間記錄毫無意義,只需要每次硫化結(jié)束時保存結(jié)果數(shù)據(jù)。WinCC的故障記錄和數(shù)據(jù)歸檔,采用觸發(fā)歸檔,由程序給出一個脈沖信號進(jìn)行觸發(fā)。這樣數(shù)據(jù)量少,查找方便。
5. PC Access作為S7-200程控器的OPC服務(wù)器,對與200通訊有一個缺點。開始做試驗時,用一臺S7-200只進(jìn)行數(shù)據(jù)移動運(yùn)行,PC Access組態(tài)對PLC讀寫,在WinCC上觀察從數(shù)據(jù)寫入到數(shù)據(jù)讀出,其響應(yīng)速度很快。后將兩臺PLC的變量全部配置好,在公司進(jìn)行模擬運(yùn)行,發(fā)現(xiàn)運(yùn)行速度很慢,數(shù)據(jù)輸入到顯示要等上近20秒!反復(fù)檢查硬件和軟件都沒有問題,當(dāng)時幾乎想放棄使用PC Access改用別的OPC。直到后來訂貨的2臺PLC到齊后,全部連上再次試其通訊速度又很快。分析后發(fā)現(xiàn)是通訊等待響應(yīng)問題。原來在以前試驗時,只接了一臺PLC,PC Access在通訊時,對不存在的PLC通訊會反復(fù)進(jìn)行,大量的時間浪費在這上面!建議PC Access應(yīng)能設(shè)定通訊重試間隔時間,并對每次通訊重發(fā)次數(shù)進(jìn)行限制。這樣會給現(xiàn)場調(diào)試使用帶來方便。
六. 結(jié)束語
首次使用WinCC配PC Access,深感其使用方便,尤其是變量的導(dǎo)入,幾乎不需花費時間,幾分鐘就全部完成。為底端PLC也能用上高端的組態(tài)軟件提供了良好的應(yīng)用條件,便于開發(fā)出更多的產(chǎn)品。