首页 理论教育 使用子程序控制程序流程的实现方法

使用子程序控制程序流程的实现方法

时间:2023-06-28 理论教育 版权反馈
【摘要】:上节点:子程序的标签名2)指令的输入、输出。当此定义的子程序被调用执行时,程序由SBR指令所在的下一网络开始执行,也就是说SBR指令在正常情况下不被执行。子程序返回子程序返回RET指令的符号与操作数如图6-19所示。图6-19 子程序返回RET指令子程序返回RET指令是与上节点值相同的SBR指令搭配使用来代表子程序结束。执行标签为L1子程序,Y1为“ON”时,延时2s,驱动Y2。执行子程序返回指令RET,返回主程序。

使用子程序控制程序流程的实现方法

(1)调用子程序

1)调用子程序JSR指令符号与操作数如图6-17所示。

978-7-111-36392-7-Chapter06-34.jpg

图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所示。

978-7-111-36392-7-Chapter06-35.jpg

图6-18 子程序定义SBR指令(www.xing528.com)

子程序定义SBR指令是与上节点值相同的RET指令搭配使用来定义子程序由此开始。当此定义的子程序被调用执行时,程序由SBR指令所在的下一网络开始执行,也就是说SBR指令在正常情况下不被执行。当主程序未利用主程序结束EOP指令来作为结束,而当SBR指令被执行时,则此次扫描的程序执行到此即结束。

上节点:子程序的标签名(label)。

(3)子程序返回

子程序返回RET指令的符号与操作数如图6-19所示。

978-7-111-36392-7-Chapter06-36.jpg

图6-19 子程序返回RET指令

子程序返回RET指令是与上节点值相同的SBR指令搭配使用来代表子程序结束。指令输出方面可以表示指令执行状况,在编辑梯形图程序时,RET指令必须放在网络的左上角位置,且这个网络只能够有此唯一指令存在。

上节点:子程序的标签名(label)

(4)子程序指令的应用(见图6-20)

978-7-111-36392-7-Chapter06-37.jpg

图6-20 子程序指令的应用

当10001为“ON”时,调用标签为L1的子程序。

执行标签为L1子程序,Y1为“ON”时,延时2s,驱动Y2。

执行子程序返回指令RET,返回主程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