【问题标题】:How corrupt checksum over TCP/IPTCP/IP 上的校验和如何损坏
【发布时间】:2019-05-23 17:47:21
【问题描述】:

我正在通过 TCP/IP 连接我的从机,使用 Wireshark 软件一切正常校验和“无效”。任何建议我如何才能完成这项工作,可能是 python 代码或任何其他方式。

谢谢大家 塔里克

【问题讨论】:

    标签: python tcp checksum crc modbus-tcp


    【解决方案1】:

    我认为您使用了计算 CRC 的库。如果你想模拟坏的 CRC 条件,你可以在没有它的情况下形成 Modbus 数据包

    【讨论】:

    • 您能否详细说明您的解决方案
    • @TariqBellachhab,你需要创建TCP socket,连接到slave的端口,并发送带有错误CRC字节的自制字符串。实现取决于您的操作系统
    【解决方案2】:

    首先,请注意 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 单元测试的东西应该不会太难。

    【讨论】:

      猜你喜欢
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 2014-03-12
      • 2017-09-24
      • 2012-03-21
      • 1970-01-01
      相关资源
      最近更新 更多