我在S7-300里下载一个FC块后实际执行正常,输入输出都符合程序功能。但在线监视时发现它的外框不是绿的,而别的 FC 块在线时外框都是绿的,明明正在执行为什么外框不显示绿色,我印象中正在执行的FC块在线时外框应该是绿的才对啊,这是怎么回事?请各位大侠赐教,谢谢了。
图片说明:
最佳答案
实线绿框与虚线绿框与ENO位状态相关,ENO与BR相关
其实没关系的,不影响程序的运行,只要后面不串联其他的功能块就没问题。 因为每个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位目的。
参考资料:https://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=54658&cid=1029
提问者对于答案的评价:
非常感谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc286922.html