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