摘 要:該文提出了一種應(yīng)用人工智能診斷方法和面向?qū)ο蟮木幊谭椒ㄏ嘟Y(jié)合,專家系統(tǒng)工具CLIPS與VC++所集成的電動(dòng)機(jī)故障診斷專家系統(tǒng),使其具有友好的人機(jī)界面和故障診斷、知識(shí)庫(kù)管理的模塊功能。另外通過對(duì)數(shù)據(jù)庫(kù)管理和規(guī)則整理方法的研究,使其更便于用戶維護(hù),改善了故障診斷專家系統(tǒng)的性能和診斷功能。
關(guān)鍵詞:電動(dòng)機(jī) 故障診斷 專家系統(tǒng) 數(shù)據(jù)維護(hù)
中圖分類號(hào):TP277文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2013)04(c)-0067-03
隨著經(jīng)濟(jì)建設(shè)的發(fā)展和電氣化程度的提高,電機(jī)設(shè)備被廣泛應(yīng)用于工業(yè)生產(chǎn)的各個(gè)領(lǐng)域。由于缺乏正確的狀態(tài)監(jiān)測(cè)和診斷技術(shù),使設(shè)備故障不能及時(shí)發(fā)現(xiàn)和制止,多次釀成嚴(yán)重災(zāi)難,造成重大的經(jīng)濟(jì)損失。因此,研制電動(dòng)機(jī)故障診斷專家系統(tǒng)就顯得尤為必要。電動(dòng)機(jī)故障診斷專家系統(tǒng)的實(shí)現(xiàn),將更加方便對(duì)電動(dòng)機(jī)的故障進(jìn)行診斷,可以節(jié)省大量人力物力財(cái)力。專家系統(tǒng)就是一個(gè)計(jì)算機(jī)系統(tǒng)來(lái)模擬(Emulate)人類專家的決策能力。模擬就意味著專家系統(tǒng)在各個(gè)方面如同人類專家一樣。
1 電動(dòng)機(jī)故障診斷專家系統(tǒng)的基本框架
如圖1所示,電動(dòng)機(jī)故障診斷專家系統(tǒng)的基本框架為三層結(jié)構(gòu):元素層,主要用來(lái)構(gòu)建電動(dòng)機(jī)故障診斷專家系統(tǒng)的主要元素;模塊層是專家系統(tǒng)的各個(gè)功能模塊;內(nèi)核層為專家系統(tǒng)工具CLIPS的內(nèi)部推理機(jī)制,包括動(dòng)態(tài)事實(shí)庫(kù)的載入,待議事件表的激發(fā)以及匹配過程中的沖突消解機(jī)制。
2 電動(dòng)機(jī)故障診斷專家系統(tǒng)的功能模塊設(shè)計(jì)
電動(dòng)機(jī)故障診斷專家系統(tǒng)的功能模塊設(shè)計(jì)如圖2所示。
電動(dòng)機(jī)故障診斷專家系統(tǒng)的各部分功能如下:
領(lǐng)域知識(shí)選擇模塊:目前開發(fā)的電動(dòng)機(jī)故障診斷專家系統(tǒng)是一個(gè)開放的專家系統(tǒng),用戶可以自行選擇診斷或者評(píng)估的領(lǐng)域。此系統(tǒng)可以讓用戶選擇本領(lǐng)域的知識(shí)庫(kù)和關(guān)鍵詞表(均為access表存儲(chǔ)),進(jìn)而生成知識(shí)庫(kù)的clp文件,方便不同領(lǐng)域的用戶使用。
知識(shí)庫(kù)維護(hù)模塊:由于專家系統(tǒng)的推理機(jī)CLIPS推理時(shí),只能裝載clp后綴的知識(shí)庫(kù)文件。而clp后綴的知識(shí)庫(kù)文件中規(guī)則的描述又是以各條規(guī)則為單位,整體性不強(qiáng),不便于用戶的維護(hù)。所以,利用access表中的記錄來(lái)管理各條規(guī)則,通過對(duì)access數(shù)據(jù)庫(kù)表的操作完成規(guī)則的增刪查改。最終,以推理機(jī)中要求的規(guī)則固有格式寫入clp文件,完成知識(shí)庫(kù)的更新。
關(guān)鍵詞表的維護(hù):由于CLIPS不支持中文,通過在access數(shù)據(jù)庫(kù)表中建立一個(gè)關(guān)鍵詞表,完成中英轉(zhuǎn)換。用戶在輸入中文事實(shí)時(shí),系統(tǒng)自動(dòng)將其寫成推理機(jī)可以讀取的英文形式,以便實(shí)現(xiàn)專家系統(tǒng)推理所需的事實(shí)載入。
用戶輸入模塊:用戶通過此模塊輸入目前知道的事實(shí),專家系統(tǒng)將其寫入事實(shí)庫(kù)文件,專家系統(tǒng)將事實(shí)載入后進(jìn)行推理,完成診斷功能。
推理解釋模塊:電動(dòng)機(jī)故障診斷專家系統(tǒng)的推理機(jī)制由專家系統(tǒng)工具CLIPS實(shí)現(xiàn)。我們需要建立CLIPS與VC++的集成,以便前臺(tái)的界面與后臺(tái)的操作可以完美的結(jié)合在一起。通過設(shè)置外部函數(shù),完成CLIPS與VC++的通信,將推理中的過程信息反饋。
3 基于CILPS的電動(dòng)機(jī)故障診斷專家系統(tǒng)的實(shí)現(xiàn)
CLIPS具有很好的兼容性和可擴(kuò)展性,但是由于CLIPS的操作界面不適于與用戶進(jìn)行良好的交互,可以通過將CLIPS作為一個(gè)子程序嵌入VC++中,用VC++來(lái)構(gòu)建人機(jī)界面,而用CLIPS來(lái)構(gòu)建專家系統(tǒng)的核心部分:推理機(jī)和解釋器。
專家系統(tǒng)工具CLIPS與VC++實(shí)現(xiàn)無(wú)縫集成的方法如下所示:首先將CLIPS源代碼拷貝到VC++工程文件目錄下,并將其加入到工程中。這樣,CLIPS源代碼就嵌入到VC++中了。再加入clips.h的頭文件聲明,就可以在VC++中識(shí)別CLIPS源程序了。
以上步驟僅僅建立了專家系統(tǒng)工具CLIPS可以與VC++的連接,為實(shí)現(xiàn)CLIPS與VC++主程序之間的通訊,還要進(jìn)行以下的操作:
(1)在專家系統(tǒng)主程序中聲明用戶自定義函數(shù)。
(2)在規(guī)則中加入用戶自定義函數(shù),并設(shè)置相應(yīng)參數(shù)。
(3)編寫用戶自定義函數(shù),對(duì)返回參數(shù)進(jìn)行處理。
VC++主程序、CLIPS推理機(jī)和知識(shí)庫(kù)之間的關(guān)系如圖3所示。
4 電動(dòng)機(jī)故障診斷專家系統(tǒng)的界面設(shè)計(jì)
電動(dòng)機(jī)故障診斷專家系統(tǒng)的界面如圖4所示?,F(xiàn)將各模塊功能做以簡(jiǎn)單介紹:
(1)數(shù)據(jù)源:點(diǎn)擊數(shù)據(jù)源選擇數(shù)據(jù)庫(kù),從而把數(shù)據(jù)庫(kù)與系統(tǒng)聯(lián)系起來(lái)。通過數(shù)據(jù)庫(kù)鏈接屬性的對(duì)話框,選擇MS Access Database數(shù)據(jù)源,使用連接字符串點(diǎn)擊編譯,選擇關(guān)鍵詞和知識(shí)庫(kù),點(diǎn)擊測(cè)試連接,顯示連接成功,點(diǎn)擊確定即可,如圖5所示。
(2)連接:在設(shè)置完數(shù)據(jù)源之后把關(guān)鍵詞表和知識(shí)庫(kù)表載入到系統(tǒng)中。
關(guān)鍵詞表和知識(shí)庫(kù)表的載入見圖6和圖7。
(3)規(guī)則操作——增加一條規(guī)則:進(jìn)行增加規(guī)則來(lái)完善知識(shí)庫(kù)。
(4)斷開:此電動(dòng)機(jī)故障診斷專家系統(tǒng)是一個(gè)開放的專家系統(tǒng),用戶可以自行選擇診斷或者評(píng)估的領(lǐng)域。當(dāng)需要用于其它的專家系統(tǒng)時(shí),點(diǎn)擊斷開即可。然后選擇相應(yīng)領(lǐng)域的知識(shí)庫(kù)和關(guān)鍵詞表,即可通過點(diǎn)擊知識(shí)庫(kù)維護(hù)按鈕生成clp規(guī)則以便CLIPS推理所需。
(5)系統(tǒng)推理:調(diào)用用戶輸入模塊,錄入事實(shí)進(jìn)行推理。系統(tǒng)推理模塊圖見圖8所示。錄入事實(shí)既是將事實(shí)進(jìn)行錄入,查看事實(shí)是查看錄入的事實(shí),存放在input和standard兩個(gè)文本文檔中。其中input文檔為漢語(yǔ),standard文檔為英文。具體內(nèi)部過程為:首先點(diǎn)擊 reset進(jìn)行初始化,然后載入知識(shí)庫(kù)和事實(shí)庫(kù),在執(zhí)行推理時(shí),若其規(guī)則(rule)與事實(shí)(facts)完全匹配,則規(guī)則被激活,置于“待議事件表”(agenda),并按照優(yōu)先級(jí)排隊(duì),待議事件表是被激活規(guī)則的集合,然后點(diǎn)擊運(yùn)行(run),每激發(fā)一條規(guī)則,規(guī)則的后件就存放到事實(shí)庫(kù)中,當(dāng)“待議事件表”中規(guī)則為空時(shí)推理結(jié)束。CLIPS的推理過程就是不斷的通過模式匹配來(lái)尋找可用規(guī)則,激發(fā)可用規(guī)則來(lái)修改已有事實(shí)的內(nèi)容的過程。
(6)知識(shí)庫(kù)維護(hù):在專家系統(tǒng)推理之初時(shí),可以通過選擇知識(shí)庫(kù)表-> 點(diǎn)擊知識(shí)庫(kù)維護(hù)-> 寫入了clp文件之中生成相應(yīng)規(guī)則。在需要完善知識(shí)庫(kù)時(shí),參見(3)中的操作。
(7)操作:點(diǎn)擊完增加一條規(guī)則后,點(diǎn)擊操作,將規(guī)則寫入知識(shí)庫(kù)中。
5 結(jié)語(yǔ)
以Windows XP為操作系統(tǒng),Visual C++為編程語(yǔ)言,應(yīng)用人工智能診斷方法和面向?qū)ο蟮木幊谭椒?,?shí)現(xiàn)了專家系統(tǒng)工具CLIPS與VC++的集成,開發(fā)了電動(dòng)機(jī)故障診斷專家系統(tǒng),它具有友好的人機(jī)界面,能實(shí)現(xiàn)故障診斷、知識(shí)庫(kù)管理的模塊功能,研究了數(shù)據(jù)庫(kù)管理方法,對(duì)規(guī)則進(jìn)行了整理,便于用戶維護(hù),從而改善了故障診斷專家系統(tǒng)的性能和診斷功能。電動(dòng)機(jī)故障診斷是綜合性、智能化很高的一門技術(shù),建立一個(gè)合適、完善和高效的電動(dòng)機(jī)故障診斷令專家系統(tǒng)是一項(xiàng)高難度、復(fù)雜的工作。由于時(shí)間和現(xiàn)場(chǎng)經(jīng)驗(yàn)積累的原因,編制的專家系統(tǒng)知識(shí)庫(kù)還不夠完善,需要與有現(xiàn)場(chǎng)經(jīng)驗(yàn)的專家進(jìn)行交流獲取知識(shí),來(lái)完善專家系統(tǒng)的知識(shí)庫(kù)。
參考文獻(xiàn)
[1]李昕濤.異步電動(dòng)機(jī)的故障信息綜合測(cè)量與分析[D].太原理工大學(xué),2006.
[2]白月林.異步電動(dòng)機(jī)故障檢測(cè)系統(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].自動(dòng)化與儀表,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é)報(bào),2004(1):57-59.