国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CLIPS的數(shù)控機(jī)床故障診斷專家系統(tǒng)研究*

2015-11-24 08:36:40何彥虎錢振華朱建偉問朋朋
機(jī)械制造 2015年9期
關(guān)鍵詞:人機(jī)界面數(shù)控機(jī)床語(yǔ)句

□ 何彥虎 □ 錢振華 □ 朱建偉 □ 問朋朋

湖州職業(yè)技術(shù)學(xué)院機(jī)電分院 浙江湖州 313000

基于CLIPS的數(shù)控機(jī)床故障診斷專家系統(tǒng)研究*

□ 何彥虎 □ 錢振華 □ 朱建偉 □ 問朋朋

湖州職業(yè)技術(shù)學(xué)院機(jī)電分院 浙江湖州 313000

針對(duì)數(shù)控機(jī)床的故障診斷,提出了基于專家系統(tǒng)的智能故障診斷方法,闡述了其實(shí)現(xiàn)的基本原理、專家系統(tǒng)的基本組成和開發(fā)步驟。對(duì)目前CLIPS與高級(jí)語(yǔ)言VC++的混合編程進(jìn)行了優(yōu)化,并對(duì)混合編程的方法進(jìn)行了介紹。敘述了CLIPS與VC++基于文本平臺(tái)交互的基本原理與實(shí)現(xiàn)方法,該方法彌補(bǔ)了傳統(tǒng)的基于VC++開發(fā)環(huán)境的不足,大大提高了開發(fā)速度與質(zhì)量。最后,對(duì)基于FAT的數(shù)控機(jī)床故障分析進(jìn)行說明,并對(duì)開發(fā)過程進(jìn)行了介紹,以實(shí)例形式說明了專家系統(tǒng)開發(fā)的過程,對(duì)其它基于CLIPS的專家系統(tǒng)開發(fā)具有參考價(jià)值。

推理 故障診斷 專家系統(tǒng) CLIPS

數(shù)控機(jī)床是制造業(yè)最常用的設(shè)備,它集機(jī)、電、液于一體,復(fù)雜性高,維修難度大,對(duì)維修人員的要求極高,即使一個(gè)經(jīng)驗(yàn)豐富的維修師,有時(shí)也需要比較長(zhǎng)的時(shí)間去維修,因此智能化的維修方法近年來(lái)得到廣泛的研究和應(yīng)用。智能化維修理論主要有:基于模糊集的維修方法,基于神經(jīng)網(wǎng)絡(luò)的維修方法,還有比較常用的基于專家系統(tǒng)的維修方法。專家系統(tǒng)可以將專家的維修思想用智能化語(yǔ)言實(shí)現(xiàn),維修的時(shí)候,只需要查詢專家系統(tǒng),便可以得到比較滿意的維修方法,更重要的是專家系統(tǒng)可以不斷地再學(xué)習(xí)和完善。目前已經(jīng)有較多的專家系統(tǒng)得到成功應(yīng)用,其編程一般采用智能化設(shè)計(jì)語(yǔ)言完成。CLIPS是繼Prolog之后被廣泛使用的人工智能語(yǔ)言,它是用C語(yǔ)言實(shí)現(xiàn)的,繼承了Prolog語(yǔ)言的優(yōu)點(diǎn),并進(jìn)行了改進(jìn),因效率高,可移植性強(qiáng)而得到廣泛的應(yīng)用[5]。CLIPS是產(chǎn)生式專家系統(tǒng)開發(fā)工具,結(jié)構(gòu)簡(jiǎn)潔,采用模塊化編程,與C、VB、Pascal等語(yǔ)言的兼容性強(qiáng)。VC++不擅長(zhǎng)邏輯推理,但在人機(jī)界面及數(shù)據(jù)庫(kù)操控方面優(yōu)勢(shì)明顯,而CLIPS在邏輯推理方面功能強(qiáng)大。因此,二者的混合編程能產(chǎn)生良好的效果。文獻(xiàn)[1]采用Define Function函數(shù)實(shí)現(xiàn)二者的交互,文獻(xiàn)[2]采用故障樹的方法分析故障,文獻(xiàn)[3]采用了實(shí)體的故障分析方法,在交互模式上采用了函數(shù)指針方式,文獻(xiàn)[4]采用了基于VC++環(huán)境的交互方式。

