首页 历史故事程序分支指令详解(附表5-30)

程序分支指令详解(附表5-30)

【摘要】:CJ指令功能如图5-28所示。表5-30 程序分支指令2)满足条件后第一次扫描周期执行跳转指令SCJ。它是无条件执行同一程序文件内指定指针号的程序。然而,有必要考虑退出循环的方法,以便在该过程中看门狗定时器不会超时,如图5-30所示。图5-30 跳转⑤已通过CJ、SCJ或JMP实现了跳转的软元件不发生变化,如图5-31所示。图5-32 左边程序跳转到P3

1)条件跳转指令CJ。

其指令格式为978-7-111-34215-1-Chapter05-85.jpg

①当执行指令为ON时,执行同一程序文件内指定指针号的程序。

②当执行指令为OFF时,执行程序的下一步。

CJ指令功能如图5-28所示。

表5-30 程序分支指令

978-7-111-34215-1-Chapter05-86.jpg

2)满足条件后第一次扫描周期执行跳转指令SCJ。

其指令格式为978-7-111-34215-1-Chapter05-87.jpg

①当执行指令从OFF变为ON时,执行下一步程序。从下一个扫描周期开始执行同一程序文件内指定指针号的程序。

②当执行指令为OFF或者从ON变为OFF时,执行程序的下一步。

978-7-111-34215-1-Chapter05-88.jpg

图5-28 CJ指令功能

SCJ指令功能如图5-29所示。

3)无条件跳转指令JMP。

其指令格式为978-7-111-34215-1-Chapter05-89.jpg

它是无条件执行同一程序文件内指定指针号的程序。

当使用跳转指令时,需要注意以下7点:

①在定时器线圈已经变为ON后,如果试图使用CJ、SCJ或JMP指令来跳转已经变为ON的线圈定时器,那么进行精确测量是不可能的。

978-7-111-34215-1-Chapter05-90.jpg

图5-29 SCJ指令功能

②如果使用CJ、SCJ或JMP指令强制跳转到OUT指令,那么扫描时间会缩短。

③如果使用CJ、SCJ或JMP指令强制跳转到程序尾部,那么扫描时间会缩短。

④CJ、SCJ或JMP指令可用于跳转到当前正在执行的步骤之前的某一步。然而,有必要考虑退出循环的方法,以便在该过程中看门狗定时器不会超时,如图5-30所示。

978-7-111-34215-1-Chapter05-91.jpg

图5-30 跳转

⑤已通过CJ、SCJ或JMP实现了跳转的软元件不发生变化,如图5-31所示。

978-7-111-34215-1-Chapter05-92.jpg

图5-31 软元件不发生变化

⑥跳转指令只可用于同一程序文件内的指针号码。

⑦在跳转运算期间,如果跳转到跳转范围内的一个指针号码,那么程序将从跳转目标的指针号码开始继续执行。

程序举例:当X9变为ON时,左边程序跳转到P3,如图5-32所示。

978-7-111-34215-1-Chapter05-93.jpg

图5-32 左边程序跳转到P3