回复:用仿真失败问题

evanbaozi

  • 帖子

    115
  • 精华

    0
  • 被关注

    6

论坛等级:侠客

注册时间:2011-11-26

普通 普通 如何晋级?

发布于 2012-09-03 15:43:13

2楼

首先检查你的缓冲区,问题是什么。

功能块没有执行的原因,可能是程序块BR位的关系,这个主要用于判断程序块是否被正确执行,如果ENO后面没有后续指令,那就没有影响 如果是自编的程序块,可以在程序结束的地方处理BR位
ENO信号主要和BR位相关:
BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操 作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方块指令中,BR位与ENO位有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO位也为0;如果功能被正确执行,BR位为1ENO位也为1。在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
SET
SAVE
CLR
A BR
这样的语句,则BR位永远为1,因为SET是不管以上任何条件将RLO置为1的,CAVE将当前的RLO保存到BR,CLR清除的只是RLO位,A BR是判断BR位是否是1,所以,如果这段程序被执行,BR位置就永远为1了,只有通过跳转或者之前的程序判断,不执行SET指令的时候,BR位才可能是0.
不忘初心哈
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54763条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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