高連生 高山峰
(①北京航空航天大學(xué)機械工程及自動化學(xué)院,北京100191;②北京航空航天大學(xué)機械工程及自動化學(xué)院CNC-SRT實驗室,北京100191)
數(shù)控系統(tǒng)作為數(shù)控機床的重要組成部分,其可靠性直接關(guān)系到數(shù)控機床整機的可靠性水平[1]。對數(shù)控系統(tǒng)進行可靠性測試可以通過讓其運行數(shù)控代碼來實現(xiàn)。測試數(shù)控系統(tǒng)的運行狀態(tài)獲取其實際運行的試驗數(shù)據(jù)是數(shù)控系統(tǒng)可靠性測試的重要內(nèi)容。數(shù)控代碼記錄了數(shù)控加工的一切必要信息:工件的加工工藝順序,運動軌跡與方位,工藝參數(shù)(轉(zhuǎn)速、進給量和切削速度)以及輔助功能(換刀、變速和切削液開啟等)[2]。數(shù)控系統(tǒng)的運行過程就是數(shù)控代碼的執(zhí)行過程。本可靠性試驗采取無替換定時截尾的可靠性試驗統(tǒng)計方案,即各個數(shù)控系統(tǒng)在無故障不需要停機的情況下一直在同一個NC程序的驅(qū)動下按照NC程序的周期運行。同時可靠性試驗的數(shù)據(jù)采集系統(tǒng)也在馬不停蹄地按照預(yù)定的采集周期采集數(shù)控系統(tǒng)的運行狀態(tài)數(shù)據(jù)。因此隨著試驗的進行產(chǎn)生了大量的數(shù)據(jù),而在對數(shù)據(jù)進行分析時,是盲目的。例如對于某一天某一時間段內(nèi)的數(shù)據(jù),并不知道這段時間內(nèi)的數(shù)據(jù)與一個NC程序運行周期的關(guān)系,不知道該從何時開始對數(shù)據(jù)的分析才合適,所以在對數(shù)據(jù)進行分析時是盲目的。只有從大量數(shù)據(jù)中找到了某一個完整的運行周期的數(shù)據(jù),以這個周期為參照進行數(shù)據(jù)分析才是合適的。所以期望按照數(shù)控系統(tǒng)所運行的數(shù)控程序的周期一個周期一個周期的對數(shù)據(jù)進行處理,所以很有必要對這些數(shù)據(jù)進行周期識別。數(shù)控系統(tǒng)是在數(shù)控程序的驅(qū)動下運行的,所以周期識別依照的肯定是其運行的數(shù)控程序。通過對數(shù)控程序進行解析,提取其中的主軸和各個伺服進給軸一個程序運行周期的運行狀態(tài)來作為周期識別的參照,找到試驗數(shù)據(jù)中的某個周期。找到了某個周期可以從這個周期開始對試驗數(shù)據(jù)進行分析處理,可以得出每個周期中測試信號的特征。
周期識別其實就是通過建立合理的模型,然后提取一個周期的特征獲得相應(yīng)的特征參數(shù)的過程。石油大學(xué)的張來斌[3]等人在“柴油機缸蓋周期性振動信號的自相關(guān)周期識別”中,利用拓展的周期信號自相關(guān)函數(shù),實現(xiàn)了柴油機缸蓋振動信號類周期的識別和主要振動波形的提取。沈陽航空工業(yè)學(xué)院的盧艷軍[4]在“數(shù)控機床狀態(tài)監(jiān)測系統(tǒng)的研究”中,利用小波分析等信號處理技術(shù)和模式識別技術(shù)對數(shù)控機床的狀態(tài)監(jiān)測數(shù)據(jù)進行分析得出了監(jiān)測信號的特征。中南大學(xué)的羅永順[5]在“數(shù)控機床故障信號分析與特征提取”中使用Kalman濾波算法濾除了干擾振動信號;應(yīng)用Laplace小波相關(guān)濾波法提取齒輪和軸承故障參數(shù);并運用這兩種濾波方法對機床主軸的振動信號進行濾波及故障特征的提取。因此在數(shù)控系統(tǒng)可靠性試驗數(shù)據(jù)處理時可以借鑒相關(guān)信號處理技術(shù)和模式識別技術(shù)實現(xiàn)周期信號的自動識別。
一般周期信號定義為:對于信號x(n),若有x(n+kN)=x(n),k和N均為正整數(shù),則稱x(n)為周期信號[3]。即以一個時間間隔為周期,周而復(fù)始地出現(xiàn)性質(zhì)相同的信號的現(xiàn)象。時間間隔稱為周期,具有這種性質(zhì)的信號稱為周期信號。這一概念里,信號的性質(zhì)相似有兩點含義:①信號的時域指標(biāo)相同;②信號的頻域分布特性相同[3]。
數(shù)控系統(tǒng)是由輸入其內(nèi)部的數(shù)控代碼驅(qū)動來完成高速、高精度的加工的。數(shù)控系統(tǒng)的運行過程就是數(shù)控程序的執(zhí)行過程。數(shù)控系統(tǒng)可靠性試驗數(shù)據(jù)采集系統(tǒng)采集的是數(shù)控系統(tǒng)運行數(shù)控程序的結(jié)果。由于該可靠性試驗選擇了無替換定時截尾的統(tǒng)計方案,試驗過程中數(shù)控系統(tǒng)始終在一個數(shù)控程序的驅(qū)動下運行,因此數(shù)控系統(tǒng)的運行結(jié)果是有周期性的,即數(shù)控程序的每一個運行周期為一個周期。例如主軸在兩個運行循環(huán)的時域圖形如圖1所示。從圖中也可以看出時域波形呈現(xiàn)一定的周期性。周期就是數(shù)控程序的運行周期。
3.1.1 試驗數(shù)據(jù)的特征表示
根據(jù)數(shù)控程序的解析結(jié)果可以得到數(shù)控程序一個運行周期各個測試信號的狀態(tài)。在一段數(shù)控程序的運行過程中,用二進制數(shù)的0和1來分別表示主軸和各個伺服進給軸的旋轉(zhuǎn)或位移狀態(tài),旋轉(zhuǎn)的狀態(tài)記為1,不轉(zhuǎn)的狀態(tài)記為0,同理,在某個方向上有位移的情況記為1,沒位移記為0。利用速度位移公式可以得出主軸和各個進給軸一個程序周期的時域狀態(tài),例如圖1所示。
可靠性試驗采用1s的數(shù)據(jù)采集周期,即數(shù)據(jù)采集系統(tǒng)每隔1s采集一次測試信號的二進制狀態(tài)1或0,因此采集的信號是一個一個離散的點。對于所采集的信號可以用數(shù)據(jù)結(jié)構(gòu)SigItem來表示,該結(jié)構(gòu)表示的信號狀態(tài)是離散的。SigItem的結(jié)構(gòu)為:
{
double time;//采集信號的時間點——時間間隔為采集周期(1 s)
int ncp;//NCPower信號的值
int ncr;//NCReady信號
int power;//24VPower信號
int spr;//主軸使能信號
intspon;//主軸旋轉(zhuǎn)信號
intXon,Yon,Zon;//X,Y,Z軸的位移信號
……//其他信號
}
而在一個NC程序的運行周期中對于某個測試信號可以用如下的數(shù)據(jù)結(jié)構(gòu)StatusAndTimeKept來表示其特征,用該結(jié)構(gòu)表示的信號狀態(tài)是連續(xù)的。Status-AndTimeKept的結(jié)構(gòu)為:
{
intstatusValue;//信號狀態(tài)值(1或0)
doublestartTime;//該狀態(tài)的起始時間
double timeKept;//該狀態(tài)的維持時間
}
3.1.2 試驗數(shù)據(jù)的特征提取
可靠性試驗采集的信號是離散的點,同時受采集系統(tǒng)性能、繼電器性能或者數(shù)控系統(tǒng)本身插補性能及精度等各方面的影響,其中還可能存在干擾信號。
因此對于測試信號的特征提取就是對測試信號進行進一步的加工處理從大量的信號中尋找噪聲,將噪聲信號處理成合理的信號,在提高信號信噪比的同時根據(jù)信號狀態(tài)的變化將離散的信號連續(xù)化并提取信號的特征參數(shù)。這里的特征參數(shù)就是前面所說的數(shù)據(jù)結(jié)構(gòu)StatusAndTimeKept包括信號的狀態(tài)、該狀態(tài)的起始時間及維持該狀態(tài)的時間長度。因此對于信號的特征提取可以分為3個步驟:(1)信號的連續(xù)化;(2)信號去噪;(3)信號特征提取。
(1)信號的連續(xù)化
在信號的處理過程中,可以根據(jù)信號狀態(tài)的變化,將一個個離散的信號進行連續(xù)化,即將SigItem分別表示成StatusAndTimeKept結(jié)構(gòu),之后根據(jù)各個信號狀態(tài)持續(xù)時間的長短來確定噪聲。
信號的連續(xù)化首先開辟一個StatusAndTimeKept結(jié)構(gòu),然后對各個時間點的信號狀態(tài)進行判斷,如果下一個時間點的信號狀態(tài)與上一個時間點的信號狀態(tài)相同則只計入一次狀態(tài)而把信號的持續(xù)時間累加,如果下一個時間點的信號狀態(tài)與上一個時間點的信號狀態(tài)不同,那么需要重新開辟一個StatusAndTimeKept結(jié)構(gòu),然后再重復(fù)進行上述判斷直到指定的結(jié)束時間。這樣,就把一個個離散的時間點信號連續(xù)化了。
(2)信號去噪
在對測試信號進行分析后,可以得出對于噪聲信號可定義為夾雜在合理信號中的持續(xù)時間很短的信號,并且該段信號兩端的信號狀態(tài)應(yīng)該是相同的。至于短到什么程度,需要給出一個適當(dāng)?shù)谋壤?信噪比)。對于信號的降噪,首先要確定信號的噪聲,然后才能根據(jù)信號的變化過程,對其進行處理。在上面已經(jīng)進行了信號的連續(xù)化,那么對于信號噪聲的尋找就簡單了。例如圖2的信號狀態(tài)變化過程表示成Status-AndTimeKept的結(jié)構(gòu)為:
(1,0.0,200.0),(0,200.0,160.0),(1,360.0,10.0),(0,370.0,180.0),(1,550.0,200.0),(0,750.0,15.0),(1,765.0,160.0),(0,925.0,40.0)
把該結(jié)構(gòu)的第3個參數(shù):信號狀態(tài)的維持時間與給定的去噪標(biāo)準(zhǔn)進行比較,如果某一時間段小于這個標(biāo)準(zhǔn),并且該段信號前后的信號的狀態(tài)相同且維持時間較長,就認為該處信號是一個噪聲,然后再根據(jù)該信號前后信號的狀態(tài)將該信號處理成合理的狀態(tài)。例如上述信號變化過程,假設(shè)去噪時的信號維持時間標(biāo)準(zhǔn)為20 s,那么在逐步比較中可以得出第3個時間段10.0 s和第6個15.0 s都小于去噪標(biāo)準(zhǔn),并且與前后較長時間段的信號狀態(tài)相反,則判定這兩處為噪聲信號。找到噪聲信號后,根據(jù)噪聲前后信號的狀態(tài),將噪聲信號的狀態(tài)改為與其狀態(tài)相同的信號,將噪聲信號的持續(xù)時間以及它后面信號的持續(xù)時間分別都累加到噪聲信號前面的信號維持時間上,以此類推,然后再表示成原來的數(shù)據(jù)結(jié)構(gòu)。圖2信號去噪后如圖3所示。表示成StatusAndTimeKept的結(jié)構(gòu)為:
(1,0.0,200.0),(0,200.0,350.0),(1,550.0,375.0),(0,925.0,40.0)
(3)信號特征提取
信號的特征提取就是將信號連續(xù)化及去噪后的結(jié)果累加,表示成前面所說的連續(xù)的StatusAndTimeKept的數(shù)據(jù)結(jié)構(gòu),然后提取它的特征參數(shù)。
因為試驗數(shù)據(jù)的周期性是靠數(shù)控程序運行的周期性來保證的,因此試驗數(shù)據(jù)的周期識別需要以數(shù)控程序?qū)y試信號的解析結(jié)果作為基準(zhǔn)來完成。所以,為了以數(shù)控程序的解析結(jié)果作為基準(zhǔn)去識別試驗數(shù)據(jù)的周期,在對試驗數(shù)據(jù)進行降噪的同時需要對數(shù)控程序的解析結(jié)果進行相同標(biāo)準(zhǔn)的去噪處理,并將其結(jié)果表示成與Status And Time Kept結(jié)構(gòu)類似的Standard Status And Time Kept結(jié)構(gòu),然后再以去噪后的數(shù)控程序的周期為標(biāo)準(zhǔn)去在大量的試驗數(shù)據(jù)中尋找試驗數(shù)據(jù)的周期。
StandardStatusAndTimeKept的結(jié)構(gòu)為
{
intstatusValue;//信號狀態(tài)值(1或0)
double timeGap;//該狀態(tài)的維持時間
}
StatusAndTimeKept結(jié)構(gòu)中保留狀態(tài)起始時間StartTime這個屬性是為了以后尋找故障時間。
周期識別就是將標(biāo)準(zhǔn)的StandardStatusAndTimeKept信號數(shù)據(jù)作為基準(zhǔn)在大量的試驗數(shù)據(jù)StatusAnd-TimeKept中尋找與該結(jié)構(gòu)各個參數(shù)值相差在一定誤差范圍內(nèi),并且各參數(shù)的順序與標(biāo)準(zhǔn)順序一致的一個周期。例如,圖4a表示某信號一個周期的變化情況,圖4b是隨機地從大量試驗數(shù)據(jù)中截取的該信號的測試結(jié)果。從圖4中可以看出試驗數(shù)據(jù)與標(biāo)準(zhǔn)程序運行周期的關(guān)系。圖4b中的部分才是大量試驗數(shù)據(jù)中的一個標(biāo)準(zhǔn)的周期。該部分前面和后面分別是另外的周期。所以在周期識別中不僅要考察信號的狀態(tài)是否與標(biāo)準(zhǔn)周期一致,同時要考察信號的持續(xù)時間與標(biāo)準(zhǔn)周期的接近程度,還需要考察這兩個參數(shù)為整體構(gòu)成的結(jié)構(gòu)與標(biāo)準(zhǔn)周期信號結(jié)構(gòu)之間的先后順序才能找到正確的周期。
周期識別算法的具體思路是:首先進行信號狀態(tài)的匹配檢查:對試驗信號的狀態(tài)與標(biāo)準(zhǔn)信號的狀態(tài)進行匹配,如果兩信號狀態(tài)相同接著進行信號持續(xù)時間的誤差匹配檢查,如果持續(xù)時間在誤差范圍內(nèi),把信號狀態(tài)和信號狀態(tài)持續(xù)時間作為一個整體,考察信號狀態(tài)變化的順序性,直到最后返回一個周期起點的下標(biāo)位置。
試驗數(shù)據(jù)是可靠性試驗最寶貴的資源。隨著試驗的進行,試驗數(shù)據(jù)是逐步累加并且有周期性的。然而由于該課題的性質(zhì),導(dǎo)致對于任意時間段內(nèi)的數(shù)據(jù)卻無法確定其與周期的關(guān)系。本文從數(shù)控系統(tǒng)所運行的數(shù)控程序的周期性入手來對大量的試驗數(shù)據(jù)進行周期識別,給出了相關(guān)算法的思想,該方法有利于實現(xiàn)數(shù)據(jù)處理的智能和自動化。試驗數(shù)據(jù)周期識別的實現(xiàn)為進一步分析數(shù)控系統(tǒng)的各個測試信號以及數(shù)控系統(tǒng)運行故障奠定了基礎(chǔ)。
[1]韓興國.數(shù)控機床運行狀態(tài)數(shù)據(jù)采集及數(shù)據(jù)處理技術(shù)研究[J].裝備制造技術(shù),2012(6):245-247.
[2]胡榮強,蘇義鑫.數(shù)控機床NC代碼的解釋與執(zhí)行[J].計算機應(yīng)用研究,1996(2):79-80.
[3]張來斌,潘興德等.柴油機缸蓋周期性振動信號的自相關(guān)周期識別[J].石油大學(xué)學(xué)報:自然科學(xué)版,1999,23(6):57-58,72.
[4]盧艷軍.數(shù)控機床狀態(tài)監(jiān)測系統(tǒng)的研究[J].制造業(yè)自動化,2008,30(8):34-36.
[5]羅永順.數(shù)控機床故障信號分析與特征提?。跠].長沙:中南大學(xué),2007.