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