賈惠芹
(西安石油大學光電油氣測井與檢測教育部重點實驗室,陜西 西安 710065)
故障樹分析法是對各個故障之間關(guān)系的一種圖形化描述,并將導致故障的原因事件按因果關(guān)系逐層列出,用樹形圖表示出來,從而可直觀地看出各個節(jié)點之間的影響關(guān)系,為檢測人員排查設(shè)備故障提供了一個直觀檢測的指導方法[1-2]。隨著故障樹分析技術(shù)的廣泛應用,人工建樹費時費力,當引起系統(tǒng)故障的因素之間有關(guān)聯(lián)時,很難避免發(fā)生邏輯上的誤判和漏判[3-4]。近年來相繼出現(xiàn)了一些故障樹的生成算法,但各類算法的特性和適用范圍各異,且目前還沒有一個人機界面友好的中文故障樹生成軟件[5-6]。
本文設(shè)計了一種故障樹自動生成與診斷模型,并采用圖形化編程軟件和數(shù)據(jù)庫技術(shù)實現(xiàn)了故障樹的動態(tài)生成與編輯,同時結(jié)合自動檢測技術(shù),實現(xiàn)了設(shè)備故障的實時檢測和故障定位。
故障樹由若干層數(shù)的節(jié)點構(gòu)成。根據(jù)設(shè)備在物理上的邏輯關(guān)系來確定建立的故障樹。生成一棵樹的算法就是從根節(jié)點(第一層)開始,一層一層將樹表示出來,并將各層之間的節(jié)點按照父子關(guān)系連接起來。要實現(xiàn)對故障樹的自動生成,首先需要以下元素和工具。
①檢測點:檢測點是故障樹的基本組成部分,它由設(shè)備型號、設(shè)備所在的分系統(tǒng)、節(jié)點名稱、故障現(xiàn)象的描述、故障類型和故障等級以及相互邏輯關(guān)系等信息組成。如果該檢測點是子節(jié)點,則需要選擇父故障。同時還需要確定節(jié)點所在的層、各層上的節(jié)點數(shù)以及每個節(jié)點的父節(jié)點。
②檢測點之間的邏輯關(guān)系:在此需要確定設(shè)備的每一個子系統(tǒng)中各個檢測點之間的物理邏輯關(guān)系,確定每一個分支上所有檢測點之間的邏輯關(guān)系。
③連線工具:需要通過一種可視化的工具自動把節(jié)點根據(jù)邏輯關(guān)系連接起來。
在分析了故障樹的基本要素后,下面需要約定一些故障診斷的規(guī)則。
①約定檢測點就是節(jié)點的一種,故障樹中的頂事件為根節(jié)點,而中間事件和底事件統(tǒng)稱為子節(jié)點。每個子節(jié)點的上一級故障稱為其父節(jié)點。
②從根節(jié)點向下,如果檢測時沒有故障,則這條支路不再繼續(xù)往下走;如果這條支路出現(xiàn)故障,則繼續(xù)往下檢測,直至定位到故障點。
③一個根節(jié)點會有多個分支,在故障診斷過程中進行分支選擇的原則是次根節(jié)點出現(xiàn)的頻數(shù)以及關(guān)鍵度。
④故障診斷時,先按次根節(jié)點出現(xiàn)故障的頻數(shù)來劃分,如果兩個頻數(shù)相同,再按次根節(jié)點的關(guān)鍵度來選擇。按次根節(jié)點出現(xiàn)的頻數(shù)來確定設(shè)備發(fā)生故障的概率大小,每出現(xiàn)一次故障則頻數(shù)保存一次;然后在故障樹中根據(jù)故障的頻數(shù)來決定先進入哪個分支。在基于故障樹的診斷過程中,每次節(jié)點出現(xiàn)錯誤,則會把數(shù)據(jù)庫中的頻數(shù)字段加一;然后按次根節(jié)點的關(guān)鍵度來確定設(shè)備發(fā)生故障的概率大小,將次根節(jié)點的關(guān)鍵度從大到小排序,故障診斷時先從關(guān)鍵度最大的次根節(jié)點開始檢測,如此進行下去,即為最快確定故障源的最優(yōu)方案。
⑤故障樹中同層節(jié)點之間只有“或”的關(guān)系,而下一級節(jié)點和上一級節(jié)點之間是“與”的關(guān)系。
⑥利用虛擬儀器完成對檢測點信號的檢測。將得到的測試值和數(shù)據(jù)庫中的檢測點標稱值進行比較,檢測點的標稱值可能是一個值,也可能是一段波形。
故障檢測點信息和節(jié)點名稱信息存儲在數(shù)據(jù)庫中,本文運用數(shù)據(jù)庫的結(jié)構(gòu)化設(shè)計和LabVIEW軟件把數(shù)據(jù)庫中的故障信息按照節(jié)點間的關(guān)系生成一棵具體的故障樹。
本文主要關(guān)注如何采用軟件手段方便地實現(xiàn)故障現(xiàn)象與故障樹的關(guān)聯(lián),同時采用一種圖形化的手段實現(xiàn)故障樹的自動生成。經(jīng)分析,要實現(xiàn)故障樹的自動生成,必須執(zhí)行以下操作流程:首先進入人機交互軟件界面,在故障樹的生成與編輯界面下自動生成故障樹;在生成的故障樹下選擇診斷方式后,根據(jù)檢測點的信號類型選擇不同的虛擬儀器[7-8]。本系統(tǒng)中的虛擬儀器主要有“示波器”、“萬用表”和“頻譜分析儀”,這些儀器的輸入端和檢測點在物理性能上能連接起來。要實現(xiàn)故障樹的動態(tài)生成,必須給用戶提供以下六個輸入接口界面:①設(shè)備信息、系統(tǒng)信息、測試數(shù)據(jù)信息以及節(jié)點和檢測點信息的錄入、編輯和查詢等數(shù)據(jù)庫管理界面;②節(jié)點之間邏輯關(guān)系的選擇界面;③故障樹自動生成與選擇界面;④節(jié)點信息和檢測點信息之間的關(guān)聯(lián)關(guān)系界面;⑤儀器裝載和刪除界面;⑥實時故障診斷界面。
在LabVIEW下,故障樹主要是用布爾型控件來表示節(jié)點,用圖形控件來表示整個故障樹,而用畫線工具把節(jié)點根據(jù)邏輯關(guān)系連接起來。具體操作方法如下。
首先把節(jié)點信息錄入數(shù)據(jù)庫,以便增加一個節(jié)點,和此節(jié)點相關(guān)的信息都存儲在數(shù)據(jù)庫表格中。關(guān)鍵度在數(shù)據(jù)庫中也占一個字段,這個值是由用戶根據(jù)經(jīng)驗值來確定的。其次,按照故障樹的信息找出所有樹層數(shù)為1的節(jié)點并進行繪制,然后根據(jù)上層節(jié)點信息找到其對應的下層故障子節(jié)點進行標記,最后根據(jù)邏輯關(guān)系連接起來。以此類推,一層一層地將故障檢測點信息從數(shù)據(jù)庫中查詢出,并利用這些信息重繪生成故障樹。當利用上述方法生成一棵故障樹后,如果發(fā)現(xiàn)故障樹上的某些節(jié)點其信息不符合實際情況時,還可以進行編輯。
節(jié)點之間連線長度的確定采用如下方法。
假設(shè)根節(jié)點的坐標為(X1,Y1)。如果下一層有多個分支,那么對于每一個分支上的節(jié)點,假設(shè)其坐標為(X2,Y2),分節(jié)點和根節(jié)點相連的時候,畫線的長度即為
通過以上方法把各節(jié)點根據(jù)父子關(guān)系連接起來后,則生成了一棵故障樹。而故障樹中的每一個節(jié)點都是和檢測點關(guān)聯(lián)起來的,這就為故障定位提供了依據(jù)。
在確定了一棵樹的所有節(jié)點后,接下來的任務(wù)就是利用圖形顯示控件來表達樹。在畫故障樹之前,首先要確定同一層中節(jié)點的最大數(shù),以確定圖形控件的長,而根據(jù)選定的故障樹層數(shù),則可確定圖形控件的寬。圖形控件的長和寬確定后,即可確定樹在屏幕上的位置。通過這種方法,只要把故障樹上所有節(jié)點的信息錄入到數(shù)據(jù)庫,然后再繪制故障樹時選擇故障樹中各個節(jié)點以及邏輯關(guān)系,就可以生成一棵故障樹。
節(jié)點之間的邏輯關(guān)系在數(shù)據(jù)庫中通過兩個屬性列區(qū)別:父節(jié)點信息和所在樹的層數(shù)。有了這兩個屬性列,就可以根據(jù)數(shù)據(jù)庫的信息生成一棵故障樹。
在檢查故障樹時,可以對不正確的故障樹節(jié)點信息進行修改。對節(jié)點信息的修改實際是使用SQL的選擇語句先讀取選定節(jié)點在數(shù)據(jù)庫中的所有信息,然后執(zhí)行SQL的update語句,最后修改數(shù)據(jù)庫中選定節(jié)點的信息。
將本文所述故障樹診斷方法應用到某雷達“統(tǒng)一測控子系統(tǒng)”的故障診斷過程。當選擇某一個“設(shè)備類型”和“所屬分系統(tǒng)”,并選擇采用本文的方法生成的故障樹時,故障樹實時顯示在屏幕上;當選擇故障樹中的某一個“檢測點”,其相關(guān)信息也直接顯示在界面;當選擇“診斷模式”和“診斷方式”時,即進入故障檢測界面。生成的故障樹如圖1所示。
圖1 故障樹圖形界面Fig.1 Graphical interface of fault tree
故障樹診斷是根據(jù)每個節(jié)點對應的檢測點的信號狀態(tài)來判定此節(jié)點是否正常。檢測模式分為手動模式和自動模式[9-10]。
①手動檢測模式是用戶按照自己的判斷時,隨機檢測故障樹中某個節(jié)點的狀態(tài)。當用戶選擇某個節(jié)點后,程序會列出此節(jié)點中相應的檢測點。選擇檢測點后,會給出檢測點的物理位置、邏輯位置、標準值、故障出現(xiàn)的頻數(shù)、節(jié)點關(guān)鍵度以及出現(xiàn)此故障的解決辦法等信息,通過調(diào)用虛擬儀器來判定檢測點是否有故障。
②自動檢測模式是程序自動對整個故障樹進行遍歷,以確定故障樹中的節(jié)點和故障路徑。具體的算法是,故障樹由多級有關(guān)聯(lián)的節(jié)點組成,從根節(jié)點向下到各子節(jié)點的都是“或”的關(guān)系,子節(jié)點向上到根節(jié)點是“與”的關(guān)系,即經(jīng)過檢測某個節(jié)點正常時,則該節(jié)點以下的子節(jié)點肯定為正常工作狀態(tài);當檢測某個節(jié)點不正常時,就繼續(xù)順著這個根節(jié)點繼續(xù)查找。通過這樣的判定規(guī)則,當自動檢測完一棵故障樹后,就可以得出這個故障樹的一條清晰的故障檢測路徑,使用戶可以很明確地得出故障所在的具體位置。
診斷模式有本地診斷模式和遠程診斷模式。
①本地診斷模式是操作人員在本地進行故障診斷時,操作人員在設(shè)備端選擇節(jié)點后,該節(jié)點對應的檢測點信息會在列表中顯示出來。當選擇某一個檢測點以及相應功能的虛擬儀器后,則可根據(jù)虛擬儀器的測試值以及檢測點的標準值來判斷測試結(jié)果是否正確,從而為排除故障提供實時數(shù)據(jù)。
②遠程診斷模式是為不在現(xiàn)場的專家提供的一種輔助診斷模式。專家在遠端選擇所要監(jiān)控的設(shè)備端IP地址和相應的虛擬儀器后,連接到該儀器的信號信息就會傳輸?shù)綄<颐媲埃藭r專家可根據(jù)該檢測點的標準值來判斷此檢測點是否為故障點。
利用本文所提出的故障樹診斷方法開發(fā)了故障診斷軟件,在2 MHz的網(wǎng)絡(luò)環(huán)境下進行了測試,測試結(jié)果為檢測點信息的網(wǎng)絡(luò)響應時間在2 s之內(nèi);故障定位時間在3 s之內(nèi);故障的誤報率和漏報率均小于1%;測試結(jié)果的上傳數(shù)據(jù)庫時間在5 s之內(nèi)。
故障樹診斷能有效地分析和隔離故障,現(xiàn)已成為一種經(jīng)典的故障診斷技術(shù),也是分析系統(tǒng)可靠性與安全性的重要方法之一。采用計算機手段、開發(fā)真正意義上的故障樹自動生成與診斷軟件,這已成為國際上的主要發(fā)展趨勢。本文采用圖形化軟件編程平臺LabVIEW和數(shù)據(jù)庫SQL Server 2005,開發(fā)了故障樹自動生成與實時故障定位軟件,該軟件實現(xiàn)了故障樹的自動生成和虛擬儀器的實時檢測,使用方便。目前已應用于某雷達的維修過程,提高了設(shè)備的維修效率。
[1] 王兆耀,馬永芳,凌志浩.嵌入式系統(tǒng)故障的灰關(guān)聯(lián)分析及其診斷平臺[J].自動化儀表,2010,31(8):14 -15.
[2] 王國慶,牛偉,成娟,等.基于階次小波包與Markov鏈模型的轉(zhuǎn)子早期故障診斷[J].西北工業(yè)大學學報:自然科學版,2012,30(3):466 -471.
[3] 王冠偉,張春霞,莊健,等.流形學習在機械故障診斷中的應用研究[J].工程數(shù)學學報,2012,29(4):584 -593.
[4] 魯文波,蔣偉康.利用聲場空間分布特征診斷滾動軸承故障[J].機械工程學報,2012,48(13):68 -72.
[5] 陳劍雪.ACO-BP算法在化工過程故障診斷中的應用[J].化工自動化與儀表,2012(7):872-873.
[6] 陸金銘,孟繁林,申華,等.基于集合經(jīng)驗模態(tài)及其瞬時能量密度譜的齒輪故障診斷[J].江蘇科技大學學報:自然科學版,2012,26(3):262 -265.
[7] 葛躍飛,王茸,陳世文,等.故障樹自動生成技術(shù)的研究與實現(xiàn)[J].計算機工程與設(shè)計,2009,30(1):207 -209.
[8] 羅航,王厚軍,黃建國,等.故障樹定量分析及其交互方式的實現(xiàn)[J].電子測量與儀器學報,2010(24):473-480.
[9] 張光迎,馬賢穎.軟件故障樹分析系統(tǒng)的設(shè)計和實現(xiàn)[J].飛行器測控學報,2009,28(3):66 -69.
[10] 倪紹徐,張裕芳,易宏,等.基于故障樹的智能故障診斷方法[J].上海交通大學學報:自然科學版,42(8):1372-1375.