摘要:對(duì)數(shù)控車(chē)床的故障診斷系統(tǒng)進(jìn)行了研究。該系統(tǒng)軟件用vc++6.0語(yǔ)言編寫(xiě),它總結(jié)了領(lǐng)域?qū)<业慕?jīng)驗(yàn),建立了故障樹(shù),并用產(chǎn)生式規(guī)則構(gòu)建了知識(shí)庫(kù)。依據(jù)故障診斷的特性,該系統(tǒng)采用不精確推理和有限深度搜索策略,能完成數(shù)控車(chē)床80多種故障的診斷。
1 引言
數(shù)控機(jī)床的故障診斷與維修一直是困擾操作、維修人員的難題。由于數(shù)控機(jī)床的安全性和工作可靠性對(duì)于生產(chǎn)單位的效益直接產(chǎn)生很大的影響,所以對(duì)數(shù)控機(jī)床進(jìn)行狀態(tài)監(jiān)測(cè)以實(shí)現(xiàn)故障診斷和維修變得十分重要。數(shù)控車(chē)床的故障診斷技術(shù)以吸收和應(yīng)用其它領(lǐng)域的一些成果為基礎(chǔ),結(jié)合數(shù)控車(chē)床自身的故障特點(diǎn)及機(jī)理,通過(guò)建立故障樹(shù),對(duì)車(chē)床的各個(gè)組成部分進(jìn)行了可行的劃分,對(duì)各個(gè)組成元件的故障機(jī)理、故障原因、故障表現(xiàn)以及排除對(duì)策等進(jìn)行細(xì)致地總結(jié),建立相應(yīng)的知識(shí)庫(kù)和規(guī)則庫(kù)。并結(jié)合車(chē)床的需要采取恰當(dāng)?shù)闹R(shí)表示形式,以獲得較高的診斷效果。由于設(shè)備的故障規(guī)則在實(shí)際中具有一定的模糊性,即不確定性,為解決這一問(wèn)題,筆者在本文中引入了規(guī)則置信度的做法,使得該故障診斷專家系統(tǒng)更加符合系統(tǒng)的實(shí)際情況。利用VisualC++6.0為開(kāi)發(fā)工具,結(jié)合數(shù)據(jù)庫(kù)技術(shù),開(kāi)發(fā)了數(shù)控車(chē)床故障診斷專家系統(tǒng)軟件,并通過(guò)實(shí)地測(cè)試驗(yàn)證了它的可行性。
2 專家系統(tǒng)的結(jié)構(gòu)
數(shù)控車(chē)床故障診斷專家系統(tǒng)主要由知識(shí)庫(kù)、數(shù)據(jù)庫(kù)、推理機(jī)、知識(shí)獲取部分、解釋部分、人機(jī)接口等部分組成,內(nèi)部結(jié)構(gòu)如圖1所示。
[align=center]

