Modbus RTU与ASCII

时间:2013-10-24 15:16:31

标签: ascii crc modbus rs485

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

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

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

我知道ASCII不是一种协议,但它在某种程度上就像一个应用程序协议。

post会有所帮助,但我认为并不完全清楚。在第一印象中,Modbus RTU应该更轻,因此对CRC更快,也许更安全。

真实世界的经历会很棒!

3 个答案:

答案 0 :(得分: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美分。祝你好运!

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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