状态字的BR位的作用与使用方法详解

已锁定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

状态字的BR位的作用与使用方法详解

8033

16

2011-10-11 07:52:08

star star
状态字的第8位为二进制结果位BR。
在梯形图中,用方框表示功能(FC)、功能块(FB)和某些指令。
图1中的FC1有3个双整数输入参数和1个双整数输出参数。输入变量IN_VAL乘以系数Par1,除以系数Par2后,得到输出参数OUT_VAL。SAVE指令将RLO保存到BR位中。



图1
图2是OB1调用FC1的程序。I0.0的常开触点接通时,FC1的EN(Enable,使能输入)输入为1,才能执行FC1。如果FC1的EN端有能流流入,而且执行时无错误(除数非零),使能输出ENO(Enable Output)端有能流流出。EN和ENO均为BOOL型。



图2
如果FC1执行出错(除数Party2为零,见图2的右图),它的ENO端没有能流流出。ENO可以作为下一个方框的EN输入,即几个方框可以串联。只有前一个方框被正确执行,与它连接的后面的程序才能被执行,这种连接方式具有连锁的功能。
状态字中的二进制结果位BR对应于梯形图中方框指令的ENO。BR位为 1,ENO端有能流流出,反之ENO端没有能流流出。
图1中最右边的SAVE指令对BR位的处理是至关重要的,如果没有它,FC1的ENO不能反映FC1的执行是否出错。
下面是删除图1中的SAVE指令后,对应的语句表程序。
A(
L #IN_VAL
L #Par1
*D
T #MID_VAL
AN OV
SAVE
CLR
A BR
)
JNB _001
L #MID_VAL
L #Par2
/D
T #OUT_VAL
_001: NOP 0
在最后两条指令之间添加下面的3条指令,FC1的ENO就能反映FC1的执行是否出错。
AN OV
SAVE
CLR
执行指令“AN OV”后,如果除法指令没有出错(溢出位OV为0),RLO为1;如果除法指令出错(溢出位为1),RLO为0。SAVE指令将RLO送给BR位,CLR指令将RLO清零。
除了SAVE指令,还有两条指令影响BR位。
当RLO=1时,JCB指令中断程序的顺序执行,并跳转到跳转目的地。如果 RLO = 0, 则不跳转。
当RLO=0时,JNB指令中断程序的顺序执行,并跳转到跳转目的地。如果 RLO = 1, 则不跳转。
状态字的BR位的作用与使用方法详解 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54775条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。