首页
搜索
历史搜索
首页 > 新闻中心 > 技术应用

Modbus协议两种传输方式的区别

2022-09-16 10:21:10| 来源:聚英电子| | 0

  常用的MODBUS通讯规约有两种,一种是MODBUS ASCII模式,一种是MODBUS RTU模式。每个设备必须都有相同的传输模式。所有设备都支持RTU模式,ASCII传输模式是选项,那么ASCII模式和RTU模式有什么区别呢?

  Modbus协议特点:

  (1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。

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

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

  

Modbus协议特点


  

  1、ASCII模式

  Modbus串行链路的设备被配置为使用ASCII模式通信时,报文中的每8位字节以两个ASCII字符发送。例:字节0X5B会被编码为两个字符:0x35和0x42进行传送(ASCII编码0x35="5",0x42="B"),这样传输效率会降低。

  在ASCII模式,报文用特殊的字符区分帧起始和帧结束。一个报文必须以一个‘冒号’(:)(ASCII十六进制3A)起始,以‘回车-换行’(CRLF)对(ASCII十六进制0D和0A)结束。设备连续的监视总线上的‘冒号’字符。当收到这个字符后,每个设备解码后续的字符一直到帧结束。报文中字符间的时间间隔可以达一秒。如果有更大的间隔,则接受设备认为发生了错误。

  当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

  

常用的ASCII字符码


  

  代码系统

  十六进制,ASCII字符0...9,A...F

  消息中的每个ASCII字符都是一个十六进制字符组成

  每个字节地位

  1个起始位

  7个数据位,最小的有效位先发送

  1个奇偶校验位,无校验则无

  1个停止位(有校验时),2个Bit(无校验时)

  错误检测域

  LRC(纵向冗长检测)

  2、RTU模式

  当设备使用RTU(RemoteTerminalUnit)模式在Modbus串行链路通信,报文中每个8位字节含有两个4位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII模式有更高的传输效率。每个报文必须以连续的字符流传送。

  当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。

  

RTU模式Modbus串行链路通信


  

  代码系统

  8位二进制,十六进制数0...9,A...F

  消息中的每个8位域都是一个两个十六进制字符组成

  每个字节地位

  1个起始位

  8个数据位,最小的有效位先发送

  1个奇偶校验位,无校验则无

  1个停止位(有校验时),2个Bit(无校验时)

  错误检测域

  CRC(循环冗长检测)

  RTU传输模式应用有自报、兼容、查询、以及调试四种工作模式。

  RTU传输模式:

  a)自报工作模式

  事件触发(被测要素值发生一定变化)时,遥测站主动发送数据;定时触发时,遥测站应按规定的时间主动上报发送数据;

  自报工作模式下RTU在整点上报和预警加报时上线,完成数据传输后又自动下线。自报主要应用于短时间通讯、长时间待机,因此在功耗上远远低于兼容式工作模式。自报模式下GPRS通讯模块处于休眠状态,可以通过短信进行远程修改配置参数。

  b)兼容工作模式

  表示同时包括查询和自报两种工作模式,兼容式工作模式下RTU一开机启动就会自动连接服务中心,并且一直保持在线;如果出现网络故障RTU设备就会自动重新连接。此模式下,水文监测管理平台可以进行召测、召拍等操作。

  由于无线通信模块是一个比较耗电的单元,在自报模式下,RTU只在小时报或加报报时候才会上线,否则会关闭其电源。在兼容模式下则会一直保持在线,此时功耗会较高。

  c)查询工作模式

  中心站发出指令主要用于对遥测站进行数据查询、参数(状态)设置或设备控制;

  遥测站应响应指令发送所查询的数据或状态、设置参数或执行控制设备指令并返回执行结果。

  d) 调试工作模式

  调试模式下,主要用于RTU外接水位、雨量、摄像头等设备的安装测试。

  安装测试作用:一是测试通信线路是否正常,二是用于验证遥测站采集传输的正确性,并告诉中心站,测试数据只做检查用,不存储。

  MODBUS的ASCII协议和RTU协议相比,MODBUS ASCII协议拥有开始和结束标记,而MODBUS RTU却没有,所以ASCII协议的程序中对数据包的处理能更加方便。

  MODBUS ASCII协议的DATA域传输的都是可见的ASCII字符,因此在调试阶段就显得更加直观,另外LRC校验程序也比较容易编写,这些都是MODBUS ASCII的优点。

  MODBUS ASCII的主要缺点是传输效率低,因为传输的都是可见的ASCII字符,原来用RTU传输的数据每一个字节,用ASCII的话都要把这个字节拆分两个字节,比如RTU传输一个十六进制数0xF9,ASCII就需要传输字符''F''和字符''9'',对应的ASCII码0x46和0x39两个字节,这样传输的效率肯定就比RTU低。

  所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。

  另外,由于ASCII协议有开始标志和结束标志,所以一个数据包之间的各字节间的传输间隔时间可以大于1秒,而MODBUS RTU方式下,由于没有规定开始和结束标记,所以协议规定每两个字节之间发送或者接收的时间间隔不能超过3.5倍字符传输时间。如果两个字符时间间隔超过了3.5倍的字符传输时间,就认为一帧数据已经接收,新的一帧数据传输开始,所以RTU方式下两个字节间传输间隔有时间要求。MODBUS 的ASCII和RTU两种协议的这一区别,可能决定某些应用场合只能选用其中一种协议。


联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400