恭喜,你发布的帖子
发布于 2018-01-23 18:36:09
7楼
300好像有让CPU进入停止状态的系统块SFC46。不知道我说的这个停止指令是不是你说的那个
@阿鸣 一个可能的原因找到了,OB1调用的第一个FC块里有M2.1 该点理论上应该是 常 true 信号,然而OB1调用该FC块的条件上与了一个M2.1, 导致M2.1可以手动改成 false. 而OB1中所有调用的FC块前面都有这个M2.1,导致所有FC块未被执行;
仿真的时候,情况的确是这样的;但如果第一个块的调用M2.1 去掉,无论如何改M2.1,始终是 true.
但这种情况下,PLC的输出为什么会一直保持在之前的状态?既然程序未运行,该如何刷新输出过程映像存储区? 还是PLC的运行机制就是这样?这个明天实际测试一下就知道了;
后面估计就要分析M2.1为什么会被改成 false 了。
后来又对比了移交的程序,大部分OB1中第一个FC的调用M2.1是去掉的。
。看来多半是这个原因,明天测试完就可以结帖了
。
请填写推广理由:
分享
只看
楼主