FANUC 为什么有些设备同一程序段可以执行3个M代码


同一程序段执行3个M代码

在一些设备中可能会见到同一程序段同时执行多个M代码的情形,如控制自动门关闭与治具夹紧的M代码在同一程序段同时执行,带有五轴的加工中心设备,同时控制四轴与五轴放松的M代码指令在同一程序段执行,还有一些设备在同一程序段同时执行3个M代码等等,在同一程序段同时执行多个M代码可以有效缩短整个加工循环时间,那么系统是如何实现同一程序段同时执行多个M代码的呢?

一般情况下,单个M代码的执行,程序执行到M代码指令后,会触发M代码辅助功能选通信号F7.0,并会将M代码的数值反馈到M代码辅助功能代码信号F10~F13中,我们通过这两个信号对M代码进行译码处理,将译码所得的地址进行逻辑编程,编程完成后再触发M代码完成信号G4.3,完成整个M代码控制动作。

但是当同一程序段执行多个M代码指令时,系统为了避免冲突,会将第一个M代码的值反馈在F10~F13中,其他的M代码会使用其他通道进行单独处理。第二个M代码执行时,会触发第2M功能选通信号F8.4(MF2),并将第二个M代码数值反馈在第2M功能代码信号F14~F15中,第3个M代码执行时,会触发第3M功能选通信号F8.5(MF3),并将第3个M代码数值反馈在第3M功能代码信号F16~F17中,再分别为各通道M代码进行译码处理,如下图第一个M代码为M50,第二个M代码为M52,第三个M代码为M54;

每个通道的M代码执行时触发的完成信号也是不同的,第一个M代码触发的完成信号为辅助功能完成信号G4.3,第二个M代码触发的完成信号为第2M功能完成信号G4.4,第三个M代码触发的完成信号为第3M功能完成信号G4.5。

完成上述操作后,系统就可以实现同一程序段执行多个M代码的功能了,虽然M代码触发的通道可能不一样,但M代码的功能都是相同的,如M50执行时会触发Y10.0,不管M50是写在同一程序段中的第一个还是后两个位置的M代码,M代码的功能是不受影响的。

当使用同一程序段执行多个M代码功能时,除了PMC程序中有关M代码的程序需要处理外,还应修改参数3404#7(M3B)为1,否则系统也无法执行多个M代码,需要注意。

发表回复

登录... 后才能评论