您可以在 Modbus TCP 消息中保留 CRC 校验码吗?

Can you keep a CRC in a Modbus TCP message?

另一个modbus问题,我一直在学习Modbus RTU,感觉自己掌握得很好,现在正在编写代码将RTU转换为TCP。

今天问我的一个问题是,RTU转TCP的时候,可以把CRC放在最后吗?

我知道 TCP 结构不包含 CRC,但我不确定为什么?

任何对此的见解都会很有帮助:)

CRC 不是必需的,主要是因为 TCP/IP 是 运行 在已经针对随机错误检查消息完整性的协议之上。

MODBUS TCP 帧不包括 CRC,因为 CRC 是 ADU(应用数据单元)特定于 MODBUS RTU 的一部分。如果您的实施遗漏了它,您就不再实施 MODBUS TCP,也不会与作为 MODBUS TCP 端点的端点进行互操作。