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