✓ 最佳回答
这是典型的FB输出变量未正确映射到过程映像区的问题,排查步骤:1)在OB1调用FB时,把FB的Run输出引脚直接连到Q0.0所在的实际地址,而不是在FB外部再写一段“Run→Q0.0”的赋值,否则同一地址被双线圈写入,后面的逻辑会覆盖前面结果。
2)检查FB内Run变量是否被声明为“Output”却在中途又被读取赋值,Output变量在块内读回值不可靠,需要中间变量Temp过渡。
3)在线监控时打开FB背景DB,观察Run的实际值,同时打开“监控表”监控%Q0.0,若DB里Run=1而Q0.0=0,说明映射断了。
4)确认OB1中调用顺序,被后调用的FB若操作了同一Q地址会覆盖。
5)最后检查硬件组态中Q0.0是否被其他工艺对象或高速输出占用。