1 CLIPS基本組成

CLIPS的優(yōu)點(diǎn)在于良好的可移植性和高效模式匹配算法,其構(gòu)成的專家系統(tǒng)包括:規(guī)則(Defrule)、事實(shí)(Deffacts)、推理(Agenda),如圖2所示。

事實(shí)由關(guān)系名(Relation Name)及槽值(Slot)組成,表示已知的信息。事實(shí)一般先用自定義模板定義事實(shí)結(jié)構(gòu),形式如下:

在推理時(shí),CLIPS會(huì)把所有的事實(shí)添加到存儲(chǔ)器中,并提供了添加事實(shí)庫(kù)指令 (Assert)、刪除事實(shí)(Retract)指令等多個(gè)關(guān)于事實(shí)的操作指令。

規(guī)則是推理的相關(guān)知識(shí),其格式如下:

CLIPS的推理循環(huán)可分為4個(gè)階段:①模式匹配,按照算法掃描知識(shí)庫(kù)中所有規(guī)則,把規(guī)則的前件與當(dāng)前事實(shí)相匹配;②沖突消解,當(dāng)多條規(guī)則同時(shí)被匹配時(shí),根據(jù)預(yù)先確定的沖突消解策略,確定觸發(fā)規(guī)則;③激活規(guī)則,調(diào)用匹配所觸發(fā)規(guī)則的所有事實(shí);④動(dòng)作,CLIPS推理機(jī)重復(fù)上述循環(huán),不斷地掃描規(guī)則的模式,并把匹配成功的規(guī)則激活,放入議程(Agenda)之中。

2 專家系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

依據(jù)專家系統(tǒng)原理,故障診斷專家系統(tǒng)主要組成有:事實(shí)庫(kù)、推理機(jī)、知識(shí)庫(kù)、解釋機(jī)構(gòu)及人機(jī)界面等部分,系統(tǒng)的總體結(jié)構(gòu)如圖1所示。

領(lǐng)域?qū)<野严嚓P(guān)的知識(shí)輸入到專家系統(tǒng)中,即以規(guī)則表示的知識(shí)表示出來(lái),則專家系統(tǒng)的推理過程可以模擬專家的推理過程,進(jìn)而滿足用戶的需求。數(shù)據(jù)庫(kù)也稱“黑板”,主要用來(lái)存儲(chǔ)相關(guān)領(lǐng)域的事實(shí)、數(shù)據(jù)等信息。推理機(jī)是實(shí)現(xiàn)專家系統(tǒng)推理的一組程序,是根據(jù)數(shù)據(jù)庫(kù)的內(nèi)容,按照某種推理策略,運(yùn)用知識(shí)庫(kù)的知識(shí)完成推理,是專家系統(tǒng)的主要任務(wù),推理方法有正向推理和反向推理,策略常用廣度優(yōu)先和深度優(yōu)先策略。

▲圖2 專家系統(tǒng)結(jié)構(gòu)

3 CLIPS與VC++交互的關(guān)鍵技術(shù)

