金致富 張為民② 丁玉鈞
(①同濟(jì)大學(xué)機械工程學(xué)院,上海201804;②同濟(jì)大學(xué)中德學(xué)院,上海200092)
在數(shù)控機床加工過程中,輪廓誤差是影響工件加工精度的重要因素之一。輪廓誤差是指任意位置處,實際輪廓軌跡與理論輪廓軌跡間的最短距離[1]。在多軸聯(lián)動數(shù)控系統(tǒng)中,各進(jìn)給軸的跟隨誤差是造成工件輪廓誤差的主要原因。因此,通過減小跟隨誤差來減小輪廓誤差,對于保證工件的加工精度具有重要意義。
研究表明,對于單軸位置跟隨誤差、進(jìn)給速度與增益間的關(guān)系為[2]
式中:e為系統(tǒng)輸出位置跟隨誤差;v為系統(tǒng)輸出速度;kv為系統(tǒng)增益系數(shù)。
對于三軸聯(lián)動數(shù)控機床,加工圓弧輪廓時的輪廓誤差模型如圖1所示。圖1中,實線為圓弧的理論加工曲線,虛線為實際加工曲線,M為刀具點指令位置,N為刀具點實際位置,R為理論圓弧半徑,P為實際圓弧半徑。經(jīng)計算表明,當(dāng)x軸、y軸和z軸采用相同的增益時,三軸圓弧輪廓誤差為[3]
式中:ε為三軸圓弧輪廓誤差;v為三軸合成運動的速度;kv為系統(tǒng)增益系數(shù);R為理論圓弧半徑。
由式(2)可知,在加工精度要求較高而圓弧半徑又較小的輪廓時,適當(dāng)降低軸的進(jìn)給速度,可以有效減小輪廓誤差。
在實際工件加工過程中,在保證加工精度的前提下,應(yīng)盡量提高工件加工速度,據(jù)此可得到輪廓誤差自動控制器的控制目標(biāo),即:(1)工件輪廓誤差盡量小;(2)進(jìn)給速度盡量高。此外,受到機床實際加工條件、工件加工精度要求、加工效率及加工成本等的限制,進(jìn)給速度與輪廓誤差也均有限制。
根據(jù)以上輪廓誤差控制目標(biāo)及約束條件,同時為了消除量綱影響,取控制算法目標(biāo)函數(shù)為
式中:ε為輪廓誤差;v為進(jìn)給速度;εmax為輪廓誤差的最大限制值;vmin、vmax分別為進(jìn)給速度的最小和最大限制值。輪廓誤差控制目標(biāo)就是在式(3)的限制范圍內(nèi),尋找最優(yōu)的輪廓誤差和進(jìn)給速度。
根據(jù)以上所述,可以擬定以下3種控制算法:
(1)輪廓誤差優(yōu)先控制,即在進(jìn)給速度允許的范圍內(nèi),調(diào)節(jié)進(jìn)給速度v使對應(yīng)的輪廓誤差在其范圍內(nèi)為最小,則此時的輪廓誤差為最優(yōu)。
(2)進(jìn)給速度優(yōu)先控制,即在進(jìn)給速度允許的范圍內(nèi),調(diào)節(jié)進(jìn)給速度v使對應(yīng)的輪廓誤差在其范圍內(nèi)為最大,則此時的進(jìn)給速度為最優(yōu)。
(3)誤差和速度綜合控制,即在輪廓誤差和進(jìn)給速度允許的范圍內(nèi),得到一個最優(yōu)的輪廓誤差和進(jìn)給速度組合,使目標(biāo)函數(shù)取得最小值。
誤差控制器在數(shù)控機床上的實現(xiàn)需要得到數(shù)控系統(tǒng)的支持。西門子840D數(shù)控系統(tǒng)允許用戶對數(shù)控系統(tǒng)界面(MMC)進(jìn)行二次開發(fā),形成用戶自己的加工程序界面。同時,該數(shù)控系統(tǒng)允許用戶通過動態(tài)數(shù)據(jù)交換方式(DDE)或者PLC程序來讀取數(shù)控系統(tǒng)中的一些運行數(shù)據(jù),或向數(shù)控系統(tǒng)寫入數(shù)據(jù)。此外,數(shù)控系統(tǒng)還提供了R參數(shù),用戶不僅可以使用R參數(shù)來進(jìn)行工件程序參數(shù)化編程,還可以將R參數(shù)作為用戶二次開發(fā)的程序與PLC程序之間的數(shù)據(jù)交換接口[4-5]?;谖鏖T子840D數(shù)控系統(tǒng)的這些功能,就可以將輪廓誤差控制器的應(yīng)用程序嵌入到數(shù)控系統(tǒng)中。
控制器的實現(xiàn)過程包括跟隨誤差讀取、輪廓誤差合成、進(jìn)給速度讀取、進(jìn)給速度控制和控制結(jié)果輸出幾個步驟,其實現(xiàn)的控制模型如圖2所示。
控制模型中,輸入信號包括位置跟隨誤差信號和進(jìn)給速度信號,這2個信號來自機床人機接口MMC。MMC以動態(tài)數(shù)據(jù)交換方式(DDE)向控制器提供數(shù)據(jù)讀寫服務(wù),控制器通過人機接口程序?qū)崿F(xiàn)數(shù)據(jù)顯示和輸入??刂破魇紫茸x取各軸的跟隨誤差信號將其合成輪廓誤差,再結(jié)合讀取的進(jìn)給速度信號經(jīng)進(jìn)給速度控制計算得出進(jìn)給倍率信號,最后將其輸出到MMC里的R參數(shù)中進(jìn)行存儲,等待PLC程序模塊的調(diào)用。PLC程序有兩個作用,一是判斷是否要屏蔽來自機床控制面板的進(jìn)給倍率信號;二是將控制器輸入到R參數(shù)中的進(jìn)給倍率信號寫入到數(shù)控系統(tǒng)中,并使修改后的進(jìn)給速度生效??刂颇P椭?,輪廓誤差合成函數(shù)和進(jìn)給倍率修改函數(shù)是關(guān)鍵,兩者直接關(guān)系到輪廓誤差控制的效果。
已知讀取的數(shù)據(jù)只有跟隨誤差和進(jìn)給速度,在工件程序運行的t時刻,可由每根軸的跟隨誤差計算得到t時刻刀具刀尖點實際位置和理論位置之間的距離。對于三軸計算公式為
式中:sqrt表示開方;εx(t)、εy(t)和 εz(t)分別表示X、Y和Z軸在t時刻的跟隨誤差;Ed(t)表示t時刻理論位置與實際位置的誤差。由輪廓誤差的定義可知,這里的Ed(t)并不等同于輪廓誤差,鑒于直接計算輪廓誤差比較困難,而在一般情況下,Ed(t)與輪廓誤差有同向增長關(guān)系。因此在不失控制精度的前提下,為簡化算法,提高運算速度,將Ed(t)作為速度自動控制器的輪廓誤差輸入值,故其又稱作名義輪廓誤差。
在控制過程中,被控變量只有進(jìn)給倍率,實際進(jìn)給速度計算公式為
表1 輪廓誤差控制效果
式中:Vr為實際進(jìn)給速度;Vg為G代碼設(shè)定進(jìn)給速度;β為進(jìn)給倍率。840D數(shù)控系統(tǒng)中進(jìn)給倍率范圍為0%~120%,由離散的數(shù)值變量分成23檔,用相應(yīng)的二進(jìn)制Gray碼表示。因此輪廓誤差控制算法實際輸出的是進(jìn)給倍率對應(yīng)的Gray碼,待其輸入數(shù)控系統(tǒng)譯碼后生效。正因為840D數(shù)控系統(tǒng)的進(jìn)給倍率為有限的23種,我們可以用窮舉法來實現(xiàn)上述的3種控制算法。
由于MMC數(shù)控系統(tǒng)的控制界面使用VB代碼生成,為了便于將輪廓誤差控制程序嵌入到數(shù)控系統(tǒng)中,運行于MMC的自動控制程序的代碼在VB6.0環(huán)境下編寫。在完成相關(guān)文件配置和程序安裝后,輪廓誤差自動控制器就可以在西門子840D數(shù)控系統(tǒng)中運行了。實驗以加工半徑為10 mm的圓弧輪廓為例,并設(shè)置工件程序的進(jìn)給速度為4 000 mm/min,對設(shè)計的輪廓誤差自動控制器進(jìn)行驗證。圖3為誤差和速度綜合控制的效果圖。
由圖3可知,未開啟自動控制器時輪廓誤差超出最大限制值,開啟自動控制器后在綜合控制算法條件下輪廓誤差和進(jìn)給速度達(dá)到最優(yōu)組合。
3種輪廓誤差控制方式效果如表1所示。
需要注意的是,表1所列的輪廓誤差并非實際輪廓誤差,而是指前面定義的名義輪廓誤差。在對輪廓誤差自動控制器進(jìn)行多次試驗后,可以得到以下幾點結(jié)論:(1)輪廓誤差與進(jìn)給速度近似比例關(guān)系,即輪廓誤差隨進(jìn)給速度提高而增大,反之減小。(2)在一定范圍內(nèi),控制進(jìn)給速度能夠有效地控制輪廓誤差。(3)輪廓誤差控制效果與設(shè)置的誤差和速度限制值有很大關(guān)系。
機床進(jìn)給速度對工件輪廓的加工精度有著重要影響。本文利用輪廓誤差自動控制器對加工過程的進(jìn)給速度進(jìn)行自動調(diào)節(jié),從而減小工件的輪廓誤差。研究表明,基于進(jìn)給速度修調(diào)的輪廓誤差自動控制器的設(shè)計思想同樣適合直線加工時的輪廓誤差控制,這為提高工件輪廓加工精度提供了重要的方法與理論依據(jù)。
[1]孫建仁,胡赤兵,黃建龍.CNC機床伺服系統(tǒng)特性對輪廓誤差的影響機理[J].機床與液壓,2009(3):31-33.
[2]孫建仁.數(shù)控機床進(jìn)給伺服系統(tǒng)特性對輪廓誤差的影響[J].制造技術(shù)與機床,2004(10):59-61.
[3]孫興偉,董蔚,王可,等.數(shù)控機床伺服系統(tǒng)跟隨誤差對加工輪廓的影響[J].制造技術(shù)與機床,2010(6):76-78.
[4]SINUMERIK 810D/840D Programming Fundamental[Z],2004.
[5]SINUMERIK 810D/840D Programming Advanced[Z],2004.