孫 翔,劉 旭
(1.同濟(jì)大學(xué) 中德學(xué)院,上海 201804;2.中煤科工集團(tuán)重慶研究院有限公司,重慶 400039)
在我國的制造業(yè)中,數(shù)控機(jī)床的占有率不斷提高,在生產(chǎn)中發(fā)揮著不可替代的作用。數(shù)控機(jī)床作為機(jī)電一體化的精密制造設(shè)備,其結(jié)構(gòu)復(fù)雜、功能繁多,從而導(dǎo)致發(fā)生故障的可能性大大增加,故障形式也更加復(fù)雜多樣。在實(shí)際的機(jī)床操作中,由于故障的多樣性和復(fù)雜性,經(jīng)常會(huì)出現(xiàn)一些故障讓操作人員不能及時(shí)解決,從而導(dǎo)致了生產(chǎn)效率的下降和對(duì)服務(wù)人員的過度依賴。因此,實(shí)時(shí)監(jiān)測(cè)數(shù)控機(jī)床工作狀態(tài),并在發(fā)生故障時(shí)進(jìn)行快速診斷及維修就變得非常重要[1,2]。
在數(shù)控機(jī)床故障診斷中, 基于知識(shí)的專家系統(tǒng)是一種很好的解決方法。專家系統(tǒng)包含領(lǐng)域?qū)<业拇罅拷?jīng)驗(yàn)知識(shí), 擁有類似人類專家思維的推理能力, 并能用這些知識(shí)來解決實(shí)際問題,實(shí)現(xiàn)人機(jī)結(jié)合,提高了機(jī)床故障診斷的效率[3,4]。本文針對(duì)數(shù)控機(jī)床的故障特點(diǎn),研究和開發(fā)了數(shù)控機(jī)床圖形化故障診斷專家系統(tǒng),詳細(xì)討論了系統(tǒng)總體框架結(jié)構(gòu)、知識(shí)庫和推理機(jī)設(shè)計(jì)以及圖形化顯示的實(shí)現(xiàn)。相較傳統(tǒng)的故障診斷專家系統(tǒng),本系統(tǒng)具有圖形化向?qū)焦收吓懦δ?,可以?shí)時(shí)顯示故障定位的結(jié)果,幫助用戶更好的理解故障發(fā)生的原因,制定相應(yīng)的維修策略。
針對(duì)數(shù)控機(jī)床的故障特點(diǎn),本文提出一種數(shù)控機(jī)床故障診斷的專家系統(tǒng)的結(jié)構(gòu),系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要有以下七個(gè)部分。
圖1 專家系統(tǒng)總體結(jié)構(gòu)
1)機(jī)床信息采集與處理
當(dāng)用戶發(fā)出診斷請(qǐng)求時(shí),該模塊啟動(dòng)讀取數(shù)控系統(tǒng)中的機(jī)床信息,主要完成三類信息的采集:第一類是報(bào)警號(hào)碼信息;第二類是機(jī)床數(shù)據(jù)信息,包括主軸位置、刀具位置等;第三類是PLC信息。從而為診斷系統(tǒng)的推理提供決策數(shù)據(jù)信息。
2)基于CBR的推理機(jī)
推理機(jī)是專家系統(tǒng)能夠運(yùn)轉(zhuǎn)的關(guān)鍵所在。從數(shù)控系統(tǒng)讀取的報(bào)警號(hào)碼、信息數(shù)據(jù)、用戶輸入的故障現(xiàn)象、知識(shí)庫中的故障案例都在這個(gè)模塊中進(jìn)行匹配、決策、歸結(jié)、演算等操作,最終得到故障診斷較為可靠的解[4]。
3)知識(shí)庫
即案例庫,是推理機(jī)進(jìn)行故障診斷的基礎(chǔ)。知識(shí)庫中存儲(chǔ)的是過去成功排除的歷史故障案例,專家系統(tǒng)的問題求解過程是通過知識(shí)庫中的知識(shí)來模擬專家的思維方式的,因此知識(shí)庫的好壞在很大程度上影響整個(gè)專家系統(tǒng)的強(qiáng)弱性能。
4)綜合數(shù)據(jù)庫
綜合數(shù)據(jù)庫中包含推理過程的中間解、推理完成后的輸出結(jié)果以及用戶和系統(tǒng)信息。
5)知識(shí)庫管理
知識(shí)庫的維護(hù)與管理是由知識(shí)工程師負(fù)責(zé),知識(shí)工程師會(huì)明確專家如何解決事實(shí)和規(guī)則,以及如何在專家系統(tǒng)中表達(dá),繼而選擇特定的編程語言將知識(shí)編碼,并定期對(duì)知識(shí)庫進(jìn)行修改和更新,實(shí)現(xiàn)知識(shí)庫的不斷完善。
6)解釋器
解釋器采用較為直觀的方式,例如圖形化顯示的故障源定位,幫助用戶更好的理解故障發(fā)生的原因,制定相應(yīng)的維修策略。
7)人機(jī)交互界面
它是用戶與系統(tǒng)進(jìn)行交流的窗口。用戶界面主要負(fù)責(zé)系統(tǒng)故障診斷流程,包括向?qū)皆\斷、人工操作的交互等等;開發(fā)人員界面和系統(tǒng)管理員界面在后臺(tái)運(yùn)行,主要面向知識(shí)工程師和系統(tǒng)管理員,由他們對(duì)知識(shí)庫和系統(tǒng)進(jìn)行管理與維護(hù)。
圖2 專家系統(tǒng)功能模塊劃分
綜上,可得系統(tǒng)的詳細(xì)功能模塊劃分,主要分為信息采集模塊、故障診斷模塊、知識(shí)庫管理模塊、用戶與系統(tǒng)管理模塊和人機(jī)交互模塊,如圖2所示。
在數(shù)控機(jī)床故障診斷專家系統(tǒng)中,知識(shí)庫的設(shè)計(jì)是系統(tǒng)是否優(yōu)越的關(guān)鍵,直接影響系統(tǒng)的診斷效率和診斷效果。本系統(tǒng)使用關(guān)系數(shù)據(jù)庫SQL Server 2005進(jìn)行知識(shí)庫的搭建,其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用,可以減少數(shù)據(jù)冗余,獲得較好的完備性和一致性[5]。
2.1.1 知識(shí)庫概念結(jié)構(gòu)設(shè)計(jì)
知識(shí)庫中的內(nèi)容應(yīng)該包括報(bào)警號(hào)碼的相關(guān)信息、源案例的相關(guān)信息、解決方案的相關(guān)信息、機(jī)床部件的相關(guān)信息、案例使用反饋信息、報(bào)警號(hào)碼與源案例之間的關(guān)系、源案例與解決方案之間的關(guān)系、解決方案與機(jī)床部件之間的關(guān)系等。用實(shí)體聯(lián)系方法分析,可以得到以下與系統(tǒng)相關(guān)的實(shí)體模型:
1)報(bào)警號(hào)碼:描述的是數(shù)控系統(tǒng)產(chǎn)生的所有的報(bào)警號(hào)碼的信息,包含的屬性有:ID,報(bào)警號(hào)碼,報(bào)警名稱,報(bào)警描述,報(bào)警號(hào)碼類型,優(yōu)先數(shù)。
2)源案例:描述的是系統(tǒng)中曾經(jīng)成功排除故障的所有歷史故障案例的信息,包含的屬性有:ID,故障現(xiàn)象,故障原因。
3)報(bào)警號(hào)碼與源案例的關(guān)系:描述的是報(bào)警號(hào)碼與源案例之間的多對(duì)多的關(guān)系,包含的屬性有:ID,報(bào)警號(hào)碼ID,源案例ID,權(quán)重值。
4)解決方案:描述的是源案例對(duì)應(yīng)的解決方案,一對(duì)多的關(guān)系,包含的屬性有:ID,源案例ID,機(jī)床部件ID,操作內(nèi)容,圖片路徑。
5)機(jī)床部件:是將數(shù)控機(jī)床按結(jié)構(gòu)進(jìn)行分解,每一部件都有相應(yīng)的圖片,包含的屬性有:ID,機(jī)床類型,部件名稱,圖片路徑,縮略圖路徑。
6)案例統(tǒng)計(jì):記錄用戶調(diào)用源案例排除故障效果的反饋情況,包含的屬性有:ID,源案例ID,用戶ID,創(chuàng)建日期,用戶評(píng)價(jià)。
2.1.2 知識(shí)庫實(shí)體關(guān)系設(shè)計(jì)
從系統(tǒng)需求找出知識(shí)庫的實(shí)體類型之后,下面對(duì)各實(shí)體之間的關(guān)系性進(jìn)行論述。
實(shí)體與其他實(shí)體之間,是通過ID來建立關(guān)系的,ID在數(shù)據(jù)庫中是唯一的。比如源案例ID在解決方案信息表中,因此關(guān)聯(lián)了源案例和解決方案兩個(gè)實(shí)體。由報(bào)警號(hào)碼開始建立實(shí)體關(guān)系,因?yàn)閳?bào)警號(hào)碼與源案例之間是多對(duì)多的關(guān)系,為了減少數(shù)據(jù)冗余,創(chuàng)建報(bào)警號(hào)碼與源案例的關(guān)系來將報(bào)警號(hào)碼和源案例相連,再由源案例匹配到相應(yīng)的解決方案,并最終通過機(jī)床部件展示給用戶;同時(shí),為了記錄用戶的評(píng)價(jià)反饋,將源案例和案例統(tǒng)計(jì)關(guān)聯(lián)起來。至此,知識(shí)庫的實(shí)體關(guān)系設(shè)計(jì)完成,如圖3所示。
圖3 知識(shí)庫實(shí)體關(guān)系E-R圖
2.1.3 知識(shí)庫邏輯結(jié)構(gòu)設(shè)計(jì)
在上述實(shí)體關(guān)系結(jié)構(gòu)的基礎(chǔ)上,就可以進(jìn)行知識(shí)庫的邏輯結(jié)構(gòu)設(shè)計(jì),由于篇幅限制這里不再展開論述,具體可參見2.1.1節(jié)。
該功能模塊是整個(gè)系統(tǒng)的初始環(huán)節(jié),為其他功能模塊的工作提供數(shù)據(jù)支持,是其他模塊的基礎(chǔ),其中包括故障信息獲取和故障信息文件XML分析等兩個(gè)主要子模塊,其工作流程如圖4所示。
要獲取故障信息,不僅要實(shí)現(xiàn)遠(yuǎn)程連接,還要實(shí)現(xiàn)PC和數(shù)控系統(tǒng)之間的通信連接。遠(yuǎn)程連接是基于Internet,因此選用HTTP協(xié)議 (Hypertext transfer protocol),可以很簡單地通過因特網(wǎng)傳送Web文檔的數(shù)據(jù);PC和數(shù)控系統(tǒng)之間的通信實(shí)際是Windows和Linux兩個(gè)不同的操作系統(tǒng)之間的通信,采用XML文件就可以方便地實(shí)現(xiàn)。獲取XML文件以后,專家對(duì)其進(jìn)行解析,得到相應(yīng)數(shù)據(jù)存入數(shù)據(jù)庫。
圖4 信息采集流程圖
本文所研究的數(shù)控機(jī)床故障診斷專家系統(tǒng)的基礎(chǔ)在于數(shù)控系統(tǒng)監(jiān)控機(jī)床狀態(tài)所產(chǎn)生的報(bào)警號(hào)碼并輔之以機(jī)床信號(hào)和現(xiàn)象來進(jìn)行判斷,故本模塊采用基于案例的推理技術(shù)。首先,根據(jù)故障案例的故障特征對(duì)源案例庫進(jìn)行初步檢索,形成初步的候選解案例集;再調(diào)用推理機(jī),對(duì)其中的每一個(gè)源案例計(jì)算整體相似度;然后,對(duì)所有參與匹配的源案例的整體相似度降序排列,返回整體相似度大于事先設(shè)定的閥值的解案例;在有解案例的情況下,根據(jù)從XML文件中解析出的機(jī)床信息,調(diào)整當(dāng)前解案例的解決方案,使其適用于當(dāng)前的機(jī)床故障,即案例調(diào)整;最后,將調(diào)整后的較完整的解決方案返回給終端用戶。
本文設(shè)計(jì)開發(fā)的故障診斷專家系統(tǒng)具有三種不同的人機(jī)交互界面,分別面向終端用戶、領(lǐng)域?qū)<液拖到y(tǒng)管理員,如圖5所示。系統(tǒng)是基于B/S架構(gòu),用戶主要通過連接遠(yuǎn)程服務(wù)器登錄在網(wǎng)頁中瀏覽,在診斷過程中網(wǎng)頁端與服務(wù)器端數(shù)據(jù)交流頻繁,要求數(shù)據(jù)具有動(dòng)態(tài)性和實(shí)時(shí)性,因此采用ASP.NET來開發(fā)人機(jī)交互界面[6,7]。ASP.NET與.NET Framework是集成的,因?yàn)锳SP.NET是.NET Framework的一部分,整個(gè)平臺(tái)的功能和靈活性對(duì)Web應(yīng)用程序都是可用的。也可從Web上流暢地訪問.NET類庫以及消息和數(shù)據(jù)訪問解決方案。另外,ASP.NET應(yīng)用程序采用頁面脫離代碼技術(shù),編寫調(diào)試簡單,運(yùn)行性能高。更重要的一點(diǎn)在于,ASP.NET可以根據(jù)客戶端遵循的HTML標(biāo)準(zhǔn)的不同,生成符合客戶端的頁面,即支持任何瀏覽器,因此本文可以使用相同的編程技術(shù)來開發(fā)專家系統(tǒng)的移動(dòng)設(shè)備界面,如手機(jī)和pad頁面。
圖5 人機(jī)交互界面
本文的研究是基于為采用西門子SINUMERIC 808D數(shù)控系統(tǒng)的機(jī)床開發(fā)一套用于故障診斷的專家系統(tǒng)。下面利用SINUMERIC 808D數(shù)控系統(tǒng)實(shí)驗(yàn)臺(tái)架,模擬一組多報(bào)警號(hào)碼的故障診斷實(shí)例。圖6是當(dāng)出現(xiàn)700019和700018兩個(gè)報(bào)警號(hào)碼時(shí)的故障診斷界面,可見診斷結(jié)果出現(xiàn)兩個(gè)匹配案例,并按相似度的大小降序排列,點(diǎn)擊“Operation”按鈕進(jìn)入解決方案頁面,如圖所示,按照解決方案操作,找到機(jī)床的冷卻液箱、添加冷卻液、點(diǎn)擊“Reset”按鈕,則報(bào)警解除,成功排除機(jī)床故障。
圖6 故障診斷界面
圖7 故障診斷界面
傳統(tǒng)的專家系統(tǒng)直接將推理機(jī)輸出的診斷結(jié)果返回給用戶,導(dǎo)致難于理解。本系統(tǒng)采用一種圖形化向?qū)焦收吓懦呗?,可以更加直觀地引導(dǎo)操作者一步步解決問題。當(dāng)獲取到故障診斷結(jié)果后,系統(tǒng)自動(dòng)搜索相應(yīng)的故障圖片,并自動(dòng)定義故障點(diǎn)在屏幕上的坐標(biāo)點(diǎn),然后調(diào)用故障點(diǎn)閃爍程序并顯示在相應(yīng)圖片上,最后在屏幕上顯示出故障部位圖。圖形化故障排除向?qū)в闪鶄€(gè)部分組成:導(dǎo)航按鈕,步驟索引,進(jìn)度條,故障診斷操作,機(jī)床結(jié)構(gòu)圖片,故障閃爍點(diǎn)。如圖7所示。
本文討論了數(shù)控機(jī)床圖形化故障診斷專家系統(tǒng)的開發(fā)與實(shí)現(xiàn),重點(diǎn)討論了知識(shí)庫的結(jié)構(gòu)、信息采集模塊、故障診斷模塊、人機(jī)交互界面,在此基礎(chǔ)之上,使用C#語言進(jìn)行ASP.NET開發(fā),設(shè)計(jì)并實(shí)現(xiàn)了故障診斷專家系統(tǒng),最后通過對(duì)實(shí)際CNC報(bào)警的故障診斷驗(yàn)證了系統(tǒng)的有效性。
[1] 翟鵬,史鐵林. 數(shù)控機(jī)床故障診斷專家系統(tǒng)的設(shè)計(jì)[J].振動(dòng).測(cè)試與診斷,1997,17(2):36-41.
[2] 王芙蓉. 機(jī)床液壓系統(tǒng)故障診斷專家系統(tǒng)的研究與開發(fā)[J].山東理工大學(xué)學(xué)報(bào) (自然科學(xué)版),2005,6:009.
[3] Ao M Y,Zhao Y.The Research Status and Development Trend of Fault Diagnosis System for CNC Machine[J].Applied Mechanics and Materials, 2012,229:2229-2232.
[4] 鄂加強(qiáng),龔金科,王耀南,等.特種車輛柴油發(fā)動(dòng)機(jī)故障診斷專家系統(tǒng)推理機(jī)設(shè)計(jì)[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2006,32(5):46-51.
[5] 崔敬東,高慶成. SQL Server 2005數(shù)據(jù)庫技術(shù)與應(yīng)用實(shí)用教程[M].北京:清華大學(xué)出版社,2012.
[6] 賽奎春,顧彥玲.ASP.NET項(xiàng)目開發(fā)全程實(shí)錄 [M].北京:清華大學(xué)出版社,2013.
[7] 王騫,陳宇,管馬舟.C#程序設(shè)計(jì)經(jīng)典300例[M].北京:電子工業(yè)出版社,2013.