李軍艦,任德勇,蔣德超,王 恒
(漢川數(shù)控機(jī)床股份公司技術(shù)中心,陜西 漢中723000)
數(shù)控機(jī)床發(fā)展到現(xiàn)今,以自動(dòng)化程度高、加工精度高而越來(lái)越受機(jī)床用戶的歡迎。然而,受機(jī)械結(jié)構(gòu)的制約,機(jī)床不可避免的存在一些結(jié)構(gòu)性誤差,諸如垂度誤差、溫度變化引起的定位誤差等,這類(lèi)誤差到一定的范圍后,機(jī)械上是無(wú)法完全解決掉的,此時(shí)就需要用電氣的辦法來(lái)解決以達(dá)到機(jī)床的精度要求。機(jī)床電氣最直接的辦法就是通過(guò)各種補(bǔ)償功能來(lái)實(shí)現(xiàn)的,文中以一臺(tái)HHDC400配828D系統(tǒng)的臥式機(jī)床為例,介紹828D系統(tǒng)懸垂補(bǔ)償?shù)腜LC控制實(shí)現(xiàn)的一種方法。
不論是828D系統(tǒng)還是840DSL系統(tǒng)都是一款功能特別強(qiáng)大而且非常完善的數(shù)控系統(tǒng),其本身都具有由NC控制的懸垂補(bǔ)償功能,操作應(yīng)用和補(bǔ)償結(jié)果都是非常可靠和穩(wěn)定的。然而,由于該項(xiàng)功能,在828D和840DSL系統(tǒng)上,都是選項(xiàng)功能,用戶需要購(gòu)買(mǎi)相應(yīng)的授權(quán)才可以正常使用,這無(wú)疑增加了機(jī)床的制造成本。特別是在配828D系統(tǒng)的機(jī)床上,這一點(diǎn)顯得尤為突出。為解決這一難題,既實(shí)現(xiàn)了機(jī)床的懸垂補(bǔ)償功能,又不至于再增加制造成本,探索出PLC控制的懸垂補(bǔ)償功能顯得是非常有必要的。
HHDC400臥式機(jī)床的機(jī)械結(jié)構(gòu)如圖1所示,垂直軸為Y軸,水平軸為Z軸,其中Z軸采用的是方滑枕。方滑枕伸出運(yùn)行的越遠(yuǎn),Z軸就越向Y負(fù)向彎曲,Y向的偏差值為圖1中ΔY。懸垂補(bǔ)償就是方滑枕在不同位置的彎曲量通過(guò)Y軸的上下移動(dòng)來(lái)消除掉而達(dá)到補(bǔ)償?shù)哪康摹?/p>

