解读Modbus通讯协议

描述

作为工控人,Modbus 通讯协议想必都不陌生,Modbus 通讯协议可以说是工业自动化领域应用最为广泛的通讯协议,因为他的开放性、可扩充性和标准化使他成为通用工业标准。

1979 年施耐德电气制定了一个用于工业现场的总线协议 Modbus 协议,现在工业中使用 RS485 通信场合很多都采用 Modbus 协议,所以今天我们来了解下 Modbus 通信协议。

Modbus 是 Modicon 公司为其 PLC 通讯而开发的一种通讯协议。也是全球第一个真正用于工业现场的总线协议。Modbus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。

Modbus 特点:

(1)标准、开放,用户可以免费、放心地使用 Modbus 协议,不需要交纳许可证费,也不会侵犯知识产权。

(2)Modbus 可以支持多种电气接口,如 RS-232、RS-485 等,还可以在各种介质上传送,如双绞线、光纤、无线等。

(3)Modbus 的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

从 1979 年问世至今,已经成为工业通讯领域的业界标准,最初的 Modbus 仅支持串口,分为 Rtu 和 ACSII 两种信号传输模式(一般基于 RS485 串口通信媒介)。而随着时代的变迁,Modbus 新增了 TCP 版本,可以通过以太网进行通讯,此外 Modbus 还有一个 Modicon 专用的 Modbus Plus 版本。

Modbus 是一种单主站的主/从通讯模式,由 1 个子站和多个从站组成,允许多个设备连接在同一个网络上进行通讯。

Modbus 三种通信协议介绍:

Modbus TCP,以太网,RJ45。

Modbus RTU/ASCII,异步串行通讯,RS232/485/422、光纤、无线

Modbus Plus,高速令牌传递网络,同轴电缆或光缆。

其中 Modbus RTU、Modbus TCP 最为常用。

信号传输模式对比

一、RTU 与 ASCII

1、Modbus ASCII 协议拥有开始和结束标记,Modbus RTU 没有。

这就使得 ASCII 协议中对数据包的处理能够更加的方便。

例如:ASCII 协议中一个数据包之间的传输间隔可以高达 1s(一般不超过 1s,超过 1s 接收设备认为出错)。

RTU 协议中规定每两个字节中之间发送或接收时间不得超过 3.5 倍的字符传输时间,否则超过这一规定时间则会认为是新帧的开始。

2、ASCII 协议的可读性强、传输效率低。

由于 ASCII 协议传输的都是可见的 ASCII 字符,所以调试阶段会显得更加直观。

但是这同时也是它的缺点,可读性的增加带来的就是通讯传输效率低。例如传输 1 个十六进制数 0xF9,ASCII 就要传送“F”和“9”两个字符,其对应的 ASCII 码是 0x46 和 0x39 两个字节,而 RTU 只需要 1 个字节就可以完成传输。

而 Modbus 作为应用于工业领域的通信协议,面向的主要是技术工人和工程师,不需要很强的可读性,反而传输的数据量一般会比较大,所以在工业现场很少会采用 ASCII 协议。

3、校验程序不同

RTU 采用 CRC 校验,而 ASCII 采用 LRC 校验。LRC 校验程序相对 CRC 校验程序简单。两种校验方法会在后续文章中详细介绍。

二、TCP 与 Rtu

1、概念不同:Modbus 是一种标准的工业控制数据交换协议,可以用 RTU 和 ASCII 两种方式进行协议数据的互传,RTU 是通过二进制数据方式直接传送数据,而 TCP 是通过将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,以 TCP 码形式进行数据传送,一般用得最多的还是 RTU 方式。

2、通信方式不同:以太网,对应的通信模式是 Modbus TCP。异步串行传输(各种介质如有线 RS-232-/422/485/;光纤、无线等),对应的通信模式是 Modbus Rtu 或 Modbus ASCII。高速令牌传递网络,对应的通信模式是 Modbus PLUS。

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分