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