目前CLIPS版本仍是基于命令模式,人機(jī)界面主要由VC++完成,這就要求二者之間進(jìn)行交互。CLIPS與VC++的交互模式基本有兩種:基于VC++環(huán)境和基于CLIPS環(huán)境兩種:前者的基本思路是,CLIPS只實(shí)現(xiàn)推理功能,其它功能如讀(Read)、寫(Printout)、人機(jī)界面等功能全部由VC++實(shí)現(xiàn),CLIPS類似一個(gè)函數(shù),被高級(jí)語(yǔ)言調(diào)用,實(shí)現(xiàn)其推理功能,這種方式目前使用最多,這種方式的最大不足是CLIPS的許多功能由VC++完成,即沒有利用好CLIPS的強(qiáng)大功能,也增加了VC++開發(fā)的工作量,另外,調(diào)試必須在VC++環(huán)境下,速度較慢,而且也得不到CLIPS的調(diào)試信息;后者的基本思路是,由VC++實(shí)現(xiàn)其人機(jī)界面功能,其它的功能由CLIPS實(shí)現(xiàn),調(diào)試在CLIPS環(huán)境下,特別適合程序的調(diào)試,因?yàn)檎{(diào)試時(shí)系統(tǒng)會(huì)提供大量的調(diào)試信息,速度快,比較方便,而且與VC++的版本關(guān)系不大,方便移植,但是必須要解決一個(gè)難題,就是如何改進(jìn)CLIPS編程,以便讓VC++識(shí)別。這種交互的基本組成構(gòu)架如圖3所示,筆者采用后者完成。

▲圖3 CLIPS與VC++交互示意圖

這種交互的要求是在CLIPS環(huán)境下調(diào)試的程序不改變或很少改變后便能被VC++識(shí)別和執(zhí)行,要實(shí)現(xiàn)這個(gè)要求,關(guān)鍵是解決Printout和Read語(yǔ)句的處理。

3.1 CLIPS與VC++交互環(huán)境的構(gòu)建

要實(shí)現(xiàn)二者的交互,首先需要一個(gè)clips.dll的動(dòng)態(tài)庫(kù)文件和包裝類文件CLIPWrap,二者在Clips的網(wǎng)站上可以下載。為了讓VC++可以調(diào)用CLIPS中的類,需要把clipwarp文件夾中的dynclips.h和dyaload.h兩個(gè)頭文件添加到VC++的include文件夾下,并把clips.dll和Clips.lib、rsvarcol.cpp和Rsvarcol.h放到VC++的工程目錄下,以便讓VC++搜索到,這樣,工作環(huán)境就建立了起來(lái),VC++可以調(diào)用clips的所有函數(shù)了。

3.2 用printout語(yǔ)句實(shí)現(xiàn)交互的方向控制

在Clips下,(printout f“”)表示將信息顯示到終端設(shè)備上 (默認(rèn)是顯示器),如要求在VC++的edit編輯框中顯示信息,則使用下述語(yǔ)句:

3.3 read語(yǔ)句

因?yàn)樵贑LIPS環(huán)境下read語(yǔ)句默認(rèn)的是從顯示終端上獲取數(shù)據(jù),而VC++在執(zhí)行這條語(yǔ)句時(shí),并不是從顯示器終端上獲取數(shù)據(jù),所以不處理就使用將會(huì)造成死機(jī)或不能用。許多開發(fā)者不得不將該語(yǔ)句轉(zhuǎn)換成相同功能的高級(jí)語(yǔ)言來(lái)實(shí)現(xiàn),使程序結(jié)構(gòu)變差。利用下面的語(yǔ)句將會(huì)很好地解決這個(gè)問題,CLIPS從InFile. txt文件中讀數(shù),而VC++向該文件中寫數(shù),InFile.txt是數(shù)據(jù)交換的緩沖區(qū)。

4 故障診斷專家系統(tǒng)的CLIPS實(shí)現(xiàn)

數(shù)控機(jī)床由機(jī)床本體、伺服系統(tǒng)、主軸伺服系統(tǒng)、檢測(cè)系統(tǒng)、CNC系統(tǒng)、液壓潤(rùn)滑等組成,是典型的機(jī)電一體化產(chǎn)品,其故障類型多,維修復(fù)雜。要實(shí)現(xiàn)專家系統(tǒng)的故障診斷,首先要建立故障的分析方法,目前最常用的是故障樹分析法 (FTA),F(xiàn)TA是20世紀(jì)60年代發(fā)展起來(lái)的大型復(fù)雜系統(tǒng)的分析方法,故障樹能比較直觀地表達(dá)故障,可靠性和安全性好。實(shí)現(xiàn)故障推理,一般要進(jìn)行規(guī)則庫(kù)和事實(shí)庫(kù)的定義和編程、定義故障樹、初步調(diào)試、人機(jī)界面的編程、聯(lián)調(diào)等過程。

