李雅昔+李曉莉+李星恕
摘 要: 為方便加工零件上不同位置的非圓曲線,采用坐標(biāo)系平移的方法,將給定非圓曲線表達(dá)式的原坐標(biāo)系向數(shù)控車床建立的工件坐標(biāo)系分別沿x,y軸進(jìn)行平移,使兩坐標(biāo)系的坐標(biāo)原點(diǎn)重合,再將待加工的非圓曲線方程轉(zhuǎn)化為數(shù)控車床工件坐標(biāo)系中的非圓曲線方程,最后只需針對(duì)數(shù)控車床工件坐標(biāo)系中的非圓曲線方程進(jìn)行粗車循環(huán)與宏程序聯(lián)合編程,即可方便地實(shí)現(xiàn)零件加工。建立了加工不同位置非圓曲線宏程序編寫模式。提出的坐標(biāo)系平移方法,可方便地對(duì)不同位置的非圓曲線在建立數(shù)控車床工件坐標(biāo)系中建立新的表達(dá)式方程,該方法數(shù)學(xué)計(jì)算簡(jiǎn)單,適用于各類非圓曲線的宏程序編寫。
關(guān)鍵詞: 數(shù)控加工; 宏程序; 非圓曲線; 坐標(biāo)系平移
中圖分類號(hào): TN911?34; TP393 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)04?0084?03
Compiling method of macro program of machining non?circular curve by CNC lathe
LI Ya?xi1,2, LI Xiao?li3, LI Xing?shu1
(1. College of mechanical and electronic engineering, Northwest Agriculture & Forestry University, Yangling 712100, hina;
2. Shangluo Vocational and Technical College, Shangluo 726000, China; 3. School of Information Engineering, Changan University, Xian 710064, China)
Abstract: In order to manufacture non?circular curves in different positions on a mechanical component conveniently, a method of translating coordinate system is adopted to make the original coordinate system of non?circular curve expressions translated to workpiece coordinate system established by CNC lathe along x and y axes respectively, make the coordinate origins of above?mentioned two coordinate systems coincided, convert original non?circular curve expressions into the new curve expressions of CNC lathe, and then make the combined programming of rough turning and macro program according to the new curve expressions to realize the workpiece machining. The macro programming mode of non?circular curve processing in different positions was established. The method of coordinate system translation, proposed in this thesis, can make non?circular curves processing in different positions on a mechanical component easier to establish a new expressing expression in CNC workpiece coordinate system. The method is simple in mathematics, and suitable for macro programming of all kinds of non?circular curves.
Keywords: CNC machining; macro program; non?circular curve; coordinate system translation
在實(shí)際生產(chǎn)中,數(shù)控車床很少使用自動(dòng)編程。對(duì)于主要由圓柱面和圓錐面形成的零件來(lái)說(shuō),編程比較容易實(shí)現(xiàn),但當(dāng)零件上存在橢圓[1]、拋物線、雙曲線等非圓曲線[2]時(shí),一般的編程方法很難實(shí)現(xiàn)。針對(duì)這種現(xiàn)象,編寫宏程序就顯得十分重要。本文以華中世紀(jì)星HNC?21T數(shù)控車削系統(tǒng)為例,結(jié)合數(shù)控技能大賽與實(shí)際生產(chǎn),針對(duì)數(shù)控車床加工非圓曲線回轉(zhuǎn)面的宏程序的編寫方法進(jìn)行分析。
1 華中世紀(jì)星HNC?21T數(shù)控車削系統(tǒng)宏程序簡(jiǎn)介
使用變量編寫可進(jìn)行算術(shù)或邏輯運(yùn)算,并能控制程序段流向的程序,稱為用戶宏程序[3]。
華中世紀(jì)星HNC?21T數(shù)控車削系統(tǒng)為用戶配備了強(qiáng)有力的類似于高級(jí)語(yǔ)言的宏程序功能,用戶可以使用變量進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)的混合運(yùn)算,此外宏程序還提供了循環(huán)語(yǔ)句、分支語(yǔ)句和子程序調(diào)用語(yǔ)句,利于編制各種復(fù)雜的零件加工程序,減少乃至免除手工編程時(shí)進(jìn)行繁瑣的數(shù)值計(jì)算,精簡(jiǎn)程序量。常用的語(yǔ)句主要有以下兩種:
(1) 條件判別語(yǔ)句
格式1: IF(條件表達(dá)式) … ELSE … ENDIF
格式2: IF(條件表達(dá)式) … ENDIF
(2) 循環(huán)語(yǔ)句
格式: WHILE(條件表達(dá)式) …ENDW
2 公式表達(dá)非圓曲線宏程序編制的一般步驟
(1) 根據(jù)給定的非圓曲線方程選定自變量并確定自變量的取值范圍
非圓曲線方程中的x和z坐標(biāo)均可選定為自變量。一般根據(jù)曲線方程方便情況來(lái)選定x或z為自變量,如圖1所示,非圓曲線方程為z=[-x220],將x選為自變量較為合適,若選z為自變量還需要進(jìn)行曲線方程變換,且開(kāi)二次方表達(dá)不太方便。
自變量選定后,還需進(jìn)一步確定其取值范圍。圖1中自變量為x,半徑取值范圍為0~20。
(2) 根據(jù)非圓曲線方程確定因變量相對(duì)于自變量的表達(dá)式[5]
如圖1所示,非圓曲線方程為z=[-x220],自變量為x,因變量為z,則z的表達(dá)式為z=[-x220],正負(fù)號(hào)的選取與拋物線的凹凸有關(guān)。
(3) 根據(jù)給定的非圓曲線方程確定相對(duì)于工件坐標(biāo)系的偏移量
具體確定方法見(jiàn)本文第四個(gè)問(wèn)題中論述非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系不重合時(shí),宏程序編寫方法的應(yīng)用實(shí)例分析。
(4) 編寫程序。因?yàn)橐话忝鞔嬖谳^大的加工余量,故一般需采用外圓內(nèi)孔粗車循環(huán)指令G71[4]與宏程序嵌套的方法編寫程序。
圖1 非圓曲線(毛坯尺寸為Φ50,未注倒角C1)(一)
3 非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系重合
時(shí),宏程序編寫方法
(1) 首先確定拋物線的表達(dá)式與自變量的取值范圍。根據(jù)圖1中給定的拋物線,為便于編程,選取拋物線的頂點(diǎn)為原點(diǎn),可以輕易得出此拋物線的兩種表達(dá)式:即z=[-x220]與x=±SQRT(-20z)。
根據(jù)上文所述,可確定表達(dá)式為z=[-x220],其自變量x的取值范圍為0~20。
(2) 進(jìn)行宏程序編寫(本例僅分析非圓曲線宏程序的編寫方法,平端面與切斷不在程序中體現(xiàn))如下:
%0001
G92 X80 Z200 (換刀點(diǎn))
/M03 S600 T0101 (設(shè)定粗車轉(zhuǎn)速)
G95 (設(shè)定進(jìn)給為每轉(zhuǎn)進(jìn)給)
/G00 X52 Z2 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101(粗車循環(huán),循環(huán)體為N1與N2間程序段,在粗車時(shí)進(jìn)給量為0.1 mm/r)
/G00 X80 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,便于粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值后進(jìn)行精車)
M03 S900 T0101 (精車提速)
G00 G42 X0 Z3 (精車時(shí)建立刀具右補(bǔ)償)
N1 G01 X0 Z0 F0.2 (精車起點(diǎn)亦為拋物線起點(diǎn))
#10=0 (給自變量x賦值的初始值,x的初始值為0)
WHILE #10 LE 20 (建立循環(huán)條件:判斷自變量x達(dá)到20,若x的取值小于等于20,則程序一直在WHILE循環(huán)體中循環(huán),若x的取值大于20,則程序退出WHILE循環(huán)體)
#11=[#10*#10*0.05] (因變量z的取值,即z=[x220)]
G01 X[2*#10] Z[?#11] F0.2(小段直線插補(bǔ),逼近拋物線輪廓。2*#10表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,-#11表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此處取負(fù)值,是為了得到z=-[x220)]
#10=[#10+0.1] (x步進(jìn)值為0.1,即每次x的取值增加0.1,并判斷增加了0.1的x值是否滿足循環(huán)條件x≤20,此處若步進(jìn)值取值過(guò)大影響精度,取值過(guò)小加重系統(tǒng)運(yùn)算負(fù)擔(dān),應(yīng)在保證精度的前提下盡可能取較大值)
ENDW (循環(huán)結(jié)束:當(dāng)x的取值大于20時(shí),程序退出WHILE循環(huán)體)
G01 X46 (加工Φ48圓柱的右端面)
G01 X48 Z?21 (在Φ48圓柱的右端面倒角,滿足未注倒角C2)
G01 Z?46 (加工Φ48圓柱外圓,此處z取-46是為后續(xù)切斷時(shí),切刀能平穩(wěn)的切入,所有z方向比實(shí)際零件多加工6 mm)
N2 G01 X52 (刀具從Φ48圓柱的左端面切出,亦為精車終點(diǎn))
G00 G40 X80 Z200 (取消刀具補(bǔ)償,刀具退回?fù)Q刀點(diǎn),為后續(xù)切斷準(zhǔn)備)
M30 (程序結(jié)束)
執(zhí)行上述程序時(shí),一定要確保沒(méi)有選擇程序跳段功能。程序中加/的程序段是為了在粗車循環(huán)結(jié)束,等刀具回?fù)Q刀點(diǎn)后,可手動(dòng)停止程序,并根據(jù)測(cè)量工件尺寸修正刀具磨損補(bǔ)償后,能夠確保精加工的精度(在精加工前,按系統(tǒng)面板上的程序跳段鍵,待程序跳段鍵指示燈亮后,方可重新循環(huán)啟動(dòng))。
4 非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系不重合
時(shí),宏程序編寫方法
(1) 非圓曲線z方向有偏移量的宏程序編寫方法
確定拋物線的表達(dá)式與自變量的取值范圍。根據(jù)圖2中給定的拋物線,結(jié)合數(shù)控車編程的習(xí)慣,選取編程坐標(biāo)系的原點(diǎn)O1為拋物線右端面中心。此時(shí)編程坐標(biāo)系的原點(diǎn)O1與圖2中給定的拋物線方程的原點(diǎn)O并不重合,即O1與O在z軸方向偏移了5 mm。根據(jù)坐標(biāo)系平移的原理,可以得出在編程坐標(biāo)系x1O1z中,拋物線表達(dá)式變?yōu)閦=[-x220+5],與上例不同的是此時(shí)自變量x的取值范圍為10~20。
圖2 非圓曲線(毛坯尺寸為Φ50,未注倒角C1)(二)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X52 Z2 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X80 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X20 Z2
N1 G01 X20 Z0 F0.2 (精車起點(diǎn)亦為拋物線起點(diǎn))
#10=10 (給自變量x賦值的初始值,x的初始值為10)
WHILE #10 LE 20 (建立循環(huán)條件:判斷自變量x達(dá)到20,若x的取值小于等于20,則程序一直在WHILE循環(huán)體中循環(huán),若X的取值大于20,則程序退出WHILE循環(huán)體)
#11=[#10*#10*0.05] (給因變量z賦值,即z=[-x220])
G01 X[2*#10] Z[?[#11?5]] F0.2(小段直線插補(bǔ),逼近拋物線輪廓,2*#10表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,-[#11-5]表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此處取負(fù)值,是為了得到z=[-x220]+5)
#10=[#10+0.1] (x步進(jìn)為0.1)
ENDW
......(臺(tái)階面與外圓加工程序略)
M30
(2) 非圓曲線x方向與z方向均有偏移量的宏程序編寫方法
確定拋物線的表達(dá)式與自變量的取值范圍。根據(jù)圖3中給定的拋物線,選取編程坐標(biāo)系的原點(diǎn)為Φ10圓柱右端面中心。此時(shí)編程坐標(biāo)系的原點(diǎn)O1與圖3中給定的拋物線方程的原點(diǎn)O在x軸方向偏移了6 mm,同時(shí)在z軸方向偏移了4 mm。在給定的拋物線方程的坐標(biāo)系xOz中,分別以x與z為自變量,可以看出,若以z為自變量,則z的取值范圍很容易確定,為-12~-30,因此在本例中選取z為自變量建立拋物線方程。根據(jù)坐標(biāo)系平移的原理,可以得出此時(shí)在編程坐標(biāo)系x1Oz1中拋物線表達(dá)式變?yōu)閤+6=4+SQRT(-1.5z)。
圖3 非圓曲線(毛坯尺寸為Φ35,未注倒角C1)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X37 Z3 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X60 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X4 Z3
N1 G01 X4 Z2 (精車起點(diǎn),右端面倒角延長(zhǎng)線)
G01 X10 Z?1
G01 Z?8
G01 X20.486 (拋物線起點(diǎn))
#11=-12 (給自變量z賦值的初始值, x的初始值為-12)
WHILE #11 GE (-30)(建立循環(huán)條件:判斷自變量z達(dá)到-30,若z的取值大于等于-30,則程序一直在WHILE循環(huán)體中循環(huán),若z的取值小于-30,則程序退出WHILE循環(huán)體)
#10=SQRT[-1.5*[#11]] (給因變量x賦值,即x=SQRT(-1.5z))
G01 X[2*[#10+6]] Z[#11+4] F0.2 (小段直線插補(bǔ),逼近拋物線輪廓,2*[#10+6]表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,#11+4表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此時(shí)刀具運(yùn)動(dòng)軌跡由建立的x+6=4+SQRT(-1.5z)控制)
#11=#11?0.05 (z步進(jìn)為0.05)
ENDW
...... (臺(tái)階面與外圓加工程序略)
M30
5 結(jié) 語(yǔ)
利用數(shù)控車床加工非圓曲線時(shí),應(yīng)注意以下幾點(diǎn):
(1) 合理選擇步距。車削后零件的精度與編程時(shí)所選擇的步距有關(guān),步距值越大,加工精度越低,但為提高加工精度,過(guò)多地減小步距值會(huì)造成數(shù)控系統(tǒng)運(yùn)算負(fù)擔(dān),影響進(jìn)給速度的提高,從而降低加工效率,因此必須根據(jù)加工精度的要求合理的選擇步距,一般應(yīng)在保證加工精度的前提下,盡可能選擇較大的步距值。
(2) 對(duì)于非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系不重合時(shí),需將工件坐標(biāo)系進(jìn)行偏置。
(3) 內(nèi)輪廓程序的編寫與外輪廓程序的編寫相似,可根據(jù)中心點(diǎn)位置及起止點(diǎn)位置的具體情況,套用本文中的宏程序進(jìn)行編寫。
本文中選取的實(shí)例均已在華中世紀(jì)星HNC?21T系統(tǒng)的數(shù)控車床上實(shí)際加工,實(shí)例中給定的F,S,ap等參數(shù)可根據(jù)實(shí)際加工情況進(jìn)行設(shè)定,給定值可供參考。
參考文獻(xiàn)
[1] 葛衛(wèi)國(guó).基于宏程序在數(shù)控車床編程中的運(yùn)用與探討[J].制造業(yè)自動(dòng)化,2010,32(4):32?35.
[2] 何玉山.數(shù)控車床加工非圓曲線宏程序編寫技巧[J].CAD/CAM與制造業(yè)信息化,2009(10):88?89.
[3] 馮陽(yáng),陳元景,袁曉波.數(shù)控車床加工簡(jiǎn)化編程:用戶宏程序[J].中國(guó)高新技術(shù)企業(yè),2008(24):331?333.
[4] 孟生才.數(shù)控車床宏程序在不同系統(tǒng)循環(huán)中的應(yīng)用[J].機(jī)械加工:冷加工,2010(22):66?68.
[5] 葉海見(jiàn).斜橢圓宏程序在數(shù)控車床上的應(yīng)用[J].機(jī)床與液壓,2009,37(1):194?195.
[6] 姜曉彤,趙正旭.基于OpenGL技術(shù)的數(shù)控車床虛擬仿真系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2007,30(1):90?92.
圖2 非圓曲線(毛坯尺寸為Φ50,未注倒角C1)(二)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X52 Z2 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X80 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X20 Z2
N1 G01 X20 Z0 F0.2 (精車起點(diǎn)亦為拋物線起點(diǎn))
#10=10 (給自變量x賦值的初始值,x的初始值為10)
WHILE #10 LE 20 (建立循環(huán)條件:判斷自變量x達(dá)到20,若x的取值小于等于20,則程序一直在WHILE循環(huán)體中循環(huán),若X的取值大于20,則程序退出WHILE循環(huán)體)
#11=[#10*#10*0.05] (給因變量z賦值,即z=[-x220])
G01 X[2*#10] Z[?[#11?5]] F0.2(小段直線插補(bǔ),逼近拋物線輪廓,2*#10表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,-[#11-5]表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此處取負(fù)值,是為了得到z=[-x220]+5)
#10=[#10+0.1] (x步進(jìn)為0.1)
ENDW
......(臺(tái)階面與外圓加工程序略)
M30
(2) 非圓曲線x方向與z方向均有偏移量的宏程序編寫方法
確定拋物線的表達(dá)式與自變量的取值范圍。根據(jù)圖3中給定的拋物線,選取編程坐標(biāo)系的原點(diǎn)為Φ10圓柱右端面中心。此時(shí)編程坐標(biāo)系的原點(diǎn)O1與圖3中給定的拋物線方程的原點(diǎn)O在x軸方向偏移了6 mm,同時(shí)在z軸方向偏移了4 mm。在給定的拋物線方程的坐標(biāo)系xOz中,分別以x與z為自變量,可以看出,若以z為自變量,則z的取值范圍很容易確定,為-12~-30,因此在本例中選取z為自變量建立拋物線方程。根據(jù)坐標(biāo)系平移的原理,可以得出此時(shí)在編程坐標(biāo)系x1Oz1中拋物線表達(dá)式變?yōu)閤+6=4+SQRT(-1.5z)。
圖3 非圓曲線(毛坯尺寸為Φ35,未注倒角C1)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X37 Z3 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X60 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X4 Z3
N1 G01 X4 Z2 (精車起點(diǎn),右端面倒角延長(zhǎng)線)
G01 X10 Z?1
G01 Z?8
G01 X20.486 (拋物線起點(diǎn))
#11=-12 (給自變量z賦值的初始值, x的初始值為-12)
WHILE #11 GE (-30)(建立循環(huán)條件:判斷自變量z達(dá)到-30,若z的取值大于等于-30,則程序一直在WHILE循環(huán)體中循環(huán),若z的取值小于-30,則程序退出WHILE循環(huán)體)
#10=SQRT[-1.5*[#11]] (給因變量x賦值,即x=SQRT(-1.5z))
G01 X[2*[#10+6]] Z[#11+4] F0.2 (小段直線插補(bǔ),逼近拋物線輪廓,2*[#10+6]表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,#11+4表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此時(shí)刀具運(yùn)動(dòng)軌跡由建立的x+6=4+SQRT(-1.5z)控制)
#11=#11?0.05 (z步進(jìn)為0.05)
ENDW
...... (臺(tái)階面與外圓加工程序略)
M30
5 結(jié) 語(yǔ)
利用數(shù)控車床加工非圓曲線時(shí),應(yīng)注意以下幾點(diǎn):
(1) 合理選擇步距。車削后零件的精度與編程時(shí)所選擇的步距有關(guān),步距值越大,加工精度越低,但為提高加工精度,過(guò)多地減小步距值會(huì)造成數(shù)控系統(tǒng)運(yùn)算負(fù)擔(dān),影響進(jìn)給速度的提高,從而降低加工效率,因此必須根據(jù)加工精度的要求合理的選擇步距,一般應(yīng)在保證加工精度的前提下,盡可能選擇較大的步距值。
(2) 對(duì)于非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系不重合時(shí),需將工件坐標(biāo)系進(jìn)行偏置。
(3) 內(nèi)輪廓程序的編寫與外輪廓程序的編寫相似,可根據(jù)中心點(diǎn)位置及起止點(diǎn)位置的具體情況,套用本文中的宏程序進(jìn)行編寫。
本文中選取的實(shí)例均已在華中世紀(jì)星HNC?21T系統(tǒng)的數(shù)控車床上實(shí)際加工,實(shí)例中給定的F,S,ap等參數(shù)可根據(jù)實(shí)際加工情況進(jìn)行設(shè)定,給定值可供參考。
參考文獻(xiàn)
[1] 葛衛(wèi)國(guó).基于宏程序在數(shù)控車床編程中的運(yùn)用與探討[J].制造業(yè)自動(dòng)化,2010,32(4):32?35.
[2] 何玉山.數(shù)控車床加工非圓曲線宏程序編寫技巧[J].CAD/CAM與制造業(yè)信息化,2009(10):88?89.
[3] 馮陽(yáng),陳元景,袁曉波.數(shù)控車床加工簡(jiǎn)化編程:用戶宏程序[J].中國(guó)高新技術(shù)企業(yè),2008(24):331?333.
[4] 孟生才.數(shù)控車床宏程序在不同系統(tǒng)循環(huán)中的應(yīng)用[J].機(jī)械加工:冷加工,2010(22):66?68.
[5] 葉海見(jiàn).斜橢圓宏程序在數(shù)控車床上的應(yīng)用[J].機(jī)床與液壓,2009,37(1):194?195.
[6] 姜曉彤,趙正旭.基于OpenGL技術(shù)的數(shù)控車床虛擬仿真系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2007,30(1):90?92.
圖2 非圓曲線(毛坯尺寸為Φ50,未注倒角C1)(二)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X52 Z2 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X80 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X20 Z2
N1 G01 X20 Z0 F0.2 (精車起點(diǎn)亦為拋物線起點(diǎn))
#10=10 (給自變量x賦值的初始值,x的初始值為10)
WHILE #10 LE 20 (建立循環(huán)條件:判斷自變量x達(dá)到20,若x的取值小于等于20,則程序一直在WHILE循環(huán)體中循環(huán),若X的取值大于20,則程序退出WHILE循環(huán)體)
#11=[#10*#10*0.05] (給因變量z賦值,即z=[-x220])
G01 X[2*#10] Z[?[#11?5]] F0.2(小段直線插補(bǔ),逼近拋物線輪廓,2*#10表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,-[#11-5]表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此處取負(fù)值,是為了得到z=[-x220]+5)
#10=[#10+0.1] (x步進(jìn)為0.1)
ENDW
......(臺(tái)階面與外圓加工程序略)
M30
(2) 非圓曲線x方向與z方向均有偏移量的宏程序編寫方法
確定拋物線的表達(dá)式與自變量的取值范圍。根據(jù)圖3中給定的拋物線,選取編程坐標(biāo)系的原點(diǎn)為Φ10圓柱右端面中心。此時(shí)編程坐標(biāo)系的原點(diǎn)O1與圖3中給定的拋物線方程的原點(diǎn)O在x軸方向偏移了6 mm,同時(shí)在z軸方向偏移了4 mm。在給定的拋物線方程的坐標(biāo)系xOz中,分別以x與z為自變量,可以看出,若以z為自變量,則z的取值范圍很容易確定,為-12~-30,因此在本例中選取z為自變量建立拋物線方程。根據(jù)坐標(biāo)系平移的原理,可以得出此時(shí)在編程坐標(biāo)系x1Oz1中拋物線表達(dá)式變?yōu)閤+6=4+SQRT(-1.5z)。
圖3 非圓曲線(毛坯尺寸為Φ35,未注倒角C1)
非圓曲線部分宏程序如下:
%0001
......(機(jī)床轉(zhuǎn)速,刀具等設(shè)定略)
/G00 X37 Z3 (設(shè)定粗車循環(huán)G71的循環(huán)起點(diǎn))
/G71 U1 R0.5 P1 Q2 X0.2 Z0.1 F0.1 S600 T0101
/G00 X60 Z200 (粗車循環(huán)結(jié)束后刀具回?fù)Q刀點(diǎn))
/M00 (程序暫停,粗車后測(cè)量工件尺寸,修改刀具磨損補(bǔ)償值)
M03 S900 T0101 (精車提速)
G00 G42 X4 Z3
N1 G01 X4 Z2 (精車起點(diǎn),右端面倒角延長(zhǎng)線)
G01 X10 Z?1
G01 Z?8
G01 X20.486 (拋物線起點(diǎn))
#11=-12 (給自變量z賦值的初始值, x的初始值為-12)
WHILE #11 GE (-30)(建立循環(huán)條件:判斷自變量z達(dá)到-30,若z的取值大于等于-30,則程序一直在WHILE循環(huán)體中循環(huán),若z的取值小于-30,則程序退出WHILE循環(huán)體)
#10=SQRT[-1.5*[#11]] (給因變量x賦值,即x=SQRT(-1.5z))
G01 X[2*[#10+6]] Z[#11+4] F0.2 (小段直線插補(bǔ),逼近拋物線輪廓,2*[#10+6]表示每次橫向進(jìn)刀的終點(diǎn)坐標(biāo),為直徑值,#11+4表示每次縱向進(jìn)刀的終點(diǎn)坐標(biāo),此時(shí)刀具運(yùn)動(dòng)軌跡由建立的x+6=4+SQRT(-1.5z)控制)
#11=#11?0.05 (z步進(jìn)為0.05)
ENDW
...... (臺(tái)階面與外圓加工程序略)
M30
5 結(jié) 語(yǔ)
利用數(shù)控車床加工非圓曲線時(shí),應(yīng)注意以下幾點(diǎn):
(1) 合理選擇步距。車削后零件的精度與編程時(shí)所選擇的步距有關(guān),步距值越大,加工精度越低,但為提高加工精度,過(guò)多地減小步距值會(huì)造成數(shù)控系統(tǒng)運(yùn)算負(fù)擔(dān),影響進(jìn)給速度的提高,從而降低加工效率,因此必須根據(jù)加工精度的要求合理的選擇步距,一般應(yīng)在保證加工精度的前提下,盡可能選擇較大的步距值。
(2) 對(duì)于非圓曲線方程坐標(biāo)原點(diǎn)與工件坐標(biāo)系不重合時(shí),需將工件坐標(biāo)系進(jìn)行偏置。
(3) 內(nèi)輪廓程序的編寫與外輪廓程序的編寫相似,可根據(jù)中心點(diǎn)位置及起止點(diǎn)位置的具體情況,套用本文中的宏程序進(jìn)行編寫。
本文中選取的實(shí)例均已在華中世紀(jì)星HNC?21T系統(tǒng)的數(shù)控車床上實(shí)際加工,實(shí)例中給定的F,S,ap等參數(shù)可根據(jù)實(shí)際加工情況進(jìn)行設(shè)定,給定值可供參考。
參考文獻(xiàn)
[1] 葛衛(wèi)國(guó).基于宏程序在數(shù)控車床編程中的運(yùn)用與探討[J].制造業(yè)自動(dòng)化,2010,32(4):32?35.
[2] 何玉山.數(shù)控車床加工非圓曲線宏程序編寫技巧[J].CAD/CAM與制造業(yè)信息化,2009(10):88?89.
[3] 馮陽(yáng),陳元景,袁曉波.數(shù)控車床加工簡(jiǎn)化編程:用戶宏程序[J].中國(guó)高新技術(shù)企業(yè),2008(24):331?333.
[4] 孟生才.數(shù)控車床宏程序在不同系統(tǒng)循環(huán)中的應(yīng)用[J].機(jī)械加工:冷加工,2010(22):66?68.
[5] 葉海見(jiàn).斜橢圓宏程序在數(shù)控車床上的應(yīng)用[J].機(jī)床與液壓,2009,37(1):194?195.
[6] 姜曉彤,趙正旭.基于OpenGL技術(shù)的數(shù)控車床虛擬仿真系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2007,30(1):90?92.