首页 理论教育 跳转程序设计优化方案

跳转程序设计优化方案

时间:2023-06-30 理论教育 版权反馈
【摘要】:图3-54 跳过指令的编程1)程序跳过开始指令JMP和结束指令JMPE必须成对使用。图3-55 公共线控制和程序跳过、跳转区域不能交叉3.标记跳转标记跳转指令同时具有跳过和转移功能,它可改变程序的执行次序。标记跳转指令生效时,PMC将无条件跳到指定位置继续执行,它不仅可实现程序的转移,且还可以使用嵌套。3)执行标记跳转后,跳转区域内的程序将不再进行处理,因此,跳转区域的输出线圈在程序恢复处理前,其状态可保持不变。

跳转程序设计优化方案

在线性化结构的PMC程序中,为了改变程序的执行次序,可采用公共线控制和跳转两种方式。

1.公共线控制

FANUC系统的PMC公共线控制指令有COM(SUB9)、COME(SUB29)两条,COM为公共线控制开始,COME为公共线控制结束,指令的编程格式如图3-51所示。

978-7-111-48905-4-Chapter03-70.jpg

图3-51 公共线控制指令

位于公共线控制开始和结束区域内的程序,在COM指令输入ACT=1时将进行正常的处理;当如果ACT=0,则该范围内的全部结果输出将为0。因此,这种控制方式的实质,只相当于对该区域的程序,增加了一个图3-52所示的共同控制触点

978-7-111-48905-4-Chapter03-71.jpg

图3-52 公共线控制程序

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

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

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

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

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

5)公共线控制区域和下述的程序跳过、跳转区域不允许存在交叉,有关内容可参见后述的图3-55。

2.程序跳过

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

978-7-111-48905-4-Chapter03-72.jpg

图3-53 程序跳过指令

位于JMP~JMPE区域内的程序,在指令JMP的控制条件ACT=1时将被跳过,如ACT=0,则正常处理JMP~JMPE间的程序。

程序跳过指令与公共线控制有所不同,当程序被跳过时,CPU将不再对JMP~JMPE区域内的程序进行处理,因此,直到程序恢复处理前,其输出线圈的状态将保持不变。

程序跳过指令编程时需要注意图3-54所示的问题。

978-7-111-48905-4-Chapter03-73.jpg(www.xing528.com)

图3-54 跳过指令的编程

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

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

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

4)程序跳过区域不能和公共线控制区域有图3-55所示的交叉,即既不允许程序从公共线控制区域外,向公共线控制区域内跳转;也不允许程序从公共线控制区域内,向公共线控制区域外跳转。

978-7-111-48905-4-Chapter03-74.jpg

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

3.标记跳转

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

978-7-111-48905-4-Chapter03-75.jpg

图3-56 标记跳转指令

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

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

JMPB指令编程需要注意以下问题。

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

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

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

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

5)在同一程序块中,标记跳转指令不仅可使用嵌套,也可相互存在图3-57b所示的交叉。

978-7-111-48905-4-Chapter03-76.jpg

图3-57 标记跳转指令

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

我要反馈