摘 要:該文提出了一種應(yīng)用人工智能診斷方法和面向?qū)ο蟮木幊谭椒ㄏ嘟Y(jié)合,專家系統(tǒng)工具CLIPS與VC++所集成的電動機(jī)故障診斷專家系統(tǒng),使其具有友好的人機(jī)界面和故障診斷、知識庫管理的模塊功能。另外通過對數(shù)據(jù)庫管理和規(guī)則整理方法的研究,使其更便于用戶維護(hù),改善了故障診斷專家系統(tǒng)的性能和診斷功能。
關(guān)鍵詞:電動機(jī) 故障診斷 專家系統(tǒng) 數(shù)據(jù)維護(hù)
中圖分類號:TP277文獻(xiàn)標(biāo)識碼:A文章編號:1674-098X(2013)04(c)-0067-03
隨著經(jīng)濟(jì)建設(shè)的發(fā)展和電氣化程度的提高,電機(jī)設(shè)備被廣泛應(yīng)用于工業(yè)生產(chǎn)的各個領(lǐng)域。由于缺乏正確的狀態(tài)監(jiān)測和診斷技術(shù),使設(shè)備故障不能及時發(fā)現(xiàn)和制止,多次釀成嚴(yán)重災(zāi)難,造成重大的經(jīng)濟(jì)損失。因此,研制電動機(jī)故障診斷專家系統(tǒng)就顯得尤為必要。電動機(jī)故障診斷專家系統(tǒng)的實現(xiàn),將更加方便對電動機(jī)的故障進(jìn)行診斷,可以節(jié)省大量人力物力財力。專家系統(tǒng)就是一個計算機(jī)系統(tǒng)來模擬(Emulate)人類專家的決策能力。模擬就意味著專家系統(tǒng)在各個方面如同人類專家一樣。
1 電動機(jī)故障診斷專家系統(tǒng)的基本框架
如圖1所示,電動機(jī)故障診斷專家系統(tǒng)的基本框架為三層結(jié)構(gòu):元素層,主要用來構(gòu)建電動機(jī)故障診斷專家系統(tǒng)的主要元素;模塊層是專家系統(tǒng)的各個功能模塊;內(nèi)核層為專家系統(tǒng)工具CLIPS的內(nèi)部推理機(jī)制,包括動態(tài)事實庫的載入,待議事件表的激發(fā)以及匹配過程中的沖突消解機(jī)制。
2 電動機(jī)故障診斷專家系統(tǒng)的功能模塊設(shè)計
電動機(jī)故障診斷專家系統(tǒng)的功能模塊設(shè)計如圖2所示。
電動機(jī)故障診斷專家系統(tǒng)的各部分功能如下:
領(lǐng)域知識選擇模塊:目前開發(fā)的電動機(jī)故障診斷專家系統(tǒng)是一個開放的專家系統(tǒng),用戶可以自行選擇診斷或者評估的領(lǐng)域。此系統(tǒng)可以讓用戶選擇本領(lǐng)域的知識庫和關(guān)鍵詞表(均為access表存儲),進(jìn)而生成知識庫的clp文件,方便不同領(lǐng)域的用戶使用。
知識庫維護(hù)模塊:由于專家系統(tǒng)的推理機(jī)CLIPS推理時,只能裝載clp后綴的知識庫文件。而clp后綴的知識庫文件中規(guī)則的描述又是以各條規(guī)則為單位,整體性不強(qiáng),不便于用戶的維護(hù)。所以,利用access表中的記錄來管理各條規(guī)則,通過對access數(shù)據(jù)庫表的操作完成規(guī)則的增刪查改。最終,以推理機(jī)中要求的規(guī)則固有格式寫入clp文件,完成知識庫的更新。
關(guān)鍵詞表的維護(hù):由于CLIPS不支持中文,通過在access數(shù)據(jù)庫表中建立一個關(guān)鍵詞表,完成中英轉(zhuǎn)換。用戶在輸入中文事實時,系統(tǒng)自動將其寫成推理機(jī)可以讀取的英文形式,以便實現(xiàn)專家系統(tǒng)推理所需的事實載入。
用戶輸入模塊:用戶通過此模塊輸入目前知道的事實,專家系統(tǒng)將其寫入事實庫文件,專家系統(tǒng)將事實載入后進(jìn)行推理,完成診斷功能。
推理解釋模塊:電動機(jī)故障診斷專家系統(tǒng)的推理機(jī)制由專家系統(tǒng)工具CLIPS實現(xiàn)。我們需要建立CLIPS與VC++的集成,以便前臺的界面與后臺的操作可以完美的結(jié)合在一起。通過設(shè)置外部函數(shù),完成CLIPS與VC++的通信,將推理中的過程信息反饋。
3 基于CILPS的電動機(jī)故障診斷專家系統(tǒng)的實現(xiàn)
CLIPS具有很好的兼容性和可擴(kuò)展性,但是由于CLIPS的操作界面不適于與用戶進(jìn)行良好的交互,可以通過將CLIPS作為一個子程序嵌入VC++中,用VC++來構(gòu)建人機(jī)界面,而用CLIPS來構(gòu)建專家系統(tǒng)的核心部分:推理機(jī)和解釋器。
專家系統(tǒng)工具CLIPS與VC++實現(xiàn)無縫集成的方法如下所示:首先將CLIPS源代碼拷貝到VC++工程文件目錄下,并將其加入到工程中。這樣,CLIPS源代碼就嵌入到VC++中了。再加入clips.h的頭文件聲明,就可以在VC++中識別CLIPS源程序了。
以上步驟僅僅建立了專家系統(tǒng)工具CLIPS可以與VC++的連接,為實現(xiàn)CLIPS與VC++主程序之間的通訊,還要進(jìn)行以下的操作:
(1)在專家系統(tǒng)主程序中聲明用戶自定義函數(shù)。
(2)在規(guī)則中加入用戶自定義函數(shù),并設(shè)置相應(yīng)參數(shù)。
(3)編寫用戶自定義函數(shù),對返回參數(shù)進(jìn)行處理。
VC++主程序、CLIPS推理機(jī)和知識庫之間的關(guān)系如圖3所示。
4 電動機(jī)故障診斷專家系統(tǒng)的界面設(shè)計
電動機(jī)故障診斷專家系統(tǒng)的界面如圖4所示?,F(xiàn)將各模塊功能做以簡單介紹:
(1)數(shù)據(jù)源:點擊數(shù)據(jù)源選擇數(shù)據(jù)庫,從而把數(shù)據(jù)庫與系統(tǒng)聯(lián)系起來。通過數(shù)據(jù)庫鏈接屬性的對話框,選擇MS Access Database數(shù)據(jù)源,使用連接字符串點擊編譯,選擇關(guān)鍵詞和知識庫,點擊測試連接,顯示連接成功,點擊確定即可,如圖5所示。
(2)連接:在設(shè)置完數(shù)據(jù)源之后把關(guān)鍵詞表和知識庫表載入到系統(tǒng)中。
關(guān)鍵詞表和知識庫表的載入見圖6和圖7。
(3)規(guī)則操作——增加一條規(guī)則:進(jìn)行增加規(guī)則來完善知識庫。
(4)斷開:此電動機(jī)故障診斷專家系統(tǒng)是一個開放的專家系統(tǒng),用戶可以自行選擇診斷或者評估的領(lǐng)域。當(dāng)需要用于其它的專家系統(tǒng)時,點擊斷開即可。然后選擇相應(yīng)領(lǐng)域的知識庫和關(guān)鍵詞表,即可通過點擊知識庫維護(hù)按鈕生成clp規(guī)則以便CLIPS推理所需。
(5)系統(tǒng)推理:調(diào)用用戶輸入模塊,錄入事實進(jìn)行推理。系統(tǒng)推理模塊圖見圖8所示。錄入事實既是將事實進(jìn)行錄入,查看事實是查看錄入的事實,存放在input和standard兩個文本文檔中。其中input文檔為漢語,standard文檔為英文。具體內(nèi)部過程為:首先點擊 reset進(jìn)行初始化,然后載入知識庫和事實庫,在執(zhí)行推理時,若其規(guī)則(rule)與事實(facts)完全匹配,則規(guī)則被激活,置于“待議事件表”(agenda),并按照優(yōu)先級排隊,待議事件表是被激活規(guī)則的集合,然后點擊運行(run),每激發(fā)一條規(guī)則,規(guī)則的后件就存放到事實庫中,當(dāng)“待議事件表”中規(guī)則為空時推理結(jié)束。CLIPS的推理過程就是不斷的通過模式匹配來尋找可用規(guī)則,激發(fā)可用規(guī)則來修改已有事實的內(nèi)容的過程。
(6)知識庫維護(hù):在專家系統(tǒng)推理之初時,可以通過選擇知識庫表-> 點擊知識庫維護(hù)-> 寫入了clp文件之中生成相應(yīng)規(guī)則。在需要完善知識庫時,參見(3)中的操作。
(7)操作:點擊完增加一條規(guī)則后,點擊操作,將規(guī)則寫入知識庫中。
5 結(jié)語
以Windows XP為操作系統(tǒng),Visual C++為編程語言,應(yīng)用人工智能診斷方法和面向?qū)ο蟮木幊谭椒?,實現(xiàn)了專家系統(tǒng)工具CLIPS與VC++的集成,開發(fā)了電動機(jī)故障診斷專家系統(tǒng),它具有友好的人機(jī)界面,能實現(xiàn)故障診斷、知識庫管理的模塊功能,研究了數(shù)據(jù)庫管理方法,對規(guī)則進(jìn)行了整理,便于用戶維護(hù),從而改善了故障診斷專家系統(tǒng)的性能和診斷功能。電動機(jī)故障診斷是綜合性、智能化很高的一門技術(shù),建立一個合適、完善和高效的電動機(jī)故障診斷令專家系統(tǒng)是一項高難度、復(fù)雜的工作。由于時間和現(xiàn)場經(jīng)驗積累的原因,編制的專家系統(tǒng)知識庫還不夠完善,需要與有現(xiàn)場經(jīng)驗的專家進(jìn)行交流獲取知識,來完善專家系統(tǒng)的知識庫。
參考文獻(xiàn)
[1]李昕濤.異步電動機(jī)的故障信息綜合測量與分析[D].太原理工大學(xué),2006.
[2]白月林.異步電動機(jī)故障檢測系統(tǒng)研究[D].華北電力大學(xué),2006.
[3]張偉.基于故障樹分析法的集裝箱裝卸橋的故障診斷[D].上海海事大學(xué),2006.
[4]Subhsis Nandi,Hamid A Toliyat.Condition monitoring and fault diagnosis of electrical machines~A review[J]. IEEE,1999,12(5):45-50.
[5]Hamzeh A,Zaidan K.Development of an expert system for off and on line faults diagnosis in electric power systems[C]//2004 International Conference on Information and Communication Technologies:From Theory to Applications,2004:135-136.
[6]Fink P K,Lusth J C.Expert system and diagnostic expertise in the mechanical and electrical domains[J].IEEET rans,SMC,1987,17(3):340-349.
[7]劉文靜.基于支持向量機(jī)的網(wǎng)絡(luò)控制系統(tǒng)故障診斷方法的研究[D].天津大學(xué),2006.
[8]Soenjoto.Models for Hardware~Software System Operation Performance Evaluation[J].IEEE Transactions on Reliability,1981,30(8):232-256.
[9]王軼,馮曉云.基于故障樹的電力機(jī)車故障診斷專家系統(tǒng)[J].電力機(jī)車與城軌車輛,2004(6):76-78.
[10]耿宏,樊建梅.基于故障樹模型的波音777故障診斷專家系統(tǒng)[J].自動化與儀表,2005(4):65-68.
[11]Fink P K,Lusth J C.Expert system and diagnostic expertise in the mechanical and electrical domains[J].IEEET rans,SMC,1987,17(3):351-354.
[12]譚天樂,李平.基于粗糙集的邏輯故障樹方法及其應(yīng)用[J].儀器儀表學(xué)報,2004(1):57-59.