子程序调用指令用于在程序中调用一个子程序,以便执行特定功能。子程序通常是与主程序分开的、完成特定功能的一段程序。当主程序需要执行这个功能时,可以使用子程序调用指令来调用该子程序。子程序执行完毕后,可以使用返回指令返回到主程序继续执行。
子程序调用指令的格式
子程序调用指令的格式如下:
```
M98 P×××××××;
```
其中,`M98` 是子程序调用指令,`P` 后面的前3位数字为子程序重复调用次数(可以从0到999),后4位数字为子程序序号。当不指定重复次数时,子程序只调用一次。
子程序调用指令的使用方法
调用子程序
在主程序中,使用 `M98` 指令后跟子程序编号来调用子程序。例如:
```
M98 P1200;
```
该指令将连续调用子程序 `1200` 共5次。
嵌套调用
子程序可以调用下一级子程序,这称为嵌套调用。上一级子程序与下一级子程序的关系,与主程序与第一层子程序的关系相同。
与运动指令一起使用
子程序调用指令可以与运动指令在同一个程序段中使用。例如:
```
G00 X100 M98 P1200;
```
该指令表示在 `X` 运动到 `X100` 后调用子程序 `1200`。
返回主程序
子程序执行完毕后,使用 `M99` 指令返回到主程序。`M99` 指令是子程序的结束指令,它并不返回到调用子程序程序段的下一程序段,而是返回到 `M99` 指令指定的顺序号的程序段,并执行该程序段。
示例
```
主程序部分:
G00 X100 ; 移动到X100位置
M98 P1200 ; 调用子程序1200,重复5次
M99 ; 返回到主程序,继续执行
子程序1200部分:
N10 G01 Y200 ; 在Y方向移动到Y200位置
N11 RET; 返回主程序
```
在这个示例中,主程序首先移动到 `X100` 位置,然后调用子程序 `1200`,子程序执行完毕后再返回到主程序继续执行。
总结
子程序调用指令 `M98` 用于在主程序中调用子程序,`M99` 用于子程序执行完毕后返回主程序。子程序可以嵌套调用,并且可以与运动指令一起使用。通过合理使用子程序,可以使程序结构更加清晰,节省代码量,提高程序运行效率。