0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一篇文章全面解析Modbus协议中的消息帧

达泰电子 来源:达泰电子 作者:达泰电子 2023-09-25 09:56 次阅读

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

1、ASCII帧

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

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

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

wKgaomUQ6OOAQb9oAAAx-ZySk1k07.jpeg

2.RTU帧

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

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

wKgZomUQ6OaAStuvAAAuRTuB5AQ58.jpeg

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字符帧时,位的序列是:

wKgaomUQ6OeAHhJTAAA3PVwNZnE72.jpeg

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

wKgZomUQ6OeAQu0_AAA1ZKfO3pQ64.jpeg

6.Modbus协议下的数据传输

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

wKgaomUQ6OiARvb3AAHkbVBd2_I827.png

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

wKgZomUQ6OiAS3sbAAKk8aOqxvE278.png

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

wKgaomUQ6OmAGmy2AALr8PSLLO8150.png

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

wKgZomUQ6OmAcDyzAAGUcEjgndk912.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5342

    浏览量

    170774
  • plc
    plc
    +关注

    关注

    5006

    文章

    13107

    浏览量

    461407
  • MODBUS
    +关注

    关注

    28

    文章

    1757

    浏览量

    76755
  • 三菱
    +关注

    关注

    32

    文章

    796

    浏览量

    42728
  • ASCII
    +关注

    关注

    5

    文章

    171

    浏览量

    35011
  • ModBus协议
    +关注

    关注

    3

    文章

    173

    浏览量

    33366
  • 无线通讯
    +关注

    关注

    5

    文章

    575

    浏览量

    39777
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54692
  • RTU
    RTU
    +关注

    关注

    0

    文章

    403

    浏览量

    28596
  • 组态王
    +关注

    关注

    11

    文章

    130

    浏览量

    25849
收藏 人收藏

    评论

    相关推荐

    Modbus协议Modbus M16程序及Modbus协议文档几篇

    需要有大于3.5byte的延时,程序没有,可以由定时器起动发送;<2>接收时crc计算还是边接收边计算好点,crc的
    发表于 11-11 10:12

    modbus协议笔记

    1 Modbus协议概要​ Modbus通信协议由Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制(即PLC)通信而发表。目前,Modbu
    发表于 07-02 07:17

    Modbus协议是什么?Modbus协议主要有哪些应用?

    请问Modbus协议是什么?Modbus协议主要有哪些应用?
    发表于 07-15 12:04

    Modbus协议的特点是什么

    Modbus协议的特点是什么?Modbus协议有哪几类功能码?
    发表于 09-26 08:13

    Modbus协议地址与协议层次

    Modbus协议地址是什么意思?Modbus协议层次有何优势?
    发表于 09-28 06:27

    Modbus协议是什么

    Modbus协议是什么?MODBUS功能码有哪些?MODBUS协议有哪几种传输模式?
    发表于 09-29 07:06

    Modbus是什么?Modbus协议有哪些优点

    Modbus是什么?Modbus协议有哪些优点?Modbus协议包括哪些?
    发表于 09-30 08:40

    Modbus协议相关资料推荐

    ,自带原生接口和采集引擎 (gitee.com)目录前言驱动目的适用范围使用示例驱动代码驱动解析前言Modbus协议是应用于电子控制器上的种通用语言。通过此协议,控制器相互之间、控制
    发表于 11-16 06:50

    modbus协议的相关资料分享

    次写专栏,暂时打算分为3吧;第一篇modbus协议的理论内容;第二modbus的实现
    发表于 02-21 06:43

    文读懂Modbus协议

    1、Modbus是什么?  Modbus协议,从字面理解它包括Mod和Bus两部分,首先它是种bus,即总线协议,和I2C、SPI类似,总线就意味着有主机,有从机,这些设备在同
    发表于 10-28 14:23

    Modbus协议的理解

    系统的兼容,最好采用通用的通讯协议。   我们可以Modbus协议进行修改,使之能使用在自己的系统Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此
    发表于 05-05 16:47

    Modbus协议三种数据的差异

    Modbus协议无线通信网关就是将Modbus协议转换为其他物联网无线数传协议
    的头像 发表于 05-31 13:16 2365次阅读

    工业通讯应用主流的常用协议Modbus协议

    智联物联技术分享,本期为大家介绍工业通讯常用的主流协议Modbus协议Modbus协议的前身叫做Mod协议,常被用于Modicon公司的PLC控制器
    的头像 发表于 04-19 15:25 1269次阅读
    工业通讯应用<b class='flag-5'>中</b>主流的常用<b class='flag-5'>协议</b><b class='flag-5'>Modbus协议</b>

    使用MODBUS协议的时候可以不用设置数据格式了吗?

    在使用MODBUS协议进行串口通讯时,通常需要设置数据格式。
    的头像 发表于 01-30 09:32 680次阅读

    Modbus协议网关是什么?Modbus协议网关的功能

    Modbus协议网关是种专门用于工业自动化环境的网络设备,其主要功能是实现不同通信协议之间的转换,尤其是将基于Modbus协议的设备或系
    的头像 发表于 04-11 15:51 679次阅读