吳建華,張文欣,徐 歡
(大冶有色金屬有限責任公司冶煉廠,湖北黃石 435005)
西門子大中型PLC 具有很強的錯誤和故障的檢測及處理能力。當CPU 檢測到某種錯誤后,操作系統將自動調用對應的OB(Organizational block,組織塊)塊,用戶可以事先在對應的組織塊中編寫程序,就可以對發生的錯誤或故障采取相應的措施。如果用戶沒有建立相應的組織塊,發生錯誤或故障后,CPU將轉為STOP 模式。像所有的組織塊一樣,錯誤處理組織塊中包含了關于調用原因的附加信息。操作系統將這些信息記錄在該組織塊的局部變量中,用戶可以在程序中對它們進行訪問,以便于故障診斷。能被CPU 檢測到,并且用戶可以通過組織塊對其進行處理的錯誤或故障分為兩種基本類型:異步錯誤和同步錯誤。異步錯誤組織塊是處理與PLC 硬件或操作系統密切相關的錯誤,這類錯誤與程序執行無關。同步錯誤組織塊是處理與程序執行有關的錯誤。機架故障OB86 屬于異步錯誤組織塊。
大冶有色金屬公司電解陰極剝片機組是引進芬蘭Outotec(奧圖泰)公司機器人式智能化機組,自動化程度高,其控制系統采用了西門子S7-300 PLC 來實現機組的自動化生產,其在STEP7軟件上的硬件組態如圖1 所示。

圖1 電解陰極剝片機組在STEP7 中的硬件組態
西門子S7-300 PLC 控制系統的PLC 選用的是CPU 317 F-2PN/DP 作為系統的主站,通過PROFIBUS-DP 現場總線通信方式,連接了39 個DP 從站。這些DP 從站包括19 個ET200M分布式I/O、6個編碼器、3 臺KUKA機器人、9臺西門子MM440 變頻器、1 臺托利多稱重傳感器和1 個DP/AS-I LINK網關。由于電解陰極剝片機組控制系統的站點比較多,網絡較復雜,出現DP 從站故障時,使用了機架故障組織塊OB86的局部變量,在OB86 組織塊中進行編程,同時將故障信息及時地發送到人機界面顯示出來,幫助維修人員及時地查明故障原因。
組織塊(OB)是用戶程序與CPU 操作系統的接口,OB 不能被用戶程序調用。它是在觸發OB 事件時,由操作系統調用的。操作系統為所有的OB 塊聲明了一個包含OB 的啟動信息的20B 的變量聲明表,變量聲明表中只有臨時變量。OB86 變量聲明表中的臨時變量見表1。

表1 OB86 的局部變量
如果機架或DP 從站發生故障,在故障出現和消失時,CPU都會自動調用OB86。OB86_EV_CLASS 為B#16#39 表示故障剛出現,為B#16#38 時表示故障剛消失。OB86_FLD_ID 部分錯誤代碼的含義如下:B#16#C3 表示分布式I/O 設備的DP 主系統故障;B#16#C4 表示DP 站故障;B#16#C5 表示DP 內部的故障。OB86_MDL_ADDR 為主站的邏輯基地址,它是HW_Config 中主站的接口診斷地址,可以在DP 接口屬性對話框的“地址”選項卡找到它。CPU 的操作系統使用該地址來報告接口的故障。OB86_RACKS_FLTD 的數據類型為32 個位元素的數組(Array),為了方便編程,可以將它的數據類型更改為DWORD(雙字)。雙字的第0~7 位為出錯的DP 站的編號,第8~15 號位DP 主站系統的編號(ID),第16~30 位S7從站的邏輯基地址,第31 位I/O標識符。
在電解陰極剝片機組控制系統DP 故障診斷的實際應用中,STEP7 軟件中OB86 的編程如圖2 所示。在程序中,使用整數比較指令,當#OB86_EV_CLASS 等于B#16#38 時,M86.0 為1,表示故障剛消失;當#OB86_EV_CLASS等于B#16#39 時,M86.1 為1,表示故障剛出現。OB86_RACKS_FLTD是32 個位元素的數組(Array),其中位元素的后8 位,也就是OB86_RACKS_FLTD[24]~OB86_RACKS_FLTD[31],分別賦值給M190.0~M190.7,也就是字節MB109。賦值后的MB109 就是出錯的DP 站的編號。也可以把局部變量OB86_RACKS_FLTD改為OB86_Z23,數據類型更改為DWORD(雙字)。雙字的第0~7 位為出錯的DP 站的編號。

圖2 STEP7 軟件中OB86 的編程
在功能塊FC20 編寫程序(圖3),MB109 是出錯的DP 站的編號。M86.0 為1,表示故障剛消失,M86.1 為1,表示故障剛出現。例如當DP 從站4 出現故障時,MB109 等于4,且M86.1 等于1,用置位復位指令,使M242.1 置位為1,表示DP 從站4 發生故障。當DP 從站4 故障剛消失時,M86.0 為1 且MB109 為4,使M242.1 復位為0。也可以通過輸入點I20.3(對應操作臺的按鈕)進行手動故障復位。

圖3 功能塊FC20 的編程
因為電解陰極剝片機組的控制系統DP 從站較多,當DP 從站發生故障時,為了幫助維修人員及時知道是哪個從站發生了故障,可以將發生故障的DP 從站及時地發送到人機界面,幫助維修人員及時地查明故障原因。DP 從站故障在西門子觸摸屏上的顯示如圖4 所示,DP 從站4 發生故障時,M242.1 置位為1,在觸摸屏上便會以紅色顯示出來。

圖4 DP 從站故障在西門子觸摸屏上的顯示
利用機架故障組織塊OB86 的局部變量對PROFIBUS-DP故障進行診斷,是西門子PROFIBUS 網絡故障診斷諸多方法中的一種,對查找DP 網絡故障起到一定的輔助作用。由于西門子的控制系統網絡的站點越來越多、越來越復雜,對網絡控制系統的故障診斷的要求也越來越高,當DP 網絡出現故障時,應借助多種網絡故障診斷方法對故障進行診斷,例如可以使用PLC 上的LED 燈進行故障查詢,借助西門子DP 網絡專用硬件診斷工具進行診斷,使用STEP7 軟件上的故障診斷區進行查詢等。采用多種方法的配合使用,在控制系統出現DP 故障時,才能最快地查找出原因,減少設備的故障時間,保護設備正常運轉。