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