徐 宣 賀 國 潘興隆 劉海松
(1.海軍工程大學(xué)動(dòng)力工程學(xué)院 武漢 430033)(2.海軍工程大學(xué)管理工程系 武漢 430033)(3.海軍駐溫州地區(qū)軍事代表室 舟山 316000)
某型監(jiān)控系統(tǒng)故障診斷專家系統(tǒng)知識(shí)獲取和故障樹推理分析*
徐 宣1賀 國2潘興隆1劉海松3
(1.海軍工程大學(xué)動(dòng)力工程學(xué)院 武漢 430033)(2.海軍工程大學(xué)管理工程系 武漢 430033)(3.海軍駐溫州地區(qū)軍事代表室 舟山 316000)
基于故障樹技術(shù)的專家系統(tǒng)適用于如某型船柴油機(jī)監(jiān)控系統(tǒng)的復(fù)雜容錯(cuò)系統(tǒng)故障診斷。知識(shí)的獲取和推理中的故障樹分析是專家系統(tǒng)關(guān)鍵部分。首先將監(jiān)控系統(tǒng)各故障事件間邏輯關(guān)系用故障樹的形式聯(lián)系起來,然后轉(zhuǎn)化成二叉樹的形式存儲(chǔ)故障知識(shí)。對專家系統(tǒng)推理機(jī)中復(fù)雜故障樹用線性搜索方法模塊化并查找其靜態(tài)子樹和動(dòng)態(tài)子樹。靜態(tài)子樹用二元決策圖進(jìn)行分析,動(dòng)態(tài)子樹用馬爾可夫模型進(jìn)行分析。通過故障樹分類分析,得到準(zhǔn)確全面的推理結(jié)果。
專家系統(tǒng);故障診斷;二叉樹;二元決策圖;馬爾可夫鏈
(1. College of Power Engineering,Naval University of Engineering, Wuhan 430033)(2. Department of Management Science,Naval University of Engineering, Wuhan 430033)(3. Navy Representative Office in Wenzhou Area, Zhoushan 316000)
Class Number TP391
某型船柴油機(jī)監(jiān)控系統(tǒng)控制邏輯復(fù)雜,發(fā)生故障不易診斷和排除。專家系統(tǒng)是一種模擬專家決策分析的計(jì)算機(jī)系統(tǒng),適用于該型監(jiān)控系統(tǒng)的故障診斷。知識(shí)的獲取和故障推理一直是專家系統(tǒng)研發(fā)和應(yīng)用的難題[1]。針對某型柴油機(jī)監(jiān)控系統(tǒng)特點(diǎn)采用二叉故障樹的形式實(shí)現(xiàn)專家系統(tǒng)知識(shí)獲取。專家系統(tǒng)推理機(jī)一般采用故障樹分析法進(jìn)行推理,傳統(tǒng)的故障樹分析法基于靜態(tài)邏輯,不適用于含冗余、容錯(cuò)機(jī)制的故障系統(tǒng)[2]。而動(dòng)態(tài)故障樹在靜態(tài)故障樹基礎(chǔ)上引入具有動(dòng)態(tài)特性的新邏輯門類型如相關(guān)門、備件門等,引入新邏輯門的動(dòng)態(tài)故障樹可使某型柴油機(jī)監(jiān)控系統(tǒng)的故障樹分析更加全面,提高專家系統(tǒng)的效率和準(zhǔn)確性。為此,采用基于動(dòng)態(tài)故障樹的模塊化分析方法解決某型監(jiān)控系統(tǒng)故障診斷專家系統(tǒng)推理中面臨的結(jié)果不準(zhǔn)確和運(yùn)算量過大 引發(fā)“組合爆炸”的問題。
故障樹分析法將系統(tǒng)中可能發(fā)生的重要故障事件作為故障樹頂事件,而后在故障樹中按某種方法尋找導(dǎo)致該故障發(fā)生的原因,直到溯至某種基本故障事件[3~5]。以某型船柴油機(jī)監(jiān)控系統(tǒng)啟動(dòng)異常為例,在詳細(xì)分析其工作原理基礎(chǔ)上,結(jié)和多年人工故障診斷經(jīng)驗(yàn),構(gòu)建含有動(dòng)態(tài)故障子樹的系統(tǒng)故障樹,如圖1所示。
圖1 監(jiān)控系統(tǒng)啟動(dòng)異常故障樹
二叉樹是一種樹形結(jié)構(gòu),與普通樹形結(jié)構(gòu)的區(qū)別為它的每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹且子樹左右次序不能顛倒。故障樹向二叉樹轉(zhuǎn)化的過程中,二叉樹的左子樹用于存放本級(jí)故障節(jié)點(diǎn)的下一級(jí)故障;右子樹用于存放本級(jí)故障節(jié)點(diǎn)的同級(jí)故障[1]。根據(jù)轉(zhuǎn)換規(guī)則可將圖1轉(zhuǎn)化為如圖2的二叉故障樹。
圖2 監(jiān)控系統(tǒng)啟動(dòng)異常二叉樹
其中故障樹電源故障邏輯較為復(fù)雜,暫作為一個(gè)整體故障事件G7進(jìn)行存儲(chǔ)。二叉樹知識(shí)的存儲(chǔ)采用鏈?zhǔn)酱鎯?chǔ)方法,即用鏈表的形式表達(dá)節(jié)點(diǎn)之間的邏輯關(guān)系。鏈表中每個(gè)節(jié)點(diǎn)分別由三個(gè)域組成:數(shù)據(jù)域和左右指針域,左右指針分別給出該節(jié)點(diǎn)“左孩子”和“右孩子”所在鏈節(jié)點(diǎn)的存儲(chǔ)地址。其節(jié)點(diǎn)結(jié)構(gòu)如圖3所示。
圖3 二叉鏈表節(jié)點(diǎn)結(jié)構(gòu)
利用二叉樹實(shí)現(xiàn)知識(shí)獲取時(shí),可直接在原樹的右子樹添加某故障節(jié)點(diǎn)的同級(jí)故障從而使得故障樹每級(jí)節(jié)點(diǎn)最多只有兩個(gè)子樹,解決了傳統(tǒng)故障樹節(jié)點(diǎn)子樹個(gè)數(shù)范圍不確定引起的計(jì)算機(jī)存儲(chǔ)困難。
該型二叉鏈表存儲(chǔ)結(jié)構(gòu)在C語言下的編碼形式為:
#define datatype char //定義二叉樹節(jié)點(diǎn)數(shù)據(jù)類型為字符
typedef struct node //定義節(jié)點(diǎn)由數(shù)據(jù)域,左右指針域組成
{Datatype data;
struct node *lchild,*rchild;
}Bitree
推理機(jī)是專家系統(tǒng)另一關(guān)鍵部分,它的準(zhǔn)確度和效率直接影響專家系統(tǒng)整體性能。故障樹分析法是推理機(jī)中常用的推理方法[6]。實(shí)際應(yīng)用操作中,要分析的系統(tǒng)龐大,生成的故障樹相應(yīng)也非常復(fù)雜,故障樹常用的分析法如定性分析和定量分析實(shí)現(xiàn)較為困難。故障樹的模塊化則是一種有效的故障樹簡化方法。
故障樹模塊化的主要工作是分辨和隔離出整個(gè)故障樹中的獨(dú)立子樹。獨(dú)立子樹僅含靜態(tài)邏輯門的稱靜態(tài)子樹,獨(dú)立子樹包含動(dòng)態(tài)邏輯門的稱動(dòng)態(tài)子樹[3]。通常情況下故障樹整體中只有很小一部分在本質(zhì)上是動(dòng)態(tài)的,所以動(dòng)態(tài)子樹數(shù)量通常較少。
采用一種線性搜索的方法來快速查找靜態(tài)子樹和動(dòng)態(tài)子樹。對故障樹進(jìn)行兩次深度優(yōu)先搜索,對第一次搜索中得到的故障樹底事件及中間事件分別設(shè)置M1、M2、M3用于標(biāo)識(shí)第一次、第二次和最后一次檢測到某事件所用的步數(shù)。然后對故障樹進(jìn)行二次搜索,對每個(gè)中間事件,計(jì)算與其相連的所有下層事件的M3最大值和M1最小值,分別用Max和Min表示。當(dāng)滿足如下條件時(shí),節(jié)點(diǎn)N是獨(dú)立子樹:與其相連的所有下層事件中,M3的最大值比節(jié)點(diǎn)N的M2值??;M1的最小值比節(jié)點(diǎn)N的M1值大[7~8]。對圖1所示故障樹進(jìn)行第一次搜索可得表1。
表1 監(jiān)控系統(tǒng)啟動(dòng)異常故障樹搜索結(jié)果
對故障樹各中間節(jié)點(diǎn)做第二次搜索,并比較標(biāo)識(shí)值可得表2。
表2 動(dòng)態(tài)故障樹遍歷結(jié)果
表中“Y/N”表示節(jié)點(diǎn)是否滿足獨(dú)立子樹條件,“S/D”表示滿足條件的獨(dú)立子樹為靜態(tài)還是動(dòng)態(tài)子樹。由表可得G1、G3、G4、G5、G6為獨(dú)立靜態(tài)子樹,G7為獨(dú)立動(dòng)態(tài)子樹。
二元決策圖BDD(V,N)是一種特殊有根樹,其中V為節(jié)點(diǎn)集,N為指標(biāo)集。節(jié)點(diǎn)集包括兩類節(jié)點(diǎn)[3]:
1) 有確定節(jié)點(diǎn)值value(v)∈{0,1}的葉節(jié)點(diǎn);
2) 沒有確定節(jié)點(diǎn)值,但有相應(yīng)指標(biāo)值index(v)∈N的非葉節(jié)點(diǎn)。
對任意的BDD,可設(shè):
V={v1,v2,…,vm},N={1,2,…,n}
給定一組布爾變量x1,x2,…,xn,根據(jù)節(jié)點(diǎn)指標(biāo)和布爾變量的對應(yīng)關(guān)系,將節(jié)點(diǎn)與布爾變量對應(yīng),即若
index(vi)=j∈N,i∈{1,2,…,m}
則vi對應(yīng)的布爾變量為xj。這樣BDD就可與布爾函數(shù)f=f(x1,x2,…,xm)相對應(yīng)。BDD中節(jié)點(diǎn)xi從本身向上回溯到根節(jié)點(diǎn)所經(jīng)過的路徑,稱為
節(jié)點(diǎn)xi的回溯集,記作H(xi)。BDD是一種函數(shù)不交化的圖形表示[3]。將故障樹轉(zhuǎn)化為BDD,即可得到系統(tǒng)所有故障即可得到系統(tǒng)所有故障模式和故障的傳播途徑。BDD的中間節(jié)點(diǎn)表示系統(tǒng)故障的底事件,根節(jié)點(diǎn)到葉節(jié)點(diǎn)間的每一條路徑代表底事件發(fā)生與否的不交化組合,葉節(jié)點(diǎn)值為1的路徑表示系統(tǒng)故障。每一條葉節(jié)點(diǎn)為1的路徑中,所有發(fā)生的底事件的集合即為系統(tǒng)的割集,對這些割集進(jìn)行最小化即得到系統(tǒng)的最小割集[8]。由函數(shù)的不交化性質(zhì)可知,葉節(jié)點(diǎn)為1的所有回溯集發(fā)生概率之和即為靜態(tài)子樹頂事件的故障概率。對圖1所示的故障樹,靜態(tài)子樹G1,G3,G4,G5,G6對應(yīng)的BDD如圖4所示。
由圖4可知,靜態(tài)子樹G1的割集為{G3},{E1},{G4};G3的割集為{E2},{E3};G4的割集為{E4},{E5};G5的割集為{E6},{E7};G6的割集為{E8},{E9}。
圖4 G1、G3、G4、G5、G6對應(yīng)的BDD
根據(jù)以往人工診斷經(jīng)驗(yàn)數(shù)據(jù)各底事件故障概率[7]分別為:
P(E1)=0.02,P(E2)=0.015,P(E3)=0.02,
P(E4)=0.04,P(E5)=0.09,P(E6)=0.018,
P(E7)=0.03,P(E8)=0.05,P(E9)=0.045,
則由靜態(tài)子樹故障概率計(jì)算公式[2]可得各子樹故障概率為:
P(G1)=P(G3)+P(E1)*[1-P(G3)]+P(G4)*[1-P(E1)]*[1-P(G4)]=0.1082
P(G3)=P(E2)+P(E3)*[1-P(E2)]=0.0347
P(G4)=P(E4)+P(E5)*[1-P(E4)]=0.1264
P(G5)=P(E6)+P(E7)*[1-P(E6)]=0.0475
P(G6)=P(E8)+P(E9)*[1-P(E8)]=0.0928
由此可得:靜態(tài)子樹中G1,G4具有較高出現(xiàn)故障的概率,故障排除過程中應(yīng)著重檢查。
基于馬爾可夫模型的動(dòng)態(tài)子樹分析,首先需將獨(dú)立動(dòng)態(tài)子樹轉(zhuǎn)化為相應(yīng)的馬爾可夫鏈[9~11]。馬爾可夫鏈?zhǔn)窍到y(tǒng)狀態(tài)之間有可能轉(zhuǎn)移的一種圖形化表示,通過一種可視化工具來幫助理解馬爾可夫模型。狀態(tài)轉(zhuǎn)移圖可以將初始狀態(tài)、系統(tǒng)狀態(tài)、系統(tǒng)狀態(tài)間的轉(zhuǎn)移和相應(yīng)的轉(zhuǎn)移率圖形化表示出來[8]。圖1中動(dòng)態(tài)子樹G7含一個(gè)熱備件門和一個(gè)功能相關(guān)門,熱備件門是備件門的一種,表示系統(tǒng)中含有激活且隨時(shí)準(zhǔn)備切換到工作狀態(tài)的備件,圖1中電源模塊A9作為A4的備件,保持27V電壓可隨時(shí)接入系統(tǒng)工作。當(dāng)主電源模塊A4故障時(shí),通過電源切換繼電器切換接入工作,A4和A9即構(gòu)成了一個(gè)熱備件門。系統(tǒng)中某個(gè)部件故障可能會(huì)導(dǎo)致與其相關(guān)的其他部件發(fā)生故障或無法進(jìn)入工作狀態(tài)的門稱為功能相關(guān)門,圖1中電源切換繼電器和電源模塊A4、A9即構(gòu)成一組功能相關(guān)門。電源故障動(dòng)態(tài)子樹向馬爾可夫鏈的轉(zhuǎn)移如圖5所示。
正常情況下,電源模塊A4故障時(shí)自動(dòng)接入A9模塊繼續(xù)維持監(jiān)控系統(tǒng)工作,則馬爾可夫鏈向下方向轉(zhuǎn)移;而當(dāng)電源切換繼電器故障時(shí),A4模塊出現(xiàn)故障時(shí)無法自動(dòng)切換備用電源,從而導(dǎo)致監(jiān)控系統(tǒng)故障,馬爾可夫鏈向上轉(zhuǎn)移。圓內(nèi)三位數(shù)字依次表示底事件電源切換繼電器(E10)、電源模塊A4(E11)、電源模塊A9(E12)狀態(tài),0表示正常,1表示故障。
圖5 G7狀態(tài)轉(zhuǎn)移圖
P(E10)=0.05,P(E11)=0.03,P(E12)=0.03
則由動(dòng)態(tài)子樹故障概率計(jì)算公式[2]可得電源故障概率為:
=P(E10)*P(E11)+P(E11)*P(E12) =0.0024
對G7的分析可以看出電源故障概率較低,故障排除過程中應(yīng)排在較后檢查。
采用二叉故障樹的方法實(shí)現(xiàn)專家系統(tǒng)知識(shí)的獲取。首先構(gòu)建某型柴油機(jī)監(jiān)控系統(tǒng)故障樹,然后將其轉(zhuǎn)化為二叉樹的形式實(shí)現(xiàn)專家系統(tǒng)知識(shí)的獲取和存儲(chǔ)。分析表明,基于二叉樹的專家系統(tǒng)知識(shí)獲取結(jié)構(gòu)簡單,便于存儲(chǔ)。創(chuàng)新性地將動(dòng)態(tài)故障樹分析方法引用到某型監(jiān)控系統(tǒng)故障診斷專家系統(tǒng)推理分析過程中,首先對系統(tǒng)故障樹進(jìn)行模塊化處理得到靜態(tài)和動(dòng)態(tài)子樹,將二元決策圖和馬爾可夫模型方法分別用于不同子樹的故障分析,在一定程度上降低了傳統(tǒng)故障樹分析方法求解的復(fù)雜度,提高了分析的準(zhǔn)確性。
[1] 王學(xué)杰,賀國,陳連樹. 基于二叉樹的某型船柴油機(jī)控制系統(tǒng)故障診斷專家系統(tǒng)[J]. 中國艦船研究,2009,4(6):34-37.
[2] 季會(huì)媛. 動(dòng)態(tài)故障樹分析方法研究[D]. 長沙:國防科學(xué)技術(shù)大學(xué),2002.
[3] 李堂經(jīng),王新閣,楊哲. 動(dòng)態(tài)故障樹的綜合分析方法[J]. 裝備制造技術(shù),2009(8):22-24.
[4] 包勇,張德銀,莊緒巖. 基于動(dòng)態(tài)故障樹技術(shù)的故障診斷專家系統(tǒng)[J]. 四川大學(xué)學(xué)報(bào),2014,51(6):1211-1216.
[5] Anna Syberfeldt,Oscar Danielsson,Magnus Holm,et al. Dynamic Operator Instructions Based on Augmented Reality and Rule-based Expert Systems[J]. Procedia CIRP,2016,41(2):646-652.
[6] A.C.Cilliers. Expert Fault Detection and Diagnosis System on The Three Mile Island Accident Event Sequence[J]. Annals of Nuclear Energy,2013,62(4):326-334.
[7] 賀國,徐建卯,張文濤. 用故障樹分析法排除柴油機(jī)監(jiān)控系統(tǒng)故障[J]. 海軍工程大學(xué)學(xué)報(bào),2000(4):45-48.
[8] 劉文彬.基于模塊化思想的動(dòng)態(tài)故障樹分析方法研究[D]. 南京:南京理工大學(xué),2009.
[9] 郭偉偉.基于故障樹技術(shù)的遠(yuǎn)程故障診斷專家系統(tǒng)的研究[D]. 西安:西北工業(yè)大學(xué),2007.
[10] 殷???黃惠寧. 艦船電子裝備的狀態(tài)監(jiān)測與故障診斷[J]. 艦船電子工程,2015,36(1):144-146.
[11] O.Yevkin. An Efficient Approximate Markov Chain Method in Dynamic Fault Tree Analysis[J]. Qual.Reliab. Engng Int,2016,32(4):168-173.
Knowledge Acquisition and Reasoning Analysis of A Certain Type of Monitoring System Fault Diagnosis Expert System
XU Xuan1HE Guo2PAN Xinglong1LIU Haisong3
Fault diagnosis expert system(ES) based on fault tree technology is suitable for complex fault-tolerant system such as a certain type of ship monitoring system.Knowledge acquisition and fault tree analysis in inference engine are key parts in ES.Firstly, the logical relationship between types of ship monitoring system fault events with fault tree form in series are connected. Then in inference engine of the ES, a binary tree is used to store the fault knowledge. linear search method is used to find the static and dynamic sub-trees in a complex fault tree. Static sub-tree with binary decision diagrams and dynamic sub-tree are analyzed with Markov Model. accurate and comprehensive reasoning result are gotten by classified fault tree analysis.
expert system, fault diagnosis, binary tree, binary decision diagrams, Markov chain
2016年6月5日,
2016年7月17日
海軍裝備保障項(xiàng)目(編號(hào):4255161523)資助。
徐宣,男,碩士研究生,研究方向:艦船動(dòng)力裝置自動(dòng)化及其仿真技術(shù)。賀國,男,教授,博士生導(dǎo)師,研究方向:艦船動(dòng)力裝置技術(shù)保障。潘興隆,男,博士,講師,研究方向:機(jī)電一體化。劉海松,男,工程師,研究方向:裝備技術(shù)保障。
TP391
10.3969/j.issn.1672-9730.2016.12.030