1 引言
在工業過程控制系統中以可編程序控制器(PLC)和工業控制計算機(IPC)為核心的綜合自動化系統得到了廣泛的應用。PLC可靠性高.一般用于現場輸入輸出邏輯控制;IPC軟硬件資源豐富,一般用于工業過程的實時監控及管理。隨著控制規模的擴大,自動化復雜程度的提高,控制系統的故障率也在增加,故障對生產影響的程度更是大幅度上升。通常控制系統因故障停機的時間80%以上用于故障診斷,可實際維修只占用不到30%的時間。因此在故障發生時準確迅速地進行故障診斷,以便及時排除故障顯得尤為重要。
PLC控制系統的故障診斷方法很多,目前,大多數的故障診斷專家系統是讀取PLC的I/O及各種中間狀態的信息,進行故障推理和診斷。然而,僅僅使用PLC進行故障診斷存在故障提示信息不夠詳細、人機界面不夠友好、診斷系統靈活性不足等缺點。本文以汽車底漆生產線控制診斷系統為例,利用已有的軟硬件資源,探討將PLC和組態軟件相結合的故障診斷方法。診斷系統充分利用PLC的邏輯運算功能和強大的I/O能力,結合PLC內各種控制狀態信息,進行控制系統故障診斷,用組態軟件開發友好的人機界面提供詳細的故障信息以及相應的對策。
2 基于PLC程序的故障診斷
2.1 邏輯故障診斷
PLC控制系統中,一旦控制要求確定后,控制系統的各個輸入、輸出信號和輔助寄存器的信號相互之間存在確定的邏輯關系。因此,通過檢測各狀態信號的邏輯關系,就可以判斷其是否處于故障狀態。
圖1為常見邏輯錯誤的故障檢測梯形圖,本又梯形圖都按A-B公司SLC500規范編制。圖中第一行用來檢測某工位前升降機構的工藝上限限位開關(1:1/31)和工藝下限限位開關(1:1/29)失靈造成的故障。若故障檢測位為B17: 0/0,則診斷原理可以表示為:
B17:0/0=1:1/29=1:1/31 (1)
式(1)中“.”表示邏輯與。在正常情況下無論升降機構是上升還是下降,工藝上限限位開關和工藝下限限位開關的常開觸點都不應該同時閉合,即1:1/31和 1:1/29不能同時為1。若在某時刻故障檢測位B 17:0/0則可以判定限位開關出現了故障。
第二行邏輯用于檢測系統是否有過多的輸入。診斷邏輯為
B17:0/1=1:2/10I1:2/11+I:2/12I:2/13 (2)
式(2)中“+”表示邏輯或。按要求,在系統運行的時候,方式選擇開關現場(I:2/10)和遠程((1:2/11)只能選擇其中z一,同樣,模式選擇開關手動((1:2/12)和自動((1:2/13)也只能是其中z-。當B17:0/1=1時,由式(2)可知.此時1:2/10=1且1:2/11=1或者1:20 2=1且1:2/13=1,說明系統有不正確的輸入。
圖1中的第三行邏輯用于檢測控制系統的欠輸人故障。按要求,方式選擇開關現場(I:2/10)和遠程(I:2/11)在系統正常的時候應有一個是閉合的,同時,模式選擇開關手動(I:2/12)和自動(I:2/13)也應有一個是閉合的。診斷邏輯可以用式(3)表示為。
式(3)中上橫線表示邏輯非,對應著梯形圖中的常閉觸點。從式(3)可以看出,當I/2/10=1,I/2/12=0,1:2/13=0時,B17:0/2=1,表明出現了欠輸入故障。式中后三項用于診斷另外三種欠輸人故障。
上述的邏輯故障中,只要實時檢測圖中輔助寄存器B17:0/0, B17:O/1和B177:0/2的狀態,就可以診斷出控制系統是否發生了邏輯錯誤故障。
2.2 時間限值故障診斷
在控制系統的工作循環過程中,各個工序的加工處理都必須在一定的時間內完成,若某個工序超過了規定的時間而未完成動作,工作循環就無法轉入下一個工序.控制系統就不能正常工作。因此,可以以這些規定的時間為參考,在工序動作開始時,同時啟動一個定時器,定時器的設定時間比規定動作時間長30%-40%,如果定時器有輸出信號則說明已發生故障。
圖2為檢測一個工序超時限的故障檢測電路。工件從4號工位向5號工位運動,正常時應在15s后到達5號工位.定時器T55。設定值是20s。當工件從4號工位出發時,出發信號O:2/20為1,同時5號工位的到位信號1:3/23為0,定時器T55:0開始計時。若工件在規定的時間內到達5號工位,到位信號I:3/23置為!,定時器被清0,T55:0/DN為0,輔助寄存器B17:I/0無輸出。反之.若工件沒有在規定的時間內到達,輔助寄存器B17:I/0將被置}。根據B17:I/0的狀態.即可判別該工序是否發生了超時故障。
2.3 初始故障診斷
控制系統比較復雜時,各部分的根合性就較強,一旦發生故障,也可能隨之有多個故障發生,如果能找到第一個故障,則能較快地排除故障。圖3中共有3個故障輸入分別是3個電機的斷相故障輸入信號I:I/l S, Ia 6和Ia}-toB17:4/0、B17:4/1和B17:4/2是故障檢測位,分別對應3個故障輸入信號。B17:5/0是故障復位信號。
初始時,系統沒有故障發生,3個故障檢測位均為0。假設在某個時刻第3個故障發生了,即I:13/24為1,此時B17:4/2變為1,且由于該輸出指令為自鎖指令,使B17:4/d2保持為1,實現了對其他故障檢測位的互鎖。這樣,即使此時其他的故障發生了其對應的檢測位也不會置為1。通過這種方法,就能從眾多同時發生的故障中找到初始故障,提高系統診斷的快速性和準確性。
2.4 基于PLC移位指令的多故障診斷
在PLC控制系統中,很多故障信息是直接將現場設備的狀態作為輸入信號傳給PLC的。例如電機斷路器、熱保護以及液位計故障等信號。可以利用1PC的移位指令,將這類故障信號進行編碼,IPC讀取這些編碼,集中顯示故障信息,同時,這樣做的另一個優點是減少了IPC和PLC之間的通信量。
圖4是診斷原理框圖。圖5為使用PLC移位指令編制多故障診斷梯形圖,限于篇幅,只列出主要部分。梯形圖中定義的移位數據塊長度為256位,即B88:0~B88:15。整數又件N87:0-N87:15是故障檢測位總共可以區別256種故障輸入信號。整數又件N 100: 26輸出故障的編碼,N87:0記錄移位的次數。BSR為右移指令,當其前面的邏輯為真時,將所定義的移位數據塊向右移一位。ADD,MOV, CiEQ, COP和FLL分別為加、移動、大于或等于比較、又件復制和位填充指令。
只要故障復位沒有按下,即B3:0/h為0, R86:0/UL始終為1,移位指令不再執行,N 100:26的值不變。當故障復位按鈕按下時,BSR指令執行,R86: 0/UL為0,N100:26被清0,FLE指令將N87:0~N87:15全部置為0。
從上述的分析可以看出.只要IPC讀取PLC的數據又件N100:26的數據,就可得到相應的故障編號,從而實現故障的診斷。
3 故障的報警與顯示
當控制系統發生故障時PLC診斷程序使相應的故障檢測位狀態發生變化,運行于IPC上的組態軟件就可根據這些故障檢測位的狀態進行故障報警與顯示了。本文的例子中,IPC通過Rockwell公司的1784KTX通信模塊與PLC通信,協議采用DH+,組態軟件為RSView32。組態軟件RSVicw32自身也提供報警功能.但提供的故障信息有限。為此,本文結合RSVicw32的報警功能,為每個可能出現的故障建立一個顯示界面。在該界面上,向用戶提供對應的故障報警的信息,給出可能的故障原因。
有了故障顯示界面后,還必須使該界面能在故障發生時自動出現在屏幕上以便及時提醒用戶。利用RSVicw32提供的事件功能可以滿足這一要求。在RSVicw32中,事件是能觸發命令或宏的表達式。一個事件由表達式和命令構成,當表達式的值為邏輯真時,就會觸發命令的執行。本例中表達式用來判斷是否有故障發生,而命令用來顯示故障顯示界面。
以圖2中的診斷邏輯為例,先使用事件編輯器為該故障創建一個事件。在表達式欄輸入表達式“L3171/0==1用來判斷故障是否發生,在命令行輸入“displaydiagnosis-into",用來顯示故障顯示界面。其中display"是顯示命令."diagnosis-inib”是故障顯示界面的文件名。
圖2的診斷邏輯中,當工件超過規定的到達時間時,故障檢測位B17:1/0=1。此時事件表達式“B17:1/0==1”的值為邏輯真,就會觸發顯示命令的執行,顯示該故障信息顯示界面,如圖6所示。
4 結束語
本又根據汽車底漆生產線的實際情況,綜合應用了幾種PLC的故障診斷方法,將PLC故障診斷與組態軟件相結臺,實現了故障診斷的快速和準確.提供了友好的故障顯示界面。此外.在使用的過程中,用戶還可以根據需要,方便地修改故障提示信息以及產生故障的原因,使診斷系統具有較好的靈活性。
(審核編輯: 滄海一土)
分享