标题: [S7-300]EN/ENO机制 [打印本页]

作者: hujia    时间: 2015-5-27 23:53
标题: [S7-300]EN/ENO机制


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,并禁止跳过本程序段。












欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1