《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 二元決策圖ITE算法在.NET平臺的實現(xiàn)與應(yīng)用
二元決策圖ITE算法在.NET平臺的實現(xiàn)與應(yīng)用
2016年電子技術(shù)應(yīng)用第1期
凌 牧,,袁海文
北京航空航天大學(xué) 自動化科學(xué)與電氣工程學(xué)院,,北京100191
摘要: 故障樹作為系統(tǒng)可靠性分析的一種工具,在實際工程中已得到廣泛應(yīng)用。二元決策圖作為常用的故障樹分析法,,通過其結(jié)構(gòu)優(yōu)勢可快速得到故障樹的不交化割集,通過分析割集集合確定系統(tǒng)失效集合以及計算系統(tǒng)失效概率等指標(biāo),,確定系統(tǒng)可靠性,。在.NET平臺上使用ITE算法實現(xiàn)故障樹對二元決策圖的轉(zhuǎn)化,并在通用的CAN總線監(jiān)測診斷平臺上實現(xiàn),,平臺使用SQL Server作為知識庫存儲信息數(shù)據(jù),,以故障樹信息和監(jiān)測數(shù)據(jù)作為輸入,實時對系統(tǒng)報警做出診斷,。
中圖分類號: TP202.1
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.027
中文引用格式: 凌牧,,袁海文. 二元決策圖ITE算法在.NET平臺的實現(xiàn)與應(yīng)用[J].電子技術(shù)應(yīng)用,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.
Implementation and application of BDD using ITE algorithm on .NET platform
Ling Mu,,Yuan Haiwen
School of Automation Science and Electrical Engineering,Beihang University,,Beijing 100191,,China
Abstract: Fault tree analysis method is a useful reliability analysis tool,,and it is used in applications of practical engineering widly. Binary Decision Diagram(BDD) is a common used fault tree analysis method, the disjoint cut sets of the fault tree can be quickly obtained by its structure advantage. The reliability indexes of the system such as the failure sets of the system and the failure probability of the system are determined by analyzing the collection of cut sets. An algorithm achieve transformation from fault tree to binary decision diagram is proposed. This algorithm is applied in a CAN-bus monitoring and diagnosis platform using SQL Server as information database, fault tree information and real-time bus data as input.
Key words : binary decision diagram;fault tree,;ITE algorithm,;CAN-bus

0 引言

    故障樹分析法[1]是在實際工程應(yīng)用中判斷系統(tǒng)安全性與可靠性常用的方法,在理論分析方面已經(jīng)發(fā)展得非常成熟,,其研究多數(shù)集中于計算頂事件發(fā)生概率和分析系統(tǒng)薄弱環(huán)節(jié)的算法上,,如文獻[2]中的智能故障樹診斷方法,按照計算所得底事件的故障率確定故障診斷的最優(yōu)順序,,是典型的故障樹靜態(tài)分析方法,。利用故障樹法診斷實時診斷的系統(tǒng)也有一些研究成果,如文獻[3]提出了一種實時預(yù)測故障的方法,,引入底事件工作狀態(tài)隸屬度的概念,,實時計算頂事件發(fā)生概率,對薄弱系統(tǒng)環(huán)節(jié)進行預(yù)測,。但是這種方法僅能作為預(yù)測軟件,,并未達到實時診斷系統(tǒng)故障的效果。

    二元決策圖[4-5](Binary Decision Diagram,,BDD)本質(zhì)上是變量集的布爾函數(shù),,這與故障樹的割集[6]概念一致,由于BDD的結(jié)構(gòu)規(guī)范,,對比故障樹節(jié)點更少,,對于存儲器空間占用少,有利于快速得出故障失效的不交化割集,。

    在實際工程應(yīng)用中,,現(xiàn)場操作人員雖然有現(xiàn)場數(shù)據(jù),但對于復(fù)雜系統(tǒng)故障不一定具備診斷知識,,因此很難現(xiàn)場準(zhǔn)確診斷故障原因[7],。對于以上問題,本文提出了一種針對具有總線報警的實時監(jiān)控系統(tǒng),,根據(jù)總線節(jié)點的報警代碼,利用ITE算法將故障樹轉(zhuǎn)化為BDD,,在線實時診斷系統(tǒng)故障,,對于分析系統(tǒng)故障模式,不斷完善修正故障樹有一定實際意義,。

