JBI:若 BR = 1 则跳转 (S7-300, S7-400) 说明 使用“若 BR = 1则跳转”指令,将根据二进制结果中断线性程序的执行,并在指定的跳转 标签标记处继续程序执行。 只有在状态位 BR为“1”时,才会跳转到指定跳转标签处。如果状态位 BR 为“0”,则不执行跳转, 且在下一条指令处继续执行程序。无论是否满足条件,“若 BR = 1 则跳转”指令都会将状态位 STA 置位为“1”,并将状态位 OR 和 /FC 置位为“0”。参数 下表列出了“若 BR = 1 则跳转”指令的参数: 参数 说明 <跳转标签> 跳转目的地的符号名。
JNBI:若 BR= 0 则跳转 (S7-300, S7-400) 说明 使用“若 BR = 0 则跳转”指令,将根据二进制结果 (BR)中断线性程序的执行,并在指定的 跳转标签标记处继续程序执行。 只有在状态位 BR为“0”时,才会跳转到指定跳转标签处。在指令执行之前,如果状态位 BR 为 “1”,则不执行跳转,且在下一条指令处继续执行程序。无论是否满足条件,“若 BR = 0 则跳转”指令都会将状态位 STA 置位为“1”,并将状态位 OR 和 /FC 置位为“0”。参数 下表列出了“若 BR = 0 则跳转”指令的参数:JO:若 OV = "1" 则跳转 (S7-300, S7-400) 说明使用“若 OV = 1 则跳转”指令,将根据状态位 OV 中断线性程序的执行,并在指定的跳转 标签标记处继续程序执行。 只有在状态位OV 为“1”时,才会跳转到指定跳转标签处。例如,如果计算的结果在允许范围 之外,或在比较浮点数时返回了无效值,则将置位状态位 OV。如果状态位 OV 为“0”,则不执行跳转,且在下一条指令处继续执行程序。JOS:若 OS = 1 则跳转 (S7-300,S7-400) 说明 使用“若 OS = 1 则跳转”指令,将根据状态位 OS 中断线性程序的执行,并在指定的跳转标签标记处继续程序执行。 只有在状态位 OS 为“1”时,才会跳转到指定跳转标签处。发生数值范围溢出时,状态位 OV将置位为“1”,此时将始终置位状态位 OS。与状态位 OV 不同,该结果位于所允许的数 字范围内,也会置位状态位 OS。如果状态位 OS 为“0”,则不执行跳转,且在下一条指令处继续执行程序。JZ:若结果为零则跳转 (S7-300, S7-400) 说明使用“若结果为零则跳转”指令,将根据状态位 CC 0 和 CC 1 来中断线性程序的执行,并在 指定的跳转标签标记处继续程序执行。只有在状态位 CC 0 和 CC 1 的信号状态都为“0”时,才会跳到指定跳转标签处。满足下列条 件之一时便会出现这种情况: •在执行未发生溢出的算术指令后,累加器 1 的值为“0”。 • 当执行“加整数(16 位)”(+I) 或“加双整型数(32位)”(+D) 指令时,发生负值溢出。 • 在执行发生溢出的算术指令(浮点数算术)时,值会逐渐降至允许范围以下。 •执行比较指令后,累加器 1 和 2 中的内容相等。 • 执行字逻辑运算后,累加器 1 中的内容为零。 •执行移位指令后,Zui后一个移出位的值为“0”。 在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。JN:若结果不为零则跳转(S7-300, S7-400) 说明 使用“若结果不为零则跳转”指令,将根据状态位 CC 0 和 CC 1 来中断线性程序的执行,并在指定的跳转标签标记处继续程序执行。 只有在状态位 CC 0 和 CC 1 的信号状态不才会跳到指定跳转标签处。满足下列条件之一时便会出现这种情况: • 在执行未发生溢出的算术指令后,累加器 1 的值不等于零。 •在执行针对整数的算术指令(+I、-I、*I、+D、-D、*D)时,发生负值溢出。 •在对整数进行算术指令(+I、-I、*I、/I、+D、-D、*D、/D、NEGI、NEGD)时,发生正 值溢出。 •在执行针对浮点数的算术指令时,发生正值或负值溢出。 • 执行比较指令后,累加器 1 和 2 中的内容不相等。 •执行字逻辑运算之后,累加器 1 中的内容不为零。 • 执行移位指令后,Zui后一个移出位的值为“1”。在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。JP:若结果大于零(正值)则跳转 (S7-300, S7-400) 说明使用“若结果大于零(正值)则跳转”指令,将根据状态位 CC 0 和 CC 1 来中断线性程序的执行,并在指定的跳转标签标记处继续程序执行。 只有在状态位 CC 0 为“0”且 CC 1的信号状态为“1”时,才会跳到指定跳转标签处。满足下列 条件之一时便会出现这种情况: • 在执行未发生溢出的算术指令后,累加器 1的值大于零。 • 在执行针对整数的算术指令(+I、-I、*I、+D、-D、*D)时,发生负值溢出。 •在执行针对整数的算术指令(*I、/I、*D、/D)时,发生正值溢出。 • 在执行针对浮点数的算术指令时,发生正值溢出。 •执行比较函数后,累加器 2 中的内容大于累加器 1 中的内容。 • 执行逻辑运算之后,累加器 1 中的内容不为零。 •执行移位指令后,Zui后一个移出位的值为“1”。在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。JM:若结果小于零(负值)则跳转 (S7-300, S7-400) 说明使用“若结果小于零(负值)则跳转”指令,将根据状态位 CC 0 和 CC 1 来中断线性程序的执行,并在指定的跳转标签标记处继续程序执行。 只有在状态位 CC 0 的信号状态为“1”且 CC 1的信号状态为“0”时,才会跳到指定跳转标签处。 满足下列条件之一时便会出现这种情况: • 在执行未发生溢出的算术指令后,累加器 1的值小于零。 • 在执行针对整数的算术指令(*I、*D)时,发生负值溢出。 •在执行针对整数的算术指令(+I、-I、+D、-D、NEGI、NEGD)时,发生正值溢出。 •在执行针对浮点数的算术指令时,发生负值溢出。 • 执行比较函数后,累加器 2 中的内容小于累加器 1 中的内容。在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。JPZ:若结果大于或等于零则跳转 (S7-300, S7-400) 说明使用“若结果大于或等于零则跳转”指令,将根据状态位 CC 0 来中断线性程序的执行,并 在指定的跳转标签标记处继续程序执行。只有在状态位 CC 0 的信号状态为“0”时,才会跳转到指定跳转标签处。满足下列条件之一时 便会出现这种情况: •在执行未发生溢出的算术指令后,累加器 1 的值大于或等于零。 •在执行针对整数的算术指令(+I、-I、*I、+D、-D、*D)时,发生负值溢出。 •在执行针对整数的算术指令(*I、/I、*D、/D)时,发生正值溢出。 • 在执行针对浮点数的算术指令时,发生正值溢出。 •在执行发生溢出的算术指令(浮点数算术)时,值会逐渐降至允许范围以下。 • 执行比较函数后,累加器 2 的内容大于或等于累加器 1的内容。 • 执行了字逻辑运算指令。 • 执行了移位指令。在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。JMZ:若结果小于或等于零则跳转 (S7-300, S7-400) 说明使用“若结果小于或等于零则跳转”指令,将根据状态位 CC 1 来中断线性程序的执行,并 在指定的跳转标签标记处继续程序执行。只有在状态位 CC 1 的信号状态为“0”时,才会跳转到指定跳转标签处。满足下列条件之一时 便会出现这种情况: •在执行算术指令后如果未发生溢出,则累加器 1 的值小于或等于零。 •在执行针对整数的算术指令(+I、*I、+D、*D)时,发生负值溢出。 •在执行针对整数的算术指令(+I、-I、+D、-D、NEGI、NEGD)时,发生正值溢出。 •在执行针对浮点数的算术指令时,发生负值溢出。 • 在执行发生溢出的算术指令(浮点数算术)时,值会逐渐降至允许范围以下。 •执行比较指令后,累加器 2 的内容小于或等于累加器 1 的内容。 • 处理字逻辑后,累加器 1 的值等于零。 •执行写指令后,Zui后一个移出位的值为零。 在其它任何情况下均不执行跳转,并且在下一条指令时恢复执行程序。 参数下表列出了“若结果小于或等于零则跳转”指令的参数: 参数 说明 <跳转标签> 跳转目的地的符号名。