首页 理论教育 跳转程序设计:优化实现方法

跳转程序设计:优化实现方法

时间:2023-06-18 理论教育 版权反馈
【摘要】:图9.1-8 公共线控制和程序跳过、跳转区域不能交叉2.程序跳过程序跳过指令JMP可跳过部分程序,但该指令不具备转移功能,即不能改变PMC程序的执行次序,被跳过的程序以指令JMPE结束,其编程格式如图9.1-9所示。图9.1-10 跳过指令的编程3.标记跳转标记跳转指令同时具有跳过和转移功能,它可改变程序的执行次序。图9.1-12 标记跳转指令a)目标位置相同 b)嵌套和交叉

跳转程序设计:优化实现方法

在线性化结构的PMC程序中,为了实现程序的转移,可使用公共线控制和跳转两种方式控制程序的执行过程。

1.公共线控制

FS-0iD的PMC公共线控制指令有COM(SUB9)、COME(SUB29)两条,COM为公共线控制开始,COME为公共线控制结束。指令的编程格式如图9.1-6所示。

978-7-111-42089-7-Chapter09-6.jpg

图9.1-6 公共线控制指令

a)控制开始 b)控制结束

公共线控制开始和结束区域的程序,在COM指令输入ACT=1时正常执行;如ACT=0,则该范围内的全部PMC输出状态为0。因此,它相当于对该区域的程序增加了一个图9.1-7所示的共同控制触点

978-7-111-42089-7-Chapter09-7.jpg

图9.1-7 公共线控制程序

a)公共线控制 b)等效程序

PMC程序使用公共线控制时必须注意几点。

1)公共线控制开始指令COM(SUB9)和结束指令COME(SUB29)必须成对使用。

2)公共线开始指令COM的参数(公共线编号)必须为“0”。

3)在公共线控制区域内不能再使用公共线控制指令(嵌套)。

4)即使在公共线控制输入为0时,CPU同样需要进行公共线区域的程序处理,但由于程序前增加了状态为0的常开触点,因此,区域内所有以WRT指令输出的线圈状态都为0;但以WRT.NOT输出的线圈状态将为1。

5)公共线控制区域和下述的程序跳过、跳转区域不允许有图9.1-8所示的交叉。

978-7-111-42089-7-Chapter09-8.jpg

图9.1-8 公共线控制和程序跳过、跳转区域不能交叉

2.程序跳过

程序跳过指令JMP可跳过部分程序,但该指令不具备转移功能,即不能改变PMC程序的执行次序,被跳过的程序以指令JMPE(SUB30)结束,其编程格式如图9.1-9所示。

978-7-111-42089-7-Chapter09-9.jpg

图9.1-9 程序跳过指令

a)跳过 b)结束

JMP~JMPE间的程序在指令JMP的控制条件ACT=1时跳过,如ACT=0,则正常执行JMP~JMPE间的程序。(www.xing528.com)

程序跳过它与公共线控制不同,程序跳过信号有效时,PMC将不再对JMP~JMPE间的程序进行处理。指令编程时需要注意图9.1-10所示的问题。

1)程序跳过开始指令JPM和结束指令JMPE必须成对使用。

2)程序跳过指令JPM的参数(跳转编号)必须为“0”。

3)程序跳过指令不可使用嵌套。

4)程序跳过指令生效后,该区域的程序将不再进行处理,因此,直到程序恢复处理前,其输出线圈的状态将保持不变。

5)公共线控制区域和程序跳过区域不能交叉。

978-7-111-42089-7-Chapter09-10.jpg

图9.1-10 跳过指令的编程

3.标记跳转

标记跳转指令同时具有跳过和转移功能,它可改变程序的执行次序。标记跳转指令有跳转JMPB(SUB68)和跳转目标标记LBL(SUB69)两条,跳转目标位置用参数L标记,允许范围为L1~L9999。指令的编程格式如图9.1-11所示。

978-7-111-42089-7-Chapter09-11.jpg

图9.1-11 标记跳转指令

a)跳转 b)跳转目标

标记跳转指令在指令JMPB的控制条件ACT=1时执行,程序将直接跳到LBL指定的标记处继续;如ACT=0,则正常执行下面的程序。

标记跳转指令生效时,PMC将无条件跳到指定位置继续执行,它不仅可实现程序的转移,且还可以使用嵌套。JMPB指令编程需要注意以下问题。

1)不同的标记跳转指令JPMB(SUB68)的目标位置可相同,即可使用图9.1-12a所示的公用跳转目标标记指令LBL(SUB68);但是跳转目标标记LBL指令的编号L不能重复使用或省略。

2)程序跳转的方向可改变,它既可由上向下跳转也可由下向上跳转,但需要避免陷入死循环。

3)标记跳转指令不但可使用嵌套,也可相互存在图9.1-12b所示的交叉。

4)执行标记跳转后,跳转区域内的程序将不再进行处理,因此,跳转区域的输出线圈在程序恢复处理前,其状态将保持不变。

5)跳转区域不能和公共线控制区域交叉,也不可从高速扫描程序跳转到普通扫描程序,反之亦然。在子程序中使用标记跳转指令时,跳转只能在本程序范围进行,即不能从一个子程序跳转到另一子程序。

978-7-111-42089-7-Chapter09-12.jpg

图9.1-12 标记跳转指令

a)目标位置相同 b)嵌套和交叉

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

我要反馈