梯形图中所有功能块都存在EN和ENO两个引脚,比如SFC20。那么问题来了,ENO是在SFC20这个传输功能都传输完毕以后才输出的,还是一边在执行传输一边就已经有ENO输出了?
最佳答案
状态字中的二进制结果位BR对应于梯形图中方框指令的ENO。BR位为 1,ENO端有能流流出,反之ENO端没有能流流出。
关于BR位,可参见
http://support.automation.siemens.com/CN/view/zh/10729283
因为每个FC或者FB块调用后需要一个ENO信号,表示这个块被正确执行完毕,如果后面级联了下一个块,那么下一个块也就执行,如果是虚的,表示没有ENO信号,但是本身的块还是执行的,但是后面级联的块就不执行了。
ENO信号主要和BR位相关:
BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操
作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方块指令中,BR位与ENO位有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO位也为0;如果功能被正确执行,BR位为1ENO位也为1。在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
参考:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=54658&cid=1029&F=
提问者对于答案的评价:
意思就是说如果用SFC20,把DB1里的0-100byte传送到DB2里的0-100byte,那么只有传送结束以后,SFC20的ENO才有输出喽?
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351967.html