專家系統(tǒng)是一種用來對人類專家的問題求解能力建模的計算機程序。它是一個智能程序系統(tǒng),內部含有大量的某個領域專家水平的知識和經(jīng)驗,能夠利用這些知識和方法來處理該領域的問題。
專家系統(tǒng)具有:啟發(fā)性——不僅能使用邏輯性知識,還能使用啟發(fā)性知識;透明性——能向用戶解釋它們的推理過程,還能回答用戶的一些問題;靈活性——系統(tǒng)中的知識便于修改和擴充;推理性——系統(tǒng)中的知識必然是一個漫長的測試、修改和完善過程。隨著計算機技術的發(fā)展,專家系統(tǒng)(Expert System)已廣泛應用于各種故障檢測領域。由于它所具有的啟發(fā)性、透明性、靈活性、推理性等諸多優(yōu)點,因而更適合于雷達等軍事電子裝備的維護和維修。
圖1 專家系統(tǒng)原理圖
由于某些雷達結構復雜,故障發(fā)生率高,檢測難度大,在現(xiàn)場分析、判斷和處理這些故障時,主要依賴維修人員的經(jīng)驗,維修質量和效率往往難以得到保證。因此,開發(fā)故障檢測專家系統(tǒng),以提高故障檢測的經(jīng)濟性和可靠性。
專家系統(tǒng)的原理結構
圖1所示為專家系統(tǒng)原理圖,圖2為低層診斷模型。
圖2 低層診斷模型
以低層診斷為基礎,推理機結合部件故障知識進行推理診斷,得到高層故障假設結論;若假設故障被確認,元知識庫啟動推理機,從假設結論出發(fā),再利用目標級故障知識推理診斷,直到得出結論(見圖3)。
圖3 高層故障診斷模型
系統(tǒng)組成及工作流程
1 故障檢測專家系統(tǒng)組成
故障檢測專家系統(tǒng)組成如圖4所示。專家系統(tǒng)是一種包含知識和推理的智能計算機程序系統(tǒng),通常由知識庫、推理機、人機接口、綜合數(shù)據(jù)庫、知識獲取模塊以及解釋程序組成。
圖4 故障檢測專家系統(tǒng)組成
知識庫是一個獨立的實體,是專家系統(tǒng)的核心組成部分,它用于存儲從專家那里得到的關于某一特定領域專門知識和經(jīng)驗。知識庫所存儲的知識都屬于比較穩(wěn)定通用的專家領域知識和規(guī)則,一般包含專家知識、領域知識和元知識。其中,專家知識是領域專家從長期工作實踐中獲得的經(jīng)驗性總結;領域知識是指一種廣泛公用的知識,包括書本上的知識及一些一般性常識;元知識是利用知識進行推理的知識。
推理機是人類專家思維機制的一種算法表示和機器實現(xiàn),包括推理機制和控制策略,是根據(jù)知識庫進行各種搜索和推理的程序模塊,用于控制系統(tǒng)的運行和執(zhí)行各種任務。其中,推理部分是運用已有的知識和規(guī)則去推理,以謀求新的結論,而控制策略部分的作用是確定運用規(guī)則進行推理的順序,并決定下一步的工作。推理機根據(jù)用戶當前輸入的數(shù)據(jù),搜索知識庫中相關的知識,并應用其中的規(guī)則和某種推理策略去推導出結論,向用戶提供解決指定問題的答案。
綜合數(shù)據(jù)庫是用于存儲所檢測問題領域內原始特征數(shù)據(jù)的信息、推理過程中得到的各種中間信息和解決問題后輸出結果信息的存儲器。
知識獲取模塊是專家系統(tǒng)和領域專家、知識工程師的接口。通過它與領域專家和知識工程師的交互,使知識庫不僅可獲得知識,而且可使知識庫中的知識得到不斷的修改、充實和提煉,從而使系統(tǒng)的性能得到不斷的改善。
解釋程序能夠對推理過程做出解釋,不僅可以解釋推理的路線和為什么需要詢問那些特征信息數(shù)據(jù),而且可以解釋推理得到的正確結論。
2 工作流程
故障檢測專家系統(tǒng)是通過推理機與知識庫和綜合數(shù)據(jù)庫的交互作用來求解問題的,這種求解過程有如下幾個步驟:
(1)用戶將故障現(xiàn)象交給人機接口,人機接口將故障信息送入推理機。
(2)推理機根據(jù)故障信息按一定的搜索策略,依據(jù)用戶反饋信息進行正向推理,并結合當前的推理狀態(tài),從知識庫的故障樹結點事件提取交互信息,提供給人機接口,以提問或操作要求的方式顯示。
(3)解釋程序對推理機運算出的每一步推理狀態(tài)進行分析并做出簡明易懂的解釋。
(4)解釋程序記錄故障檢測每一步的推理狀態(tài),并提取相應圖形符號,經(jīng)過人機接口以流程圖的方式將推理過程顯示。這些模塊彼此配合,互遞信息,共同完成故障定位、排除和維修提示等任務。
系統(tǒng)設計
1 設計依據(jù)
故障檢測專家系統(tǒng)主要基于該雷達的系統(tǒng)自檢過程和設計人員的人工經(jīng)驗,通過配套的檢測設備采集故障信息,并通過串行通信將故障信息傳遞給計算機;或通過人機交互,實現(xiàn)檢測、維修的自動化和智能化。
系統(tǒng)自檢過程是現(xiàn)代雷達最基本的一種功能,它包括:開機自檢、周期性自檢、停機維護測試等。系統(tǒng)自檢產(chǎn)生的信息可簡單地分為:(1) 子系統(tǒng)測試信息——發(fā)射機、接收機、天饋線、伺服系統(tǒng)、信號數(shù)據(jù)處理機及主控臺等子系統(tǒng)的自檢信息。(2) 系統(tǒng)測試信息,主要用來檢測、校正和調整雷達的狀態(tài)及各子系統(tǒng)之間的相互關系。專家系統(tǒng)所針對的雷達,通過自檢便基本可判斷出產(chǎn)生故障的子系統(tǒng),因而故障檢測直接針對各個子系統(tǒng)。
專家系統(tǒng)的設計包括知識庫、推理機、人機接口、解釋器、知識獲取器和系統(tǒng)軟件等部分的設計。其中,知識庫、推理機和系統(tǒng)軟件是主體,也是設計的關鍵。
2 知識庫的設計
知識庫主要功能是存儲和管理專家系統(tǒng)中的經(jīng)驗知識。專家系統(tǒng)知識庫主要由故障分類表、子故障分類表、故障現(xiàn)象表以及所有的故障知識表(故障數(shù)據(jù)庫)組成。知識庫中擁有知識的多少及知識的質量決定了一個專家系統(tǒng)所具有解決問題的能力。系統(tǒng)故障知識的獲取主要是通過研究雷達結構和故障機理來掌握原理性的知識,以及從專家處獲取啟發(fā)式的經(jīng)驗診斷知識、實用的專業(yè)技術資料等。
① 從雷達結構和故障機理分析中獲取
利用雷達中已有測試點,結合測試信號的特征進行全面分析。通過對雷達中各部件之間的連接以及對部件板級上每個具體芯片功能進行研究,分析特征信號在雷達正常時的標準值;在進行故障檢測時,將測試信號的實際工作值與正常工作的標準值比對,以判定出故障點。
利用雷達的功能特點進行有針對性的分析。當雷達出現(xiàn)故障時,除了檢測電路本身故障外,還要考慮特殊環(huán)節(jié)引起的可能故障,另外開關器件(大功率開關管、繼電器和接觸器等)也容易損壞而引起故障。
針對雷達中的共同問題進行綜合分析。雷達中各器件、部件間由電纜實現(xiàn)連接,由于電纜本身損壞或接口連接的不可靠,存在著故障隱患。
② 從專家經(jīng)驗中獲取
根據(jù)平時常見的故障、專業(yè)維修人員的知識與經(jīng)驗,以及專家長期積累掌握的基礎理論、研究成果、思維邏輯、解決問題的經(jīng)驗等,可以匯總雷達分系統(tǒng)的常見故障。
3 推理機設計
推理機是專家系統(tǒng)的組織控制機構,它根據(jù)當前輸入數(shù)據(jù)來運行知識庫中的相應知識,按一定策略進行推理,以達到要求的目標。該專家系統(tǒng)中,推理機根據(jù)用戶提供的故障信息,在知識庫內尋找能與之匹配的故障樹結點事件,每步推理都以用戶反饋信息為依據(jù),沿故障樹脈絡進行正向推理,逐步縮小故障范圍,直至完成故障源定位。推理機正向推理過程如圖5所示。
圖5 推理機正向推理過程示意圖
4 人機接口的設計
人機接口包括開發(fā)界面和使用界面。開發(fā)界面面向系統(tǒng)開發(fā)者和系統(tǒng)維護者;使用界面面向系統(tǒng)使用者,常常涉及“人機交互”,它包括輸入和輸出兩個部分。用戶按照提示輸入數(shù)據(jù),并向系統(tǒng)提出請求或問題要求系統(tǒng)回答或演示。系統(tǒng)輸出各種提示、中間結果和最后結果,也可輸出用戶所要求的信息、各種解釋,或按照用戶的要求演示推理過程。
5 解釋模塊設計
解釋模塊負責對系統(tǒng)檢測推理過程給出必要的解釋,包括2個解釋子模塊:文字模塊和圖形模塊。其中,文字模塊負責對專家系統(tǒng)檢測推理過程給出必要的文字解釋,以結點作為解釋的基本層次;圖形模塊負責將故障現(xiàn)象、用戶選擇、檢測過程及檢測結果這些知識信息用流程圖的方式進行顯示,以便用戶操作和觀察,并以此作為記錄檢測過程的方法。
6 知識獲取器的設計
在專家系統(tǒng)中要設計知識獲取器困難較大,比較實用的方法是建立一個知識編輯器。知識編輯器是知識工程師的一種工具軟件,用來幫助知識工程師編輯從專家那里獲取的知識。它可以對知識進行檢索、修改、刪除和重組,并檢查知識的相容性、完整性和一致性。
7 專家系統(tǒng)軟件的設計
為了能更快速、準確地檢測出雷達的故障,將CAN總線應用到某雷達,構建故障檢測專家系統(tǒng)。CAN(Controller Area Network)是控制器局域網(wǎng)絡,是目前發(fā)展較快的一種現(xiàn)場總線,主要用于各種過程或設備檢測及控制。它是目前唯一具備國際標準的現(xiàn)場總線,具有容錯能力強、傳輸距離遠、帶寬大等特點。
結合某雷達的結構特點構建一種上位運行專家系統(tǒng),下位機負責采集現(xiàn)場數(shù)據(jù)和信號的在線故障檢測專家系統(tǒng),如圖6所示。
圖6 故障檢測專家系統(tǒng)的結構
根據(jù)某雷達的整體功能模塊的不同,方案將各個功能模塊劃分為若干檢測子系統(tǒng),利用CAN總線技術構建一個網(wǎng)絡結構,每個子系統(tǒng)作為網(wǎng)絡上的一個CAN智能節(jié)點,每個節(jié)點檢測該模塊中待檢測設備的運行狀況,并將檢測結果通過CAN總線發(fā)送給故障檢測專家系統(tǒng)。故障檢測專家系統(tǒng)運行在上位機上,對下位機發(fā)送檢測命令,下位機檢測預留在各子系統(tǒng)的測試點,把測試的各種數(shù)據(jù),如電壓、各種開關量等,經(jīng)A/D轉換,發(fā)送故障檢測專家系統(tǒng);同時,專家系統(tǒng)根據(jù)檢測信息和各模塊發(fā)送的自檢信息,給出結論后存儲并進行顯示,檢測員可通過查詢主機快速、及時對狀態(tài)和故障情況判斷(見圖7)。
圖7 雷達系統(tǒng)總體結構
故障檢測專家系統(tǒng)在上位機(軍用計算機)上運行,操作系統(tǒng)采用Windows XP,采用VC++6.0編寫故障檢測專家系統(tǒng)和通信模塊。下位機采用嵌入式計算機PC104,通過CAN總線負責對整個雷達進行現(xiàn)場數(shù)據(jù)采集,包括電源電壓等的模擬信號,各種開關量信號等。經(jīng)過A/D轉換后,再通過RS-232串行接口將現(xiàn)場數(shù)據(jù)傳送給上位機,下位機的通信程序采用C語言編寫。各個模塊的自檢信息,專家系統(tǒng)可以直接通過CAN總線獲取。
此系統(tǒng)采用CAN2.0B的數(shù)據(jù)幀,有29位標志符,占4字節(jié)的長度。定義見表1。
優(yōu)先級是CAN數(shù)據(jù)包優(yōu)先級,占3位,總共有8個優(yōu)先級。PF為數(shù)據(jù)類型代碼,占8位。PS/DA為數(shù)據(jù)類型擴展碼或目標地址,占8位。當PF值小于240(0xF0)時,PS/DA位填寫目標地址DA;當PF值不小于240時,PS/DA位填寫數(shù)據(jù)類型擴展碼PS。SA為發(fā)送節(jié)點的CAN總線地址,占8位。保留位固定填寫0。幀ID中PF、PS、DA的值分別取自在CAN數(shù)據(jù)包中PF、PS、DA的值。
本網(wǎng)絡結構采用雙CAN總線,每個線路最多可連接110個智能節(jié)點,CAN總線傳輸速率設定為250kb/s,對應的位時間為4μs,網(wǎng)絡上所有節(jié)點必須設置為相同值。節(jié)點數(shù)據(jù)鏈路層發(fā)送數(shù)據(jù)以CAN1總線為主,CAN2總線為輔。當CAN1總線擁堵的情況下,CAN2總線啟動,如果發(fā)送控制器在5ms內仍未完成總線發(fā)送,則須取消未完成的發(fā)送,以免影響總線上其他智能節(jié)點的工作。接收數(shù)據(jù)通過CAN1總線、CAN2總線分別接收,并分別送給應用程序處理。
CAN總線智能節(jié)點的軟件設計主要包括:CAN節(jié)點初始化、報文發(fā)送和報文接受。通過DLL提供API應用層接口編程。
實例應用
某雷達的天饋系統(tǒng),由天線、天線座、饋線系統(tǒng)、倒伏機構等部件組成。專家系統(tǒng)發(fā)送自檢命令給天饋系統(tǒng),系統(tǒng)對自身的各個部件進行自檢,自檢結果通過CAN總線發(fā)回專家系統(tǒng),其格式見表2。
數(shù)據(jù)格式為3字節(jié),其中,第1字節(jié)為設備號,是屬于每個功能模塊的唯一編號。第2字節(jié)是該設備的運行狀態(tài),其中,0x0F表示正常,0xFF表示故障,所有單體全部正常時上報正常狀態(tài),任意單體故障則上報故障狀態(tài)。如果是故障狀態(tài),則第3字節(jié)的8個位,分別代表了各個單體的狀態(tài),0為故障,1為正常。
專家系統(tǒng)根據(jù)自檢發(fā)回的信息,判斷故障是否為最終故障,如不是則進行原理檢測,最后給出檢測結果。
對于不同設備的自檢,有著不同的檢測層次,天線座則可以檢測到各單體,給出具體哪個單體故障,如果故障仍然不是很明確,需進一步檢測,則可以轉到原理檢測,最后檢測到不可分割或可以直接替換的單體。