0

我有一个 modbus 从站,我从中接收到似乎部分损坏的响应。我已确认在某些情况下通信良好。在其他情况下,我收到校验和错误。

如果发送命令01 04 00 05 00 01 21 CB,其中 04 是读取输入寄存器,05 是地址,我返回 3 次F8 9E 01 04 02 00 97B8 9A 01 04 02 00 9238 9D 01 04 02 00 93。由于01 04 02 00每次都是一致的,因此信号似乎并未完全被丢弃,但前两个字节显然导致校验和失败。

什么问题导致了这种行为?

我在 Raspberry Pi 上使用 python minimummodbus库。

编辑说明:我将其发布到 SO 是因为它在 SE 网络上有所有 modbus 问题,但如果有人能想到一个更好的地方,我愿意移动它

4

1 回答 1

1

您是否通过串行线路进行通信?我已经看到嘈杂或不正确终止的 modbus 串行线路会导致幻像值出现在有效查询和响应之前或之后。

虽然具体情况会根据您的设置细节(线数、波特率、串行链路拓扑等)而变化,但一般规则是在串行链路每一端的导线之间放置一个 120 欧姆的电阻。

于 2018-02-23T17:14:45.117 回答