当前位置: 首页 >应用方案 >技术应用 >

ModBus协议详解及应用案例

对于工控行业的朋友来说,Modbus协议可谓是耳熟闻详的一个词,很多人听过次协议,但是不清楚具体是干什么的,是什么意思,今天我们一起来聊一聊什么是Modbus协议。

modbus协议

首先,我们来看一下三个问题:

1、什么是Modbus?

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表的一种总线协议。

为什么Modbus协议被广泛使用呢?

Modbus通信协议已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式(一种行业规范)。此外,还具有三大特点:

①公开发表并且无版权要求

②易于部署和维护

③修改移动本地的比特或字节没有很多限制

概括来讲,Modbus协议就是一种用于工业控制的协议,Modbus具有免费使用、上手简单、需改方便三大特点,已经被广泛使用。

2、Modbus是用来干什么的?

Modbus协议都是用于通信的,就比如我们使用的语言,就可以看做是一种协议,作用是让使用这种语言的人都能听懂。比如我们之间定义了一个协议,“1”是向左,“2”是向右,我给你一个“1”,如果你没有这个协议,就只知道是“1”,而你有这个协议就知道是让你向左。

3、Modbus协议的内容是什么?

Modbus协议主要分为Modbus TCP、Modbus RTU、Modbus ASCII、Modbus Plus四种。

modbus协议内容

Modbus协议是主从方式通信,也就是说,不能同步进行通信,总线上每次只有一个数据进行传输,即主机发送,从机应答,主机不发送,从机应答完毕后,总线上就没有数据通信。

例如,一个RS485总线上有一个主机,20个从机,主机查询其中一个从机,首先必须得给这些从机分配一个地址(每个地址必须唯一),分配好地址后,主机要查询一个从机状态(05),然后数据下发给从机(5号),从机(5号)得到主机发送的数据,然后对应地址的从机(5号)回复,主机得到从机数据,这样就是一个主机到从机的通信过程。

3.1 Modbus TCP协议

Modbus TCP协议是用于管理和控制自动化设备的,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中Modbus报文的用途,Modbus RTU协议运行于以太网。

Modbus TCP使用TCP/IP和以太网在站点间传送Modbus报文,Modbus TCP结合了以太网物理网络和网络标准TCP/IP以及以Modbus作为应用协议标准的数据表示方法。Modbus TCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,Modbus TCP插入一个标准Modbus报文到TCP报文中,不再带有数据校验和地址。

3.2 Modbus RTU协议

Modbus协议是运行于设备间的协议,或者说设备间必须要有Modbus RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU协议。帧结构一般由地址、功能码、数据、校验组成。

地址用于区分设备,占用一个字节,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常的需要两个设备的地址一样才能进行查询和回复)。

功能码占用一个字节,意义在于指示这个指令的功能。

数据根据功能码确认,不同的功能码有不同的数据结构。

校验位是为了保证数据不出现错误而增加的。校验位将前面的数据进行计算,看数据是否一致,如果一致,就说明这帧数据是正确的,再进行回复;如果不一样,说明数据在传输过程中出了问题,数据产生错误。

3.3 Modbus ASCII协议

Modbus ASCII协议是建立在Modbus RTU协议上的,是将指令转换为ASCII字符进行传输的。比如Modbus RTU协议需要传输“12”,只需要一个字节;Modbus ASCII协议需要将“1”转换为“31”,“2”转化为“32”,再进行传输,需要占用两个字节,因此Modbus ASCII效率不高,使用率较低。

总的来看,Modbus RTU协议和Modbus ACSII协议都是基于232和485链路的,所以其通讯模式半双工,一般是主机和从机的模式。其差别就是其字节的格式不同,一个是16进制的数据,一个是ASCII数据。

3.4 Modbus PLUS协议

Modbus PLUS协议一般被称为MB+,是一种高速现场总线网络,也是一种典型的令牌总线网,针对工业控制应用的本地局域网系统。它允许计算机、可编程序控制器和其他数据源以对等方式进行通信,设备通过"令牌"的方式实现数据的交换,严格定义了令牌的传递方式、数据校验以及通信接口等方面的参数。数据传送速率达1Mbit/s,传输介质一般为为双绞线、同轴电缆或光纤。

今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多串口服务器、数传电台、lora无线模块等产品更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!

https://www.wjx.cn/jq/84863372.aspx