王家海 劉旭超 彭劼揚
摘要:數控機床在制造領域有著舉足輕重的地位,由于故障復雜多樣,能快速定位故障原因的經驗豐富的工程師比較稀缺。本文以數控機床故障診斷專家知識為研究對象,提出合適的知識表達結構,使之結構化以便于提高檢索效率及后續的相似性推理;在對故障現象檢索的基礎上,應用simrank算法根據故障現象與故障原因之間多對多的關系,推理得到不同故障現象之間的相似度,據此給出知識庫中的相應解決方案。最終實現了基于西門子808d數控系統的機床故障診斷專家系統的開發。
關鍵詞:數控機床;故障診斷;專家知識;Simrank算法
中圖分類號:TH165 文獻標識碼:A 文章編號:1007-9416(2019)01-0001-03
0 引言
數控機床是機加工領域的重要生產設備,發生故障會嚴重打亂生產節奏。有研究表明,在排除故障時,要找出故障原因所花費的時間遠大于維修過程,而且需要經驗豐富的工程師才可以。為了實現對數控機床的最大化利用,通過信息技術使普通維修人員可以借鑒專家經驗,實現對故障原因的快速定位。
近年來,國內外對于數控機床故障診斷投入了大量的研究,主要方法有專家系統法,故障樹分析法和模糊集合論等方法。專家系統是根據專家經驗知識以及分析問題的思維方式,建立故障診斷知識庫和推理機來協助故障診斷。故障樹分析法是將系統故障產生原因由總體至局部按樹狀逐漸細分的分析方法[1]。黃江濤等[2]根據故障樹分析法的理論基礎,設計了遞歸算法、基于BDD圖求解MCS算法及模塊化分解算法,并以數控機床急停實例分析了算法流程。模糊推理則以模糊集合論為基礎,解決了故障傳播和診斷過程的不確定性,但在以模糊邏輯為基礎的故障診斷中建立隸屬函數和模糊規則較困難,從而降低了結果的可信度[3]。
基于以上調研,本文以西門子808D數控系統的診斷知識為研究對象,本文提出了基于本體的七層知識體系結構作為故障診斷專家知識的表示方法,并用simrank算法作為專家系統案例檢索算法,最終開發了相應的故障診斷專家系統。
1 數控機床故障診斷知識結構分析與構建
為了統計數控機床的故障[4],本文收集了應用西門子808D數控系統的機床產生的3000多例故障信息,并對此進行整理分類。從整理結果看,數控機床常見故障有系統故障、輸入輸出設備故障、伺服系統故障等。以數控系統故障為例,部分如表1所示。
通過對案例的分析,項目以七層知識體系結構構建了一個故障診斷知識體系:系統、子系統、故障部位、故障描述、故障原因、故障現象、解決方案,如圖1所示。優勢在于網絡化、結構化的案例數據可以增強故障診斷的解釋性能,便于推理故障的發生原因。
2 故障案例檢索算法研究
本文采用SimRank 算法對知識庫診斷案例中的故障現象和故障原因之間的多對多的關系進行自動分析,以推理估算得到某一故障現象的相關故障現象及相應的相似度,來實現已知故障現象的擴展后再匹配出數據庫中的相關案例,提高結果的全面性。SimRank算法[5]是基于圖論的基本知識來計算任意多個對象之間的相似度的一種算法,把對象與對象之間的關系用一個二部圖來表示,如圖2所示。對于二部圖結構的節點集合來說,分為故障現象集和故障原因集兩個子集,且子集內部沒有連線。對于兩子集內的節點來說,節點之間的相似度計算公式分別如公式①和公式②所示。
(1)
(2)
其中,S(A,B)表示節點A和節點B間的相似度,從公式①可以看出S(A,B)取決于所有與A,B相連接的對象之間的相似度。
計算故障現象之間的相似度的具體流程如下:①整理所有的故障現象和原因,構建故障現象和故障原因的關系圖;②初始條件:節點與自身的相似度為1,與同一子集內的其余的相似度為0;③通過公式(1)由故障原因之間的相似度值來計算故障現象之間的相似度值;④ 通過公式(2)由故障現象之間的相似度值來計算故障原因之間的相似度值;⑤重復步驟③和④,迭代k次之后可以得到一個包含故障現象集中所有節點之間的相似度的矩陣。
接下來驗證將SimRank算法應用于故障現象之間相似度計算的可行性。實驗測試數據如圖3,作為SimRank算法的輸入。其中,A代表故障現象A,a表示故障原因a。
當總迭代次數k=11時,以迭代次數為橫坐標,以兩個節點之間的相似度為縱坐標,生成各系列的相似度隨迭代次數的變化曲線如圖4。其中,A-B代表現象A和現象B的相似度,a-b代表原因a和原因b的相似度;由于曲線A-B與曲線B-C重合,故僅一條可見。
由圖可知:最終結果中,Sim(A-C)>Sim(A-B)=Sim(B-C),Sim(a-b)>Sim(a-c)>Sim(b-c),與我們對圖3的網絡拓撲圖的直觀感受一致,即:現象A和C有更多個共同連接的故障原因,所以與A-B、B-C相比,A-C之間的相似度應該較大;原因a和b有更多個共同連接的故障現象,所以a-b的相似度應該較大。因此用simrank算法計算故障現象之間的相似度可行。
3 專家知識診斷系統的實現
使用專家系統進行故障診斷的流程圖如圖5所示。具體診斷流程描述如下:①首先,由用戶輸入故障信息(如“換刀”),系統彈出一系列故障現象供用戶選擇,如圖6,此處勾選“換刀異常”;②系統應用simrank算法推理得出與所選現象相似度高的其他現象供用戶再次選擇,得到相關故障現象集如圖7;③系統根據相關故障現象集來搜索相關故障案例,并依據與初次選擇的故障現象之間的相似度來決定案例的重要程度,排序后反饋給用戶。
4 結語
本文對數控機床故障診斷現狀進行了調研,針對存在的問題,對故障診斷專家知識的表示以及對故障現象擴展推理的方法進行了研究,主要成果如下:①從原始的故障案例中分析整理,提出數控機床故障診斷知識的七層網絡結構,使知識表達層次簡明,利于后續專家經驗的處理與調用;②在對故障現象檢索的基礎上,應用simrank算法根據故障現象與故障原因之間多對多的關系,推理得到不同故障現象之間的相似度,實現相關的故障現象推薦功能;③以C#+ASP.NET為開發平臺,應用SQL數據庫完成了專家系統各模塊的開發。項目開發的專家系統能提升故障案例的檢索效率和查全率,提高了維修員的工作效率。
參考文獻
[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] 黃江濤,王家海,文劍飛等.基于故障樹的數控機床故障診斷算法設計的研究[J].機床 與液壓,2014(06):32-36.
[4] 趙太平. CAK6150數控車床故障診斷系統的研究:[碩士學位論文].上海:上海交通大學,2007.
[5] 劉恒,寇月,申德榮,等.基于隨機游走路徑的分布式SimRank算法[J].計算機科學與探索,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