4.1 知識(shí)表示

專家系統(tǒng)的知識(shí)表示方法很多,為了便于推理,筆者采用了如下定義方法:

(deftemplate N (slot Fnum)(slot name)(slot type)(slot question)(slot yesN)(slot noN)(slot answer)(slot CF)(slot weight)(slot threshold));Fnum是故障編號(hào),name為故障結(jié)點(diǎn)名,yesN表示可信度為1的結(jié)點(diǎn)。cf為可信度,weight為權(quán)重,threshold為閾值,當(dāng)故障比較模糊的時(shí)候會(huì)用可信度表示。

4.2 事實(shí)定義

事實(shí)定義可以用deffact定義。

(N(fnum 1)(name root)(type decision)(question "跳過斷路器接入電源,工作是否正常?")(yesN node1)(noN node2)(answer nil)(CF 0.7)(weight 0.2)(threshold nil))。

4.3 VC++側(cè)編程

首先要完成初始化工作,調(diào)用類OnInitDialog()實(shí)現(xiàn),主要完成初始化、加載知識(shí)庫(kù)等動(dòng)作,關(guān)鍵語(yǔ)句如下所示:

推理是專家系統(tǒng)按照知識(shí)庫(kù)的規(guī)則,從事實(shí)庫(kù)中提取事實(shí),完成推理,關(guān)鍵的語(yǔ)句是:

加載事實(shí)是加載事實(shí)庫(kù),即將事實(shí)文件打開,主要語(yǔ)句是:

4.4 調(diào)試

調(diào)試工作一般是在CLIPS環(huán)境下進(jìn)行,由此系統(tǒng)運(yùn)行速度很快,而且錯(cuò)誤提示清楚,提高了開發(fā)速度,調(diào)試界面如圖4所示。

▲圖4 調(diào)試界面

4.5 建立數(shù)控機(jī)床故障診斷樹

故障樹由頂事件、中間事件、底事件組成,中間事件是頂事件的故障現(xiàn)象,底事件是中間事件的故障發(fā)生原因。為說明專家系統(tǒng)的構(gòu)建,現(xiàn)從一個(gè)實(shí)例進(jìn)行說明故障樹的CLIPS表示方法,如圖5所示。

▲圖5 推理關(guān)系示意圖

各節(jié)點(diǎn)代表的含義:

A:過電流報(bào)警(用故障代號(hào)fnum表示)。

B:先關(guān)斷電源,十分鐘

后合閘,斷路器是否跳閘。

C:請(qǐng)檢查速度控制板二極管模塊Ds是否短路。

E:模塊損壞更換新模塊。

F:無(wú)故障,可以繼續(xù)工作。

D:請(qǐng)檢查DS部件連接的電容是否短路,測(cè)試正反向電阻。

I:該電容損壞,請(qǐng)更換新電容。

H:跳過斷路器接入電源,工作是否正常。

K:空氣斷路器故障,更換新的斷路器。

M:故障原因是伺服單元不良。

以伺服過電流報(bào)警為例進(jìn)行推理過程說明,伺服過電流故障的原因主要有:過載、功率模塊損壞、電容失效、伺服單元故障等,推理開始要求選擇故障現(xiàn)象,如圖6所示。然后專家系統(tǒng)會(huì)向用戶詢問若干問題,如“先關(guān)斷電源,十分鐘后合閘,斷路器是否跳閘?”,用戶根據(jù)提示選擇是或否,如圖7所示。最后推導(dǎo)出下一個(gè)問題或結(jié)論,如圖8所示。

▲圖6 故障選擇界面

▲圖7 故障推理界面

▲圖8 推理結(jié)論畫面

5 結(jié)束語(yǔ)

