找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7378|回复: 0
打印 上一主题 下一主题
收起左侧

[S7-300]状态字的BR位的作用与使用方法详解[转载]

[复制链接]
跳转到指定楼层
楼主
ID:26188 发表于 2015-5-27 23:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


状态字的第8位为二进制结果位BR。

   在梯形图中,用方框表示功能(FC)、功能块(FB)和某些指令。
   图1中的FC1有3个双整数输入参数和1个双整数输出参数。输入变量IN_VAL乘以系数Par1,除以系数Par2后,得到输出参数OUT_VAL。SAVE指令将RLO保存到BR位中。
[url=][/url]


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


[url=]如果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, 则不跳转。[/url]
[url=]================================================[/url]
[url=]
工控老鬼技术Blog:http://blog.sina.com.cn/wincchome
启程培训中心 http://www.gongkong8.com/
E-mail:gongkong8@foxmail.com
================================================
TO:0755-32837893  TEL:18665508041  QQ: 1660703506
[/url]

[url=]================================================

[/url]




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表