有的控制因为产品的不同,工艺不同,需要分别使用多个不同的控制程序,有的输出线圈可能需要在各个控制程序中出现,为了避免同一个扫描执行同一元件的多条输出指令,在控制程序中可以使用单刀多掷的选择开关来切换不同的子程序。
使用call指令,来调用P0,P1,P2…..等等不同的子程序。。 在三菱fxPLC中,子程序调用指令是非常重要的功能,其中包括CALL和SRET指令。
CALL指令用于调用子程序,而SRET指令用于子程序的返回。这两个指令必须成对出现,不能单独应用。CALL指令可以与分支指针P0~P127一起使用,但P63不能用于CALL指令。在编程时,需要注意分支指针的使用,同一标号的P不能同时与CJ指令和CALL指令共用。
CALL指令有两种类型:连续执行型和脉冲执行型。连续执行型和脉冲执行型的区别类似于条件跳转指令CJ,但在使用上有一些差异。CALL指令需要安排在主程序中,主程序的结束需要使用FEND指令。
子程序开始端需要使用P**指针号,最后通过SRET指令返回主程序。 在程序编写时,子程序调用指令可以嵌套,最多可达到5级。嵌套的例子中,调用子程序时采用CALL(P)指令,属于脉冲执行方式,只在条件为ON时执行一次。因此,当条件从OFF变为ON时,调用子程序执行一次。 总的来说,CALL指令和SRET指令在三菱fxPLC中的使用和注意事项如下:
1. CALL指令用于调用子程序,必须与SRET指令一起使用。
2. 子程序的标号要写在FEND主程序结束指令的后面。
3. 一个标号与SRET指令之间的程序构成一个子程序。
4. 子程序调用指令可以嵌套,但最多为5级。
5. 在嵌套中,使用CALL(P)指令只在条件为ON时执行一次。 通过合理使用CALL和SRET指令,可以实现复杂的程序逻辑和功能分割,提高程序的可读性和维护性。在编程过程中,注意合理分配分支指针P的使用,避免冲突和错误操作。