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

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

3天内不再提示

ModbusTCP协议及通信报文解读

嵌入式情报局 来源:嵌入式情报局 2023-06-25 11:44 次阅读

1、modbus协议设计思想

Modbus设备使用主从(客户端-服务器)技术进行通信,其中只有一个设备(主设备/客户端)可以启动事务(称为查询)。其他设备(从设备/服务器)通过向主设备提供请求的数据或采取查询中请求的操作进行响应。从设备是任何外围设备(I/O转换器、阀门、网络驱动器或其他测量设备),它处理信息并使用Modbus将其输出发送到主设备。

主机可以寻址单个从机,也可以向所有从机发起广播消息。从属服务器会返回对单独发送给它们的所有查询的响应,但不会响应广播查询。从属服务器不会自己启动消息,它们只响应来自主服务器的查询。

主查询将包括一个从地址(或广播地址)、一个定义所请求操作的功能代码、任何所需数据和一个错误检查字段。从机的响应由确认所采取的操作、要返回的任何数据和错误检查字段组成。

请注意,查询和响应都包括设备地址、功能代码、适用数据和错误检查字段。如果没有发生错误,则从设备的响应包含所请求的数据。如果收到的查询中出现错误,或者从设备无法执行请求的操作,则从设备将返回一条异常消息作为响应。

从机消息帧的错误检查字段允许主机确认消息的内容是有效的。传统的Modbus消息是串行传输的,奇偶校验也应用于其数据帧中的每个传输字符。

在这一点上,重要的是要区分Modbus本身是一个应用协议,因为它定义了组织和解释数据的规则,但仍然只是一个消息传递结构,独立于底层物理层。

2、modbusTCP

Modbus消息结构是一种应用协议,定义了独立于数据传输介质的数据组织和解释规则。

TCP/IP是指传输控制协议和互联网协议,为Modbus TCP/IP消息提供传输介质。

注意:TCP的主要功能是确保所有数据包都被正确接收,TCP/IP只是一个传输协议,并没有定义数据的含义或数据的解释方式,这是应用协议的工作)。

6141662c-10d4-11ee-962d-dac502259ad0.png

从本质上讲,Modbus TCP/IP消息只是封装在以太网TCP/IP封装器中的Modbus通信。Modbus-TCP将标准Modbus数据帧嵌入到TCP帧中,没有Modbus校验和,如下图所示。

6157db64-10d4-11ee-962d-dac502259ad0.png

你一定会奇怪相比串口版本的modbusRTU,为什么没有没有使用Modbus错误检查字段校验。

因为TCPIP是一种可靠传输,其使用标准以太网TCP/IP链路层校验和方法来保证数据的完整性。

3、报文介绍

6157db64-10d4-11ee-962d-dac502259ad0.png

还是把这张图拿过来。从图中可以看出,功能代码和数据字段与原始形式一样。

Modbus TCP/IP应用数据单元(ADU)采用7字节报头(事务标识符+协议标识符+长度字段+单元标识符)和协议数据单元(功能代码+数据)的形式。

MBAP标头长7个字节,包括以下字段:

事务/调用标识符(2个字节):当客户端沿同一TCP连接发送多条消息而不等待先前响应时,此标识字段用于事务配对。

协议标识符(2字节):此字段对于Modbus服务始终为0,其他值保留用于未来扩展。

长度(2字节):该字段是剩余字段的字节计数,包括单元标识符字节、功能代码字节和数据字段。

单元标识符(1字节):此字段用于标识位于非TCP/IP网络上的远程服务器(用于串行桥接)。在典型的Modbus TCP/IP服务器应用程序中,单元ID设置为00或FF,被服务器忽略,并在响应中简单地回显。

完整的Modbus TCP/IP应用数据单元嵌入到标准TCP帧的数据字段中,并通过TCP发送到系统端口502,该端口专门为Modbus应用保留。

Modbus TCP/IP客户端和服务器通过端口502监听和接收Modbus数据。

我们可以看到,Modbus在以太网上的操作对Modbus寄存器/命令结构几乎是透明的。因此,如果您已经熟悉传统Modbus的操作,那么您已经非常熟悉Modbus TCP/IP的操作。

审核编辑:汤梓红

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

    关注

    40

    文章

    5184

    浏览量

    167611
  • 互联网
    +关注

    关注

    54

    文章

    10967

    浏览量

    101584
  • MODBUS
    +关注

    关注

    28

    文章

    1518

    浏览量

    75967
  • 服务器
    +关注

    关注

    12

    文章

    8352

    浏览量

    83567
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1289

    浏览量

    78543

原文标题:ModbusTCP协议及通信报文解读

