Modbus协议存储区学习笔记

1️⃣ 核心思想:通信 = 数据交互

首先,我们要明白一个最基本的道理:

所有通信的本质,都是在交换数据!

在Modbus协议里,设备之间互相传递信息,其实就是去读取或写入对方“内存”里的某些特定位置的数据。这些“内存位置”,我们就叫它 “存储区”

图中提到的 X Y M D W,你可以暂时理解为不同种类的“数据仓库”或者“变量类型”,它们是PLC(可编程逻辑控制器)等工业设备内部常用的地址命名方式,但在标准Modbus协议中,我们更关注的是下面这4个核心存储区。


2️⃣ Modbus存储区的两大分类维度

要搞懂Modbus存储区,我们需要从两个角度看:

维度一:读写特性 —— 你能对这个数据做什么?

  • 只读 (Read Only)

    • 你只能“看”它,不能“改”它。
    • 就像你家的电表读数,你只能看到用了多少度电,但不能自己改数字。
    • 对应图中的:输入 (Input) 类型数据。
  • 读写 (Read/Write)

    • 你既可以“看”它,也可以“改”它。
    • 就像你手机上的音量键,你可以查看当前音量,也可以调大或调小。
    • 对应图中的:输出 (Output) 类型数据。

维度二:数据类型 —— 这个数据是“开关”还是“数字”?

  • 布尔 (Boolean)

    • 最简单的数据,只有两种状态:开/关、真/假、1/0
    • 就像家里的电灯开关,不是亮就是灭。
    • 在Modbus里,这种布尔数据通常被称为 “线圈 (Coil)”
  • 字 (Word)

    • 比布尔复杂一点,是一个“数字”,通常是16位(2个字节)。
    • 可以表示温度、速度、计数值等具体数值。
    • 在Modbus里,这种“字”数据通常被称为 “寄存器 (Register)”

总结一下:把这两个维度组合起来,就得到了Modbus的4种核心存储区!


3️⃣ Modbus的4大核心存储区(重点!)

这是整个笔记的核心内容,一定要记牢!

存储区名称 读写特性 数据类型 别名 / 俗称 功能举例
输入线圈 只读 布尔 输入点 读取传感器状态(如按钮是否按下)
输入寄存器 只读 输入寄存器 读取模拟量值(如温度、电压)
输出线圈 读写 布尔 输出点、继电器 控制灯的开关、电机启停
输出寄存器 读写 保持型寄存器 设置目标温度、设定速度

记忆口诀

  • “输” 入 → 只能看(只读)
  • “出” 输出 → 能看能改(读写)
  • “线圈” → 开关(布尔)
  • “寄存器” → 数字(字)

4️⃣ Modbus存储区代号(访问地址)

当你实际用软件(比如Modbus调试助手)去读写数据时,你需要告诉电脑:“我要读哪个区的第几个地址”。

Modbus协议给这4个区分配了固定的“区号”,方便大家统一称呼:

存储区名称 代号(区号) 说明
输出线圈 0区 读写布尔量
输入线圈 1区 只读布尔量
输入寄存器 3区 只读字(数字)
输出寄存器 4区 读写字(数字),也叫保持型寄存器

重要提醒

  • 这些“区号”是功能码的一部分。比如,你要读“输出线圈”,就要用功能码 0x01​;读“输入寄存器”要用 0x04
  • 实际地址编号通常从 0​ 或 1​ 开始,具体要看设备手册。比如,你想读第5个输出线圈,地址可能是 00005​ 或 0x0004(取决于设备)。

5️⃣ 总结与速查表

为了帮你快速回顾,这里整理了一个超简洁的速查表:

✅ 4大存储区速记:1. 0区 - 输出线圈 (Coil) - 读写 - 布尔 - 控制开关
2. 1区 - 输入线圈 (Input) - 只读 - 布尔 - 读取状态
3. 3区 - 输入寄存器 (Input Register) - 只读 - 字 - 读取数值
4. 4区 - 输出寄存器 (Holding Register) - 读写 - 字 - 设置参数

小白终极理解法

  • 把Modbus想象成一个带锁的文件柜。
  • 0区和4区是“可以自己修改”的抽屉(读写)。
  • 1区和3区是“只能看不能改”的抽屉(只读)。
  • “线圈”抽屉里放的是“开关标签”(开/关)。
  • “寄存器”抽屉里放的是“数字卡片”(比如温度25℃)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1168C And Reachability

