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