姜繼偉,秦 磊,陶國鋒
(中石油華東設(shè)計(jì)院有限公司,山東 青島 266071)
循環(huán)流化床鍋爐以其獨(dú)特的流化床燃燒技術(shù),自問世以來得到了快速發(fā)展和應(yīng)用。鍋爐規(guī)模的大型化、自動化和復(fù)雜化,帶來的鍋爐故障處理難度不斷加大。故障原因的及時(shí)發(fā)現(xiàn)和處理,不僅能減小故障的進(jìn)一步擴(kuò)大,而且能減少維修費(fèi)用,提高設(shè)備的利用率,從而提高經(jīng)濟(jì)效益[1]。
循環(huán)流化床鍋爐故障診斷專家系統(tǒng)是人工智能在鍋爐故障診斷的應(yīng)用。利用專業(yè)知識解決只有專家才能解決的問題,在信息不完整和不確定的情況下給出合理的解釋。本文利用CLIPS開發(fā)了用于鍋爐故障診斷的專家系統(tǒng),用戶在Visual C++6.0(簡寫VC++)編制的界面上選擇出現(xiàn)的故障征兆,專家系統(tǒng)便能自動診斷故障發(fā)生的原因并給出推理結(jié)果。
VC++作為系統(tǒng)的開發(fā)語言,是基于C/C++語言,運(yùn)行于Windows上的交互式可視化集成開發(fā)環(huán)境。VC++集程序的代碼編輯、編譯、連接、調(diào)試等于一體,給編程人員提供了一個(gè)完整而又方便的開發(fā)界面,并提供了許多有效的輔助開發(fā)工具[2]。
CLIPS是“C語言集成產(chǎn)生式系統(tǒng)(C Language Integrated Production System)”的首字母縮略詞,是由美國航空航天管理局(NASA)開發(fā)的基于規(guī)則的通用專家系統(tǒng)開發(fā)工具。作為一個(gè)產(chǎn)生式專家系統(tǒng)開發(fā)工具,CLIPS 能提供完整的開發(fā)環(huán)境,建造基于規(guī)則或基于對象的專家系統(tǒng)。CLIPS 結(jié)構(gòu)簡潔、程序設(shè)計(jì)具有模塊化的特點(diǎn)。推理過程采用獨(dú)特的Rete模式匹配算法,極大的提高了系統(tǒng)的反應(yīng)速度[3]。
專家系統(tǒng)主要由故障事實(shí)庫、知識庫、推理機(jī)和人機(jī)界面組成,其中知識庫和推理機(jī)是兩個(gè)重要組成部分,總體結(jié)構(gòu)如圖1所示。
專家系統(tǒng)知識庫基于CLIPS語言編寫,按照CLIPS語法構(gòu)成自定義模板、自定義事實(shí)和自定義規(guī)則三個(gè)部分。如“對流煙道受熱面迎風(fēng)面磨損”。
圖1 專家系統(tǒng)總體結(jié)構(gòu)Fig.1 General Structure of Expert System
故障,可表示為:
(defrule rule-1 “受熱面磨損” (Heating surface wear-1)=> (printout t crlf crlf "【故障現(xiàn)象】對流受熱面磨損"crlf crlf"【原因分析】對流煙道受熱面迎風(fēng)面磨損。"crlf"【處理措施】采用在受熱面迎風(fēng)面加裝金屬防磨蓋板的方法,在易磨損的部位采用耐磨性能高的鋼材"。
系統(tǒng)中所有模式必須都與事實(shí)匹配,規(guī)則才會激活并放入議程中,按CLIPS的優(yōu)先級順序執(zhí)行。
專家系統(tǒng)推理采用CLIPS推理機(jī)制-基于產(chǎn)生式系統(tǒng),推理機(jī)的工作過程如下:
第一步:模式匹配。掃描規(guī)則庫,把所有規(guī)則的模式(LHS)與事實(shí)表中的事實(shí)進(jìn)行匹配,檢查哪些規(guī)則的條件能夠滿足。
第二步:激活所有匹配成功的規(guī)則,把它們放進(jìn)待議事件表(Agenda)中。
第三步:彈出堆棧頂部的規(guī)則(優(yōu)先級最高),執(zhí)行其后件(RHS)部分所規(guī)定的動作。
第四步:重復(fù)以上過程,直到待議事件表變?yōu)榭铡?/p>
循環(huán)流化床鍋爐故障診斷專家系統(tǒng)是采用CLIPS專家系統(tǒng)工具嵌入VC++開發(fā)平臺實(shí)現(xiàn)。當(dāng)前開發(fā)CLIPS嵌入式專家系統(tǒng)是使用CLIPS提供的動態(tài)鏈接庫方式。該方式具有簡單靈活,傳統(tǒng)程序編程和專家系統(tǒng)的開發(fā)獨(dú)立進(jìn)行的特點(diǎn),使得專家系統(tǒng)的后續(xù)維護(hù)與擴(kuò)充方便靈活[4-5]。
在運(yùn)行開始加載CLIPS動態(tài)庫和規(guī)則知識庫,加載成功后提示加載成功。如不成功則會彈出對話框提示并指示出錯(cuò)的原因,推理運(yùn)行加載流程如圖2所示。
圖2 推理運(yùn)行界面加載程序流程Fig.2 The flow diagram for loading program of inference movement interface
在CLIPS加載成功后,可以選擇故障種類和故障事實(shí),如“受熱面磨損”故障對話框如圖3所示。
圖3 受熱面磨損對話框Fig.3 The dialog box of heating surface attrition
在故障事實(shí)選擇后,專家系統(tǒng)運(yùn)行推理后,可給出故障診斷結(jié)果并輸出結(jié)果對話框,如圖4所示。
圖4 專家系統(tǒng)運(yùn)行推理結(jié)果Fig.4 Results of expert system movement inference
基于CLIPS的循環(huán)流化床鍋爐故障診斷專家系統(tǒng),實(shí)現(xiàn)了CLIPS與VC++的混合編程。利用VC++構(gòu)造專家系統(tǒng)人機(jī)界面,按照CLIPS編碼規(guī)則編寫專家知識庫,通過CLIPS推理機(jī)對故障進(jìn)行診斷分析,最終完成循環(huán)流化床鍋爐故障診斷專家系統(tǒng)的開發(fā)。該系統(tǒng)還具有故障知識的自動獲取功能,在應(yīng)用過程中,可以不斷豐富知識規(guī)則庫的內(nèi)容。
[1] 劉德昌,陳漢平,張世紅.循環(huán)流化床鍋爐燃燒故障及預(yù)防[J].熱電技術(shù),2007(2):1-7.
[2] 付靈麗,柴 欣.Visual C++程序設(shè)計(jì)基礎(chǔ)[M].北京:中國鐵道出版社,2004:243-304.
[3] 吳鶴齡.專家系統(tǒng)工具CLIPS及其應(yīng)用[M].北京:北京理工大學(xué)出版社,1991:1-125.
[4] 謝曉方,姜 震.一種結(jié)合CLIPS和VC++開發(fā)專家系統(tǒng)的方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2004,13(12):61-63.
[5] 鄧海平,何玉林,杜 靜,等.CLIPS嵌入VC技術(shù)的實(shí)現(xiàn)與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2005(15):88-91.