2013-10-24 61 views
1

从USB主机到USB RS-485网络,我们有机会使用Modbus RTU或带校验和的ASCII码。Modbus RTU vs ASCII

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

哪个是每个应用协议的优缺点?

我明白,ASCII不是一种协议,但它的行为像一个应用程序协议在这里。

post帮助,但在我看来并不完全清楚。在第一印象Modbus RTU应该更轻,因此更快,也许更安全的CRC。

真实世界的经验将是伟大的!

+0

从这个问题我得到的印象是,通过ASCII你是指一个自定义的基于文本的协议,而不是Modbus ASCII? – astreltsov

回答

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

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

1

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

该行业的绝大多数使用RTU,因为二进制协议的传输速度要大得多,而且不应该由人类读取。