摘 要: 介紹了一種基于CAN總線的分散檢測(cè),,集中診斷,、顯示的雷達(dá)BIT故障診斷系統(tǒng),描述了其硬件組成,、專家系統(tǒng)結(jié)構(gòu),,知識(shí)表示和推理機(jī)制。通過在該雷達(dá)BIT中采用專家系統(tǒng)診斷方法,,使得推理機(jī)與知識(shí)庫分離,,便于診斷知識(shí)庫的擴(kuò)充、維護(hù),有效提高了系統(tǒng)BIT故障診斷能力,。
關(guān)鍵詞: 雷達(dá),;BIT;專家系統(tǒng),;故障診斷
現(xiàn)代雷達(dá)裝備的復(fù)雜程度和技術(shù)含量不斷提高,,可維修性、可測(cè)試性對(duì)裝備的作戰(zhàn)能力,、生存能力,、機(jī)動(dòng)性、維修人員,、保障費(fèi)用產(chǎn)生了重要影響,。傳統(tǒng)的測(cè)試主要利用外部測(cè)試儀器對(duì)被測(cè)設(shè)備進(jìn)行測(cè)試,這種測(cè)試方法費(fèi)用高,、操作復(fù)雜,,且只能離線檢測(cè)。為了提高雷達(dá)的維護(hù)性能,,縮短雷達(dá)故障診斷時(shí)間,,在現(xiàn)代雷達(dá)系統(tǒng)中,機(jī)內(nèi)測(cè)試BIT(Built-in Test)裝置發(fā)揮著重要作用,。常規(guī)BIT故障診斷通過編寫一個(gè)結(jié)構(gòu)化的程序,,每次測(cè)試中一旦出現(xiàn)故障便可進(jìn)行診斷測(cè)試,以便故障隔離達(dá)到所要求的級(jí)別,。這種基于結(jié)構(gòu)化的程序?qū)⒚枋鏊惴ǖ倪^程性測(cè)試信息和控制性判斷信息合二為一地編碼在程序中,,導(dǎo)致可維護(hù)性和適應(yīng)能力比較差,不能靈活,、高效地利用歷史經(jīng)驗(yàn)和專家知識(shí),,測(cè)試診斷結(jié)果缺乏解釋,難以對(duì)設(shè)備排故與改型設(shè)計(jì)提供充分的依據(jù)[1],。特別是對(duì)于雷達(dá)設(shè)備在工程實(shí)際中大量出現(xiàn)的多并行過程監(jiān)測(cè),、突發(fā)及多態(tài)故障診斷需求使得常規(guī)BIT故障診斷的技術(shù)手段和方法顯得很不適應(yīng)。因此,,通過在雷達(dá)BIT故障診斷中使用專家系統(tǒng)技術(shù),,可極大地增強(qiáng)系統(tǒng)診斷程序的的靈活性和可維護(hù)性;對(duì)知識(shí)庫的不斷擴(kuò)充和完善,,可以大大提高系統(tǒng)的診斷能力,,在一定程度上克服常規(guī)BIT故障診斷的不足。
本文以基于CAN總線的雷達(dá)BIT故障檢測(cè)系統(tǒng)硬件結(jié)構(gòu)為基礎(chǔ),,設(shè)計(jì)了一種基于專家系統(tǒng)的雷達(dá)裝備BIT故障診斷方法,,對(duì)專家系統(tǒng)的診斷知識(shí)表示和推理控制進(jìn)行了詳細(xì)描述,。該系統(tǒng)在具體設(shè)計(jì)中,采用Windows操作系統(tǒng)作為用戶平臺(tái),,故障診斷軟件開發(fā)工具使用C++ Builder 6.0,,采用Access 2000關(guān)系數(shù)據(jù)庫,應(yīng)用面向?qū)ο蠹夹g(shù)和可視化技術(shù)實(shí)現(xiàn)系統(tǒng)故障診斷功能,。
1 BIT檢測(cè)系統(tǒng)硬件組成
某型雷達(dá)技術(shù)體制先進(jìn),,新技術(shù)含量高,包含了大量的大規(guī)模,、超大規(guī)模集成電路,,微波集成組件和各種功能模塊,從高頻到低頻,、從數(shù)字到模擬,,分布在各個(gè)組合中,有些組合相距較遠(yuǎn),,屬于典型的分布式結(jié)構(gòu)。根據(jù)BIT的設(shè)置應(yīng)盡量不影響雷達(dá)主通道工作的設(shè)計(jì)原則,,確定了全機(jī)故障檢測(cè)采用分散檢測(cè),,集中顯示、控制處理兩級(jí)層次結(jié)構(gòu),。第一級(jí)為雷達(dá)監(jiān)控分系統(tǒng)主控臺(tái),,由工業(yè)計(jì)算機(jī)組成,其定時(shí)采集各分系統(tǒng)的自檢信息,,完成雷達(dá)狀態(tài)顯示,、雷達(dá)操作控制、人機(jī)接口,、分系統(tǒng)故障信息綜合,、診斷及雷達(dá)遙控接口;第二級(jí)為分系統(tǒng)監(jiān)控模塊,,由單片微處理器和傳感器接口電路組成,,在不影響雷達(dá)系統(tǒng)正常工作的前提下,不間斷地對(duì)分系統(tǒng)工作狀態(tài)進(jìn)行監(jiān)視,,提取監(jiān)測(cè)點(diǎn)征兆特征,,完成對(duì)分系統(tǒng)的狀態(tài)監(jiān)測(cè)和與主控臺(tái)通信等功能。與一般的通信總線相比,,考慮到CAN(Controller Area Network)總線數(shù)據(jù)通信具有突出的可靠性,、實(shí)時(shí)性和靈活性的特點(diǎn),二級(jí)系統(tǒng)通過CAN總線連接,,從而構(gòu)成一個(gè)具有完整協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò),。BIT故障檢測(cè)硬件組成框圖如圖1所示,。
每個(gè)CAN模塊或帶CAN總線接口的單元都有一個(gè)唯一的ID號(hào),用來識(shí)別不同的模塊,。各分系統(tǒng)狀態(tài)及控制等報(bào)文均通過ID識(shí)別,,由各CAN模塊或分機(jī)本身的監(jiān)控電路完成本分機(jī)狀態(tài)的收集及上報(bào)。主控臺(tái)接收來自各分機(jī)的工作狀態(tài)信息,,進(jìn)行邏輯分析,、判斷并以友好方式在主控臺(tái)界面實(shí)時(shí)顯示出來。規(guī)定監(jiān)測(cè)點(diǎn)故障用“1”表示,,正常用“0”表示,,CAN模塊只要發(fā)現(xiàn)所監(jiān)控的點(diǎn)發(fā)生狀態(tài)改變,如由“0”變?yōu)?ldquo;1”或由“1”變?yōu)?ldquo;0”,,就必須將結(jié)果上報(bào)到主控臺(tái),。
2 故障診斷專家系統(tǒng)結(jié)構(gòu)
故障診斷專家系統(tǒng)結(jié)構(gòu)如圖2所示,系統(tǒng)由診斷推理模塊,、動(dòng)態(tài)數(shù)據(jù)庫,、解釋機(jī)構(gòu)、知識(shí)庫管理模塊和診斷知識(shí)庫等組成,。診斷推理模塊根據(jù)BIT測(cè)點(diǎn)信息實(shí)現(xiàn)對(duì)各種規(guī)則的匹配和綜合分析,,給出診斷結(jié)果和維修對(duì)策,并通過解釋機(jī)構(gòu)提供推理的解釋,;動(dòng)態(tài)數(shù)據(jù)庫用來存放雷達(dá)分系統(tǒng)傳送過來測(cè)點(diǎn)檢測(cè)結(jié)果以及推理過程中的一些中間結(jié)果信息,;知識(shí)庫管理模塊對(duì)診斷知識(shí)數(shù)據(jù)庫進(jìn)行管理,實(shí)現(xiàn)知識(shí)獲取,、知識(shí)更新,、知識(shí)檢驗(yàn)和知識(shí)查詢功能,通過系統(tǒng)設(shè)計(jì)的友好交互界面,,用戶可以方便地診斷知識(shí)內(nèi)容,,并進(jìn)行添加、修改,、保存,、刪除等操作;診斷知識(shí)庫用來存儲(chǔ)系統(tǒng)的故障診斷知識(shí),。
3 診斷知識(shí)表示
3.1 診斷樹模型
根據(jù)雷達(dá)BIT拓?fù)浣Y(jié)構(gòu),,系統(tǒng)采用層次診斷模型進(jìn)行故障隔離診斷。模型主要按功能分為三個(gè)層次:系統(tǒng)級(jí),、分系統(tǒng)級(jí),、模塊級(jí)。故障診斷隔離過程為:整機(jī)→分系統(tǒng)→模塊,,系統(tǒng)級(jí)診斷從整機(jī)隔離故障到分系統(tǒng),,以功能劃分的分系統(tǒng)作為診斷目標(biāo),,隔離故障到其中的某一個(gè)分系統(tǒng);分系統(tǒng)級(jí)診斷從分系統(tǒng)隔離故障到模塊(最小可更換單元),。
層次診斷模型采用基本結(jié)構(gòu)如圖3所示的診斷樹[2]表示,。診斷樹將要進(jìn)行診斷的系統(tǒng)按組成結(jié)構(gòu)進(jìn)行逐層分解,形成一棵倒置的樹,,診斷樹節(jié)點(diǎn)對(duì)象由整機(jī)系統(tǒng),、分系統(tǒng)、模塊或可更換單元組成,,雷達(dá)整機(jī)構(gòu)成了故障樹的根節(jié)點(diǎn),,分系統(tǒng)構(gòu)成故障樹的中間節(jié)點(diǎn),可更換單元模塊構(gòu)成樹上的葉節(jié)點(diǎn),。連接兩個(gè)節(jié)點(diǎn)對(duì)象的分支表示這兩個(gè)節(jié)點(diǎn)的父子關(guān)系,,在推理規(guī)則的作用下,故障從整機(jī)隔離到各分系統(tǒng)可更換單元模塊,。
3.2 診斷樹的數(shù)據(jù)庫表示
診斷樹上每個(gè)節(jié)點(diǎn)都可以用一個(gè)統(tǒng)一的框架結(jié)構(gòu)封裝為類對(duì)象表示,,存放在一個(gè)節(jié)點(diǎn)數(shù)據(jù)表中,節(jié)點(diǎn)數(shù)據(jù)表的結(jié)構(gòu)如表1所示,,數(shù)據(jù)表每行的字段按照ID,、NAME、PARENT,、TYPE、TESTPOINT,、CODE和CONCLUSION等順序排列,。
專家系統(tǒng)診斷知識(shí)庫建立在雷達(dá)系統(tǒng)的BIT測(cè)試性模型基礎(chǔ)上,依據(jù)模型故障隔離結(jié)論與測(cè)試的關(guān)系建立,,假設(shè)待診斷樹某層某個(gè)節(jié)點(diǎn)對(duì)象有n個(gè)測(cè)點(diǎn)S1,,S2,…Sn,,通過它們可得到m個(gè)故障隔離結(jié)論F1,,F(xiàn)2,…Fm,,它們的對(duì)應(yīng)關(guān)系可用表2所示的故障隔離結(jié)論與測(cè)試多維關(guān)系表表示,。其中Cij(j=1~n)表示測(cè)點(diǎn)Sj與故障隔離結(jié)論Fi的相關(guān)性,對(duì)于故障隔離結(jié)論Fi,,當(dāng)其出現(xiàn)時(shí),,如果測(cè)點(diǎn)Sj測(cè)試不正常,即其取值為“1”,;如果其正常則取值為“0”,;如果測(cè)點(diǎn)與Fi無關(guān),,則取值為“x”。
診斷樹上每個(gè)節(jié)點(diǎn)具有唯一的編號(hào)ID,,測(cè)試集保存在父節(jié)點(diǎn)字段中,,而對(duì)應(yīng)的測(cè)試結(jié)果分散在多個(gè)子節(jié)點(diǎn)數(shù)據(jù)字段中,相當(dāng)于故障隔離結(jié)論與測(cè)試的關(guān)系隱含在父子節(jié)點(diǎn)中,,如圖4所示,。診斷時(shí)根據(jù)父節(jié)點(diǎn)的測(cè)試集結(jié)果組合,在其子節(jié)點(diǎn)中進(jìn)行檢索滿足相應(yīng)條件的CODE字段數(shù)據(jù),,可以判斷出對(duì)應(yīng)的故障子節(jié)點(diǎn),。
4 推理控制方法
故障診斷專家系統(tǒng)推理方向可以是正向推理、反向推理或混合雙向推理,。正向推理采用數(shù)據(jù)驅(qū)動(dòng)控制策略,,從一組事實(shí)出發(fā),一遍又一遍地嘗試所有可利用的規(guī)則,,并在此過程中加入新事實(shí),,直到獲得包含目標(biāo)公式的結(jié)束條件為止[3],比較適合于本系統(tǒng),。因此本系統(tǒng)采用正向推理,,推理是從診斷樹模型的根節(jié)點(diǎn)開始,利用與測(cè)試結(jié)果相匹配的規(guī)則執(zhí)行擴(kuò)展新的子節(jié)點(diǎn),,將故障范圍不斷縮小到分系統(tǒng),、模塊的過程,這個(gè)過程反復(fù)進(jìn)行直到分離到故障樹的葉子節(jié)點(diǎn)為止,。推理機(jī)的推理過程是一個(gè)遞歸的過程,,推理采用深度優(yōu)先策略[4],推理機(jī)的算法流程如圖5所示,。圖中OPEN表是一個(gè)鏈表,,記錄的數(shù)據(jù)對(duì)象是已經(jīng)被生成出來,但還沒有被擴(kuò)展的診斷樹節(jié)點(diǎn)指針,??紤]到系統(tǒng)可能會(huì)同時(shí)發(fā)生多個(gè)故障,當(dāng)檢測(cè)出某個(gè)故障模式時(shí),,并不是立即將檢測(cè)結(jié)果報(bào)告給用戶,,而是待其他的故障模式檢測(cè)完畢,再給出故障報(bào)告,。
實(shí)際故障推理時(shí),,由于診斷樹節(jié)點(diǎn)對(duì)象具有封裝性,所有節(jié)點(diǎn)對(duì)象都存放于后臺(tái)的數(shù)據(jù)表中,,對(duì)象指針指向?qū)ο笏诘奈恢?,這樣可以使系統(tǒng)盡快根據(jù)故障信息找到故障對(duì)象,,并根據(jù)指針遍歷診斷樹。
通過使用分布式控制CAN總線,,對(duì)雷達(dá)全機(jī)故障檢測(cè)通過采用分散檢測(cè),、集中顯示,有效地提高了檢測(cè)的實(shí)時(shí)性和可靠性,;在雷達(dá)BIT故障檢測(cè)中采用專家系統(tǒng)診斷方法,,使得知識(shí)庫易于擴(kuò)充、維護(hù),,增強(qiáng)了該雷達(dá)BIT故障診斷能力,。
參考文獻(xiàn)
[1] 溫熙森,徐永成,,易曉山,,等.智能機(jī)內(nèi)測(cè)試?yán)碚撆c應(yīng)用[M].北京:國防工業(yè)出版社,2002.
[2] LIU S C,, LIU S Y. An efficient expert system for air compressor troubleshooting[J]. Expert Systems,,2001(18):203-214.
[3] LUGER G F.人工智能復(fù)雜問題求解的結(jié)構(gòu)和策略[M].史忠值譯.北京:機(jī)械工業(yè)出版社,2004.
[4] JO S G,, GRATY R.專家系統(tǒng)原理與編程[M].印鑒譯.北京:機(jī)械工業(yè)出版社,,20001.