基于工業(yè)以太網(wǎng)和PROFIBUS的FCS實時在線故障診斷系統(tǒng)
1.3 從站診斷
1.3.1 與從站診斷有關的中斷組織塊
當DP從站出現(xiàn)部分節(jié)點故障、信號模塊導線斷開、I/O通道的短路或過載、模擬量模塊的電源故障等故障時,CPU的操作系統(tǒng)將在故障產(chǎn)生和消失時,分別調用一次診斷中斷組織塊OB82;當機架、DP主站系統(tǒng)或分布式I/O由于掉電、總線導線斷開、I/O系統(tǒng)等原因發(fā)生故障時,CPU的操作系統(tǒng)將在故障出現(xiàn)和消失時,分別調用一次機架故障或分布式I/O的站故障中斷組織塊OB86;如果I/O訪問錯誤中斷,如CPU訪問有故障的I/O模塊、不存在的或有故障的DP從站的PI/PQ輸入輸出數(shù)據(jù),或訪問了一個CPU不能識別的I/O地址,那么CPU的操作系統(tǒng)將在每一個掃描周期調用一次OB122。下位機程序把每個中斷組織塊局部變量中的診斷數(shù)據(jù)存儲到數(shù)據(jù)塊,為上位機軟件從站診斷提供診斷數(shù)據(jù)。
1.3.2 FBl25診斷功能塊
FB125功能塊是西門子公司提供的一個驅動中斷功能塊,可在OB1、OB82、OB86中直接調用,并存儲診斷數(shù)據(jù)信息。診斷數(shù)據(jù)塊中包含所有站的診斷信息,通過上位機分析可得到從站的組態(tài)、從站丟失等故障信息,以及故障從站的診斷報文,部分模塊還可以得到故障通道的具體診斷信息。
1.3.3 診斷報文
PROFIBUS提供了一個方便的、功能強大的診斷信息報文,不但在上電起始階段主站會自動進行診斷請求,而且每當從站出現(xiàn)異常時,任何一個主站都可以向任何一個從站發(fā)送診斷請求,故障從站向主站發(fā)送診斷響應報文。上位機通過分析診斷報文,就可以對故障從站的故障狀態(tài)進行深入分析。
1.4 底層診斷
底層診斷主要完成對現(xiàn)場通信總線所引起故障的診斷。在底層網(wǎng)絡中掛接診斷中繼器,作為從站在設備運行期間提供來自PROFIBUS底層的診斷數(shù)據(jù),并與主站交換診斷信息。下位機軟件把診斷數(shù)據(jù)存儲到數(shù)據(jù)塊;而上位機則主要通過組態(tài)形象的診斷畫面,表征出電纜破裂、電路短路、終端電阻丟失、單個總線網(wǎng)段中有兩個或更多的診斷回路、總線網(wǎng)段中有太多的節(jié)點、節(jié)點距離診斷中繼器太遠等故障原因及準確位置。
2 診斷系統(tǒng)設計
圖2 診斷系統(tǒng)故障診斷流程圖
系統(tǒng)主要由硬件系統(tǒng)和軟件系統(tǒng)兩部分構成,硬件系統(tǒng)由基于工業(yè)以太網(wǎng)的多個PROFIBUS網(wǎng)絡組成。目前國內大中型PROFIBUS系統(tǒng)主要采用西門子公司的大中型PLC作為系統(tǒng)主站,所以下位機軟件采用西門子公司的STEP7,完成底層硬件組態(tài)及數(shù)據(jù)采集的任務。鑒于PROFIBUS與WinCC良好的融合性,上位機軟件選用西門子組態(tài)軟件WinCC作為設計平臺。診斷系統(tǒng)故障診斷流程圖如圖2所示。
2.1 下位機軟件數(shù)據(jù)采集系統(tǒng)
在控制系統(tǒng)硬件的基礎上,對系統(tǒng)穩(wěn)定運行影響比較大的網(wǎng)段掛接診斷中繼器,以完成對該網(wǎng)段的底層故障的準確定位。參照診斷層次的劃分,下位機軟件系統(tǒng)主要負責對診斷數(shù)據(jù)的采集、判斷、整合和存儲,并把診斷數(shù)據(jù)存儲到定義好的DB塊。
2.2 上位機軟件組態(tài)畫面設計
上位機軟件主要是編寫后臺數(shù)據(jù)處理程序,實現(xiàn)對診斷數(shù)據(jù)的分析處理,并在組態(tài)畫面上準確、有效、形象的顯示診斷結果,在完成直觀畫面顯示的同時又能實現(xiàn)系統(tǒng)的所有功能。整個上位機軟件結構如圖3所示。
圖3 上位機軟件系統(tǒng)結構圖
2.3 上位機軟件數(shù)據(jù)表征方法
上位機軟件系統(tǒng)需要編寫有效的判斷程序和設計豐富的診斷畫面,才能對海量的診斷數(shù)據(jù)進行形象化的顯示,因此就需要研究一套診斷數(shù)據(jù)的表征方法,其實現(xiàn)過程的關鍵環(huán)節(jié)大致分為變量賦值和畫面設計兩部分。
變量賦值表征方法關鍵點:首先是創(chuàng)建結構類型的變量,避免由于重復性的變量連接,而極大降低系統(tǒng)開發(fā)設計后程序的運行效率;二是把診斷數(shù)據(jù)命名為有具體意義的變量名稱,例如:LED_run_1,代表模塊RUN指示燈的第一個字的判斷數(shù)據(jù)。三是編寫高效的VBS腳本程序,實現(xiàn)外部變量到內部變量的賦值,把大量診斷數(shù)據(jù)緩存以避免數(shù)據(jù)丟失,并能適應畫面處理速度的需要,同時循環(huán)執(zhí)行函數(shù)的賦值語句,使內部變量實時刷新顯示外部的變量值。故障從站詳細診斷數(shù)據(jù)賦值內部變量的實例如圖4所示,通過程序判斷診斷數(shù)據(jù),確定主站地址和從站地址,再把具體的診斷信息保存到相應的內部變量。例如6號主站帶的72號從站故障類型判斷結果,會保存在M6S72.ERROR_TYPE內部變量。
圖4 從站詳細診斷信息變量賦值舉例
畫面設計表征方法關鍵點:畫面設計主要是針對數(shù)據(jù)表征需要,對圖標顏色變化、閃爍頻率變化、數(shù)據(jù)與文字顯示組合等信息進行充分的綜合運用,同時運用恰當?shù)腜hotoshop位圖,以使畫面美觀。
評論