這就能使程序簡(jiǎn)潔明了,節(jié)省內(nèi)存空間。但應(yīng)用子程序至少要占用兩個(gè)程序名(即主程序和子程序各占1個(gè))。
有的數(shù)控系統(tǒng)程序總數(shù)只有64個(gè),當(dāng)加工的產(chǎn)品種類(lèi)較多時(shí),只能刪除原有的其他程序。另外,在執(zhí)行子程序過(guò)程中出現(xiàn)問(wèn)題(比如崩刀),再重新調(diào)試執(zhí)行是件很麻煩的事。
而宏程序是通過(guò)數(shù)學(xué)計(jì)算或邏輯運(yùn)算,以變量的不斷變化進(jìn)行編程,程序非常簡(jiǎn)潔且邏輯性強(qiáng)。特別是加工一些非圓曲線時(shí)(如橢圓、拋物線等),更顯示出宏程序的優(yōu)越性。
當(dāng)我們?cè)诩庸ば螤钕嗤叽绮煌漠a(chǎn)品時(shí),只需要改變其中的的變量就解決問(wèn)題了。一般情況下,宏程序的編寫(xiě)都較為復(fù)雜,對(duì)編程人員和操作人員的要求較高,且其應(yīng)用受機(jī)床數(shù)控系統(tǒng)宏程序功能的限制——有的機(jī)床只能運(yùn)行宏程序功能A,不支持宏程序功能B,有的舊系統(tǒng)甚至不帶宏程序功能。
如果將子程序和宏程序結(jié)合起來(lái)使用,就可以相互取長(zhǎng)補(bǔ)短,使編程和加工調(diào)試都方便快捷,為生產(chǎn)節(jié)省輔助時(shí)間,提高生產(chǎn)效率。編程人員和操作人員只需要懂得一些簡(jiǎn)單的宏程序知識(shí)就能應(yīng)付自如。下面就以?xún)蓚€(gè)例子說(shuō)明子程序與宏程序在數(shù)控車(chē)削中的綜合運(yùn)用。
一、一次裝夾車(chē)多件
在車(chē)削加工中,當(dāng)需加工多個(gè)相同的精度要求較高的小零件時(shí),為避免機(jī)床的重復(fù)起動(dòng),應(yīng)用子程序?qū)崿F(xiàn)一次裝夾車(chē)多件較為理想。是一件較薄的螺紋栓,直徑為30mm,兩邊倒角1mm×45º。
這里的要求為:毛坯Ф32mm,右端面中心為工件坐標(biāo)原點(diǎn),一次裝夾加工10件。工件伸出約100mm。切斷刀刀寬2.5mm,左刀點(diǎn)對(duì)刀。采用廣州數(shù)控系統(tǒng)980TDA,前刀架,具體編程如下。
O1234;
G50 X100. Z100.;定義工件坐標(biāo)系
T0101;外圓車(chē)刀
M03 S500; 主軸正轉(zhuǎn),500r/min
G00 X32. Z2.;
G90 X30. Z-90. F100; 粗加工外圓
S1000;
G00 X28.;
G01 Z0. F100;精加工外圓
G01 X29.8 Z-1. F50;
G01 Z-85.;長(zhǎng)度要保證可加工10個(gè)工件
G00 X100. Z100.;退回?fù)Q刀點(diǎn)
S800;
T0202;60º螺紋車(chē)刀
G00 X32. Z2.;
G92 X29. Z-85. F1;加工螺紋,螺距為1mm
G92 X28.85 Z-85. F1;
G92 X28.8 Z-85. F1;
G00 X100. Z100.;退回?fù)Q刀點(diǎn)
M00;程序暫停,檢驗(yàn)螺紋
M03 S600;
T0303;切斷刀,刀寬2.5mm
G00 X31. Z0.;定位
#1=2.5;宏變量輸入刀寬值
#2=#1+5.3; 宏變量輸入每次移動(dòng)值
M98 P104321; 調(diào)用子程序(O4321)10次
G00 X100. Z100.; 退回?fù)Q刀點(diǎn)
T0101;
M30; 主程序結(jié)束
子程序:
O4321;
G94 X-0.5 W-0.1 F60;精車(chē)右端面
GOO W-#2;移動(dòng)一個(gè)切斷距離
G94 X10 F60;先開(kāi)槽
G94 X27.6 W0 R1.7;工件左邊倒角,留0.2mm余量給下道工序車(chē)左端面
G94 X27.8 W0 R-1.6;下一個(gè)工件的右邊倒角,并留0.1mm余量精車(chē)端面
G94 X-0.5 W0.1 R0;切斷
M99;子程序結(jié)束返回
這樣編程的好處在于,如果在加工過(guò)程中,切斷刀磨損或折斷,在刃磨好或更換切斷刀后,重新對(duì)刀,只需更改宏變量(#1)和子程序的調(diào)用次數(shù),然后定位到“G00 X31.Z0.”,按“循環(huán)起動(dòng)”就可以繼續(xù)加工了。
二、大凹圓弧的加工
車(chē)削大凹圓弧,由于直徑方向尺寸相差太大,無(wú)法一二次走刀來(lái)完成加工。若采用G73固定循環(huán)指令編程,則空走刀過(guò)多,影響生產(chǎn)率效。
若用切槽刀進(jìn)行開(kāi)粗,圓頭刀半精、精加工,雖然加工效率較快,但需手工計(jì)算或利用CAD繪圖找出相應(yīng)點(diǎn)的坐標(biāo),所需輔助時(shí)間較長(zhǎng)。并且,用切槽刀開(kāi)粗,徑向受力大,不適合工件剛性不夠的情況下使用。
此時(shí),若使用子程序和宏程序的混合編程進(jìn)行加工,則能較好地解決上述問(wèn)題。如圖2,在直角三角形ABC中,B為R31的圓心。已知AC=(80-10-10)/2=30,BC=31,。故取開(kāi)始切削的圓弧半徑為8mm,切削的圓弧半徑每次增加1mm。如圖3,計(jì)算出EF≈5.5mm,并計(jì)算出每次Z軸移動(dòng)量約為1.374mm。編程如下(只編寫(xiě)加工凹圓弧部分,使用的圓頭車(chē)刀半徑為2mm,圓心作為對(duì)刀點(diǎn)):
O4567;
G50 X100. Z100.;定義工件坐標(biāo)系
M03 S500;主軸正轉(zhuǎn),500r/min
T0303;圓弧車(chē)刀,R=2mm
G00 X84. Z-40.;定位到E點(diǎn)
#1=1.374;每次Z軸移動(dòng)量
#2=5.5-#1;定位初值
#3=7.;半徑初值
#4=1.;半徑增值
G00 W#2;
M98 P107654;調(diào)用子程序
G00 G42 X84 Z-10 D03; 執(zhí)行半徑補(bǔ)償
G01 X80 Z10 F60;
G02 X80 Z-70 R31; G01 X84 ;最后精加工
G00 G40 X100 Z100; T0101;取消半徑補(bǔ)償
M30; 主程序結(jié)束
O7654; 子程序
G00 W#1;Z軸正向進(jìn)給1.374mm
#2=#2+#1;
#3=#3+#4;半徑值加1mm
#5=#2+#2;
G02 W-#5 R#3 F80; 從右至左加工圓弧
G00 W-#1;Z軸負(fù)向進(jìn)給1.374mm
#2=#2+#1;
#3=#3+#4;半徑值加1mm
#5=#2+#2;
G03 W#5 R#3 F80; 從左至右加工圓弧
M99;子程序結(jié)束返回
上述編程每次在半徑方向進(jìn)給1mm,調(diào)用1次子程序半徑方向進(jìn)給2mm,加工過(guò)程沒(méi)有多余的空走刀,加工效率極高。在子程序中不執(zhí)行刀具半徑補(bǔ)償,所以刀具要偏移輪廓超過(guò)一個(gè)刀具半徑值。
如果機(jī)床不支持刀具半徑補(bǔ)償功能,可以在編程時(shí)人工編移一個(gè)刀具半徑進(jìn)行加工。如果機(jī)床只能執(zhí)行宏程序功能A而不能執(zhí)行宏程序B的話(huà),可以用宏程序的加法運(yùn)算指令“G65 H02”來(lái)代替上述宏變量的加法運(yùn)算,不會(huì)影響加工效果。
掃一掃微信二維碼
掃一掃微博二維碼