闡述了基于文本平臺(tái)的CLIPS與VC++的交互技術(shù),彌補(bǔ)了傳統(tǒng)的基于VC++環(huán)境開發(fā)方法的不足,解決了開發(fā)過程中遇到的混合編程調(diào)試難問題,基于FAT的故障診斷分析方法,對(duì)數(shù)控機(jī)床專家系統(tǒng)開發(fā)具有較好的適應(yīng)性,對(duì)其它基于CLIPS的專家系統(tǒng)的開發(fā)具有重要的參考價(jià)值。

[1]鄧海平,何玉林,杜靜.CLIPS嵌入VC++技術(shù)的實(shí)現(xiàn)與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2005(15):88-91.

[2]羅天洪,楊彩霞,孫冬梅.基于故障樹的汽車起重機(jī)液壓故障診斷專家系統(tǒng)[J].機(jī)械科學(xué)與技術(shù),2013(4):32.

[3]寧志強(qiáng),陶元芳,楊家威.基于CLI PS轎機(jī)起升機(jī)構(gòu)設(shè)計(jì)型專家系統(tǒng)[J].中國(guó)工程機(jī)械學(xué)報(bào),2013(5):425-430.

[4]寧志強(qiáng),陶元芳,劉曉蓮.CLI PS數(shù)值應(yīng)用與VC++的交互[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4):226-229.

[5]沈大偉,侶莊誠(chéng),王學(xué)雷.基于CUPS的故障診斷專家系統(tǒng)開發(fā)[J].化工自動(dòng)化及儀表,2012,39(4):43-44.

[6]燕繼明,石榮波.數(shù)控機(jī)床維修專家系統(tǒng)中的知識(shí)表示[J].機(jī)床與液壓,2013,41(3):155-158.

[7]張治杰.測(cè)控裝備故障診斷專家系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].艦船電子工程,2012(6):22-24.

[8]溫國(guó)誼,查光東,張翔.基于CLIPS的某型飛機(jī)故障診斷專家系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].中南大學(xué)學(xué)報(bào) (自然科學(xué)版)2013,44(7):157-160.

[9]劉治國(guó),蔡增杰,穆志韜,等.基于CLIPS的飛機(jī)液壓系統(tǒng)故障診斷專家系統(tǒng)構(gòu)建研究[J].海軍航空工程學(xué)院學(xué)報(bào),2011,26(1):46-48.

(編輯 丁 罡)

TP182

A

1000-4998(2015)09-0062-04

*浙江省教育廳科研資助項(xiàng)目(編號(hào):Y201327877)

2015年3月

猜你喜歡
人機(jī)界面數(shù)控機(jī)床語(yǔ)句
重點(diǎn):語(yǔ)句銜接
數(shù)控機(jī)床的節(jié)能應(yīng)用
高檔數(shù)控機(jī)床數(shù)據(jù)采集應(yīng)用
數(shù)控機(jī)床電氣系統(tǒng)的故障診斷與維修
電子制作(2018年10期)2018-08-04 03:24:46
精彩語(yǔ)句
PLC在數(shù)控機(jī)床中應(yīng)用
電子制作(2017年20期)2017-04-26 06:57:41
CBTC系統(tǒng)車載人機(jī)界面的設(shè)計(jì)與實(shí)現(xiàn)
基于PLC與人機(jī)界面的經(jīng)編機(jī)電子橫移控制系統(tǒng)研究
CTCS-3級(jí)列控車載人機(jī)界面的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
達(dá)人機(jī)界面DOP-B10VS511
张家口市| 中牟县| 灵宝市| 荔浦县| 枣阳市| 东明县| 房山区| 自治县| 理塘县| 山阴县| 陕西省| 文安县| 政和县| 内黄县| 南雄市| 丰都县| 合川市| 望城县| 曲阜市| 永安市| 松原市| 清河县| 额敏县| 陕西省| 马边| 芦山县| 潼南县| 淮南市| 天水市| 东平县| 西畴县| 新绛县| 广东省| 德惠市| 绥阳县| 区。| 苏尼特右旗| 黄龙县| 拉萨市| 涪陵区| 曲松县|