周學偉(1983-)
男,碩士研究生。研究領域為工業過程故障診斷與監控。
基金項目: 遼寧省科學技術基金項目:集成在線魯棒智能過程監控技術研究(編號: 2040196)
摘要:文章分析了構建鍋爐故障診斷專家系統的重要性和必要性,闡述了數據庫技術在專家系統中的重要應用。提出專家系統的設計、實現及工作過程。論述了基于關系數據庫技術的知識庫構建,推理機的設計,以及數據挖掘技術的應用等。相比之下,采用數據庫技術可以很大程度的降低鍋爐故障診斷專家系統開發的工作量。
關鍵詞:故障診斷;專家系統;鍋爐;數據庫
l 引言
實用可靠高效的鍋爐故障診斷專家系統的研究和開發,對于盡早發現鍋爐故障苗頭,減少或杜絕鍋爐設備故障的發生具有重要意義。為此把鍋爐診斷和維修領域的大量的實際診斷和維修經驗直觀明了地表示出來,然后進行匯總和提煉,建立診斷知識庫,通過人機接口技術與用戶交流詢問的方式逐步進行深入診斷,最終得出診斷結果,為鍋爐維修部門提供了強有力的技術支持。
基于數據庫技術的專家系統將數據庫技術與知識庫技術結合起來,構造大規模的知識庫系統。其知識量可以達到海量條規則與事實,而且向知識庫中存取知識如同向數據庫中存取數據一樣迅速方便。充分利用關系型數據庫管理系統功能,可以方便知識庫管理,縮短系統開發周期,很容易的實現知識庫的動態維護和動態擴充,同樣利用數據庫技術可以簡化其它搜索策略的設計、實現對正向推理和逆向推理的簡化,使推理快速、準確。因此采用數據庫系統將是專家系統知識庫的發展趨勢。
2 專家系統的設計
系統由知識庫、推理機、數據庫、解釋器、知識獲取器,人機界面等部件組成結構,如圖1 所示。
圖1 專家系統結構圖
知識庫是專家系統的關鍵部件之一,知識庫的設計就是對知識表現形式的設計。知識庫中存放鍋爐所有部件的故障案例集,案例集中包括教材、專家和維修人員的知識和經驗,具體是利用關系數據庫的一個記錄表示一條案例。因此,對案例庫的管理和維護完全可以由數據庫管理系統來完成。
(2)推理機
推理機是專家系統的核心,其主要作用是根據用戶的輸入處理知識庫中的數據,進行案例搜索和案例匹配,最后得到診斷結果和診斷解釋。
(3)數據庫
數據庫用于存儲知識庫、中間推理結果和最終得出的結論,與推理機結合以提高推理效率。
(4)知識獲取器
知識獲取器實際上是一個知識獲取子程序,是專家系統與領域專家的接口,其作用是新知識(案例)的錄入,原有的知識(案例)的修改和擴充。
(5)解釋器
解釋器模擬專家在解決問題時對其推理過程和結論進行解釋,這是專家系統透明特點的集中表現。這樣做可以使用戶更容易接受整個推理過程和所得出的結論,同時也為系統的維護和專家經驗的傳授提供了方便。
(6)人機界面
人機界面是實現系統與用戶交互的模塊, 一方面領域專家可以通過人機接口實現對知識庫(案例庫)的維護。另一方面用戶直觀地了解診斷情況,并將診斷結果存入診斷結論庫中。
3 專家系統的構建
3.1 知識庫的創建
知識庫的存儲是以關系數據庫的形式實現的,關系數據庫的顯著特點是一個關系就是一張二維表,數據庫由若干張二維表構成,數據庫中的實體與聯系等均按二維表的形式存放,二維表中的每一行為一條記錄,它對應一個特定的實體,二維表中的每一列稱為一個字段,它對應實體的某個屬性。二維表之間通過相同的屬性名進行關聯。這樣一條完整的信息便可同時由幾張不同的二維表唯一地確定下來。在本專家系統中,知識庫由案例庫及診斷結論庫組成,其中案例庫存放規則,由案例征兆表及結果表組成。案例征兆表存放規則中的條件部分,結果表中存放結論部分,兩表用“案例號”外鍵聯系起來。如下為兩表的數據結構:
表1 案例征兆表和結果表:
IF 系統名AND 部件名 AND 故障現象 THEN 故障原因 AND 處理措施 AND 可信度=概率
一條案例只存放一條規則關系,案例之間是相互獨立的,但是一條案例的結論部分可以恰好是另一條案例的征兆部分,這樣可以進行連鎖診斷,直到找出最初的故障原因。
圖2 案例顯示界面
圖3 案例編輯界面
3.2 推理機設計
推理機實際就是一段實現故障推理的程序,可以很方便地實現故障推理,具體可分為兩種情況,一種是從故障現象入手,即當知道故障現象時,可根據現象的語言描述,提取關鍵字,利用數據庫本身的文本查找,搜索匹配功能,對故障進行初步診斷,找出相似的案例集。接著按照正向推理的步驟,采用人機交互的方法,根據已知和提示信息進行精確的珍斷,按照系統名稱,部件名稱,故障現象,故障原因的順序依次進行簡單的肯定或否定判斷,最終實現故障診斷,主要的推理程序如下:
strSQL = "select 案例號 from 案例征兆表 where 故障現象 like'%" & txtXX.Text & "%'"
Rs.Open strSQL, gConn, adOpenStatic, adLockReadOnly
Dim i%
ReDim anliID(0)
For i = 0 To Rs.RecordCount - 1
anliID(i) = Rs.Fields(0).Value
ReDim Preserve anliID(i + 1)
Rs.MoveNext
Next i
Rs.Close
lvwZD.ListItems.Clear
Dim j%
For j = 0 To i
strSQL = "select 故障原因,處理措施,可信度 from 結果表 where 案例號='" & anliID(j) & "'"
Rs.Open strSQL, gConn, adOpenStatic, adLockReadOnly
Set LtItm = lvwZD.ListItems.ADD
LtItm.Text = Rs.Fields(0).Value
LtItm.SubItems(1) = Rs.Fields(1).Value
LtItm.SubItems(2) = Rs.Fields(2).Value
Rs.Close
Next j
圖4 系統操作診斷界面
4 結束語
隨著專家系統應用的日趨廣泛,以及各類新技術的不斷涌現,用戶對智能故障診斷系統提出了更高的要求。利用關系數據庫構造系統知識庫,為知識庫的建立、維護、擴充和完善提供了一種實用方法;在關系數據庫基礎上設計推理機,利用數據庫本身的數據查詢、搜索等功能方便地對知識庫進行管理;利用數據庫的數據挖掘功能對診斷結果數據進行數據挖掘,找出隱藏的規律,拓展了專家系統的統計分析功能,對故障診斷專家系統的建立和發展具有一定的指導意義,相信這一功能必將得到更廣泛的應用。
參考文獻:
[1] 蔡自興. 約翰?德爾金,龔濤. 高級專家系統:原理,設計及應用[M].北京:科學出版社,2005.8.
[2] 勞佳鋒,沈力學,盛頌恩. 基于數據庫技術的遠程故障診斷專家系統的研究[J] . 機電工程. 2003,20 (5): 79-81.
[3] 陳士昂,劉 謹,吳惠明. 數據庫及其相關技術在故障診斷專家系統中的應用[J]. 機電工程. 2004, 2l (3): 13-16.
作者信息:
周學偉,于 洋, 陳 亮,楊 青(沈陽理工大學信息科學與工程學院,遼寧 沈陽 110168)