(1)调用子程序
1)调用子程序JSR指令符号与操作数如图6-17所示。
图6-17 调用子程序JSR指令
调用子程序JSR将调用与上节点值相同的SBR指令所定义的子程序,子程序可以允许调用子程序,但最多仅允许16层的嵌套(nested)调用。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令是否执行。
上节点:子程序的标签名(label)
2)指令的输入、输出。
•指令的输入。
I1:动作控制。输入为“ON”或在输入的上升沿时,若符合以下条件时则执行子过程调用,上节点值相同的SBR指令和RET指令皆存在,SBR指令位于JSR指令之后,RET指令位于SBR指令之后。
•指令的输出。
O1=I1
O2=0
(2)子程序定义
子程序定义SBR指令的符号与操作数如图6-18所示。
图6-18 子程序定义SBR指令(www.xing528.com)
子程序定义SBR指令是与上节点值相同的RET指令搭配使用来定义子程序由此开始。当此定义的子程序被调用执行时,程序由SBR指令所在的下一网络开始执行,也就是说SBR指令在正常情况下不被执行。当主程序未利用主程序结束EOP指令来作为结束,而当SBR指令被执行时,则此次扫描的程序执行到此即结束。
上节点:子程序的标签名(label)。
(3)子程序返回
子程序返回RET指令的符号与操作数如图6-19所示。
图6-19 子程序返回RET指令
子程序返回RET指令是与上节点值相同的SBR指令搭配使用来代表子程序结束。指令输出方面可以表示指令执行状况,在编辑梯形图程序时,RET指令必须放在网络的左上角位置,且这个网络只能够有此唯一指令存在。
上节点:子程序的标签名(label)
(4)子程序指令的应用(见图6-20)
图6-20 子程序指令的应用
当10001为“ON”时,调用标签为L1的子程序。
执行标签为L1子程序,Y1为“ON”时,延时2s,驱动Y2。
执行子程序返回指令RET,返回主程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。