圖1 懸垂補(bǔ)償機(jī)械結(jié)構(gòu)
由懸垂補(bǔ)償?shù)臋C(jī)械結(jié)構(gòu)和原理,可看出要實(shí)現(xiàn)PLC懸垂補(bǔ)償,需要確定補(bǔ)償?shù)膮⒖驾S和補(bǔ)償軸,而后依據(jù)參考軸的位置確定補(bǔ)償軸的PLC補(bǔ)償量表。如圖1中,當(dāng)參考軸Z軸移動(dòng)到不同的位置時(shí),主軸端面的偏差量ΔY由PLC相應(yīng)的動(dòng)作將該值寫(xiě)入到補(bǔ)償軸Y軸的坐標(biāo)里,控制補(bǔ)償軸的補(bǔ)償運(yùn)動(dòng),來(lái)達(dá)到Z軸在此位置的懸垂補(bǔ)償。
鑒于上述分析,實(shí)現(xiàn)懸垂補(bǔ)償?shù)腜LC控制可考慮應(yīng)用828D系統(tǒng)的溫度補(bǔ)償功能。懸垂補(bǔ)償?shù)膮⒖驾SZ軸坐標(biāo)位置作為Y軸溫度補(bǔ)償?shù)臏囟容斎耄韽澢盍喀作為Y軸溫度補(bǔ)償?shù)难a(bǔ)償量,通過(guò)PLC的系統(tǒng)NC變量讀寫(xiě)功能,將相應(yīng)的補(bǔ)償量寫(xiě)入到Y(jié)軸的溫度補(bǔ)償變量里,這樣在Z軸移動(dòng)到該位置時(shí),系統(tǒng)會(huì)自動(dòng)對(duì)Y軸進(jìn)行相應(yīng)的補(bǔ)償移動(dòng),也就完成了Z軸的懸垂補(bǔ)償。
828D系統(tǒng)溫度補(bǔ)償功能,可針對(duì)特定軸對(duì)溫度變化造成的實(shí)際值變化進(jìn)行補(bǔ)償。為進(jìn)行溫度補(bǔ)償,首先需要實(shí)際測(cè)量出特定溫度下軸行程內(nèi)各個(gè)位置上的誤差,這樣可得出一條該溫度的熱誤差曲線。然后以相同方式獲得其它溫度下的誤差曲線。通常情況下一條直線便可足夠精確地表示指定溫度下的誤差曲線,直線的斜率和參考點(diǎn)位置取決于溫度。溫度補(bǔ)償?shù)慕普`差直線如圖2所示。

圖2 溫度補(bǔ)償近似誤差直線
補(bǔ)償值ΔKx由補(bǔ)償軸的位置Px和溫度T按以下公式計(jì)算得出:

其中:ΔKx為位置Px上的溫度補(bǔ)償值;K0為與位置無(wú)關(guān)的溫度補(bǔ)償值;Px為軸的實(shí)際位置;P0為軸參考點(diǎn)位置;tanβ為位置相關(guān)溫度補(bǔ)償?shù)南禂?shù)(等同于誤差曲線的斜率)。
參考點(diǎn)位置P0的設(shè)置基本分為兩種:P0=0,與位置無(wú)關(guān)的溫度補(bǔ)償值K0≠0;P0≠0,位置相關(guān)的溫度補(bǔ)償值K0=0。由上述控制原理分析,文中選擇與位置無(wú)關(guān)的溫度補(bǔ)償值。這樣一來(lái),溫度補(bǔ)償值就不包含位置的相關(guān)分量,很適合方滑枕的懸垂補(bǔ)償功能的實(shí)現(xiàn)。
由于補(bǔ)償軸是Y軸,故而所述相關(guān)機(jī)床軸數(shù)據(jù)僅對(duì)Y軸有效。相關(guān)參數(shù)如下:

實(shí)現(xiàn)PLC控制的懸垂補(bǔ)償關(guān)鍵在于PLC能夠向系統(tǒng)溫度補(bǔ)償?shù)淖兞繉?xiě)入補(bǔ)償值,即給機(jī)床設(shè)定數(shù)據(jù)SD43900即時(shí)寫(xiě)值,828D系統(tǒng)支持NC變量的讀寫(xiě),完全可滿足控制的需求。PLC控制部分以828D系統(tǒng)PLC的NC變量選擇、補(bǔ)償控制和補(bǔ)償讀寫(xiě)三部分加以說(shuō)明。
4.2.1 828D系統(tǒng)PLC的NC變量選擇
NC變量選擇如圖3所示。文中補(bǔ)償軸為Y軸,故而,NC變量中SD43900機(jī)床數(shù)據(jù)的范圍編號(hào)為2。變量選擇確定后保存并編譯,系統(tǒng)自動(dò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 懸垂補(bǔ)償?shù)腜LC控制

懸垂補(bǔ)償PLC控制程序如上。程序中DB4500.DBW36為機(jī)床數(shù)據(jù)MD14510[18],自定義PLC懸垂補(bǔ)償點(diǎn)數(shù);DB5701.DBD0為Z軸當(dāng)前坐標(biāo)位置。數(shù)據(jù)塊DB9042為補(bǔ)償數(shù)據(jù)表,其中,DBD4,DBD8,DBD12,…,等為補(bǔ)償位置表;DBD136,DBD140,…,等為補(bǔ)償值表;DBD0為NC變量(機(jī)床設(shè)定數(shù)據(jù)SD43900)的PLC接口。
4.2.3 NC補(bǔ)償變量的PLC讀寫(xiě)控制
(1)PLC讀寫(xiě)接口賦值程序

(2)PLC讀寫(xiě)任務(wù)啟動(dòng)程序

(3)PLC讀寫(xiě)任務(wù)結(jié)束復(fù)位程序

PLC懸垂補(bǔ)償生效后,可在機(jī)床的軸診斷-Y軸軸信息里查看,診斷信息如圖5所示。

圖5 懸垂補(bǔ)償診斷查看
PLC補(bǔ)償表的設(shè)置可在PLC程序里固化進(jìn)行,也可在系統(tǒng)PLC狀態(tài)表里設(shè)置。當(dāng)然了,也可以在系統(tǒng)上二次開(kāi)發(fā)補(bǔ)償界面,用于補(bǔ)償相關(guān)的參數(shù)設(shè)置,如圖6是二次開(kāi)發(fā)的懸垂補(bǔ)償設(shè)置界面。

圖6 懸垂補(bǔ)償設(shè)置界面
基于828D系統(tǒng),文中應(yīng)用系統(tǒng)的溫度補(bǔ)償和PLC的NC變量讀寫(xiě)功能,詳細(xì)介紹了數(shù)控機(jī)床懸垂補(bǔ)償PLC控制實(shí)現(xiàn)的一種方法。通過(guò)在具體的機(jī)床上測(cè)試及使用,能夠很好地達(dá)到機(jī)床的設(shè)計(jì)和補(bǔ)償要求,值得在其它機(jī)床上推廣應(yīng)用。