Modbus 通讯协议是什么?
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。
MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。Modbus是一种单主站的主/从通信模式。一条Modbus网络上同时只能有一台主站,从站可以有若干个。
Modbus具有以下几个特点:
1.标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。
2.Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
3.Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
一般情况下,两台设备通过MODBUS协议传输数据:最早是用RS232作为硬件接口,(也就是普通电脑上的串行通讯口(串口));也有用RS422的,也有常用的RS485,这种接口传输距离远,在一般工业现场用的比较多。
MODBUS协议著名的又分MODBUS RTU,MODBUS ASCII和后来发展的MODBUS TCP三种模式。
Modbus RTU和Modbus TCP的区别
Modbus RTU和Modbus TCP是Modbus通信中比较好用的两个协议,两者协议很相似。
在工业现场一般都是采用Modbus RTU协议,一般而言,大家说的基于串口通信的Modbus通信协议都是指Modbus RTU通信协议。与Modbus RTU协议相比较,Modbus TCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码的,所以就常用一句比较通俗的话来说:Modbus TCP协议就是Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码字节就OK。虽然这句话说得不是特别准确,但是也基本上把RTU与TCP之间的区别说得比较清楚了。
RTU协议中的指令由地址码(一个字节),功能码(一个字节),起始地址(两个字节),数据(N个字节),校验码(两个字节)五个部分组成。
数据由数据长度(两个字节,表示的是寄存器个数,假定为M)和数据正文(M乘以2个字节)组成。
发:01 03 01 8E 00 04 25 DE //读(0x03),从寄存器地址01 8E 开始读,读4个寄存器00 04
回:01 03 08 00 01 00 01 00 01 00 01 28 D7 // 08表示数据长度 ,00 01 00 01 00 01 00 01读到的数据
发:00 10 00 20 00 01 02 00 00 AC A0 // 写(0x10),从寄存器地址 00 20开始写,写一个寄存器 00 01,写入值 00 00
回:00 10 00 20 00 01 01 D2
Modbus TCP协议是在RTU协议前面添加MBAP报文头,由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码。
|
可以理解为报文的序列号,一般每次通信之后就要加1以区别不同的通信数据报文
|
|
|
|
|
|
|
发:00 00 00 00 00 06 00 03 00 20 00 01
回:00 00 00 00 00 05 00 03 02 00 00
发:00 00 00 00 00 06 00 04 00 30 00 01
回:00 00 00 00 00 05 00 04 02 00 08
发:00 00 00 00 00 09 00 10 00 20 00 01 02 00 00
回:00 00 00 00 00 06 00 10 00 20 00 01
免责声明:本网站部分文章、图片等信息来源于网络,版权归原作者平台所有,仅用于学术分享,如不慎侵犯了你的权益,请联系我们,我们将做删除处理!