• 成功案例
  • 技术服务
  • 技术资讯
  • 常见问题
  • 人才招聘
  • 人才理念
  • 福利待遇
  • 招聘职位
  • 技术资讯当前位置:首页 > 技术服务 > 技术资讯

    MODBUS ASCII协议和RTU协议

    时间:2018-03-24 17:26:18来源:浏览次数:

    米乐app官网苹果DONG-DO测量仪在于PLC或者其他设备通信时采用的是哪种协议,很多都不明白,

    我来告诉大家DONG-DO测量仪通信协议采用的是MODBUS ASCII传输方式即传输协议

    下表是MODBUS ASCII协议和RTU协议的比较: 

    协议
    开始标记
    结束标记
    校验
    传输效率
    程序处理
    ASCII
    :(冒号)
    CR,LF
    LRC
    直观,简单,易调试
    RTU
    CRC
    稍复杂

     

      从上表的比较我们可以看到,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两种协议的这一区别可能决定某些应用场合只能选用其中一种协议。

    转自:http://blog.sina.com.cn/s/blog_89f286ad0102uzju.html

    MODBUS之ASCII通信方式2009/2/23 17:07:32

    字符数据格式和数据代码

    ● MODBUS通信之ASCII通信方式的每个字符的数据格式规定如下

    ·1个起始位

    ·7个数据位

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

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

    ● 在MODBUS之ASCII通信方式中,其数据格式中每个字节(8bit)都是一个十六位进制字符组成。发送时每个字节(8bit)都作为两个ASCII码字符发送。

    ASCII通信方式数据格式

    MODBUS的ASCII方式的数据格式如下所示:

     

    起始码

    地址码

    功能码

    数据区

    校验码

    停止码

    各部份内容说明如下:

    起始码:数据格式的帧头,以“  :”号表示(4位),ASCII码为(3AH)。

    地址码:从站的地址(8位),01H-FFH。

    功能码:主站发送,告诉从站执行功能(8位),01H-FFH,具体代码功能见后。

    数据区:具体数据内容(n× 8位,)

    校验码:LRC校验码(8位),校验码的范围为由地址码开始到数据区结束,不包含起始码。

    停止码:数据格式的帧尾,用 “CR”(0DH),“LF”(0AH)表示(8位)

    控制器在MODBUS网络上以ASCII码模式通信,在数据格式中每8个bit(1个字节)都转换成ASCII码发送,也就是每个16进制字符(0~9),(A~F)都转换成ASCII码发送。这种方式的主要优点是字符发送的时间间隔可达1秒,而不产生错误。

    数据格式的“:”为帧头,在发送时,网络上的设备不断侦测“:”字符,当有一个冒号被收到时,每个设备都会解码下个字符(地址码)来判断是否发给自己。

    数据格式中的每个字符发送的时间间隔不能超过1秒,否则,接受设备将认为是传送错误。

    功能码是主站告诉从站要执行的功能。例如运行命令,读取监控状态,修改参数,读取参数等。MODBUS协议制定了相关的功能代码,数据区为功能码的内容,执行什么运行命令,正转,反转,停止,修改那个参数等等。MODBUS协议对数据区的具体格式与内容没有作统一的规定,而留给设备生产商去制定。凡是采用MODBUS协议作为设备通信协议的生产商,都会在在这方面作具体说明。

    ASCII通信方式的校验方法是LRC校验。

    ASCII通信方式的数据格式之帧尾为固定的“CR”(回车),“LF”(换行)表示一帧数据传送的结束。

    上面就是ASCII通信方式一帧数据信息帧的内容。在通信中,信息帧的内容必须编成通信程序,由通信指令发送和回传。


    图片新闻