王家海 劉旭超 彭劼?lián)P
摘要:數(shù)控機(jī)床在制造領(lǐng)域有著舉足輕重的地位,由于故障復(fù)雜多樣,能快速定位故障原因的經(jīng)驗(yàn)豐富的工程師比較稀缺。本文以數(shù)控機(jī)床故障診斷專(zhuān)家知識(shí)為研究對(duì)象,提出合適的知識(shí)表達(dá)結(jié)構(gòu),使之結(jié)構(gòu)化以便于提高檢索效率及后續(xù)的相似性推理;在對(duì)故障現(xiàn)象檢索的基礎(chǔ)上,應(yīng)用simrank算法根據(jù)故障現(xiàn)象與故障原因之間多對(duì)多的關(guān)系,推理得到不同故障現(xiàn)象之間的相似度,據(jù)此給出知識(shí)庫(kù)中的相應(yīng)解決方案。最終實(shí)現(xiàn)了基于西門(mén)子808d數(shù)控系統(tǒng)的機(jī)床故障診斷專(zhuān)家系統(tǒng)的開(kāi)發(fā)。
關(guān)鍵詞:數(shù)控機(jī)床;故障診斷;專(zhuān)家知識(shí);Simrank算法
中圖分類(lèi)號(hào):TH165 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)01-0001-03
0 引言
數(shù)控機(jī)床是機(jī)加工領(lǐng)域的重要生產(chǎn)設(shè)備,發(fā)生故障會(huì)嚴(yán)重打亂生產(chǎn)節(jié)奏。有研究表明,在排除故障時(shí),要找出故障原因所花費(fèi)的時(shí)間遠(yuǎn)大于維修過(guò)程,而且需要經(jīng)驗(yàn)豐富的工程師才可以。為了實(shí)現(xiàn)對(duì)數(shù)控機(jī)床的最大化利用,通過(guò)信息技術(shù)使普通維修人員可以借鑒專(zhuān)家經(jīng)驗(yàn),實(shí)現(xiàn)對(duì)故障原因的快速定位。
近年來(lái),國(guó)內(nèi)外對(duì)于數(shù)控機(jī)床故障診斷投入了大量的研究,主要方法有專(zhuān)家系統(tǒng)法,故障樹(shù)分析法和模糊集合論等方法。專(zhuān)家系統(tǒng)是根據(jù)專(zhuān)家經(jīng)驗(yàn)知識(shí)以及分析問(wèn)題的思維方式,建立故障診斷知識(shí)庫(kù)和推理機(jī)來(lái)協(xié)助故障診斷。故障樹(shù)分析法是將系統(tǒng)故障產(chǎn)生原因由總體至局部按樹(shù)狀逐漸細(xì)分的分析方法[1]。黃江濤等[2]根據(jù)故障樹(shù)分析法的理論基礎(chǔ),設(shè)計(jì)了遞歸算法、基于BDD圖求解MCS算法及模塊化分解算法,并以數(shù)控機(jī)床急停實(shí)例分析了算法流程。模糊推理則以模糊集合論為基礎(chǔ),解決了故障傳播和診斷過(guò)程的不確定性,但在以模糊邏輯為基礎(chǔ)的故障診斷中建立隸屬函數(shù)和模糊規(guī)則較困難,從而降低了結(jié)果的可信度[3]。
基于以上調(diào)研,本文以西門(mén)子808D數(shù)控系統(tǒng)的診斷知識(shí)為研究對(duì)象,本文提出了基于本體的七層知識(shí)體系結(jié)構(gòu)作為故障診斷專(zhuān)家知識(shí)的表示方法,并用simrank算法作為專(zhuān)家系統(tǒng)案例檢索算法,最終開(kāi)發(fā)了相應(yīng)的故障診斷專(zhuān)家系統(tǒng)。
1 數(shù)控機(jī)床故障診斷知識(shí)結(jié)構(gòu)分析與構(gòu)建
為了統(tǒng)計(jì)數(shù)控機(jī)床的故障[4],本文收集了應(yīng)用西門(mén)子808D數(shù)控系統(tǒng)的機(jī)床產(chǎn)生的3000多例故障信息,并對(duì)此進(jìn)行整理分類(lèi)。從整理結(jié)果看,數(shù)控機(jī)床常見(jiàn)故障有系統(tǒng)故障、輸入輸出設(shè)備故障、伺服系統(tǒng)故障等。以數(shù)控系統(tǒng)故障為例,部分如表1所示。
通過(guò)對(duì)案例的分析,項(xiàng)目以七層知識(shí)體系結(jié)構(gòu)構(gòu)建了一個(gè)故障診斷知識(shí)體系:系統(tǒng)、子系統(tǒng)、故障部位、故障描述、故障原因、故障現(xiàn)象、解決方案,如圖1所示。優(yōu)勢(shì)在于網(wǎng)絡(luò)化、結(jié)構(gòu)化的案例數(shù)據(jù)可以增強(qiáng)故障診斷的解釋性能,便于推理故障的發(fā)生原因。
2 故障案例檢索算法研究
本文采用SimRank 算法對(duì)知識(shí)庫(kù)診斷案例中的故障現(xiàn)象和故障原因之間的多對(duì)多的關(guān)系進(jìn)行自動(dòng)分析,以推理估算得到某一故障現(xiàn)象的相關(guān)故障現(xiàn)象及相應(yīng)的相似度,來(lái)實(shí)現(xiàn)已知故障現(xiàn)象的擴(kuò)展后再匹配出數(shù)據(jù)庫(kù)中的相關(guān)案例,提高結(jié)果的全面性。SimRank算法[5]是基于圖論的基本知識(shí)來(lái)計(jì)算任意多個(gè)對(duì)象之間的相似度的一種算法,把對(duì)象與對(duì)象之間的關(guān)系用一個(gè)二部圖來(lái)表示,如圖2所示。對(duì)于二部圖結(jié)構(gòu)的節(jié)點(diǎn)集合來(lái)說(shuō),分為故障現(xiàn)象集和故障原因集兩個(gè)子集,且子集內(nèi)部沒(méi)有連線(xiàn)。對(duì)于兩子集內(nèi)的節(jié)點(diǎn)來(lái)說(shuō),節(jié)點(diǎn)之間的相似度計(jì)算公式分別如公式①和公式②所示。
(1)
(2)
其中,S(A,B)表示節(jié)點(diǎn)A和節(jié)點(diǎn)B間的相似度,從公式①可以看出S(A,B)取決于所有與A,B相連接的對(duì)象之間的相似度。
計(jì)算故障現(xiàn)象之間的相似度的具體流程如下:①整理所有的故障現(xiàn)象和原因,構(gòu)建故障現(xiàn)象和故障原因的關(guān)系圖;②初始條件:節(jié)點(diǎn)與自身的相似度為1,與同一子集內(nèi)的其余的相似度為0;③通過(guò)公式(1)由故障原因之間的相似度值來(lái)計(jì)算故障現(xiàn)象之間的相似度值;④ 通過(guò)公式(2)由故障現(xiàn)象之間的相似度值來(lái)計(jì)算故障原因之間的相似度值;⑤重復(fù)步驟③和④,迭代k次之后可以得到一個(gè)包含故障現(xiàn)象集中所有節(jié)點(diǎn)之間的相似度的矩陣。
接下來(lái)驗(yàn)證將SimRank算法應(yīng)用于故障現(xiàn)象之間相似度計(jì)算的可行性。實(shí)驗(yàn)測(cè)試數(shù)據(jù)如圖3,作為SimRank算法的輸入。其中,A代表故障現(xiàn)象A,a表示故障原因a。
當(dāng)總迭代次數(shù)k=11時(shí),以迭代次數(shù)為橫坐標(biāo),以?xún)蓚€(gè)節(jié)點(diǎn)之間的相似度為縱坐標(biāo),生成各系列的相似度隨迭代次數(shù)的變化曲線(xiàn)如圖4。其中,A-B代表現(xiàn)象A和現(xiàn)象B的相似度,a-b代表原因a和原因b的相似度;由于曲線(xiàn)A-B與曲線(xiàn)B-C重合,故僅一條可見(jiàn)。
由圖可知:最終結(jié)果中,Sim(A-C)>Sim(A-B)=Sim(B-C),Sim(a-b)>Sim(a-c)>Sim(b-c),與我們對(duì)圖3的網(wǎng)絡(luò)拓?fù)鋱D的直觀(guān)感受一致,即:現(xiàn)象A和C有更多個(gè)共同連接的故障原因,所以與A-B、B-C相比,A-C之間的相似度應(yīng)該較大;原因a和b有更多個(gè)共同連接的故障現(xiàn)象,所以a-b的相似度應(yīng)該較大。因此用simrank算法計(jì)算故障現(xiàn)象之間的相似度可行。
3 專(zhuān)家知識(shí)診斷系統(tǒng)的實(shí)現(xiàn)
使用專(zhuān)家系統(tǒng)進(jìn)行故障診斷的流程圖如圖5所示。具體診斷流程描述如下:①首先,由用戶(hù)輸入故障信息(如“換刀”),系統(tǒng)彈出一系列故障現(xiàn)象供用戶(hù)選擇,如圖6,此處勾選“換刀異?!?;②系統(tǒng)應(yīng)用simrank算法推理得出與所選現(xiàn)象相似度高的其他現(xiàn)象供用戶(hù)再次選擇,得到相關(guān)故障現(xiàn)象集如圖7;③系統(tǒng)根據(jù)相關(guān)故障現(xiàn)象集來(lái)搜索相關(guān)故障案例,并依據(jù)與初次選擇的故障現(xiàn)象之間的相似度來(lái)決定案例的重要程度,排序后反饋給用戶(hù)。
4 結(jié)語(yǔ)
本文對(duì)數(shù)控機(jī)床故障診斷現(xiàn)狀進(jìn)行了調(diào)研,針對(duì)存在的問(wèn)題,對(duì)故障診斷專(zhuān)家知識(shí)的表示以及對(duì)故障現(xiàn)象擴(kuò)展推理的方法進(jìn)行了研究,主要成果如下:①?gòu)脑嫉墓收习咐蟹治稣?,提出?shù)控機(jī)床故障診斷知識(shí)的七層網(wǎng)絡(luò)結(jié)構(gòu),使知識(shí)表達(dá)層次簡(jiǎn)明,利于后續(xù)專(zhuān)家經(jīng)驗(yàn)的處理與調(diào)用;②在對(duì)故障現(xiàn)象檢索的基礎(chǔ)上,應(yīng)用simrank算法根據(jù)故障現(xiàn)象與故障原因之間多對(duì)多的關(guān)系,推理得到不同故障現(xiàn)象之間的相似度,實(shí)現(xiàn)相關(guān)的故障現(xiàn)象推薦功能;③以C#+ASP.NET為開(kāi)發(fā)平臺(tái),應(yīng)用SQL數(shù)據(jù)庫(kù)完成了專(zhuān)家系統(tǒng)各模塊的開(kāi)發(fā)。項(xiàng)目開(kāi)發(fā)的專(zhuān)家系統(tǒng)能提升故障案例的檢索效率和查全率,提高了維修員的工作效率。
參考文獻(xiàn)
[1] Liu Y, Fan Z P, Yuan Y, et al. A FTA-Based Method for Risk Decision Making in Emergency.
[2] Response[J].Computers & Operations Research,2011,42(2):608-612.
[3] 黃江濤,王家海,文劍飛等.基于故障樹(shù)的數(shù)控機(jī)床故障診斷算法設(shè)計(jì)的研究[J].機(jī)床 與液壓,2014(06):32-36.
[4] 趙太平. CAK6150數(shù)控車(chē)床故障診斷系統(tǒng)的研究:[碩士學(xué)位論文].上海:上海交通大學(xué),2007.
[5] 劉恒,寇月,申德榮,等.基于隨機(jī)游走路徑的分布式SimRank算法[J].計(jì)算機(jī)科學(xué)與探索,2014,8(12):1422-1431.
Abstract:CNC machine tools play an important role in the field of manufacturing. Because of the complexity and diversity of faults, experienced engineers who can quickly locate the causes of faults are scarce. This paper takes fault diagnosis expert knowledge of CNC machine tools as the research object, puts forward appropriate knowledge expression structure, which is structured to improve retrieval efficiency and follow-up similarity reasoning. On the basis of fault phenomena retrieval, simrank algorithm is applied to infer the similarity between different fault phenomena according to the many-to-many relationship between fault phenomena and fault causes. The corresponding solutions in the knowledge base are given. Finally, the development of machine tool fault diagnosis expert system based on Siemens 808d NC system is realized.
Key words:CNC machine tools;fault diagnosis;expert knowledge;Simrank algorithm