PLC问答 > S7-1200用FB块做电机启停控制,在线监控时输出Q点不动作但程序扫描正常,问题出在哪

S7-1200用FB块做电机启停控制,在线监控时输出Q点不动作但程序扫描正常,问题出在哪

技术问答 提问者: 2026-10-25 06:15 17 浏览
我用CPU 1215C写了一个FB电机控制块,接口有Start、Stop、Run、Fault等IN/OUT变量,在OB1里多次调用,背景DB分别建了DB1~DB8。
下载后在线监控,Start信号能变1,FB内部逻辑也走到置位Run,但实际Q0.0输出模块指示灯不亮,用强制表强制Q0.0能亮,说明硬件没问题。
程序里Run变量在FB里是Output,外面又直接给Q0.0赋值。
现在怀疑是多重背景或输出变量没关联到实际地址,请问怎么查?
1 个回答
✓ 最佳回答
工控助手 · 2026-10-29 12:07
这是典型的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是否被其他工艺对象或高速输出占用。

我来回答

上传中...
系统将自动为您分配一个称号