在执行程序时,可能会由于条件的不同,需要产生一些分支,这些分支程序的执行可以用跳转操作来实现。跳转指令可以使PLC编程的灵活性大大提高。跳转操作是由跳转指令JMP和标号指令LBL两部分构成的。
跳转指令JMP(Jump to Label):当输入端有效时,使程序跳转到标号处执行。
标号指令LBL(Label):指令跳转的目标标号。操作数N为0~255。跳转指令及标号指令的表达形式及操作数范围如表4-27所示。
表4-27 跳转和标号指令表达形式及操作数
图4-16是跳转指令在梯形图中应用的例子。网络1中的跳转指令使程序流程跨过一些程序分支,跳转到标号3处继续运行。跳转指令中的“N”与标号指令中的“N”值相同。在跳转发生的扫描周期中,被跳过的程序段停止执行,该程序段涉及的各输出器件的状态保持跳转前的状态不变,不影响程序相关的各种工作条件的变化。
图4-16 跳转指令的应用
使用说明:(www.xing528.com)
(1)跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,如主程序、同一个子程序或同一个中断程序。不能在不同的程序块中互相跳转。
(2)执行跳转后,被跳过程序段中的各元器件的状态为:
① Q、M、S、C等元器件的位保持跳转前的状态;
② 计数器C停止计数,当前值存储器保持跳转前的计数值;
③ 对定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辨率为1 ms和10 ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值后,其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32 767才停止。对分辨率为100 ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。
(3)由于跳转指令具有选择程序段的功能,在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。
(4)可以有多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号的情况,即在同一程序中不允许存在两个相同的标号。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。