文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.027
中文引用格式: 凌牧,袁海文. 二元決策圖ITE算法在.NET平臺的實現與應用[J].電子技術應用,2016,42(1):104-107.
英文引用格式: Ling Mu,Yuan Haiwen. Implementation and application of BDD using ITE algorithm on .NET platform[J].Application of Electronic Technique,2016,42(1):104-107.
0 引言
故障樹分析法[1]是在實際工程應用中判斷系統安全性與可靠性常用的方法,在理論分析方面已經發展得非常成熟,其研究多數集中于計算頂事件發生概率和分析系統薄弱環節的算法上,如文獻[2]中的智能故障樹診斷方法,按照計算所得底事件的故障率確定故障診斷的最優順序,是典型的故障樹靜態分析方法。利用故障樹法診斷實時診斷的系統也有一些研究成果,如文獻[3]提出了一種實時預測故障的方法,引入底事件工作狀態隸屬度的概念,實時計算頂事件發生概率,對薄弱系統環節進行預測。但是這種方法僅能作為預測軟件,并未達到實時診斷系統故障的效果。
二元決策圖[4-5](Binary Decision Diagram,BDD)本質上是變量集的布爾函數,這與故障樹的割集[6]概念一致,由于BDD的結構規范,對比故障樹節點更少,對于存儲器空間占用少,有利于快速得出故障失效的不交化割集。
在實際工程應用中,現場操作人員雖然有現場數據,但對于復雜系統故障不一定具備診斷知識,因此很難現場準確診斷故障原因[7]。對于以上問題,本文提出了一種針對具有總線報警的實時監控系統,根據總線節點的報警代碼,利用ITE算法將故障樹轉化為BDD,在線實時診斷系統故障,對于分析系統故障模式,不斷完善修正故障樹有一定實際意義。
1 ITE算法及實現
1.1 ITE算法基本原理
BDD是一種非閉環有向圖,是一組變量的布爾表達式的圖形化表示,在BDD中除了變量節點,還存在兩種基本終結點“0”和“1”,從層數最高的“1”節點沿著所有節點的“1”腳回溯至BDD的頂節點,得到的變量集合之和即為該BDD的布爾表達式。ITE(if-else-then)算子采用香農分解式的思想,將BDD按變量排序順序依次展開,比傳統二元決策圖轉換算法復雜度低,其表達式如式(1)所示。
采用式(1)算子對圖1故障樹進行BDD轉換,假設其底事件排序為:abcd,那么依次得到故障樹中各個門的ITE表達式如下:
由該故障樹的頂事件(TOP)ITE表達式可得圖1故障樹的割集為:{ab,acd,cd}。
1.2 ITE算法實現
由于BDD特殊的結構形式,每個節點的結構都是相同的,適合使用遞歸方法實現。首先,對于ITE節點定義,如表1所示。
從表1中可以看出形成BDD的ITE結構節點定義中使用了自引用的方式,其中它的nodehigh 、nodelow屬性也是itenode的類結構,這樣使得在ITE節點連接時可以使用遞歸方式,形成的合并節點也都為相同結構。
使用ITE算法將故障樹轉換為BDD主要有兩個步驟:(1)對于門形成該門的ITE結構;(2)將所有門的ITE結構連接起來形成最終BDD。具體算法如表2、3所示。
表2中形成子門所有底事件的ITE函數將所有該門下的底事件連接形成ITE函數,由于在連接底事件的時候不存在兩個ITE間的操作,只需編輯被連接節點的左右腳即可,如節點b需要連接節點a時,判斷b節點父門的類型,若是“或”門,b節點的ITE結構中第2個元素中放入a節點,第3個元素置“0”;若是“與”門,b節點的ITE結構中第3個元素中放入a節點,第2個元素置“1”,如此循環至該門下所有節點均連接完成,最后返回該門所有底事件的ITE結構。
表3中ITE連接函數有3個變量,變量f、g表示2個待連接的ITE節點,變量op表示連接類型。兩個ITE節點連接主要分為3種情況:(1)f、g節點中有一個是“0/1”節點,根據op類別返回相應ITE節點;(2)計算表中已經有節點f、g的相關操作,直接返回操作值;(3)以上2種情況均不符合,則按照ITE結構遞歸連接。
對于整棵樹的ITE求解步驟為:(1)對所有門,求取其門下所有底事件的ITE合并結構;(2)從層數最多的門開始求解ITE,逐步替代其上層門的輸入直到頂門。最終得到頂門的ITE結構就是該故障樹的BDD形式。
2 算法實現平臺
作為一個通用的嵌入式軟件平臺[9-10],對于一個具有CAN總線結構的系統,合理設置故障報警節點,以所有故障節點作為故障樹的頂事件建立多棵故障樹,通過GUI界面將所有故障樹信息錄入軟件平臺。監控界面實時顯示系統數據,當有報警信號時,操作人員可判讀是否需要進行診斷,如要現場診斷,則進入診斷推理界面,根據報警信號找到相應故障樹,采用ITE算法,進行定性分析,確定發生故障的割集集合,給出結果及修復信息,系統結構如圖2所示。
2.1 故障樹建模模塊
在實際監控診斷工作開始之前,首先需要建立本系統的故障樹模型。在建立故障樹時,出于軟件通用性考慮,將建立故障樹與錄入監測參數分開。首先將所有的系統參數錄入,在建樹的過程中直接選擇相應底事件對應的參數,這樣避免了不同底事件在依賴同樣特征參數時的重復操作,提高了建樹效率及準確性。
2.2 數據庫模塊
數據庫是平臺系統存儲故障樹信息和原始系統數據的重要環節,如圖3所示是系統的數據庫結構。ADO.NET平臺具有執行速度快、網絡傳輸時間短的優點,適用于平臺的分布式數據傳輸環境,基于以上原因,數據庫采用SQL Server軟件平臺開發[8],與界面設計軟件Visual Studio有良好的接口。
數據庫主要存儲了包括故障樹信息、原始特征參數值(總線數據)、推理過程中得到的各種中間信息(割集)、報警信息和解決問題后輸出結果信息(修復方法)等。總線數據分為報警信息和征兆參數值兩部分。在導入故障樹信息時,將各參數對應的CAN總線關聯對象的ID、關聯指針、對象長度一并導入,根據這些信息,系統可以將收到的數據幀轉換為有意義的參數值。如圖3中的WriteData_SQL表記錄所有的總線原始數據,通過查找parameters表將原始二進制數據翻譯成參數實際值提供給監控界面顯示。
3 應用
3.1 案例分析
車輛液壓控制系統中包含液壓機械設備、控制電路等復雜結構,發生故障的可能性也隨之增大。某些故障不但會影響車輛正常運轉,還可能會導致整個系統的故障。
如圖4所示為某液壓控制系統故障樹,本文假設所有事件是二態的,即故障或正常。故障樹信息如表4所示。本系統故障樹特點在于底事件可分兩類:人工判斷類及自動判斷類。其中,人工判斷類底事件只對應一個特征參數,即需要人工判斷該特征參數的狀態。而對于自動判斷類底事件,出于通用性考慮,為每個底事件預留3個特征參數,且3個特征參數之間的布爾關系可編輯,系統將在后臺根據現場數據及用戶給出的布爾關系判斷該底事件是否發生。
頂事件為主泵異常,底事件主要分為電控回路故障、電纜故障、閥件故障等。對與每個底事件有相應的征兆,如X1電源故障,可通過電源電壓U判斷X1的狀態;而有的底事件可能對應多個征兆,如X8閥件卡滯對應的征兆有控制電流I和系統壓力P兩個參數,這兩個參數之間也存在布爾關系,當兩個參數同時異常時X8故障。
3.2 模擬環境拓撲結構
分別采用兩臺PC機作為現場環境模擬機和診斷機,其拓撲結構如圖5所示。上位機模擬發送總線數據以及故障注入,下位機運行本診斷軟件。
3.3 實驗結果分析
在模擬開始前,將上文故障樹信息輸入診斷軟件,并將該系統的模擬總線數據輸入上位機。注入液位高度故障數據,在升車過程進行到20 s時注入報警幀,報警代碼為101。接到報警后,軟件提示是否立即診斷,如圖6所示,即轉入診斷推理界面,如圖7所示,診斷結果為油液高度異常。
4 結論
本文將二元決策圖ITE算法應用于實際系統,實現了在線系統故障診斷軟件的設計仿真,根據仿真結果可得出:
(1)算法通用性強,可靠性高。二元決策圖ITE算法可應用于任何結構的系統,具有一定的工程意義。
(2)診斷效率高,實時診斷故障原因并給出解決方案。
(3)良好的人機交互界面,完整的數據知識存儲機制,對于完善已有故障樹,從而提升整個系統的可靠性有一定的應用價值。
參考文獻
[1] 王少萍.工程可靠性[M].北京:北京航空航天大學出版社,2000.
[2] 倪紹徐,張裕芳,易宏,等.基于故障樹的智能故障診斷方法[J].上海交通大學學報.2008(8).
[3] 董豆豆,周忠寶.基于故障樹的系統安全風險實時監測方法[J].國防科技大學學報.2006(28).
[4] 張超.基于BDD的動態故障樹優化研究[D].西安:西北工業大學,2004.
[5] 袁靜,胡昌華,徐瑞,等.基于改進BDD算法的導彈安控系統故障樹仿真分析[J].系統仿真學報,2007(19).
[6] 朱大奇,于盛林.基于故障樹最小割集的故障診斷方法研究[J],數據采集與處理,2002,17(3).
[7] 朱大奇,于盛林,陳小平.基于故障樹分析及虛擬儀器的電子部件故障診斷技術研究[J].儀器儀表學報,2002,23(1).
[8] 張勇.基于ACCESS數據庫的CAN總線數據采集方法的設計與實現[J].制造業自動化.2011(21).
[9] JOANNE B D,KEVIN J S.Developing a low-cost high-quality software tool for dynamic fault-tree analysis.IEEE Trans.Reliability,2000(40):49-59.
[10] Zhou Zhiwei,Zhuang Ming.Design of a real-time fault diagnosis expert system for the EAST cryoplant.Fusion Engineering and Design,2012(87):2002-2006.