首页 理论教育如何进行宏程序中断及返回处理?

如何进行宏程序中断及返回处理?

【摘要】:2)通过PMC程序,在PMC输出信号G053.5上发送宏程序中断信号UNIT。中断方式Ⅰ有效时,只要输入宏程序中断信号UNIT,CNC将立即中止现行程序段的执行,转入宏程序。如中断宏程序中无普通NC程序段,其处理与中断方式Ⅰ相同。图5.3-7 宏程序中断的返回1)正常返回:如宏程序以M99指令结束,执行完成后正常返回,并根据不同的中断方式处理被中止的程序段。

1.使用条件

宏程序中断是通过外部输入信号中断现行程序、直接调用指定宏程序的功能,宏程序的调用不需要编制调用指令。宏程序中断功能的使用条件如下:

1)设定CNC参数PRM6003.7(MUS)=1,生效宏程序中断功能。

2)通过PMC程序,在PMC输出信号G053.5上发送宏程序中断信号UNIT。

3)在CNC参数PRM6003.3(TSE)上设定中断信号的类型,设定0为上升沿有效;设定1为信号ON有效。

4)在DNC运行或执行外部输入程序时,不能进行宏程序中断。

2.中断允许与禁止

通过CNC参数的设定,可以M代码生效或禁止宏程序中断功能,相关参数的设定方法如下:

PRM6003.4(MPR)=0:M96生效宏程序中断;M97禁止宏程序中断。

PRM6003.4(MPR)=1:利用CNC参数PRM6033设定的M代码,生效宏程序中断功能;利用CNC参数PRM6034的M代码设定禁止宏程序中断功能。

如图5.3-3所示,当宏程序中断被M代码禁止时,宏程序中断输入信号将无效。

3.中断方式

利用宏程序中断功能中断现行程序的方法有两种。

(1)中断方式Ⅰ

中断方式Ⅰ在设定CNC参数PRM6003.2(MIN)=0时有效。中断方式Ⅰ有效时,只要输入宏程序中断信号UNIT,CNC将立即中止现行程序段的执行,转入宏程序。如果宏程序中含有普通NC程序段,被中止的现行程序段中尚未完成部分将被放弃,宏程序返回后将从中断程序段的下一段开始继续,其处理过程如图5.3-4所示。

978-7-111-41794-1-Chapter05-55.jpg

图5.3-3 中断允许与禁止

978-7-111-41794-1-Chapter05-56.jpg

图5.3-4 有NC程序段的中断处理

如宏程序中无普通NC程序段,宏程序执行完成后,将返回到被中断的程序段,继续执行被中止的现行程序段中剩余部分,其处理过程如图5.3-5所示。

978-7-111-41794-1-Chapter05-57.jpg

图5.3-5 无NC程序段的中断处理

(2)中断方式Ⅱ

选择中断方式Ⅱ在CNC参数PRM6003.2(MIN)设定1时有效。中断方式Ⅱ有效时,如宏程序中含有普通NC程序段,执行到NC程序段时将暂停宏程序的处理;CNC先处理被中止的现行程序段中的剩余部分,然后才能处理宏程序的NC程序段,其执行过程如图5.3-6所示。如中断宏程序中无普通NC程序段,其处理与中断方式Ⅰ相同。

4.固定循环的中断

978-7-111-41794-1-Chapter05-58.jpg

图5.3-6 有NC程序段的中断Ⅱ处理

固定循环执行期间是否进行宏程序中断,可通过CNC参数PRM6003.6(MCY)的设定选择,设定0时,宏程序中断无效;设定1时,宏程序中断有效,中断方式通过CNC参数PRM6003.2(MIN)设定选择。

当选择中断方式Ⅰ时,如宏程序中含有NC程序段,固定循环的剩余动作将被放弃;如宏程序中无NC程序段,宏程序执行完成后,将继续执行固定循环的剩余动作。当选择中断方式Ⅱ时,宏程序中断需要等待固定循环执行到最后一个运动程序段时,才能转入用户宏程序。如宏程序含有NC程序段,则这一程序段必须在循环结束后才能处理;如宏程序中无NC程序段,在宏程序执行完成后,继续执行固定循环的剩余动作。

执行宏程序时,原程序中的宏程序模态调用指令G66被暂时取消,但当返回到原程序后,模态调用功能被自动恢复。

5.中断的返回

中断宏程序执行完成后,将返回到被中断的程序继续执行,返回位置有如图5.3-7所示的两种指令方式。

978-7-111-41794-1-Chapter05-59.jpg

图5.3-7 宏程序中断的返回

1)正常返回:如宏程序以M99指令结束,执行完成后正常返回,并根据不同的中断方式处理被中止的程序段。正常返回时,可恢复被中断程序段的模态代码。

2)指定位置返回:如宏程序以指令M99P□□结束,宏程序执行完成后将返回到被中断程序的N□□处。在这种情况下,如宏程序未进行模态代码的修改,被中断程序中的模态代码继续有效;如宏程序中对模态代码进行了修改,它将影响被中断程序的模态代码,因此,需要在返回程序段中定义完整的模态代码或在宏程序返回时设定模态代码。