当前位置: 首页 > news >正文

Modbus RTU 数据结构(发送和返回/读/写)

以下是 ​​Modbus RTU​​ 协议的典型数据结构示例,包含 ​​读保持寄存器​​ 和 ​​写单个寄存器​​ 的请求帧与响应帧格式,以及详细说明:


​1. 读保持寄存器 (Function Code: 0x03)​

​请求帧 (主机 → 从机)​

字段

字节数

示例值

说明

设备地址

1

0x01

从机设备地址(1-247)

功能码

1

0x03

读保持寄存器

起始寄存器地址

2

0x0000

要读取的起始寄存器地址

寄存器数量

2

0x0002

读取的寄存器数量(2个)

CRC校验

2

0xC40B

CRC16校验(低字节在前)

​完整帧示例(Hex):​

01 03 00 00 00 02 C4 0B


​响应帧 (从机 → 主机)​

字段

字节数

示例值

说明

设备地址

1

0x01

从机设备地址

功能码

1

0x03

读保持寄存器

数据字节数

1

0x04

返回的数据字节数(2寄存器×2字节)

寄存器数据

N

0x00 0A 00 64

寄存器1值(0x000A=10),寄存器2值(0x0064=100)

CRC校验

2

0xABCD

CRC16校验(低字节在前)

​完整帧示例(Hex):​

01 03 04 00 0A 00 64 AB CD


​2. 写单个寄存器 (Function Code: 0x06)​

​请求帧 (主机 → 从机)​

字段

字节数

示例值

说明

设备地址

1

0x01

从机设备地址

功能码

1

0x06

写单个寄存器

寄存器地址

2

0x0002

要写入的寄存器地址

写入值

2

0x00FF

要写入的值(0x00FF=255)

CRC校验

2

0x1234

CRC16校验(低字节在前)

​完整帧示例(Hex):​

01 06 00 02 00 FF 12 34


​响应帧 (从机 → 主机)​

字段

字节数

示例值

说明

设备地址

1

0x01

从机设备地址

功能码

1

0x06

写单个寄存器

寄存器地址

2

0x0002

写入的寄存器地址

写入值

2

0x00FF

确认写入的值(0x00FF=255)

CRC校验

2

0x5678

CRC16校验(低字节在前)

​完整帧示例(Hex):​

01 06 00 02 00 FF 56 78

(响应帧与请求帧完全相同,表示写入成功)


​3. 关键说明​

  1. ​CRC校验​

    • 计算范围:从设备地址到最后一个数据字节(不包括CRC本身)。

    • 校验值格式:16位,​​低字节在前​​(如 0xC40B发送顺序是 0B C4)。

  2. ​寄存器地址​

    • Modbus寄存器地址从 0x0000开始,但实际设备可能映射为 40001(保持寄存器)或 30001(输入寄存器)。

  3. ​错误响应​

    • 如果操作失败,功能码最高位置1(如 0x83表示读保持寄存器错误),并返回错误码:

      01 83 02 C0 91  // 错误码0x02(非法数据地址)
  4. ​字节顺序​

    • Modbus默认使用 ​​大端序(Big-Endian)​​,即高位字节在前。


​4. 实际应用场景​

​读保持寄存器​

  • ​用途​​:读取设备参数(如温度、电压等)。

  • ​示例​​:

    主机请求读取从机地址1的寄存器0和1的值:

    01 03 00 00 00 02 C4 0B

    从机返回寄存器0=10,寄存器1=100:

    01 03 04 00 0A 00 64 AB CD

​写单个寄存器​

  • ​用途​​:修改设备参数(如设定阈值)。

  • ​示例​​:

    主机请求向从机地址1的寄存器2写入255:

    01 06 00 02 00 FF 12 34

    从机确认写入成功:

    01 06 00 02 00 FF 56 78


​5. 注意事项​

  1. ​超时处理​​:主机需等待从机响应(典型超时为100ms-1s)。

  2. ​并发控制​​:同一时刻只能有一个设备在总线上通信。

  3. ​地址范围​​:寄存器数量不能超过Modbus协议限制(通常最多125个寄存器/请求)。

如果需要其他功能码(如写多个寄存器、读输入寄存器等)的示例,可以进一步补充!

http://www.dtcms.com/a/478169.html

相关文章:

  • Nginx IP 透传
  • 海外IP的主要应用业务
  • 门户网站建设工序做微信网站要多少钱
  • 南阳网站优化费用推进网站 集约化建设
  • 算法训练之BFS实现FloodFill算法
  • Typescript - 枚举类型 enum,详细介绍与使用教程(快速入门)
  • 机器视觉2D贴合引导项目从哪里入手,案例知识分享
  • 家庭烹饪用油选择
  • 「工具设计」JS字段信息加密解密工具设计
  • 注意力机制-10.1.3注意力可视化
  • 网站维护公司苏州网站推广优化
  • Codeforces Educational 183(ABCD)
  • 为什么建设网站要年年交钱石家庄最新今天消息
  • 2025年语音识别(ASR)与语音合成(TTS)技术趋势分析对比
  • TortoiseSVN-1.8.10.26129-x64-svn-1.8.11.msi
  • 鸿蒙NEXT应用接入快捷栏:一键直达,提升用户体验
  • 前端接EXCEL
  • 深圳企业网站建设推荐公司网站开发的方法
  • 网站建设 价格wordpress管理员改为投稿者
  • 2025程序综合实践第三次DFS2
  • 记录一次前端文件缓存问题
  • 深度预测调和网络(DFRN)医疗应用编程路径分析
  • bkhtmltopdf - 高性能 HTML 转 PDF 工具(代替 wkhtmltopdf)
  • OpenCV基础入门2
  • 数据结构——二叉树的从前序与中序遍历序列构造二叉树
  • 做网站要用到的技术网站维护主要做哪些
  • 聚焦string:C++ string 核心接口、编译器差异与自定义实现的深度剖析
  • 【Java集合体系】全面解析:架构、原理与实战选型
  • 999免费的网站北京网站设计方案
  • 复制和粘贴快捷键ctrl加什么?【图文详解】电脑复制粘贴快捷键?剪贴板历史记录?电脑快捷键大全?快捷键操作?