文章出处:【微信号:嵌入式情报局,微信公众号:嵌入式情报局】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通信协议解读:CoAP/LWM2M协议和MQTT协议

    本文将分别解读CoAP/LWM2M协议和MQTT协议,希望能帮助您了解这些协议,并选择最适合您的设备的通信协议
    的头像 发表于 12-04 14:09 1.2w次阅读
    <b class='flag-5'>通信协议</b><b class='flag-5'>解读</b>:CoAP/LWM2M<b class='flag-5'>协议</b>和MQTT<b class='flag-5'>协议</b>

    图文详解ModbusTCP协议

    Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议ModbusTCP。Modbus协议是一
    发表于 11-16 11:31 3.7w次阅读

    串口通信协议解读

    解读,这个协议要怎们弄,第一次处理这些
    发表于 10-14 23:34

    采用ModbusRTU或ModbusTCP通讯协议与下位机进行通信

    上位机如触摸屏采用ModbusRTU或ModbusTCP通讯协议与下位机如单片机通过串口或网络通信时,需要解析上位机报文Modbus寄存器读写的单位是字Word,读写Map表元素长度必
    发表于 02-24 07:00

    ModbusTCP转CanOpen网关助力工控行业

    在工业自动化领域,协议转换网关一直扮演着至关重要的角色。其中,modbustcp转canopen网关以其独特的优势,成为不同设备间通信的桥梁。这款网关将modbus TCP协议的设备与
    发表于 12-11 10:53

    基于北斗短报文协议的可靠远程通信系统

    为构建稳健的远程数据传输系统,设计并实现一种基于北斗短报文协议的可靠远程通信系统。针对北斗短报文通信不可靠和
    发表于 02-09 14:10 6次下载
    基于北斗短<b class='flag-5'>报文</b><b class='flag-5'>协议</b>的可靠远程<b class='flag-5'>通信</b>系统

    一文知道ModbusTCP协议和上位机编写

    Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种
    发表于 11-20 10:52 4545次阅读
    一文知道<b class='flag-5'>ModbusTCP</b><b class='flag-5'>协议</b>和上位机编写

    ModbusTCP报文详解

    ModbusTCP报文详解是工业控制常用的一种协议,通过对Modbus报文的理解,能很快提升自己的实际应用能力。
    发表于 06-07 15:15 4次下载

    一文详解ModbusTCP协议

    Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议ModbusTCP。Modbus协议是一
    的头像 发表于 07-26 10:51 7477次阅读
    一文详解<b class='flag-5'>ModbusTCP</b><b class='flag-5'>协议</b>

    通过Profinet转ModbusTCP协议连接储能飞轮的解决方案

    通过使用Profinet转ModbusTCP网关的方式实现了Profinet转ModbusTCP协议的转换,解决了不同设备之间的通信障碍。Profinet转
    的头像 发表于 01-02 16:56 424次阅读
    通过Profinet转<b class='flag-5'>ModbusTCP</b><b class='flag-5'>协议</b>连接储能飞轮的解决方案

    港口跨运车通信系统的ModbusTCP转CAN协议的连接案例

    港口跨运车通信系统的ModbusTCP转CAN协议的连接案例 WLJS的系列嵌入式通信模块,允许与特定工业网络进行通信。这些模块是可互
    的头像 发表于 01-03 13:53 236次阅读

    智能楼宇系统canopen协议ModbusTCP协议进行通讯

    通过耐特森CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP协议。该CANope
    的头像 发表于 01-03 15:17 298次阅读

    智能楼宇系统canopen协议ModbusTCP协议进行通讯

    通过CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP协议。该CANopen转
    的头像 发表于 01-03 15:20 272次阅读
    智能楼宇系统canopen<b class='flag-5'>协议</b>与<b class='flag-5'>ModbusTCP</b><b class='flag-5'>协议</b>进行通讯

    【实用篇】ModbusTCP协议详解

    ModBusTcp与串行链路Modbus的数据域是一致的,具体数据域可以参考串行Modbus。这里给出几个ModbusTcp的链路解析说明,辅助新人分析报文
    的头像 发表于 01-14 11:13 1769次阅读
    【实用篇】<b class='flag-5'>ModbusTCP</b><b class='flag-5'>协议</b>详解

    什么是北斗短报文功能?如何实现北斗短报文通信

    北斗短报文功能是指通过北斗卫星进行短报文通信的功能。这种功能允许用户在没有移动通信信号覆盖的偏远山区、海洋、沙漠等地带,通过北斗短报文终端发
    的头像 发表于 05-25 10:16 1642次阅读
    什么是北斗短<b class='flag-5'>报文</b>功能?如何实现北斗短<b class='flag-5'>报文</b><b class='flag-5'>通信</b>?