1 ITE算法及實現(xiàn)

1.1 ITE算法基本原理

    BDD是一種非閉環(huán)有向圖,,是一組變量的布爾表達式的圖形化表示,在BDD中除了變量節(jié)點,,還存在兩種基本終結(jié)點“0”和“1”,,從層數(shù)最高的“1”節(jié)點沿著所有節(jié)點的“1”腳回溯至BDD的頂節(jié)點,,得到的變量集合之和即為該BDD的布爾表達式。ITE(if-else-then)算子采用香農(nóng)分解式的思想,,將BDD按變量排序順序依次展開,,比傳統(tǒng)二元決策圖轉(zhuǎn)換算法復(fù)雜度低,其表達式如式(1)所示,。

    jsj3-gs1.gif

    采用式(1)算子對圖1故障樹進行BDD轉(zhuǎn)換,,假設(shè)其底事件排序為:abcd,那么依次得到故障樹中各個門的ITE表達式如下:jsj3-t1.gif

    jsj3-gs1-x1.gif

    由該故障樹的頂事件(TOP)ITE表達式可得圖1故障樹的割集為:{ab,acd,,cd},。

1.2 ITE算法實現(xiàn)

    由于BDD特殊的結(jié)構(gòu)形式,每個節(jié)點的結(jié)構(gòu)都是相同的,,適合使用遞歸方法實現(xiàn),。首先,對于ITE節(jié)點定義,,如表1所示,。

jsj3-b1.gif

    從表1中可以看出形成BDD的ITE結(jié)構(gòu)節(jié)點定義中使用了自引用的方式,其中它的nodehigh ,、nodelow屬性也是itenode的類結(jié)構(gòu),,這樣使得在ITE節(jié)點連接時可以使用遞歸方式,形成的合并節(jié)點也都為相同結(jié)構(gòu),。

    使用ITE算法將故障樹轉(zhuǎn)換為BDD主要有兩個步驟:(1)對于門形成該門的ITE結(jié)構(gòu),;(2)將所有門的ITE結(jié)構(gòu)連接起來形成最終BDD。具體算法如表2,、3所示,。

jsj3-b2.gif

jsj3-b3.gif

    表2中形成子門所有底事件的ITE函數(shù)將所有該門下的底事件連接形成ITE函數(shù),由于在連接底事件的時候不存在兩個ITE間的操作,,只需編輯被連接節(jié)點的左右腳即可,,如節(jié)點b需要連接節(jié)點a時,判斷b節(jié)點父門的類型,,若是“或”門,,b節(jié)點的ITE結(jié)構(gòu)中第2個元素中放入a節(jié)點,第3個元素置“0”,;若是“與”門,,b節(jié)點的ITE結(jié)構(gòu)中第3個元素中放入a節(jié)點,第2個元素置“1”,,如此循環(huán)至該門下所有節(jié)點均連接完成,,最后返回該門所有底事件的ITE結(jié)構(gòu)。

    表3中ITE連接函數(shù)有3個變量,,變量f,、g表示2個待連接的ITE節(jié)點,,變量op表示連接類型。兩個ITE節(jié)點連接主要分為3種情況:(1)f,、g節(jié)點中有一個是“0/1”節(jié)點,,根據(jù)op類別返回相應(yīng)ITE節(jié)點;(2)計算表中已經(jīng)有節(jié)點f,、g的相關(guān)操作,,直接返回操作值;(3)以上2種情況均不符合,,則按照ITE結(jié)構(gòu)遞歸連接,。

    對于整棵樹的ITE求解步驟為:(1)對所有門,求取其門下所有底事件的ITE合并結(jié)構(gòu),;(2)從層數(shù)最多的門開始求解ITE,,逐步替代其上層門的輸入直到頂門,。最終得到頂門的ITE結(jié)構(gòu)就是該故障樹的BDD形式,。

