找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[S7-300]EN/ENO机制

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


FBD/LAD框的启用(EN)和启用输出(ENO)通过BR位来获取。如果连接了EN和ENO,则以下规则适用:

ENO = EN AND NOT (框错误)
当没有发生错误(框错误 = 0)时,ENO = EN。

EN/ENO机制用于:
1.数学运算指令、
2.传送和转换指令、
3.移位和循环移位指令、
4.块调用。

该机制不用于:
1.比较、
2.计数器、
3.定时器。

在框的实际指令周围,为EN/ENO机制生成附加的STL指令,这些指令依赖于现有的在此之前和之后的逻辑运算。使用一个加法器实例,显示下列四种可能的情况:
1.        加法器连接了EN和ENO
2.        加法器连接了EN但未连接ENO
3.        加法器未连接EN但连接了ENO
4.        加法器未连接EN和ENO

创建块的注意事项
如果要编程在FBD或LAD中调用的块,那么必须确保退出块时,置位BR位。第四个实例显示这种结果并不会自动出现。不能将BR作为存储位,因为EN/ENO机制不断改写BR。作为代替,可使用一个临时变量来保存发生的所有错误。用0初始化该变量。在块中任何一个您认为指令不成功即表示整个块出错的地方,借助EN/ENO机制来设置该变量。一个NOT和一个SET线圈足以完成这项工作。在块结束处,编程下列程序段:
end:        AN error
SAVE
确保在任何情况下都处理本程序段,这表示禁止在块内使用BEC,并禁止跳过本程序段。







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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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