1

从带有 USB 转换器到 RS-485 网络的 Linux 主机 PC 查询设备,我们有机会使用带有校验和的 Modbus RTU 或 ASCII。

鉴于我们使用的是 Linux PC,我们可以自由地使用使用 libmodbus 或任何其他高级语言的 C 程序来使用 ASCII。

每种应用协议的优缺点是什么?

我知道 ASCII 不是一种协议,但它在这里有点像应用程序协议。

这篇文章有帮助,但在我看来并不完全清楚。在第一印象中,Modbus RTU 应该更轻,因此对 CRC 执行速度更快并且可能更安全。

真实世界的体验会很棒!

4

3 回答 3

2

我已经使用 Modbus RTU(RS485 连接)或 Modbus TCP 与大约 50 多种不同的实用程序和监控设备进行了交互。我发现我使用过的最广泛使用的协议是 Modbus RTU(普遍支持),只有少数设备支持 Modbus ASCII。

如果您想要我关于 Modbus RTU 与 Modbus ASCII 的真实建议,我绝对会推荐为 Modbus RTU 构建应用程序。Modbus 协议的核心非常简单,创建任一实现的工作几乎相同,但是(无论如何,在我的工作中)Modbus RTU 在该领域更为普遍,至少现在是这样。

话虽如此,我越来越多地使用 Modbus TCP,并且取决于您想要使用多少 Modbus,Modbus TCP 越来越受欢迎。协议实际上是相同的(不需要 CRC...TCP 协议会处理这个问题),但是您必须处理网络层。我遇到的大多数较新的设备都支持 Modbus TCP 和 Modbus RTU(仍然很少使用 ASCII)。

我的 2 美分。祝你好运!

于 2013-10-25T01:34:37.773 回答
1

我投票支持 Modbus RTU,因为请求和响应比 Modbus ASCII 小。因此,它最大限度地减少了流量,增加了响应时间和整体系统生产力,允许将更多设备连接到同一总线。

于 2013-10-25T04:02:00.103 回答
1

ASCII 的唯一好处是人类可读,因此在某些情况下更容易排除故障。

业界绝大多数使用 RTU,因为二进制协议的传输速度要快得多,而且无论如何都不应该被人类读取。

于 2017-05-31T07:50:14.377 回答