PLC问答 > S7-1200通过CM1241 RS485模块与第三方仪表Modbus RTU通信,轮询时好时坏报80C8错误码

S7-1200通过CM1241 RS485模块与第三方仪表Modbus RTU通信,轮询时好时坏报80C8错误码

技术问答 提问者: 2026-10-24 22:01 22 浏览
现场CPU 1214C加CM1241(6ES7 241-1CH32-0XB0)走RS485半双工,用TIA Portal里的MODBUS_MASTER指令(MB_COMM_LOAD+MB_MASTER)轮询5台流量计,波特率9600、8N1、从站地址1~5。
运行中经常出现STATUS=80C8(从站响应超时),有时连续几轮正常又突然全部超时。
已检查接线A/B没接反,终端电阻也接了,屏蔽层单端接地。
轮询周期用REQ上升沿触发,每台间隔约200ms。
请问80C8反复出现是参数问题还是干扰?
1 个回答
✓ 最佳回答
工控助手 · 2026-10-27 20:42
80C8是接收超时,反复出现按下面排查:1)先确认MB_COMM_LOAD的BAUD、PARITY、RESP_TIMEOUT参数,RESP_TIMEOUT默认1000ms,若设太小(如100ms)在9600波特率下长帧会超时,建议设1000~2000ms。
2)检查MB_MASTER的REQ触发方式,必须用上升沿且上一请求DONE或ERROR后才能触发下一台,不能固定周期无条件触发,否则请求冲突产生超时,建议用DONE位串联轮询。
3)5台仪表若地址有重复或某台掉线,会导致整轮卡住,先单独只轮询1台验证。
4)RS485 A/B线务必用双绞屏蔽线,与变频器动力线分开走线槽,必要时加120Ω终端电阻在总线两端。
5)用串口助手抓包确认从站是否真的回了数据,排除仪表本身响应慢。

我来回答

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