數(shù)控機床是機、電、液一體化的先進制造設(shè)備,其故障復雜、對維修人員要求高,傳統(tǒng)的維修方法很難實現(xiàn)快速而準確的定位故障,實現(xiàn)智能化診斷是大勢所趨。目前,以符號推理為基礎(chǔ)的專家系統(tǒng)在數(shù)控機床故障診斷方面已取得了較大進展,但仍遇到了一些困難,主要表現(xiàn)為知識獲取的“瓶頸”與邏輯推理的“組合爆炸”問題,即推斷效率低、適應能力差等。而神經(jīng)網(wǎng)絡(luò)則以其所特有的學習能力、聯(lián)想能力和知識獲取能力,能有效避免以上問題,但也存在著不能對自身推理方法進行解釋等問題。
本研究將神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)結(jié)合,開發(fā)了神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)。
1神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)結(jié)構(gòu)根據(jù)專家系統(tǒng)與神經(jīng)網(wǎng)絡(luò)相互結(jié)合方式的不同,基于神經(jīng)網(wǎng)絡(luò)的專家系統(tǒng)可分為串行式、并行式和混合式3種,本方案采用神經(jīng)網(wǎng)絡(luò)在前、專家系統(tǒng)在后的串行方式。“故障征兆獲取與處理模塊”負責機床中故障征兆信號采集,并經(jīng)適當?shù)奶幚砗笞鳛樯窠?jīng)網(wǎng)絡(luò)的輸入信號,神經(jīng)網(wǎng)絡(luò)則采用多層并行結(jié)構(gòu)來完成數(shù)控機床中多類故障類型的求解及推導,它接受規(guī)范化處理后的征兆信號輸入,給出處理后的結(jié)果,然后利用專家系統(tǒng)對其診斷結(jié)果進行驗證和解釋。
2。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及改進的算法2. 1BP神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)數(shù)控機床組成復雜,故障多樣化,既有電氣故障,又有機械故障,既有強電故障,又有弱電故障,需要許多測量點。因此,設(shè)計單一的網(wǎng)絡(luò)易引起網(wǎng)絡(luò)結(jié)構(gòu)龐大,訓練樣本增多,使網(wǎng)絡(luò)訓練難以進行;還會造成故障分類精度低,診斷結(jié)果不可靠。實際應用時采用了分層模塊化的設(shè)計方法,按數(shù)控機床的組成結(jié)構(gòu),分為伺服系統(tǒng)、PLC與電控系統(tǒng)、CNC系統(tǒng)及其他系統(tǒng)等4個診斷模塊,采用并聯(lián)組合方式,既提高了診斷速度和準確性,又可同時診斷多個故障。
神經(jīng)網(wǎng)絡(luò)采用目前應用較為成熟的BP網(wǎng)絡(luò),它是一種單向傳播的多層前向網(wǎng)絡(luò),網(wǎng)絡(luò)除輸入/輸出節(jié)點外,有一層或多層的隱含層節(jié)點。理論已經(jīng)證明:在隱含層節(jié)點數(shù)量可以根據(jù)實際需要進行自由設(shè)置的前提下,三層BP神經(jīng)網(wǎng)絡(luò)可實現(xiàn)以任意精度逼近任意連續(xù)函數(shù)的功能。因此,本研究采用標準的三層網(wǎng)絡(luò)拓撲結(jié)構(gòu)形式。
圖中,輸入層對應于故障現(xiàn)象,輸出層對應于故障原因。網(wǎng)絡(luò)中的相鄰層采用全互聯(lián)方式連接,同層各神經(jīng)元之間沒有任何連接,輸出層與輸入層之間也沒有直接的聯(lián)系。
2. 2神經(jīng)網(wǎng)絡(luò)改進算法針對傳統(tǒng)的BP網(wǎng)絡(luò)算法存在運算速度低、容易陷入局部極小點等問題,該神經(jīng)網(wǎng)絡(luò)模型的學習算法采用帶有沖量項的BP算法,網(wǎng)絡(luò)的訓練過程如下:(1)將各權(quán)值和閾值的初始值ωj(0) ,θj(0)置為小的非零隨機數(shù)。
?。?)輸入學習樣本:輸入向量X p( p = 1,2,…,P)和目標輸出T p( p = 1,2,…, P)。o pj = f j(∑ωi o i -θj)(1)(3)計算網(wǎng)絡(luò)的實際輸出及隱含單元的狀態(tài):o pj = f j(∑ωi o i -θj)式中,激發(fā)函數(shù)f為Sigmoid函數(shù),即f ( x) = 1 / (1 + exp( - x) )。
(4)計算訓練誤差:輸出層:δpj = o pj(1 - o pj) ( t pj - o pj)(2)隱含層:δpj = o pj(1 - o pj)∑kδpkωk(3)(5)修改權(quán)值和閾值:ωi( t + 1) =ωi(t) +ηδj o pj +α(ωi( t) -ωi( t - 1) )(4)θi( t + 1) =θi( t) +ηδj +α(θi( t) -θi( t - 1) )(5)式中η?學習步長,α?勢態(tài)項。
?。?)當p經(jīng)歷1~P后,判斷指標是否滿足精度要求E,這里E <ε。其中: E =∑E p, E p =∑(t pj - o pj)2 / 2,ε為精度。若滿足要求則轉(zhuǎn)到(7) ,否則轉(zhuǎn)到(3)。(7)停止,結(jié)束。
3診斷實例3. 1故障模式與故障分析本研究以SINUMER IK802C伺服驅(qū)動系統(tǒng)為例,比較典型的13種伺服故障模式和相應的故障原因分析,如所示。其他診斷模型方法與此類似。
輸入向量表示故障模式X,其中“1”表示故障,“0”表示正常。表中,與13個監(jiān)測點相應的故障點含義如下: X 1?伺服驅(qū)動電源故障; X 2?驅(qū)動未就緒; X 3?數(shù)控機床超程報警; X 4?數(shù)控機床找不到參考點; X 5?反饋回路故障; X 6?位置誤差過大報警; X 7?兩軸聯(lián)動時圓度超差; X 8?伺服系統(tǒng)過載報警; X 9?伺服系統(tǒng)過壓報警; X 10?發(fā)生漂移故障; X 11?機床爬行與振動; X 12?伺服電動機速度異常; X 13?伺服電動機不轉(zhuǎn)故障。
輸出向量表示故障原因分析結(jié)果Y,對應含義如下: Y 1?檢查交流電源(); Y 2?檢查直流電源; Y 3?檢查熔斷器、繼電器和空氣開關(guān)等; Y 4?檢查接線端子和連線; Y 5?檢查切屑負荷; Y 6?檢查數(shù)控系統(tǒng)設(shè)置的參數(shù); Y 7?檢查數(shù)控機床限位開關(guān)和零位開關(guān); Y 8?檢查伺服系統(tǒng)參數(shù); Y 9?檢查伺服系統(tǒng)硬件; Y 10?檢查反饋編碼器硬件; Y 11?檢查伺服電動機; Y 12?檢查機械傳動鏈部件。
3. 2仿真分析根據(jù)故障樣本表,可確定BP網(wǎng)絡(luò)的輸入層數(shù)為13,輸出層數(shù)為12,隱含層數(shù)根據(jù)經(jīng)驗取16,隱含層和輸出層神經(jīng)元的激勵函數(shù)選擇Sigmoid函數(shù),網(wǎng)絡(luò)訓練函數(shù)選擇traingdm函數(shù),用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱進行仿真訓練,并選取學習率lr =0. 5,動量因子m c = 0. 7,誤差e = 0. 000 1.其誤差變化曲線,經(jīng)過6 070次訓練,滿足要求。同時記錄各權(quán)值,以便神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)之用。
針對訓練好的網(wǎng)絡(luò)結(jié)構(gòu),輸入故障模式向量X = <1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 >進行驗證,實際輸出的故障分析向量Y = < 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 >,結(jié)果完全正確。經(jīng)過多次試驗,驗證了該模型符合診斷要求。
4結(jié)束語將神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)結(jié)合,應用于數(shù)控機床的故障診斷,是一種優(yōu)勢互補的智能診斷系統(tǒng)。根據(jù)神經(jīng)網(wǎng)絡(luò)采用巨量并行分布信息處理結(jié)構(gòu)的特點,還可采用超大規(guī)模的現(xiàn)場可編程門陣列(FPGA)集成電路制作診斷模塊,并將它當作一個專用電路嵌入到數(shù)控裝置中,從而實現(xiàn)數(shù)控機床的故障實時診斷。
相信這種基于專家系統(tǒng)與神經(jīng)網(wǎng)絡(luò)相融合的集成式故障診斷系統(tǒng),將是數(shù)控機床故障診斷智能化發(fā)展的一個趨勢。但隨著數(shù)控技術(shù)與機床的發(fā)展,故障會變得更復雜與多樣。如何采用分層結(jié)構(gòu),進一步把診斷子網(wǎng)細化,同時收集到足夠的學習樣本,保證診斷的準確率,將是今后研究的課題。