沈 斌 孫 翔 趙淑玉
(同濟大學中德學院,上海201804)
數控機床作為機電一體化的精密制造設備,復雜性與精密性不斷提高,從而導致一旦發(fā)生故障,其故障診斷及排除難度明顯高于普通機械設備,長時間停機給企業(yè)造成巨大的經濟損失。因此,如何在數控機床出現(xiàn)故障時,進行快速診斷及維修就變得非常重要[1]。
眾多學者對故障診斷技術做了深入的研究,其發(fā)展過程可分為常規(guī)診斷技術階段和智能診斷技術階段。常規(guī)診斷技術以信號處理技術為手段,自動采集和分析相關的信號,再由有經驗的工程技術人員結合經驗知識,對故障發(fā)生的原因和部位進行判斷。趙洋[2]提出根據高壓真空斷路器的機械振動信號特征來進行故障診斷。Al-Arbi[3]同樣提出一種新穎的診斷方法,通過對振動信號的測量來實現(xiàn)對齒輪箱故障的遠程定位。雖然常規(guī)診斷技術的發(fā)展比較成熟,但是它以數據處理為核心,主要側重信號的檢測和分析,其診斷功能較弱,無法滿足復雜設備故障診斷的需要。在此基礎上,以知識處理為核心的智能診斷技術逐漸發(fā)展起來。智能診斷技術可以分為故障樹分析法、基于規(guī)則的推理診斷技術、神經網絡診斷技術、基于案例的推理診斷技術等。故障樹分析法應用比較廣泛,楊曾芳等[4]通過把系統(tǒng)功能進行層次分解建立故障樹。這種方法類似于人類的思維方式,易于理解,但是對于數控機床這種非常復雜的系統(tǒng)而言,要想獲得正確且全面的故障樹非常困難,因此在實際應用中大多與其他方法結合使用。規(guī)則診斷方法是知識診斷中最常用的一種方法,該方法將領域專家的經驗知識表達成IF<條件>THEN <結論>的規(guī)則形式,根據一定的可信度算法搜索規(guī)則庫中最匹配的規(guī)則來實現(xiàn)快速診斷。但是該方法存在知識獲取困難、知識庫難以維護、推理能力脆弱等局限性。也有學者[5-6]提出神經網絡診斷技術,能夠應用于復雜系統(tǒng),但需要大量的訓練樣本,且訓練耗時較長,收斂速度也較慢,缺乏有效的追加學習能力。王國鋒等[7]將基于案例推理的診斷技術引入到導彈故障專家系統(tǒng)的設計中,使診斷推理實現(xiàn)了高效率和高質量。
據此,本文提出一種面向數控機床故障診斷的基于報警號碼的診斷方法,對傳統(tǒng)的案例相似度算法進行改進,引入了報警號碼缺失因子和動態(tài)權重,從而提高了故障診斷的正確性和實用性。
案例推理技術[8](case - based reasoning,簡稱CBR)是人工智能領域中崛起的一種重要的基于知識的問題求解和學習方法,其核心思想是用過去的事例和經驗來解決當前的問題。CBR 本質上是一種基于記憶的推理,符合人的認知過程,即直接根據過去的案例經驗解決新問題,減輕了知識獲取的負擔,求解速度快。CBR 解決問題的基本流程為:一個待解決的新問題出現(xiàn),這個就是目標案例;利用目標案例的描述信息查詢過去相似的案例,即對案例庫進行檢索,得到與目標案例相類似的源案例,由此獲得對新問題的一些解決方案;如果這個解決方案失敗將對其進行調整,以獲得一個能保存的成功案例。這個過程結束后,可以獲得目標案例較完整的解決方案;若源案例未能給出正確合適的解,則通過案例調整并保存可以獲得一個新的源案例。當前學術界普遍認可的觀點是CBR 過程可以劃分為4 個主要階段:案例檢索(retrieve),案例重用(reuse),案例修正(revise)和案例保存(retain),這就是Aamodt 與Plaza 提出的著名的“4R”循環(huán),其處理流程如圖1 所示。
案例檢索是CBR 的關鍵內容,目的是根據目標案例的特征描述,從案例庫中查找與之最相似的案例,其算法的優(yōu)劣直接影響CBR 系統(tǒng)的檢索精度和檢索速度,進而影響整個CBR 系統(tǒng)的優(yōu)劣。
最近相鄰法(nearest -neighbor approach,NNA)是最常用的案例檢索方法。它把發(fā)生的當前案例(目標案例)與案例庫中的歷史案例(源案例)進行比較,求出案例間的相似度,將相似度超過閾值的歷史案例返回給用戶。假設每個案例包含n 個特征,當前案例C0=[c0(1),c0(2),…,c0(n)],歷史案例Ci(i=1,2,…,m)可用一個m×n 維向量表示:
ci( j )(i=0,1,2,…,m,j=0,1,2,…,n )是 案 例Ci的第j 個特征的取值,案例相似度(global similarity)定義如下:
式中:0 ≤SIM ( C0,C)i ≤1;wk>表示案例中第k 個特征的權重值,且表示當前案例與歷史案例在特征級上的相似度,即局部相似度(local similarity)。
式中:range(c(k))表示第k 個特征的取值范圍;表示當前案例C0與歷史案例Ci的第k 個特征的不相似度。
本文所研究的數控機床故障診斷的基礎在于數控系統(tǒng)監(jiān)控機床狀態(tài)所產生的報警號碼并輔之以機床信號和現(xiàn)象來進行判斷。在數控機床故障診斷中,最開始的依據就是數控系統(tǒng)產生的報警號碼,如何由報警號碼進行故障案例匹配正是本節(jié)所研究的內容。本文針對數控機床故障診斷的特點,對傳統(tǒng)的最近相鄰算法做出了相應改進,提出了基于報警號碼的相似度算法模型。
目標案例T 與案例庫中源案例R,T 中含有m 個報警號碼,即,R 中含有n 個報警號碼,即則T 與R 之間的相似度算法模型定義為:
式中:η 表示案例T 與R 的報警號碼缺失因子,描述了兩個案例的報警號碼的差異對于相似度的影響;l 是案例T 與R 中相同的報警號碼的個數;ω 為報警號碼的動態(tài)權重;φ 為報警號碼的靜態(tài)權重;sim (ti,ri) 表示案例T 與R 在同一個報警號碼上的局部相似度。
一條案例可被視為由一組特征-值對(feature -value pairs)構成的集合。從公式(1)中可以看到,傳統(tǒng)的最近相鄰算法,前提是案例中的特征-值對信息必須完整且一一對應,而機床故障診斷的實際情況是,進行比較的兩個案例由不同的報警號組成,且報警號沒有具體取值。據此,本文考慮將不同的報警號剔除,使其不參與相似度的計算,同時引入報警號碼缺失因子η,來平衡剔除權重較高的報警號碼對相似度計算結果的客觀性和正確性造成的影響。
案例T 和R 中分別含有m 和n 個報警號,這些報警號可以分為三類:
T 中有R 中沒有的報警號,其動態(tài)權重和記為G1;
R 中有T 中沒有的報警號,其動態(tài)權重和記為G2;
T 和R 中都有的報警號,其動態(tài)權重和記為G3;
針對報警號碼沒有具體取值的問題,引入靜態(tài)權重φ 作為報警號碼的特征值。權重確定的研究已經比較成熟[9],主要有專家直接打分法(DDM)和層次分析法(AHP),這里采用三標度層次分析法來確定報警號碼的靜態(tài)權重。
將所有報警號碼分別按行和列構成一個矩陣,如表1 所示。領域專家根據三標度原則,對報警號碼進行兩兩比較并打分,再將報警號碼的得分按行求和,得到各報警號碼評分總和。最后,進行歸一化處理,求得各報警號碼的靜態(tài)權重值。
表1 報警號碼權重矩陣
設n 個報警號碼A1,A2,…,An按三標度原則兩兩比較打分,其得分值設為aij,本文設定的三標度原則是:
其中,aii=0.5,aij+aji=1,則報警號碼Ai的靜態(tài)權重φ 為:
靜態(tài)權重確定過程仍然需要專家的參與,因此,這樣產生的權重仍帶有不小的主觀性。而且靜態(tài)權重一旦確定,便被永久地固化在診斷系統(tǒng)中。而實際情況是,隨著解決故障的次數增加,相應的報警號碼的權重值應該變大,為此,本文引入了動態(tài)權重ω 的概念。
當出現(xiàn)一個多報警案例A1,A2,A3,…,An時,報警號碼Ai的動態(tài)權重計算式為:
式中:0≤ωi≤1;NAi表示報警號碼Ai的優(yōu)先數。
這里引入了報警號碼優(yōu)先數NA的概念。如圖2的案例模型層次圖所示,單個報警號碼會由多個可能的故障原因觸發(fā),單個故障原因又會有多個解決方案。NA為按照根節(jié)點為相應報警號碼的解決方案操作從而成功排除故障的次數,每成功排除一次故障,則對應報警號碼的NA值加1。所以在系統(tǒng)開始運行時,所有報警號碼的優(yōu)先數都為1,隨著排除故障的增多,相應報警號碼的NA也隨之增大,動態(tài)權重ω 也相應發(fā)生變化。
本文的研究基于為采用西門子SINUMERIC 808D數控系統(tǒng)的機床開發(fā)一套用于故障診斷的專家系統(tǒng),本系統(tǒng)基于Web 的用以實現(xiàn)數控機床的遠程故障診斷。為了驗證算法的有效性,利用SINUMERIC 808D數控系統(tǒng)實驗臺架,模擬一組多報警號碼的故障案例,如表2 所示,報警號碼的靜態(tài)權重已由式(6)求出。所有報警號碼的優(yōu)先數均可以從數據庫中讀出,如表3 所示。
表2 當前故障案例與歷史故障案例
表3 報警號碼優(yōu)先數
當數控系統(tǒng)產生一組報警號碼003000、700016、700018 和700019 時,這就代表當前故障案例Case0。假設案例庫中有4 個歷史故障案例Case1、Case2、Case3、Case4。接下來利用改進的基于報警號碼的相似度算法,逐條計算目標案例與源案例之間的相似度,從案例庫中檢索出最匹配的案例作為新問題的求解依據。
首先,計算所有報警號碼的動態(tài)權重,根據式(7):
同理可得:ω2=0.12,ω3=0.04,ω4=0.18,ω5=0.36。
從表1 可見,Case0 有Case1 沒有的報警號碼700019,Case1 有Case0 沒有的報警號碼為700059,故剔除這兩個報警號碼,根據式(5),可得兩個案例之間的報警號缺失因子:
下面計算Case0 和Case1 之間相同的報警號碼的局部相似度,由式(4):
最后,根據式(3)案例Case0 和Case1 的相似度為:
根據式(3)分別計算Case0 與其余各案例的相似度。
最終,案例相似度按大小排列結果如表4 所示。
表4 案例相似度排列順序表
可見,故障案例Case0 與案例Case2 的相似度最大,故根據Case2 所對應的解決方案操作,就最有可能排除當前機床故障,實現(xiàn)機床出現(xiàn)故障時的快速診斷維修。
在實際生產中,數控系統(tǒng)產生的報警號碼是進行數控機床故障診斷的重要依據。據此,本文提出一種改進的基于機床報警號碼的相似度算法具有其實用性。文中引入報警號缺失因子和動態(tài)權重的概念,使改進算法相較與傳統(tǒng)算法更具有客觀性和實用性,隨著診斷的進行,動態(tài)權重會發(fā)生變化,從而使診斷結果越來越準確。最后,通過實例驗證了改進算法的有效性。
[1]朱傳敏,周潤青,陳明,等. 故障樹與案例推理在數控機床故障診斷專家系統(tǒng)中的應用研究[J]. 制造業(yè)自動化,2011,33(10):21-24.
[2]趙洋,劉漢宇,曾慶軍. 基于機械振動信號的高壓真空斷路器故障診斷研究[J]. 高壓電器,2010,46(2):46 -51.
[3]Gu F S,Ball A,Al -Arbi S,et al. Gearbox fault diagnosis based on vibration signals measured remotely[J]. Key Engineering Materials,2009,413:175 -180.
[4]楊曾芳,呂希勝. 基于故障樹的數控機床故障診斷系統(tǒng)[J]. 科技創(chuàng)新導報,2012(18):68 -69.
[5]Mohamed E A,Abdelaziz A Y,Mostafa A S. A neural network-based scheme for fault diagnosis of power transformers[J]. Electric Power Systems Research,2005,75(1):29 -39.
[6]丁明軍,宋丹. 基于神經網絡的數控機床故障診斷專家系統(tǒng)[J].機電工程,2007,24(5):92 -94.
[7]王國鋒,張錫恩. 基于案例推理的導彈故障專家系統(tǒng)研究[J].Systems Engineering and Electronics,1999,21(8):32 -34.
[8]張子丹. 基于案例推理的數控機床故障診斷專家系統(tǒng)研究[D]. 上海:同濟大學,2013.
[9]申大鵬. 基于案例推理的往復壓縮機故障診斷專家系統(tǒng)研究[D].北京:北京化工大學,2012.