圖1 數(shù)控車(chē)床故障診斷專家系統(tǒng)結(jié)構(gòu)圖[/align]
2.1 知識(shí)的表示
在專家系統(tǒng)中,知識(shí)的表示是指如何把有用的知識(shí)方便地存儲(chǔ)到計(jì)算機(jī)中,并且便于管理和處理這些知識(shí),表示方案的恰當(dāng)與否對(duì)于問(wèn)題的求解是非常重要的。在該專家系統(tǒng)中知識(shí)庫(kù)的機(jī)器學(xué)習(xí)方法是機(jī)械學(xué)習(xí),即將這些規(guī)則不做任何處理,直接將其輸入到故障診斷專家系統(tǒng)中。
本系統(tǒng)知識(shí)庫(kù)針對(duì)數(shù)控車(chē)床故障進(jìn)行構(gòu)造,通過(guò)對(duì)數(shù)控車(chē)床工作原理、具體結(jié)構(gòu)的細(xì)致分析,得到了診斷知識(shí)。把每一種故障狀態(tài)按照故障原因的不同而分成多條記錄。
知識(shí)庫(kù)文件的格式如下:
故障診斷系統(tǒng)的知識(shí)庫(kù)主要包括5個(gè)部分:診斷故障樹(shù)、診斷規(guī)則庫(kù)、故障原因、檢測(cè)提示以及故障對(duì)策,由3個(gè)文件構(gòu)成:故障樹(shù)文件、規(guī)則庫(kù)文件、故障對(duì)策文件。診斷故障樹(shù)文件主要是診斷對(duì)象的故障類型內(nèi)容和可能導(dǎo)致這些故障發(fā)生的原因說(shuō)明;故障規(guī)則庫(kù)文件主要是故障診斷推理過(guò)程中所用的規(guī)則內(nèi)容;故障對(duì)策文件主要包括各個(gè)規(guī)則相對(duì)應(yīng)的排除對(duì)策以及規(guī)則中各個(gè)條件項(xiàng)的檢測(cè)過(guò)程提示信息。例如:
故障樹(shù)文件:部件名+“故障樹(shù)”
如:主軸箱部分:
[主軸工作異常]
子節(jié)點(diǎn)數(shù)=8
……
子節(jié)點(diǎn)5=精車(chē)外圓圓周表面上有混亂的波紋#14#15#16#17#
故障原因5=主軸、軸承等傳動(dòng)件摩擦劇烈,主軸滾動(dòng)軸承的滾道磨損,主軸的軸向間隙過(guò)大,主軸的滾動(dòng)軸承外圈與床頭箱軸孔有間隙
……
規(guī)則庫(kù)文件:部件名十“規(guī)則庫(kù)”
如:[規(guī)則14]
前件=主軸工作異常
后件=精車(chē)外圓圓周表面上有混亂的波紋
條件信息=1 0.9
條件1=主軸滾動(dòng)軸承的滾道是否磨損灼#0.9
檢測(cè)提示1=請(qǐng)檢查支承主軸的軸承
故障對(duì)策=如果有磨損則立即更換
2.2 知識(shí)的管理
知識(shí)庫(kù)管理主要包括瀏覽知識(shí)庫(kù)、建立知識(shí)庫(kù)、擴(kuò)展知識(shí)庫(kù)、添加規(guī)則、修改規(guī)則和刪除規(guī)則等功能子模塊?,F(xiàn)在以添加規(guī)則為例解釋此車(chē)床故障診斷專家系統(tǒng)是怎樣管理知識(shí)庫(kù)的。
故障樹(shù)節(jié)點(diǎn)的添加操作不僅涉及故障樹(shù)文件的操作,還包括了對(duì)規(guī)則庫(kù)文件的操作,向規(guī)則庫(kù)文件中寫(xiě)入新規(guī)則;對(duì)于規(guī)則庫(kù)文件的新規(guī)則添加和規(guī)則刪除操作也同時(shí)必須對(duì)故障樹(shù)文件中相關(guān)內(nèi)容進(jìn)行修改。知識(shí)庫(kù)的編輯為用戶提供了一個(gè)增添、刪除、修改的工具,同時(shí)為了保證只有用戶指定的具有權(quán)限的技術(shù)人員才能進(jìn)行知識(shí)庫(kù)編輯,在編輯功能中設(shè)置了密碼。
首先,點(diǎn)擊“故障樹(shù)管理”按鈕(可以用快捷鍵F2,只要按下鍵盤(pán)上的F2鍵),然后,進(jìn)行相應(yīng)的故障樹(shù)的操作;點(diǎn)擊按鈕后,進(jìn)入故障樹(shù)管理界面。要對(duì)故障樹(shù)進(jìn)行操作,須點(diǎn)擊相應(yīng)的按鈕,按下“故障樹(shù)添加”按鈕(快捷鍵F2);另外,此處需選取“故障樹(shù)”部分的相應(yīng)項(xiàng)添加到樹(shù)的故障現(xiàn)象位置,假設(shè)選取故障現(xiàn)象“主軸工作異常”,一旦在“子節(jié)點(diǎn)”處的空白框內(nèi)輸入了內(nèi)容,將使得“添加規(guī)則”、“確認(rèn)輸入”按鈕發(fā)生作用,此時(shí),通過(guò)Tab鍵,將輸入焦點(diǎn)轉(zhuǎn)移到“添加規(guī)則”按鈕,按下回車(chē)鍵,進(jìn)入添加規(guī)則界面。按照要求,輸入相應(yīng)的項(xiàng),若需要“傳感器位置”,可通過(guò)下拉框選取。完成認(rèn)為合格了的規(guī)則添加,就可以按下上圖中的“確認(rèn)輸入”按鈕,結(jié)束本層的操作;當(dāng)然,可以點(diǎn)擊“取消輸入”按鈕,放棄添加操作。在操作中,可以通過(guò)Tab鍵進(jìn)行操作焦點(diǎn)轉(zhuǎn)移。返回后,通過(guò)點(diǎn)擊“確認(rèn)操作”按鈕就可以添加故障樹(shù)操作。假如,不需要添加故障樹(shù)操作,可以通過(guò)點(diǎn)擊“取消退出”按鈕,放棄本次操作;也可通過(guò)Esc鍵放棄操作。
2.3 推理機(jī)的設(shè)計(jì)
根據(jù)此數(shù)控車(chē)床的故障診斷的特點(diǎn),推理機(jī)構(gòu)造主要考慮了以下幾點(diǎn)。
?。?)推理方向
本系統(tǒng)采用了正向推理的控制方式,用戶可根據(jù)車(chē)床出現(xiàn)的故障尋找產(chǎn)生故障的原因。通過(guò)對(duì)用戶輸入的關(guān)鍵詞和診斷知識(shí)庫(kù)中的信息進(jìn)行匹配,推理得到對(duì)應(yīng)的記錄,然后顯示故障原因和對(duì)應(yīng)的處理方法。其推理過(guò)程是首先啟動(dòng)系統(tǒng),裝入要使用的知識(shí)庫(kù),本文調(diào)用的知識(shí)庫(kù)是數(shù)控車(chē)床的故障診斷知識(shí)庫(kù),然后程序進(jìn)入初始界面,在初始界面中選中菜單“診斷系統(tǒng)”,系統(tǒng)進(jìn)入診斷界面,提示用戶輸入故障現(xiàn)象,用戶輸入完畢后,點(diǎn)擊“開(kāi)始診斷”按鈕,系統(tǒng)開(kāi)始推理,完成推理后,用戶可在輸出結(jié)果界面中看到系統(tǒng)推出的對(duì)應(yīng)的故障原因及解決方法。
?。?)搜索方法
采用有限深度優(yōu)先搜索方法,它不是只要求未被搜索的子節(jié)點(diǎn)總是往“深度”搜索,而是給定一個(gè)深度限制系數(shù),當(dāng)往下搜索的深度差達(dá)到深度限制系數(shù)時(shí),就適當(dāng)回溯,這樣就可以減少搜索的工作量。
(3)不確定性
故障現(xiàn)象由觀測(cè)獲得,一般不能以確定的方式表示,需要給每個(gè)規(guī)則子句附加一個(gè)可信度[0,1]。
?。?)解釋器的設(shè)計(jì)
這部分功能模塊負(fù)責(zé)回答用戶提出的各種問(wèn)題,包括與系統(tǒng)推理有關(guān)的問(wèn)題和與推理無(wú)關(guān)的關(guān)于系統(tǒng)自身的問(wèn)題。它可對(duì)推理路線和含義給出必要的清晰地解釋,為用戶了解推理過(guò)程以及系統(tǒng)維護(hù)提供了方便的手段,是實(shí)現(xiàn)系統(tǒng)透明性的主要模塊,同時(shí)也便于專家系統(tǒng)和知識(shí)工程師及時(shí)發(fā)現(xiàn)知識(shí)庫(kù)中的錯(cuò)誤。在推理過(guò)程中,按時(shí)間次序?qū)⒚恳徊酵评硭罁?jù)的規(guī)則及變?cè)霓D(zhuǎn)換情況記錄下來(lái)存人動(dòng)態(tài)數(shù)據(jù)庫(kù),形成不斷延伸的“鏈條”,一旦外界要求解釋,解釋器將這鏈條適當(dāng)組織,將推理過(guò)程顯示給用戶。
?。?)界面
界面由一些菜單命令組成。主要有:系統(tǒng)啟動(dòng)命令、診斷系統(tǒng)命令、知識(shí)管理命令、參數(shù)設(shè)置命令、退出系統(tǒng)命令、解釋命令、輸入輸出命令等組成。
3 系統(tǒng)的實(shí)現(xiàn)
本系統(tǒng)用VisualC++6.0語(yǔ)言在Windows上開(kāi)發(fā)了數(shù)控車(chē)床故障診斷專家系統(tǒng)的用戶界面。啟動(dòng)系統(tǒng)即可顯示界面。用戶可根據(jù)菜單提示運(yùn)行系統(tǒng),在系統(tǒng)運(yùn)行過(guò)程中可以在工具欄上或者菜單上選擇操作,該知識(shí)庫(kù)目前仍在進(jìn)一步擴(kuò)充,由于增加、刪除診斷知識(shí)的方便性,該系統(tǒng)實(shí)際上相當(dāng)于一個(gè)專家系統(tǒng)骨架,可以不斷充實(shí)并完善。
4 系統(tǒng)功能
對(duì)數(shù)控車(chē)床的多種故障進(jìn)行診斷。
具有解釋功能:回答為什么?
具有機(jī)器學(xué)習(xí)功能。
系統(tǒng)進(jìn)行診斷時(shí),只需將選擇相關(guān)的故障現(xiàn)象和檢測(cè)數(shù)據(jù),系統(tǒng)就會(huì)得出結(jié)論。
5 結(jié)論
本系統(tǒng)實(shí)現(xiàn)了對(duì)數(shù)控車(chē)床多種故障的診斷,具有一般專家的水平,車(chē)床操作者和維修工可方便地掌握和使用,經(jīng)試用,診斷結(jié)論基要正確。