2 算法實現(xiàn)平臺

    作為一個通用的嵌入式軟件平臺[9-10],,對于一個具有CAN總線結(jié)構(gòu)的系統(tǒng),合理設(shè)置故障報警節(jié)點,,以所有故障節(jié)點作為故障樹的頂事件建立多棵故障樹,,通過GUI界面將所有故障樹信息錄入軟件平臺。監(jiān)控界面實時顯示系統(tǒng)數(shù)據(jù),,當(dāng)有報警信號時,,操作人員可判讀是否需要進行診斷,如要現(xiàn)場診斷,,則進入診斷推理界面,,根據(jù)報警信號找到相應(yīng)故障樹,采用ITE算法,,進行定性分析,,確定發(fā)生故障的割集集合,給出結(jié)果及修復(fù)信息,,系統(tǒng)結(jié)構(gòu)如圖2所示,。

jsj3-t2.gif

2.1 故障樹建模模塊

    在實際監(jiān)控診斷工作開始之前,首先需要建立本系統(tǒng)的故障樹模型,。在建立故障樹時,,出于軟件通用性考慮,將建立故障樹與錄入監(jiān)測參數(shù)分開,。首先將所有的系統(tǒng)參數(shù)錄入,在建樹的過程中直接選擇相應(yīng)底事件對應(yīng)的參數(shù),,這樣避免了不同底事件在依賴同樣特征參數(shù)時的重復(fù)操作,,提高了建樹效率及準(zhǔn)確性,。

2.2 數(shù)據(jù)庫模塊

    數(shù)據(jù)庫是平臺系統(tǒng)存儲故障樹信息和原始系統(tǒng)數(shù)據(jù)的重要環(huán)節(jié),如圖3所示是系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu),。ADO.NET平臺具有執(zhí)行速度快,、網(wǎng)絡(luò)傳輸時間短的優(yōu)點,適用于平臺的分布式數(shù)據(jù)傳輸環(huán)境,,基于以上原因,,數(shù)據(jù)庫采用SQL Server軟件平臺開發(fā)[8],與界面設(shè)計軟件Visual Studio有良好的接口,。

jsj3-t3.gif

    數(shù)據(jù)庫主要存儲了包括故障樹信息,、原始特征參數(shù)值(總線數(shù)據(jù))、推理過程中得到的各種中間信息(割集),、報警信息和解決問題后輸出結(jié)果信息(修復(fù)方法)等,。總線數(shù)據(jù)分為報警信息和征兆參數(shù)值兩部分,。在導(dǎo)入故障樹信息時,,將各參數(shù)對應(yīng)的CAN總線關(guān)聯(lián)對象的ID、關(guān)聯(lián)指針,、對象長度一并導(dǎo)入,,根據(jù)這些信息,系統(tǒng)可以將收到的數(shù)據(jù)幀轉(zhuǎn)換為有意義的參數(shù)值,。如圖3中的WriteData_SQL表記錄所有的總線原始數(shù)據(jù),,通過查找parameters表將原始二進制數(shù)據(jù)翻譯成參數(shù)實際值提供給監(jiān)控界面顯示。

3 應(yīng)用

3.1 案例分析

    車輛液壓控制系統(tǒng)中包含液壓機械設(shè)備,、控制電路等復(fù)雜結(jié)構(gòu),,發(fā)生故障的可能性也隨之增大。某些故障不但會影響車輛正常運轉(zhuǎn),,還可能會導(dǎo)致整個系統(tǒng)的故障,。

    如圖4所示為某液壓控制系統(tǒng)故障樹,本文假設(shè)所有事件是二態(tài)的,,即故障或正常,。故障樹信息如表4所示。本系統(tǒng)故障樹特點在于底事件可分兩類:人工判斷類及自動判斷類,。其中,,人工判斷類底事件只對應(yīng)一個特征參數(shù),即需要人工判斷該特征參數(shù)的狀態(tài),。而對于自動判斷類底事件,,出于通用性考慮,為每個底事件預(yù)留3個特征參數(shù),且3個特征參數(shù)之間的布爾關(guān)系可編輯,,系統(tǒng)將在后臺根據(jù)現(xiàn)場數(shù)據(jù)及用戶給出的布爾關(guān)系判斷該底事件是否發(fā)生,。

