□ 李雅昔 □ 李曉莉 □ 李星恕
1.商洛職業(yè)技術(shù)學(xué)院 陜西商洛 726000
2.西北農(nóng)林科技大學(xué) 機(jī)電學(xué)院 陜西楊凌 712100
3.長(zhǎng)安大學(xué) 信息工程學(xué)院 西安 710064
機(jī)械加工中經(jīng)常遇到非圓曲線 (如橢圓曲線[1、2]、拋物線[3、4]、雙曲線[5]和漸開線等)零件,隨著產(chǎn)品性能要求的不斷提高,非圓曲線零件的作用日益重要,其加工質(zhì)量往往成為產(chǎn)品制造的關(guān)鍵。數(shù)控機(jī)床的數(shù)控系統(tǒng)一般只具有直線插補(bǔ)和圓弧插補(bǔ)功能,并不具備此類非圓曲線的插補(bǔ)功能,采用普通的手工編程方法幾乎不可能完成這些輪廓的加工。若采用軟件自動(dòng)編程,生成的程序往往很復(fù)雜,且缺乏靈活性和通用性。通過宏程序編程可以實(shí)現(xiàn)普通編程難以實(shí)現(xiàn)的功能,且編寫的程序具有極好的易讀性、修改性和通用性。機(jī)床在執(zhí)行宏程序時(shí),相比執(zhí)行CAM軟件生成的程序更加快捷,反應(yīng)更迅速。
本文以華中世紀(jì)星HNC-21T數(shù)控車削系統(tǒng)為例,借助坐標(biāo)系平移[6、7]與坐標(biāo)系旋轉(zhuǎn)[8、9]的方法,對(duì)數(shù)控車床加工任意位置非圓曲線回轉(zhuǎn)面的宏程序編寫方法進(jìn)行分析。
在實(shí)際加工中,工件坐標(biāo)系原點(diǎn)常與待加工的非圓曲線方程所在坐標(biāo)系原點(diǎn)不重合[10、11],因此要找出兩個(gè)坐標(biāo)系之間的關(guān)系,以便于在工件坐標(biāo)系中重新建立非圓曲線方程。由于數(shù)控車床的輪廓設(shè)在XOZ平面上,給定非圓曲線方程所在坐標(biāo)系中任意一點(diǎn)的坐標(biāo)通過坐標(biāo)平移與坐標(biāo)旋轉(zhuǎn)的方法,可以在工件坐標(biāo)系中得到相應(yīng)的新坐標(biāo)。而數(shù)控車床沒有坐標(biāo)平移與坐標(biāo)旋轉(zhuǎn)指令,所以必須對(duì)不同坐標(biāo)系中的非圓曲線方程進(jìn)行相應(yīng)的數(shù)學(xué)處理。
當(dāng)待加工非圓曲線給定方程的坐標(biāo)系X1O1Z1與數(shù)控車床工件坐標(biāo)系XOZ僅存在平移關(guān)系時(shí),可通過坐標(biāo)平移的方法建立這兩個(gè)坐標(biāo)系之間的關(guān)系。如圖1所示,工件坐標(biāo)系為XOZ,待加工非圓曲線給定方程的坐標(biāo)系為X1O1Z1。假定A點(diǎn)在X1O1Z1坐標(biāo)系中的坐標(biāo)為(x1,z1),工件坐標(biāo)系XOZ的原點(diǎn)O在坐標(biāo)系X1O1Z1中的坐標(biāo)為 (i,k), 通過式(1)建立兩坐標(biāo)系之間的關(guān)系,可將X1O1Z1坐標(biāo)系中的A點(diǎn)坐標(biāo)(x1,z1)轉(zhuǎn)換為數(shù)控車床工件坐標(biāo)系 XOZ 中 A點(diǎn)坐標(biāo)(x,z)。
▲圖1 坐標(biāo)系平移
▲圖2 坐標(biāo)系旋轉(zhuǎn)
▲圖3 坐標(biāo)系平移與旋轉(zhuǎn)
當(dāng)待加工非圓曲線給定方程的坐標(biāo)系X1O1Z1與數(shù)控車床工件坐標(biāo)系XOZ僅存在旋轉(zhuǎn)關(guān)系時(shí)(即兩坐標(biāo)系坐標(biāo)原點(diǎn)重合),可通過三角函數(shù)關(guān)系建立這兩個(gè)坐標(biāo)系之間的關(guān)系。如圖2所示,假定A點(diǎn)在原坐標(biāo)系 X1O1Z1中的坐標(biāo)為(x1,z1),線段 OA 與 Z1軸的夾角為 α,則:
當(dāng)原坐標(biāo)系X1O1Z1繞坐標(biāo)原點(diǎn)O1順時(shí)針方向旋轉(zhuǎn)角度θ后與工件坐標(biāo)系XOZ重合時(shí),點(diǎn)A在工件坐標(biāo)系XOZ中的坐標(biāo)為(x,z)。OA與Z軸的夾角為(αθ),可得:
由三角函數(shù)的運(yùn)算法則可得A點(diǎn)在工件坐標(biāo)系XOZ中的坐標(biāo)值為:
當(dāng)原坐標(biāo)系X1O1Z1繞坐標(biāo)原點(diǎn)O逆時(shí)針方向旋轉(zhuǎn)角度θ后與工件坐標(biāo)系XOZ重合時(shí),A點(diǎn)在工件坐標(biāo)系XOZ中的坐標(biāo)值為:
當(dāng)待加工非圓曲線給定方程的坐標(biāo)系X1O1Z1與數(shù)控車床工件坐標(biāo)系XOZ既存在坐標(biāo)系平移又存在坐標(biāo)系旋轉(zhuǎn)時(shí),可先按坐標(biāo)系旋轉(zhuǎn)進(jìn)行分析,再按坐標(biāo)系平移進(jìn)行分析,建立這兩個(gè)坐標(biāo)系之間的關(guān)系。如圖3所示,坐標(biāo)系X2O2Z2與坐標(biāo)系X1O1Z1僅存在旋轉(zhuǎn)關(guān)系,同時(shí)坐標(biāo)系X2O2Z2與工件坐標(biāo)系XOZ僅存在平移關(guān)系,且工件坐標(biāo)系原點(diǎn)O在坐標(biāo)系X2O2Z2中的坐標(biāo)為(i,k)。 假定 A 點(diǎn)在 X1O1Z1中的坐標(biāo)為(x1,z1), 由式(4)、(5)可得出 A 點(diǎn)在坐標(biāo)系 X2O2Z2中的坐標(biāo)(x1cosθ?z1sinθ,z1cosθ±x1sinθ) , 由式 (1) 可得 A 點(diǎn)在工件坐標(biāo)系XOZ的坐標(biāo)值:
式(6)中正負(fù)號(hào)的規(guī)定與式(4)、式(5)中正負(fù)號(hào)的規(guī)定相同。
使用變量編寫可進(jìn)行算術(shù)或邏輯運(yùn)算,并能控制程序段流向的程序,稱為用戶宏程序。華中世紀(jì)星HNC-21T數(shù)控車削系統(tǒng)為用戶配備了類似于高級(jí)語言的宏程序功能,用戶可以使用變量進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)的混合運(yùn)算,此外宏程序還提供了循環(huán)語句、分支語句和子程序調(diào)用語句,利于編制各種復(fù)雜的零件加工程序,減少乃至免除手工編程時(shí)進(jìn)行繁瑣的數(shù)值計(jì)算,精簡(jiǎn)程序量。常用的語句主要有以下兩種。
(1)條件判別語句。
格式1:IF(條件表達(dá)式)… ELSE… ENDIF
格式2:IF(條件表達(dá)式)… ENDIF
(2)循環(huán)語句。
格式:WHILE(條件表達(dá)式)…ENDW
(1)在工件坐標(biāo)系XOZ中建立待加工非圓曲線的表達(dá)式,選定自變量并確定自變量的取值范圍。根據(jù)給定的非圓曲線方程進(jìn)行坐標(biāo)系平移或坐標(biāo)系旋轉(zhuǎn),將待加工非圓曲線方程轉(zhuǎn)變?yōu)楣ぜ鴺?biāo)系XOZ中新的表達(dá)式。選擇合適的自變量來表示曲線上各關(guān)鍵點(diǎn)的坐標(biāo)表達(dá)式,這一點(diǎn)在宏程序的編寫過程中尤為重要。自變量的選擇一般根據(jù)曲線方程方便情況來選定,自變量選定后,還需進(jìn)一步確定其取值范圍。
(2)選擇擬合方式并確定自變量的步距。選擇擬合方式,即選擇采用直線段還是圓弧段來擬合非圓曲線。在確定自變量的步距時(shí),一般根據(jù)所用機(jī)床的性能和工藝裝備,確定自變量的步距。步距取值越小,輪廓表面的擬合誤差越小,加工精度越高,但加工效率很低。步距取值越大,輪廓表面的擬合誤差越大,加工精度越低,但加工效率很高。一般情況下,自變量的步距取 0.05~0.2 mm。
(3)自變量的賦值與加工的終點(diǎn)判別。給定自變量的初值與終值,機(jī)床每移動(dòng)一個(gè)步距后,自變量遞變,根據(jù)加工終值判別條件,與加工終值進(jìn)行判別,當(dāng)條件不滿足(即未加工到非圓曲線終點(diǎn))時(shí),執(zhí)行新的步距,繼續(xù)循環(huán)加工,當(dāng)條件滿足(即加工到非圓曲線終點(diǎn))時(shí),完成非圓曲線輪廓的加工,退出循環(huán)。非圓曲線輪廓數(shù)控加工流程圖如圖4所示。
▲圖4 橢圓輪廓數(shù)控加工流程圖
▲圖5 平移關(guān)系的零件加工圖
▲圖6 數(shù)控仿真結(jié)果
(4)編寫程序。因?yàn)橐话忝鞔嬖谳^大的加工余量,故一般需采用粗車循環(huán)指令[12]與宏程序嵌套[13、14]的方法編寫程序。
零件加工圖如圖5所示,工件坐標(biāo)系XOZ的原點(diǎn)為φ10 mm圓柱右端面中心,與給定拋物線方程的坐標(biāo)系X1O1Z1的原點(diǎn)不重合,工件坐標(biāo)系原點(diǎn)O在原坐標(biāo)系 X1O1Z1中的坐標(biāo)為(-6,-4),根據(jù)式(1),可以得出此時(shí)在工件坐標(biāo)系XOZ中拋物線表達(dá)式為:z-4=-1.5(x-6)2,因 z的取值范圍容易確定,故取 z為自變量,在工件坐標(biāo)系XOZ中,建立待拋物線方程:x=6+,其中自變量z的初值為-8,終值為-26。
根據(jù)上述數(shù)學(xué)分析,編寫待加工非圓曲線的宏程序,其子程序如下:
%0003
#5=-1.5 //拋物線方程系數(shù)賦值
#6=-8 //自變量z的初始值賦值
#7=-26 //自變量z的終止值賦值
WHILE#6 GE#7//建立循環(huán)條件:判斷自變量z是否達(dá)到加工終值-26
#8=6+SQRT[ [#6-4]/#5] //給因變量 x 賦值,即
G01 X[2*[#8]] Z[#6] F0.2//小段直線插補(bǔ),逼近拋物線輪廓
#6=#11-0.05 //z步進(jìn)為0.05,自變量遞減
ENDW
M99
數(shù)控仿真加工結(jié)果如圖6所示。
零件加工圖如圖7所示,待加工非圓曲線(橢圓)在坐標(biāo)系X1O1Z1中的方程為:。 因下側(cè)待加工橢圓的x值均為負(fù)值,故原橢圓方程可用方程x來表示,由式(6)可得待加工橢圓輪廓在工件坐標(biāo)系XOZ中的坐標(biāo)值為:
借助各種繪圖軟件,可方便地捕捉待加工斜橢圓自變量z1初值為15.008,終值為-19.890,在工件坐標(biāo)系XOZ中相應(yīng)的自變量z初 值 為 0, 終 值 為-31.799。
▲圖7 平移、旋轉(zhuǎn)關(guān)系的零件加工圖
▲圖8 數(shù)控仿真結(jié)果
編寫宏程序,其子程序如下:
%0005
#10=15 //短半軸賦值
#11=25 //長(zhǎng)半軸賦值
#13=0 //在工件坐標(biāo)系中,z的初值
#14=-31.799 //在工件坐標(biāo)系中,z的終值
#15=-11.996 //在原方程坐標(biāo)系中,x1的初值
#16=15.008 //在原方程坐標(biāo)系中,z1的初值
WHILE#13 GE[#14]//建立循環(huán)條件:判斷自變量z是否達(dá)到加
工終值-31.799
#17=-[#10]*SQRT[1-#16*#16/#11/#11] //在原坐標(biāo)系中,計(jì)算變量x1,x1由方程 x1=-15×確定
#18=#17*cos[20*PI/180]-#16*sin[20*PI/180]+20//工件坐標(biāo)系中,變量x的函數(shù)計(jì)算
#13=#16*cos[20*PI/180]+#17sin[20*PI/180]-10 //工件坐標(biāo)系中,變量z的函數(shù)計(jì)算
#20=2*#18//工件坐標(biāo)系中,變量x2為直徑編程
G01 X[#20] Z[#13] F0.2 //擬合加工,小段直線插補(bǔ),逼近橢圓
輪廓
#16=#16-0.05//原坐標(biāo)系中,自變量z1遞減變化步長(zhǎng)ENDW
M99
數(shù)控仿真加工結(jié)果如圖8所示。
本文通過數(shù)學(xué)建模(坐標(biāo)系平移與坐標(biāo)系旋轉(zhuǎn))的方法,將任意位置非圓曲線方程所在的坐標(biāo)系與數(shù)控車床的工件坐標(biāo)系建立聯(lián)系,以拋物線、橢圓為例,結(jié)合車削復(fù)合循環(huán)指令,借助本文坐標(biāo)系平移與坐標(biāo)系旋轉(zhuǎn)的結(jié)果,編寫了簡(jiǎn)捷有效的宏程序,并通過數(shù)控仿真加工與實(shí)際加工,驗(yàn)證了程序的正確性和可行性。
文中坐標(biāo)系平移與坐標(biāo)系旋轉(zhuǎn)的方法,對(duì)各類非圓曲線、不同位置的非圓曲線車削加工編程均具有借鑒作用。
[1] 王西建,冀勉.宏程序在非圓曲線輪廓車削加工中的應(yīng)用[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(7):110-111.
[2] 何玉山.數(shù)控車床加工非圓曲線宏程序編寫技巧[J].CAD/CAM與制造業(yè)信息化,2009(10):88-89.
[3] 岳秋琴.宏程序在非圓曲線數(shù)控車削加工中的應(yīng)用[J].煤礦機(jī)械,2013,34(7):131-133.
[4] 呼剛義,劉振.基于華中數(shù)控車宏程序的橢圓輪廓“插補(bǔ)指令”構(gòu)建與實(shí)現(xiàn)[J].制造業(yè)自動(dòng)化,2008,34(5):35-36.
[5] 孟生才.數(shù)控車床宏程序在不同系統(tǒng)循環(huán)中的應(yīng)用[J].金屬加工(冷加工),2010(22):66-68.
[6] 葉海見.斜橢圓宏程序在數(shù)控車床上的應(yīng)用[J].機(jī)床與液壓,2009,37(1):194-195.
[7] 賈春揚(yáng),杜海清.用于斜橢圓車削的模塊化宏程序開發(fā)[J].輕工機(jī)械,2012,30(5):84-85.
[8] 王紅梅,王文友,葛曉陽.利用數(shù)控車床加工橢圓曲線的方法[J].機(jī)床與液壓,2012,40(22):13-14.
[9] 陳銀,黃俞淇.巧用宏程序?qū)崿F(xiàn)旋轉(zhuǎn)加工功能[J].金屬加工(冷加工),2012(22):60-61.
[10]曹智梅.數(shù)控車床曲線方程的宏程序編制[J].機(jī)床與液壓,2012,40(14):141-143.
[11]薛明,趙薇.基于數(shù)控車削非圓二次曲線零件加工的研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013 (4):129-131.
[12]王鋒波,孫士彬.FANUC系統(tǒng)宏程序在拋物線類零件中的應(yīng)用[J].煤礦機(jī)械,2011,32 (10):148-150.
[13]韓全立,王宏穎.宏程序在數(shù)控編程中的應(yīng)用技巧及編程實(shí)例[J].機(jī)床與液壓,2010,38(12):29-32.
[14]霍蘇萍,張?jiān)聵?宏程序在數(shù)控加工中的應(yīng)用分析[J].煤礦機(jī)械,2007,28(9):121-123.