首页 理论教育子程序编程及调用方法详解

子程序编程及调用方法详解

【摘要】:子程序调用可通过辅助机能M98代码进行,在M98指令中,子程序号由地址P规定。如“N15 M98 P30100;”为调用子程序O0100三次,而“N15 M98 P3100;”则表示调用子程序O3100一次。

1.子程序

加工程序分为主程序和子程序两种。主程序是零件加工程序的主体部分,它是一个完整的零件加工程序,不同的加工零件都有唯一的主程序。为了简化编程,可将程序中的重复动作编写成独立的程序,这些程序可通过主程序指令进行调用,故称为子程序。

子程序的组成与结构和主程序无本质区别,但在使用上具有以下特点:

1)子程序可被任何主程序或其他子程序调用,且可多次循环执行。

2)主程序所调用的子程序,也可再调用其他子程序,这一功能称为“子程序嵌套”。

3)子程序执行结束后,可自动返回到调用的程序中。

4)子程序一般只能实现重复加工动作,故通常不能作为独立的加工程序使用。

2.子程序调用

在FS-0iD中,子程序号也由O后缀数字组成,但其结束标记使用M99,以便实现自动返回功能。子程序调用可通过辅助机能M98代码进行,在M98指令中,子程序号由地址P规定。

FS-0iD的子程序调用可以使用以下两种格式:

格式1:M98 P□□□□;

其作用是调用子程序O□□□□一次。如“N15 M98 P0100;”为调用子程序O0100、并执行一次,子程序号的前0可省略,即上述指令也可以写成“N15 M98 P100;”。指令“M98P□□□□;”的动作如下。

格式2:M98 P××××□□□□;

其作用是调用子程序O□□□□多次,地址P后缀的数字前四位××××代表调用次数,后四位□□□□代表子程序号,调用次数的前0可以省略,但子程序号□□□□的前0不能省略。如“N15 M98 P30100;”为调用子程序O0100三次,而“N15 M98 P3100;”则表示调用子程序O3100一次。指令“N15 M98 P30100;”的动作如下:

在FS-0iD上,还可通过特定的M代码、T代码直接调用子程序,这种子程序多用于自动换刀、工作台交换等特殊动作,使用时应参照机床使用说明书进行。

3.M99的使用

子程序返回指令M99可使子程序在执行完成后,自动返回到主程序的调用段,但也可根据需要选择如下特殊编程方式。

1)返回到指定程序段:如子程序使用“M99 P□□□□;”结束,则在子程序执行完成后,将返回到主程序的N□□□□程序段,其动作如下:

上述程序中,子程序O0100一旦执行完成,将直接返回到主程序的N100段,程序段N50~N100将被跳过。

2)主程序使用M99结束:主程序结束也可使用M99指令,如果在程序的最后用M99代替M30或M02,主程序将进入无限循环;如在程序中间使用M99 P□□□□指令,主程序将在程序段N□□□□到M99段之间无限循环。两种情况的程序执行过程如下:

为避免程序陷入无限循环,主程序上的M99指令一般可结合跳过程序段“/”使用,在上述程序中,当程序段跳过功能无效时,主程序将在N50~N200间循环;当程序段跳过功能生效时,主程序正常结束。