STEP 7 的状态字中的 BR 位有何含义

STEP 7 的状态字中的 BR 位有何含义
STEP 7 的状态字中的 BR 位有何含义

STEP 7 的状态字中的BR 位有何含义?

2010-11-16 13:19:29| 分类:PLC 300/400|字号订阅

隐藏订货号显示订货号订货号:

描述

BR 位(二进制结果位) 是状态字的第8 位,用于将前一功能的结果传递给接下来执行的功能。下表解释了BR 位的含义并指出了其用法。

序号

BR 位的含义及用法

1

在FBD/LAD 编辑环境中,BR位的值被传递到功能块的输出ENO (FBs/FCs 和SFBs/SFCs)。

如果BR = 1,紧接下来的EN=1 (=BR)的功能或功能块被执行或被单独调用。

如果BR = 0,紧接下来的EN=0 (=BR)的功能或功能块既不被执行或也不被单独调用。

2

如果在FBD/LAD 编辑环境中使用字操作(如ADD_...) 或其他非二进制操作,操作执行成功则BR = 1 ,而发生处理错误(如:溢出) 则BR = 0。在这种情况下,后续的功能或功能块的调用由BR位控制。

3

如果使用STL创建一个功能或功能块并在FBD/LAD 编辑环境中调用,则必须在退出功能或功能块前将逻辑操作结果(RLO) 保存到BR位中。使用指令"SA VE", "JCB" 和"SPBNB" 来使能ENO(参见下文)。

4

如果调用SFB或SFC,BR位的状态指示CPU执行SFB或SFC是否正确。

如果执行过程中出错,则BR位值为0。

如果执行过程中未出错,则BR位值为1。

5

SA VE

"SA VE" 指令将RLO 存入BR位。首次检查位"/FC" 未复位。鉴于这个原因,如果接下来的网络中是AND 操作,BR位的状态被包含在逻辑操作中。

不推荐在同一个块或更低层的块中使用"SA VE" 指令后查询BR位,因为如果中间操作太多会导致BR位的值变化。

最好是在退出块之前使用"SA VE" 指令,因为这样的话ENO 输出(=BR位)的值即为RLO 位的值,可以在这之后立即加上错误处理。

6

"JCB " 指令

JCB: 当RLO=1时发生跳转并将RLO 存入BR位。"jump label" 即为跳转目的地的符号名称。

如果RLO = 1,"JCB " 指令中断线性程序的执行并跳转到跳转目的地。线性程序的执行在跳转目的地继续执行。跳转目的地由跳转符号来标明。

如果RLO = 0,则不跳转。RLO被置1。程序继续执行下面的指令。

例程

A I10.1

A I10.2

JCB M001 //RLO=1时跳转到"M001"

7

"JNB " 指令

JNB: 当RLO=0时发生跳转并将RLO 存入BR位。"jump label" 即为跳转目的地的符号名称。

如果RLO = 0,"JNB " 指令中断线性程序的执行并跳转到跳转目的地。线性程序的执行在跳转目的地继续执行。

如果RLO = 1,则不跳转。RLO被置1。程序继续执行下面的指令。

例程

A I10.1

A I10.2

JNB M001 //RLO=0时跳转到"M001"

上面提到的跳转有可能是向前跳转也可能是向后跳转。最大跳转距离是-32768 或+32767 个字节的程序代码。跳转可能只在块内,如跳转和跳转符号均在同一块内。跳转目的地在同一块内只能出现一次。实际能被跳过的最大指令数目取决于程序中指令的组合(单字,双字或三字指令)。

相关主题
相关文档
最新文档