比较唐的思路是相同位上相邻为 \(1\) 的数连边,看能否从 \(x\) 走到 \(y\) 即可。 你发现这样不太好做,我们写个 DP,设 \(f_{i, j}\) 表示能到 \(i\) 这个点且 \(< i\) 第 \(j\) 位为 \(1\) 的数是哪一个(最大的…

分布式专题——32 BIO、NIO编程与直接内存、零拷贝深入辨析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

LuatOS GNSS定位调试步骤解析:一步步实现精准定位

精准的GNSS定位是众多物联网项目的基础。本文将对LuatOS GNSS定位调试的各个步骤进行深度解析,帮助开发者系统性地掌握调试流程,让您的项目能够快速、稳定地实现精准定位需求。 一、GPS 工作原理简介 1.1 GPS 技术的…

AI元人文:从分野到纠缠——一种基于值动力学的统一视角

AI元人文:从分野到纠缠——一种基于值动力学的统一视角 一、 导言:超越分野,探寻谱系 我们习惯于用“模型”来框定理解世界的范式,无论是“主客二值”还是“三值纠缠”,这种命名本身已然暗示了一种分野。然而,智…

《代码大全》读后感:以构建为核心,搭建团队协作的桥梁

从团队管理视角阅读《代码大全 2》第一章,我收获的是 “如何通过规范构建流程提升团队效率” 的启发。书中指出 “软件构建是团队协作的核心环节”,不同角色的工作最终都会汇聚到构建阶段,这让我意识到,团队协作的…

AI大模型提示词攻击防御全景指南 2025:从OWASP Top 10到企业级防护体系

AI大模型提示词攻击防御全景指南 2025:从OWASP Top 10到企业级防护体系一、提示词攻击的威胁升级:从单点攻击到系统性风险 在OWASP大模型安全漏洞排名中,提示词注入攻击(Prompt Injection Attack)已经排到了首位。OWAS…

mul 与 reduce_sum 的优化实例

一、基础介绍 什么是 mul 与 reduce_sum? mul 通常指元素级乘法(Element-wise Multiplication),它将两个形状相同的张量中对应位置的元素相乘,返回一个与原张量形状相同的新张量。 reduce_sum 是一种规约操作(Re…

《代码大全》读后感:从 “功能实现者” 到 “责任承担者” 的思维跃迁

对于拥有 5 年开发经验的我来说,《代码大全 2》第一章更像是一次 “实践复盘”,让我对 “软件构建的责任” 有了更深的体悟。书中提到 “构建阶段决定了软件的质量上限”,这句话精准概括了我过往项目中的教训:曾参…

企业网站建设服务商:2025年最佳选择指南与行业洞察

摘要 企业网站建设行业在2025年持续快速发展,数字化转型推动中小企业对高效、性价比高的建站服务需求激增。本文基于行业数据和用户反馈,整理了2025年企业网站建设服务商排名前十的榜单,为中小企业提供参考。排名综…

2025年市场上微信小程序服务商:十大顶尖企业权威评测与选择指南

摘要 随着数字化转型加速,2025年微信小程序服务市场呈现爆发式增长,中小企业对高效、低成本互联网工具需求激增。本文基于行业数据和技术实力,深度评测十大微信小程序服务商,为您的企业选择提供权威参考。文末附有…

记录一下,关于前端控制并发的思路

看了前端很多文章我感觉并发不应该只是控制几个接口去发送,应该考虑到每个接口完成的时间是不同的,所以今天我试着写了一个如果并发中接口完成了请求就继续发送其他接口的js ,简单测试了一下感觉没问题,还请各位提…

Linux 交叉编译(toolchain) ARM 版 lib pcap.so 库

前言全局说明libpcap.so 编译一、说明 环境: CentOS Linux 7 (Core) Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux二、下载源码: 官网:…

Codeforces Pinely Round 5(div.1 + div.2) A~D题解

写在开头 有不足的地方各位佬多多指教呀! 持续更新(bushi) A 题面 给定李华的初始rating \(R\) ,div.2的计分上限 \(X\),李华每次rating的变化最大值 \(D\),以及cf比赛的次数 \(n\),问李华最多可以正式参加多少…

Linux 交叉编译(toolchain) ARM版 libc.so 库

前言全局说明编译 libc.so一、说明 环境: CentOS Linux 7 (Core) Kernel 3.10.0-1127.el7.x86_64 on an x86_64二、下载源码: 官网: http://ftp.gnu.org 源码下载: http://ftp.gnu.org/gnu/libc/ 历史版本: http://…

revit api事件

revit api事件DocumentOpened事件public class Application_DocumentOpened : IExternalApplication {public IExternalApplication.Result OnStartup(ControlledApplication application){try{//注册事件application.…

《我测了5个排版工具后,终于把时间还给了内容创作》

《我测了5个排版工具后,终于把时间还给了内容创作》每天在公众号后台调整行间距、寻找合适模板,跨平台发稿时反复复制粘贴,往往要耗费 1-2 小时 —— 作为经常处理排版工作的运营,我实际测试了 5 款编辑器,希望找…

EDKII工程结构介绍

EDK2工程结构介绍一 EDk2开发环境的安装目录一、EDK2工程目录的一级结构 二、常用的目录文件 2.1 BaseTools--构建工具链 2.2 Conf--配置目录 2.3 MdePkg--基础核心包 2.4 MdeModulePkg -- 常用模块包 2.5 OvmfPkg…

《程序员修炼之道:从小工到专家》读后感3

后半部分围绕“成长与协作”展开,描绘了从“合格程序员”到“专家型开发者”的进阶路径。这部分内容跳出了单纯的技术和工具层面,聚焦于职业格局、团队协作和持续成长,让我对“专家”的定义有了全新的认知:真正的专…

Vue3组件代码编写遵循1.0

优秀的Vue组件代码编写应该遵循以下标准:组件设计原则单一职责原则 (Single Responsibility Principle)每个组件只负责一个功能 保持组件的纯粹性和可复用性 避免组件过于臃肿开放封闭原则 (Open-Closed Principle)对…