一. 項(xiàng)目簡(jiǎn)介
1. 上海方電科技發(fā)展有限公司是一家由繼續(xù)設(shè)計(jì),計(jì)算機(jī)軟硬件及自動(dòng)化專業(yè)等高級(jí)技術(shù)人員組成的科技公司,,主要從事簾帆布浸膠機(jī)設(shè)備及涂層設(shè)備的設(shè)計(jì),、開發(fā)和制造。該項(xiàng)目于2006初確定,,3月開始實(shí)施,,5月完成交付使用。
2. 用戶單位:河南尉氏久龍橡塑集團(tuán)有限公司,,地處河南開封尉氏縣,,年產(chǎn)三角帶以生產(chǎn)各種規(guī)格三角帶為主。現(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í)觀察實(shí)時(shí)硫化時(shí)間。硫化到時(shí)發(fā)出提示信號(hào),。對(duì)硫化時(shí)間不到或超過一定時(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通過OPC方式,,對(duì)S7-224進(jìn)行讀寫,,所有的控制由224完成。
5. 現(xiàn)場(chǎng)設(shè)備照片
二. 控制系統(tǒng)構(gòu)成
1. 硫化機(jī)車間共有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)掃描輸入,。硫化灌車間共有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ī)位于車間辦公室,,PLC分別安裝于兩個(gè)車間,采用總線連接器和總線電纜與S7-224程控器相連,,CP5611配置為MPI通訊,,波特率:187.5K。電纜總長(zhǎng)約200米,。
2. 系統(tǒng)的硬件配置圖,,網(wǎng)絡(luò)結(jié)構(gòu)圖,應(yīng)用中的監(jiān)視畫面,。
硫化機(jī)硫化時(shí)間設(shè)定畫面:
硫化機(jī)實(shí)時(shí)數(shù)據(jù)顯示:
硫化罐實(shí)時(shí)數(shù)據(jù)顯示:
故障記錄:
硫化機(jī)歷史記錄:
三. 控制系統(tǒng)完成的功能
1. 對(duì)硫化機(jī)來說由于機(jī)臺(tái)數(shù)量多,,筆者應(yīng)用西門子程控器編程所特有的庫(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)警及及硫化過程結(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),,是通過輸入端送入。對(duì)每臺(tái)設(shè)備的硫化時(shí)間的計(jì)時(shí),,由于庫(kù)程序無法使用計(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ò),,也就保留一下多余程序段,。具體參見附件程序。
四. 項(xiàng)目運(yùn)行
系統(tǒng)于2006年5月投入工作,,運(yùn)行情況良好,,用戶感到使用方便。集中監(jiān)控系統(tǒng)使得車間工藝員更便于管理,,只需要在車間辦公室就可對(duì)所有設(shè)備進(jìn)行時(shí)間設(shè)定和監(jiān)視,。均比以前有了很大的提高。更直觀,,更可靠,。保證了三角帶的硫化時(shí)間,穩(wěn)定產(chǎn)品質(zhì)量,。同時(shí),通過歷史數(shù)據(jù)的分析,,可以優(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í)器,,就采用字加一來計(jì)時(shí),。定義庫(kù)程序每秒運(yùn)行一次,則字中的數(shù)字就是時(shí)間,,單位是秒,。為了對(duì)應(yīng),硫化時(shí)間的設(shè)定也是以秒為單位,。通過字比較,,可以判斷硫化到時(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ù)程序無法采用邊沿指令,筆者采用信號(hào)輸入位與暫存信號(hào)位比較來確定,。當(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ì)過程時(shí)間記錄毫無意義,,只需要每次硫化結(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)。開始做試驗(yàn)時(shí),,用一臺(tái)S7-200只進(jìn)行數(shù)據(jù)移動(dòng)運(yùn)行,,PC Access組態(tài)對(duì)PLC讀寫,在WinCC上觀察從數(shù)據(jù)寫入到數(shù)據(jù)讀出,,其響應(yīng)速度很快,。后將兩臺(tái)PLC的變量全部配置好,在公司進(jìn)行模擬運(yùn)行,,發(fā)現(xiàn)運(yùn)行速度很慢,,數(shù)據(jù)輸入到顯示要等上近20秒!反復(fù)檢查硬件和軟件都沒有問題,,當(dāng)時(shí)幾乎想放棄使用PC Access改用別的OPC,。直到后來訂貨的2臺(tái)PLC到齊后,,全部連上再次試其通訊速度又很快。分析后發(fā)現(xiàn)是通訊等待響應(yīng)問題,。原來在以前試驗(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)試使用帶來方便。
六. 結(jié)束語(yǔ)
首次使用WinCC配PC Access,,深感其使用方便,,尤其是變量的導(dǎo)入,幾乎不需花費(fèi)時(shí)間,,幾分鐘就全部完成,。為底端PLC也能用上高端的組態(tài)軟件提供了良好的應(yīng)用條件,便于開發(fā)出更多的產(chǎn)品,。