【发布时间】:2019-05-23 17:47:21
【问题描述】:
我正在通过 TCP/IP 连接我的从机,使用 Wireshark 软件一切正常校验和“无效”。任何建议我如何才能完成这项工作,可能是 python 代码或任何其他方式。
谢谢大家 塔里克
【问题讨论】:
标签: python tcp checksum crc modbus-tcp
我正在通过 TCP/IP 连接我的从机,使用 Wireshark 软件一切正常校验和“无效”。任何建议我如何才能完成这项工作,可能是 python 代码或任何其他方式。
谢谢大家 塔里克
【问题讨论】:
标签: python tcp checksum crc modbus-tcp
我认为您使用了计算 CRC 的库。如果你想模拟坏的 CRC 条件,你可以在没有它的情况下形成 Modbus 数据包
【讨论】:
首先,请注意 Modbus TCP 不包含任何 CRC,错误控制是通过 TCP 协议本身的适当层处理的。例如看这篇文章:Can you keep a CRC in a Modbus TCP message?
如果您想处理 Modbus RTU CRC 错误,可以查看 MinimalModbus (Python) 及其单元测试MiniMalModbus Unit Tests
如果您喜欢更简单的东西,您可能想看看 ModbusPoll,您可以在其中定义从站并模拟 CRC 错误(我认为仅适用于 Modbus RTU)。有 30 天试用版。
据我所知,我使用的其他库无法开箱即用:pymodbus 和 libmodbus,但自己编写类似于 MinimalModbus 单元测试的东西应该不会太难。
【讨论】: