李軍艦,任德勇,蔣德超,王 恒
(漢川數(shù)控機床股份公司技術(shù)中心,陜西 漢中723000)
數(shù)控機床發(fā)展到現(xiàn)今,以自動化程度高、加工精度高而越來越受機床用戶的歡迎。然而,受機械結(jié)構(gòu)的制約,機床不可避免的存在一些結(jié)構(gòu)性誤差,諸如垂度誤差、溫度變化引起的定位誤差等,這類誤差到一定的范圍后,機械上是無法完全解決掉的,此時就需要用電氣的辦法來解決以達到機床的精度要求。機床電氣最直接的辦法就是通過各種補償功能來實現(xiàn)的,文中以一臺HHDC400配828D系統(tǒng)的臥式機床為例,介紹828D系統(tǒng)懸垂補償?shù)腜LC控制實現(xiàn)的一種方法。
不論是828D系統(tǒng)還是840DSL系統(tǒng)都是一款功能特別強大而且非常完善的數(shù)控系統(tǒng),其本身都具有由NC控制的懸垂補償功能,操作應(yīng)用和補償結(jié)果都是非??煽亢头€(wěn)定的。然而,由于該項功能,在828D和840DSL系統(tǒng)上,都是選項功能,用戶需要購買相應(yīng)的授權(quán)才可以正常使用,這無疑增加了機床的制造成本。特別是在配828D系統(tǒng)的機床上,這一點顯得尤為突出。為解決這一難題,既實現(xiàn)了機床的懸垂補償功能,又不至于再增加制造成本,探索出PLC控制的懸垂補償功能顯得是非常有必要的。
HHDC400臥式機床的機械結(jié)構(gòu)如圖1所示,垂直軸為Y軸,水平軸為Z軸,其中Z軸采用的是方滑枕。方滑枕伸出運行的越遠,Z軸就越向Y負向彎曲,Y向的偏差值為圖1中ΔY。懸垂補償就是方滑枕在不同位置的彎曲量通過Y軸的上下移動來消除掉而達到補償?shù)哪康摹?/p>
圖1 懸垂補償機械結(jié)構(gòu)
由懸垂補償?shù)臋C械結(jié)構(gòu)和原理,可看出要實現(xiàn)PLC懸垂補償,需要確定補償?shù)膮⒖驾S和補償軸,而后依據(jù)參考軸的位置確定補償軸的PLC補償量表。如圖1中,當(dāng)參考軸Z軸移動到不同的位置時,主軸端面的偏差量ΔY由PLC相應(yīng)的動作將該值寫入到補償軸Y軸的坐標里,控制補償軸的補償運動,來達到Z軸在此位置的懸垂補償。
鑒于上述分析,實現(xiàn)懸垂補償?shù)腜LC控制可考慮應(yīng)用828D系統(tǒng)的溫度補償功能。懸垂補償?shù)膮⒖驾SZ軸坐標位置作為Y軸溫度補償?shù)臏囟容斎耄韽澢盍喀作為Y軸溫度補償?shù)难a償量,通過PLC的系統(tǒng)NC變量讀寫功能,將相應(yīng)的補償量寫入到Y(jié)軸的溫度補償變量里,這樣在Z軸移動到該位置時,系統(tǒng)會自動對Y軸進行相應(yīng)的補償移動,也就完成了Z軸的懸垂補償。
828D系統(tǒng)溫度補償功能,可針對特定軸對溫度變化造成的實際值變化進行補償。為進行溫度補償,首先需要實際測量出特定溫度下軸行程內(nèi)各個位置上的誤差,這樣可得出一條該溫度的熱誤差曲線。然后以相同方式獲得其它溫度下的誤差曲線。通常情況下一條直線便可足夠精確地表示指定溫度下的誤差曲線,直線的斜率和參考點位置取決于溫度。溫度補償?shù)慕普`差直線如圖2所示。
圖2 溫度補償近似誤差直線
補償值ΔKx由補償軸的位置Px和溫度T按以下公式計算得出:
其中:ΔKx為位置Px上的溫度補償值;K0為與位置無關(guān)的溫度補償值;Px為軸的實際位置;P0為軸參考點位置;tanβ為位置相關(guān)溫度補償?shù)南禂?shù)(等同于誤差曲線的斜率)。
參考點位置P0的設(shè)置基本分為兩種:P0=0,與位置無關(guān)的溫度補償值K0≠0;P0≠0,位置相關(guān)的溫度補償值K0=0。由上述控制原理分析,文中選擇與位置無關(guān)的溫度補償值。這樣一來,溫度補償值就不包含位置的相關(guān)分量,很適合方滑枕的懸垂補償功能的實現(xiàn)。
由于補償軸是Y軸,故而所述相關(guān)機床軸數(shù)據(jù)僅對Y軸有效。相關(guān)參數(shù)如下:
實現(xiàn)PLC控制的懸垂補償關(guān)鍵在于PLC能夠向系統(tǒng)溫度補償?shù)淖兞繉懭胙a償值,即給機床設(shè)定數(shù)據(jù)SD43900即時寫值,828D系統(tǒng)支持NC變量的讀寫,完全可滿足控制的需求。PLC控制部分以828D系統(tǒng)PLC的NC變量選擇、補償控制和補償讀寫三部分加以說明。
4.2.1 828D系統(tǒng)PLC的NC變量選擇
NC變量選擇如圖3所示。文中補償軸為Y軸,故而,NC變量中SD43900機床數(shù)據(jù)的范圍編號為2。變量選擇確定后保存并編譯,系統(tǒng)自動生成NC變量的數(shù)據(jù)塊DB9910(NC_DATA1),數(shù)據(jù)塊DB9910的結(jié)構(gòu)如圖4所示。
圖3 NC變量選擇
圖4 NC變量數(shù)據(jù)塊DB9910結(jié)構(gòu)
4.2.2 懸垂補償?shù)腜LC控制
懸垂補償PLC控制程序如上。程序中DB4500.DBW36為機床數(shù)據(jù)MD14510[18],自定義PLC懸垂補償點數(shù);DB5701.DBD0為Z軸當(dāng)前坐標位置。數(shù)據(jù)塊DB9042為補償數(shù)據(jù)表,其中,DBD4,DBD8,DBD12,…,等為補償位置表;DBD136,DBD140,…,等為補償值表;DBD0為NC變量(機床設(shè)定數(shù)據(jù)SD43900)的PLC接口。
4.2.3 NC補償變量的PLC讀寫控制
(1)PLC讀寫接口賦值程序
(2)PLC讀寫任務(wù)啟動程序
(3)PLC讀寫任務(wù)結(jié)束復(fù)位程序
PLC懸垂補償生效后,可在機床的軸診斷-Y軸軸信息里查看,診斷信息如圖5所示。
圖5 懸垂補償診斷查看
PLC補償表的設(shè)置可在PLC程序里固化進行,也可在系統(tǒng)PLC狀態(tài)表里設(shè)置。當(dāng)然了,也可以在系統(tǒng)上二次開發(fā)補償界面,用于補償相關(guān)的參數(shù)設(shè)置,如圖6是二次開發(fā)的懸垂補償設(shè)置界面。
圖6 懸垂補償設(shè)置界面
基于828D系統(tǒng),文中應(yīng)用系統(tǒng)的溫度補償和PLC的NC變量讀寫功能,詳細介紹了數(shù)控機床懸垂補償PLC控制實現(xiàn)的一種方法。通過在具體的機床上測試及使用,能夠很好地達到機床的設(shè)計和補償要求,值得在其它機床上推廣應(yīng)用。