4.2.5 子程序調用指令M98、M99
數控車床程序的編寫也可采用主、子程序的形式。數控系統按主程序的指令運行,但在主程序中遇見調用子程序的指令時,將開始按子程序的指令運行;在子程序中遇見調用結束指令時,自動返回到主程序,並重新按主程序的指令運行。
對程序中有壹些順序固定或反復出現的加工圖形,可將其寫成子程序,然後由主程序來調用,這樣可以大大簡化整個程序的編寫。
1.子程序調用指令M98
指令格式:M98 P L
M98指令中的P後面跟的是被調用的子程序的程序號,而L後面跟的是調用該子程序的次數(默認值為1)。主、子程序的調用關系見圖4-7。
在編寫程序時,主、子程序必須寫在同壹個文件中,都是以字母“O”開頭,以“O****”單獨作為壹程序行書寫。子程序中還可以再調用其他子程序,即可多重嵌套調用。
圖4-7 主、子程序調用關系
同壹個子程序可被主程序多次調用。同壹個主程序可以調用多個不同的子程序。
2.子程序結束指令M99
M99的功能就是結束子程序的運行並使數控系統返回到主程序,重新按主程序的指令運行。每個子程序的最後壹條指令必須是M99。
例4-6主子程序調用編程:在圖4-8中,輪廓的精加工用子程序編寫,在主程序中,按輪廓的形狀多次調用子程序,其參考程序如下:
圖4-8 主、子程序編程
O1000
N001 G92 X150.0 Z100.0;
N002 M03 S800 M08;
N003 G00 X35.0 Z0;
N004 G01 X0 F0.3;
N005 G00 X30.0 Z2.0;
N006 G01 Z-55.0 F0.3;
N007 G00 X150.0 Z100.0;
N008 X32.0Z0T0303;
N009 M98 P1500 L2;
N010 G00 W-12.0;
N011 G01 X0 F0.12;
N012 G04 X2.0;
N013 G00 X150.0 Z100.0 M09;
N014 M30;
O1500
N101 G00 W-12.0;
N102 G01 U-12.0 F0.15;
N103 G04 X1.0;
N104G00U12;
N105 W-8;
N106 G01 U-12 F0.15;
N107 G04 X1.0;
N108 G00U12;
N109 M99;
取工件左端面中心點為編程坐標原點,對刀點位置在編程坐標系中X150 Z100位置。
需要註意的是:在MDI方式下,使用子程序調用指令是無效的。