jsj3-t4.gif

jsj3-b4.gif

    頂事件為主泵異常,底事件主要分為電控回路故障,、電纜故障,、閥件故障等。對與每個底事件有相應(yīng)的征兆,,如X1電源故障,,可通過電源電壓U判斷X1的狀態(tài);而有的底事件可能對應(yīng)多個征兆,,如X8閥件卡滯對應(yīng)的征兆有控制電流I和系統(tǒng)壓力P兩個參數(shù),,這兩個參數(shù)之間也存在布爾關(guān)系,當(dāng)兩個參數(shù)同時異常時X8故障,。

3.2 模擬環(huán)境拓撲結(jié)構(gòu)

    分別采用兩臺PC機作為現(xiàn)場環(huán)境模擬機和診斷機,,其拓撲結(jié)構(gòu)如圖5所示。上位機模擬發(fā)送總線數(shù)據(jù)以及故障注入,,下位機運行本診斷軟件,。

jsj3-t5.gif

3.3 實驗結(jié)果分析

    在模擬開始前,將上文故障樹信息輸入診斷軟件,,并將該系統(tǒng)的模擬總線數(shù)據(jù)輸入上位機,。注入液位高度故障數(shù)據(jù),在升車過程進行到20 s時注入報警幀,,報警代碼為101,。接到報警后,軟件提示是否立即診斷,,如圖6所示,,即轉(zhuǎn)入診斷推理界面,如圖7所示,,診斷結(jié)果為油液高度異常,。

jsj3-t6.gif

jsj3-t7.gif

4 結(jié)論

    本文將二元決策圖ITE算法應(yīng)用于實際系統(tǒng),實現(xiàn)了在線系統(tǒng)故障診斷軟件的設(shè)計仿真,,根據(jù)仿真結(jié)果可得出:

    (1)算法通用性強,,可靠性高。二元決策圖ITE算法可應(yīng)用于任何結(jié)構(gòu)的系統(tǒng),,具有一定的工程意義,。

    (2)診斷效率高,實時診斷故障原因并給出解決方案,。

    (3)良好的人機交互界面,,完整的數(shù)據(jù)知識存儲機制,,對于完善已有故障樹,從而提升整個系統(tǒng)的可靠性有一定的應(yīng)用價值,。

參考文獻

[1] 王少萍.工程可靠性[M].北京:北京航空航天大學(xué)出版社,,2000.

[2] 倪紹徐,張裕芳,,易宏,等.基于故障樹的智能故障診斷方法[J].上海交通大學(xué)學(xué)報.2008(8).

[3] 董豆豆,,周忠寶.基于故障樹的系統(tǒng)安全風(fēng)險實時監(jiān)測方法[J].國防科技大學(xué)學(xué)報.2006(28).

[4] 張超.基于BDD的動態(tài)故障樹優(yōu)化研究[D].西安:西北工業(yè)大學(xué),,2004.

[5] 袁靜,胡昌華,,徐瑞,,等.基于改進BDD算法的導(dǎo)彈安控系統(tǒng)故障樹仿真分析[J].系統(tǒng)仿真學(xué)報,2007(19).

[6] 朱大奇,,于盛林.基于故障樹最小割集的故障診斷方法研究[J],數(shù)據(jù)采集與處理,,2002,17(3).

[7] 朱大奇,,于盛林,,陳小平.基于故障樹分析及虛擬儀器的電子部件故障診斷技術(shù)研究[J].儀器儀表學(xué)報,2002,,23(1).

[8] 張勇.基于ACCESS數(shù)據(jù)庫的CAN總線數(shù)據(jù)采集方法的設(shè)計與實現(xiàn)[J].制造業(yè)自動化.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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。