把程序中某些固定顺序和重复出现的程序单独抽出来,按一定格式编成一个程序供调用,这个程序就是常说的子程序,这样可以简化主程序的编制。子程序可以被主程序调用,同时子程序也可以调用另一个子程序。这样可以简化程序的编制和节省CNC系统的内存空间。
子程序必须有一程序号码,且以M99作为子程序的结束指令。主过程调用子程序的指令格式如下:
M98 P___L___;
其中P为被调用的子程序号
L为重复调用的次数
例如:M98 P1234L4
主程序调用同一子程序执行加工,最多可执行999次,且子程序亦可再调用另一子程序执行加工,最多可调用4层子程序(不同的系统其执行的次数及层次可能不同)。
例:以HNC-21T系统子程序指令,加工图2-11工件上的四个槽。
分别编制主程序和子程序如下:
主程序
%123;
M3 S600 G95 T0101;
G00 X82.0 Z0;
M98 P1234 L4;(调用于程序1234执行四次,切削四个凹槽)
X150.0 Z200.0;
M30;
子程序
%1234;
W-20.0;
G01 X74.0 F0.08;
G00 X82.0;
M99;
M99指令也可用于主程序最后程序段,此时程序执行指针会跳回主程序的第一程序段继续执行此程序,所以此程序将一直重复执行,除非按下RESET键才能中断执行。