关于Modbus消息帧,这些内容你都了解吗?
  oXUDKoWJ8dmE 2023年11月02日 34 0

在 Modbus网络通信的两种传输模式中( ASCII或RTU),传输设备以将Modbus消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。部分的消息也能侦测到并且错误能设置为返回结果。

1、ASCII帧

使用ASCII模式,消息以冒号(:)字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH)。

其它域可以使用的传输字符是十六进制的0...9,A...F。网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。

消息中字符间发送的时间间隔最长不能超过1秒,否则接收的设备将认为传输错误。一个典型消息帧如下所示:

关于Modbus消息帧,这些内容你都了解吗?_无线通讯

2.RTU帧

使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。在网络波特率下多样的字符时间,这是最容易实现的(如下图的T1-T2-T3-T4所示)。传输的第一个域是设备地址。可以使用的传输字符是十六进制的0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。

整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一典型的消息帧如下所示:

关于Modbus消息帧,这些内容你都了解吗?_modbus协议_02

3.地址域

消息帧的地址域包含两个字符(ASCII)或8Bit(RTU)。可能的从设备地址是0...247 (十进制)。单个设备的地址范围是1...247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。

地址0是用作广播地址,以使所有的从设备都能认识。当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。

4.如何处理功能域

消息帧中的功能代码域包含了两个字符(ASCII)或8Bits(RTU)。可能的代码范围是十进制的1...255。当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。

当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。例如去读取输入的开关状态,读一组寄存器的数据内容,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。

当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。对正常回应,从设备仅回应相应的功能代码。对异议回应,从设备返回一等同于正常代码的代码,但最重要的位置为逻辑1。

例如:一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码:0 0 0 0 0 0 1 1 (十六进制03H)

对正常回应,从设备仅回应同样的功能代码。对异议回应,它返回:1 0 0 0 0 0 1 1 (十六进制83H)

除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设备发生了什么错误。

主设备应用程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。

5.字符的连续传输

当消息在标准的Modbus系列网络传输时,每个字符或字节以如下方式发送(从左到右):最低有效位...最高有效位

使用ASCII字符帧时,位的序列是:

关于Modbus消息帧,这些内容你都了解吗?_modbus协议_03

使用RTU字符帧时,位的序列是:

关于Modbus消息帧,这些内容你都了解吗?_modbus协议_04

6.Modbus协议下的数据传输

西门子S7-1200 与 触摸屏之间无线Modbus通信。威纶通触摸屏作为主站,S7-1200作为从站,并采用PLC专用无线通讯终端DTD434MC作为实现无线通讯的硬件设备。

关于Modbus消息帧,这些内容你都了解吗?_无线通讯_05

多台汇川PLC之间基于MODBUS通讯协议下的无线通信。采用PLC专用无线通讯终端DTD435M作为实现无线通讯的硬件设备,无需更改网络参数直接替换有线连接。

关于Modbus消息帧,这些内容你都了解吗?_无线通讯_06

基于Modbus RTU协议下实现的1主多从自组网无线通信形式,主站为组态王,从站为DTD433H。采用无线开关量信号测控终端DTD433H与无线通信数据终端DTD433MC,作为实现无线通讯的硬件设备。DTD433H具备输入和输出开关量信号功能,信号传输方向由用户原系统主从设备所实现的功能决定。

关于Modbus消息帧,这些内容你都了解吗?_modbus协议_07

2台组态王和1台三菱FX5u PLC之间无线以太网通信,采用了三菱PLC无线通讯终端DTD419MB作为实现无线通讯的硬件设备。无需更改网络参数和原有程序,通过DTD419MB即可直接替换组态王与PLC之间有线以太网通讯,且稳定方便的实现ModbusTCP/IP协议下无线以太网通讯。

关于Modbus消息帧,这些内容你都了解吗?_modbus协议_08


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
oXUDKoWJ8dmE