吳建華,張文欣,徐 歡
(大冶有色金屬有限責(zé)任公司冶煉廠,湖北黃石 435005)
西門(mén)子大中型PLC 具有很強(qiáng)的錯(cuò)誤和故障的檢測(cè)及處理能力。當(dāng)CPU 檢測(cè)到某種錯(cuò)誤后,操作系統(tǒng)將自動(dòng)調(diào)用對(duì)應(yīng)的OB(Organizational block,組織塊)塊,用戶可以事先在對(duì)應(yīng)的組織塊中編寫(xiě)程序,就可以對(duì)發(fā)生的錯(cuò)誤或故障采取相應(yīng)的措施。如果用戶沒(méi)有建立相應(yīng)的組織塊,發(fā)生錯(cuò)誤或故障后,CPU將轉(zhuǎn)為STOP 模式。像所有的組織塊一樣,錯(cuò)誤處理組織塊中包含了關(guān)于調(diào)用原因的附加信息。操作系統(tǒng)將這些信息記錄在該組織塊的局部變量中,用戶可以在程序中對(duì)它們進(jìn)行訪問(wèn),以便于故障診斷。能被CPU 檢測(cè)到,并且用戶可以通過(guò)組織塊對(duì)其進(jìn)行處理的錯(cuò)誤或故障分為兩種基本類型:異步錯(cuò)誤和同步錯(cuò)誤。異步錯(cuò)誤組織塊是處理與PLC 硬件或操作系統(tǒng)密切相關(guān)的錯(cuò)誤,這類錯(cuò)誤與程序執(zhí)行無(wú)關(guān)。同步錯(cuò)誤組織塊是處理與程序執(zhí)行有關(guān)的錯(cuò)誤。機(jī)架故障OB86 屬于異步錯(cuò)誤組織塊。
大冶有色金屬公司電解陰極剝片機(jī)組是引進(jìn)芬蘭Outotec(奧圖泰)公司機(jī)器人式智能化機(jī)組,自動(dòng)化程度高,其控制系統(tǒng)采用了西門(mén)子S7-300 PLC 來(lái)實(shí)現(xiàn)機(jī)組的自動(dòng)化生產(chǎn),其在STEP7軟件上的硬件組態(tài)如圖1 所示。
圖1 電解陰極剝片機(jī)組在STEP7 中的硬件組態(tài)
西門(mén)子S7-300 PLC 控制系統(tǒng)的PLC 選用的是CPU 317 F-2PN/DP 作為系統(tǒng)的主站,通過(guò)PROFIBUS-DP 現(xiàn)場(chǎng)總線通信方式,連接了39 個(gè)DP 從站。這些DP 從站包括19 個(gè)ET200M分布式I/O、6個(gè)編碼器、3 臺(tái)KUKA機(jī)器人、9臺(tái)西門(mén)子MM440 變頻器、1 臺(tái)托利多稱重傳感器和1 個(gè)DP/AS-I LINK網(wǎng)關(guān)。由于電解陰極剝片機(jī)組控制系統(tǒng)的站點(diǎn)比較多,網(wǎng)絡(luò)較復(fù)雜,出現(xiàn)DP 從站故障時(shí),使用了機(jī)架故障組織塊OB86的局部變量,在OB86 組織塊中進(jìn)行編程,同時(shí)將故障信息及時(shí)地發(fā)送到人機(jī)界面顯示出來(lái),幫助維修人員及時(shí)地查明故障原因。
組織塊(OB)是用戶程序與CPU 操作系統(tǒng)的接口,OB 不能被用戶程序調(diào)用。它是在觸發(fā)OB 事件時(shí),由操作系統(tǒng)調(diào)用的。操作系統(tǒng)為所有的OB 塊聲明了一個(gè)包含OB 的啟動(dòng)信息的20B 的變量聲明表,變量聲明表中只有臨時(shí)變量。OB86 變量聲明表中的臨時(shí)變量見(jiàn)表1。
表1 OB86 的局部變量
如果機(jī)架或DP 從站發(fā)生故障,在故障出現(xiàn)和消失時(shí),CPU都會(huì)自動(dòng)調(diào)用OB86。OB86_EV_CLASS 為B#16#39 表示故障剛出現(xiàn),為B#16#38 時(shí)表示故障剛消失。OB86_FLD_ID 部分錯(cuò)誤代碼的含義如下:B#16#C3 表示分布式I/O 設(shè)備的DP 主系統(tǒng)故障;B#16#C4 表示DP 站故障;B#16#C5 表示DP 內(nèi)部的故障。OB86_MDL_ADDR 為主站的邏輯基地址,它是HW_Config 中主站的接口診斷地址,可以在DP 接口屬性對(duì)話框的“地址”選項(xiàng)卡找到它。CPU 的操作系統(tǒng)使用該地址來(lái)報(bào)告接口的故障。OB86_RACKS_FLTD 的數(shù)據(jù)類型為32 個(gè)位元素的數(shù)組(Array),為了方便編程,可以將它的數(shù)據(jù)類型更改為DWORD(雙字)。雙字的第0~7 位為出錯(cuò)的DP 站的編號(hào),第8~15 號(hào)位DP 主站系統(tǒng)的編號(hào)(ID),第16~30 位S7從站的邏輯基地址,第31 位I/O標(biāo)識(shí)符。
在電解陰極剝片機(jī)組控制系統(tǒng)DP 故障診斷的實(shí)際應(yīng)用中,STEP7 軟件中OB86 的編程如圖2 所示。在程序中,使用整數(shù)比較指令,當(dāng)#OB86_EV_CLASS 等于B#16#38 時(shí),M86.0 為1,表示故障剛消失;當(dāng)#OB86_EV_CLASS等于B#16#39 時(shí),M86.1 為1,表示故障剛出現(xiàn)。OB86_RACKS_FLTD是32 個(gè)位元素的數(shù)組(Array),其中位元素的后8 位,也就是OB86_RACKS_FLTD[24]~OB86_RACKS_FLTD[31],分別賦值給M190.0~M190.7,也就是字節(jié)MB109。賦值后的MB109 就是出錯(cuò)的DP 站的編號(hào)。也可以把局部變量OB86_RACKS_FLTD改為OB86_Z23,數(shù)據(jù)類型更改為DWORD(雙字)。雙字的第0~7 位為出錯(cuò)的DP 站的編號(hào)。
圖2 STEP7 軟件中OB86 的編程
在功能塊FC20 編寫(xiě)程序(圖3),MB109 是出錯(cuò)的DP 站的編號(hào)。M86.0 為1,表示故障剛消失,M86.1 為1,表示故障剛出現(xiàn)。例如當(dāng)DP 從站4 出現(xiàn)故障時(shí),MB109 等于4,且M86.1 等于1,用置位復(fù)位指令,使M242.1 置位為1,表示DP 從站4 發(fā)生故障。當(dāng)DP 從站4 故障剛消失時(shí),M86.0 為1 且MB109 為4,使M242.1 復(fù)位為0。也可以通過(guò)輸入點(diǎn)I20.3(對(duì)應(yīng)操作臺(tái)的按鈕)進(jìn)行手動(dòng)故障復(fù)位。
圖3 功能塊FC20 的編程
因?yàn)殡娊怅帢O剝片機(jī)組的控制系統(tǒng)DP 從站較多,當(dāng)DP 從站發(fā)生故障時(shí),為了幫助維修人員及時(shí)知道是哪個(gè)從站發(fā)生了故障,可以將發(fā)生故障的DP 從站及時(shí)地發(fā)送到人機(jī)界面,幫助維修人員及時(shí)地查明故障原因。DP 從站故障在西門(mén)子觸摸屏上的顯示如圖4 所示,DP 從站4 發(fā)生故障時(shí),M242.1 置位為1,在觸摸屏上便會(huì)以紅色顯示出來(lái)。
圖4 DP 從站故障在西門(mén)子觸摸屏上的顯示
利用機(jī)架故障組織塊OB86 的局部變量對(duì)PROFIBUS-DP故障進(jìn)行診斷,是西門(mén)子PROFIBUS 網(wǎng)絡(luò)故障診斷諸多方法中的一種,對(duì)查找DP 網(wǎng)絡(luò)故障起到一定的輔助作用。由于西門(mén)子的控制系統(tǒng)網(wǎng)絡(luò)的站點(diǎn)越來(lái)越多、越來(lái)越復(fù)雜,對(duì)網(wǎng)絡(luò)控制系統(tǒng)的故障診斷的要求也越來(lái)越高,當(dāng)DP 網(wǎng)絡(luò)出現(xiàn)故障時(shí),應(yīng)借助多種網(wǎng)絡(luò)故障診斷方法對(duì)故障進(jìn)行診斷,例如可以使用PLC 上的LED 燈進(jìn)行故障查詢,借助西門(mén)子DP 網(wǎng)絡(luò)專用硬件診斷工具進(jìn)行診斷,使用STEP7 軟件上的故障診斷區(qū)進(jìn)行查詢等。采用多種方法的配合使用,在控制系統(tǒng)出現(xiàn)DP 故障時(shí),才能最快地查找出原因,減少設(shè)備的故障時(shí)間,保護(hù)設(shè)備正常運(yùn)轉(zhuǎn)。