设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
ModbusTCP协议及通信报文解读
返回列表
发新帖
ModbusTCP协议及通信报文解读
[复制链接]
63958
|
0
|
2024-3-22 21:13:27
|
显示全部楼层
|
阅读模式
点击上方“嵌入式情报局”,选择“置顶/星标”
嵌入式情报,第一时间送达
1、modbus协议设计思想
Modbus设备使用主从(客户端-服务器)技术进行通信,其中只有一个设备(主设备/客户端)可以启动事务(称为查询)。其他设备(从设备/服务器)通过向主设备提供请求的数据或采取查询中请求的操作进行响应。从设备是任何外围设备(I/O转换器、阀门、网络驱动器或其他测量设备),它处理信息并使用Modbus将其输出发送到主设备。
主机可以寻址单个从机,也可以向所有从机发起广播消息。从属服务器会返回对单独发送给它们的所有查询的响应,但不会响应广播查询。从属服务器不会自己启动消息,它们只响应来自主服务器的查询。
主查询将包括一个从地址(或广播地址)、一个定义所请求操作的功能代码、任何所需数据和一个错误检查字段。从机的响应由确认所采取的操作、要返回的任何数据和错误检查字段组成。
请注意,查询和响应都包括设备地址、功能代码、适用数据和错误检查字段。如果没有发生错误,则从设备的响应包含所请求的数据。如果收到的查询中出现错误,或者从设备无法执行请求的操作,则从设备将返回一条异常消息作为响应。
从机消息帧的错误检查字段允许主机确认消息的内容是有效的。传统的Modbus消息是串行传输的,奇偶校验也应用于其数据帧中的每个传输字符。
在这一点上,重要的是要区分Modbus本身是一个应用协议,因为它定义了组织和解释数据的规则,但仍然只是一个消息传递结构,独立于底层物理层。
2、modbusTCP
Modbus消息结构是一种应用协议,定义了独立于数据传输介质的数据组织和解释规则。
TCP/IP是指传输控制协议和互联网协议,为Modbus TCP/IP消息提供传输介质。
注意:TCP的主要功能是确保所有数据包都被正确接收,TCP/IP只是一个传输协议,并没有定义数据的含义或数据的解释方式,这是应用协议的工作)。
从本质上讲,Modbus TCP/IP消息只是封装在以太网TCP/IP封装器中的Modbus通信。Modbus-TCP将标准Modbus数据帧嵌入到TCP帧中,没有Modbus校验和,如下图所示。
你一定会奇怪相比串口版本的modbusRTU,为什么没有没有使用Modbus错误检查字段校验。
因为TCPIP是一种可靠传输,其使用标准以太网TCP/IP链路层校验和方法来保证数据的完整性。
3、报文介绍
还是把这张图拿过来。从图中可以看出,功能代码和数据字段与原始形式一样。
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的操作。
最 后
小哥搜集了一些嵌入式学习资料,公众号内回复【1024】即可找到下载链接!
推荐好文 点击蓝色字体即可跳转
☞ 专辑|Linux应用程序编程大全
☞ 专辑|学点网络知识
☞ 专辑|手撕C语言
☞ 专辑|手撕C++语言
☞ 专辑|经验分享
☞ 专辑|从单片机到Linux
☞ 专辑|电能控制技术
☞ 专辑|嵌入式必备数学知识
☞ MCU进阶专辑
☞ 嵌入式C语言进阶专辑
☞ 经验分享
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
dongtao1983
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』