當(dāng)一個程序反復(fù)出現(xiàn)或在幾個程序中都要使用它時,可以把這類程序稱為固定程序,并事先存儲起來,使程序簡化,這組程序叫子程序。
主程序可以調(diào)用子程序,一個子程序也可以調(diào)用下一級子程序。子程序必須在主程序結(jié)束后建立,其作用相當(dāng)于一個固定循環(huán)。其調(diào)用過程如圖1所示。
一、調(diào)用子程序格式
1.M98 P△△△××××
地址含義:△△△——重復(fù)調(diào)用次數(shù)(最多調(diào)用999次。如果省略,則調(diào)用1次)××××——被調(diào)用的子程序號(調(diào)用次數(shù)大于1時,子程序號前面的0不可省略)。
如M98 P20010其含義是:調(diào)用0010號子程序2次。
2.M98 P ×××× L△△△
P××××調(diào)用的子程序號;
L△△△ 重復(fù)調(diào)用的子程序的次數(shù);
如:M98 P0010 L2其含義是:調(diào)用0010號子程序2次。
二、子程序的格式
Oxxxx;(子程序號)
……
……
……
M99;
M99指令為子程序結(jié)束并返回主程序,M98 P△△△xxxx的下一程序段,繼續(xù)執(zhí)行主程序。子程序重復(fù)執(zhí)行過程中,刀具的運(yùn)動軌跡一般是有規(guī)律地變化的,所以一般采用相對坐標(biāo)編程。
三、子程序的應(yīng)用
1.如圖2所示
已知:毛坯直徑Φ30mm,一號刀為外圓車刀,三號刀為切槽刀(寬度為2mm),工件原點(diǎn)建立在工件右端面上,切刀左刀尖對刀。
分析:各槽的尺寸完全相同,當(dāng)把刀具的起點(diǎn)放在X32 Z0處,可使在加工各槽時,刀具的軸向和徑向的運(yùn)動規(guī)律完全相同,適合用子程序編程,從而簡化主程序。
加工程序如下:
O0001 (主程序)
M03 S600 T0101;
G00 X30 Z2;
G01 Z-58 F0.3;
G00 X100 Z100;
T0303;
G00 X32 Z0;
M98 P40002;(調(diào)用子程序四次)
G00 X100 Z100;
M30;
O0002(子程序)
G00 W-12;(相對左移12)
G01 U-12 F0.15;(切削至槽底直徑Φ20)
G04 X1;(槽底停留一秒,修光槽底)
G00 U12;(相對退刀至絕對X32處)
M99;
2.如圖3所示
調(diào)用子程序加工不等距槽。
加工程序如下:
O0003 (主程序)
M03 S300 T0101;
G00 X32;
Z8;
M98 P20004(調(diào)用子程序兩次,切右端兩槽)
G00 X32 Z-28;(左端槽切削起始點(diǎn))
M98 P0004; (調(diào)用子程序,切左端槽)
G00 X100;
Z100;
M30;
O0004 (子程序)
G00 W-22;(相對左移22)
G01 U-12 F0.1;(切削至槽底直徑Φ20)
U12; (相對退刀至絕對X32處)
G00 W3; (相對右移3)
M99;
圖3所示的零件,第一次調(diào)用子程序,刀具定位在絕對坐標(biāo)Z8處,在子程序Z方向相對位移22,即為絕對坐標(biāo)Z=14切第一槽。切至槽底直徑Φ20mm,刀具X方向相對退刀U12至絕對坐標(biāo)X32處,刀具相對位移W3。第二次調(diào)用子程序,再相對左移22,正是切中間槽的Z方向起點(diǎn)。同理,第三次調(diào)用子程序時,要使刀具刀位點(diǎn)在Z方向與左端槽左側(cè)槽壁相距22,則需在主程序Z方向切削起點(diǎn)定位至Z-28,再左移22,即絕對坐標(biāo)Z=-50處。
綜述以上兩例,四(三)個槽沿軸向偏移,注意此時U向累加和為零,W向累加和為偏移量。編制子程序時,編程者要對刀具在相對坐標(biāo)與絕對坐標(biāo)轉(zhuǎn)換過程中所處位置有清晰的界定。
(作者單位:湖南化工職業(yè)技術(shù)學(xué)院)