Modbus存储区有哪些?都是How to use的?

freefree技术Resources

这篇内容可直接阅读,适合用于基础学习和Search引流。

Modbus存储区有哪些?都是How to use的?缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 核心思想:两个维度划分四个区域
  2. 2. 四个“data抽屉”的详细用法
  3. 3. 1. 线圈register(0区):指挥行动的“switch”
  4. 4. 2. 离散输入register(1区):感知状态的“眼睛”
  5. 5. 3. 输入register(3区):汇报data的“仪表”
  6. 6. 4. 保持register(4区):存储设定的“大脑”
  7. 7. 关键概念:address那点事
  8. 8. 总结
Modbus存储区有哪些?都是How to use的?插图

Modbus协议之所以能成为工业领域的“普通话”,秘诀在于它用了一种非常直观的方式来管理data——把不同性质的data分门别类地放在四个“抽屉”里。无论设备来自哪个品牌,只要遵循这个Rules,它们就能顺畅交流。

核心思想:两个维度划分四个区域

理解Modbus存储区的Category,就像整理衣柜,你只需要从两个角度来思考:

  1. data type:data是简单的“switch”,还是一个具体的“数字”?
    • switch量(线圈):只有两种状态,非黑即白。例如,灯是亮还是灭阀门是开还是关。这种data在Modbus里称为“线圈”(Coil)。
    • 模拟量(register):是一个连续变化的numerical value。例如,temperature25.6℃压力0.8MPa转速1500转。这种data在Modbus里称为“register”(Register)。
  2. Operation权限:这个data是只能“看”,还是也能“改”?
    • 只读:你只能读取它的状态,但不能修改。好比电表上的读数,你只能看用了多少度电。
    • 读写:你既能View它的状态,也能修改它。好比手机的音量键,你可以看当前音量,也能调大调小。

把这两个维度组合起来,就得到了Modbus的四个核心存储区,可以用下面的表格快速掌握:

存储区名称(俗称)data type读写权限可以把它想象成…典型应用Scene
线圈register(0区)switch量读写电灯switch控制继电器、电机启停、指示灯
离散输入register(1区)switch量只读门磁传感器读取button状态、限位switch、故障信号
输入register(3区)模拟量只读temperature计采集temperature、压力、流量等传感器data
保持register(4区)模拟量读写可设置的恒温器设定目标速度、temperature,修改设备参数

四个“data抽屉”的详细用法

1. 线圈register(0区):指挥行动的“switch”

这是你用来发号施令的抽屉。主站(如PLC或电脑)通过向这个区域写入data,直接控制现场设备的switch。

  • How to use:你想启动一台电机,就向控制它的那个Coil address写入“1”(ON);想停止,就写入“0”(OFF)。
  • 好比:你在家里通过手机APPRemote control智能插座的switch。

2. 离散输入register(1区):感知状态的“眼睛”

这个抽屉是设备的感觉器官,专门用来反映外部的switch状态变化。

  • How to use:你只能读取它。比如,你想知道一个急停button是否被按下,就去读取对应的离散输入address,如果值是“1”,就表示button被按下了。
  • 特点:因为是只读的,可以确保这些关键状态信号不会被意外修改,非常安全。

3. 输入register(3区):汇报data的“仪表”

这个抽屉里放着从现场采集来的实时data,通常是只读的模拟量。

  • How to use:主站定期(比如每秒一次)读取这个区域,以监控生产过程。例如,不断读取temperature sensor在输入register中的address,来获取实时temperature值。
  • 好比:仪表盘上显示的车速和油量,你只能看,不能直接通过仪表盘去改变车速。

4. 保持register(4区):存储设定的“大脑”

这是设备的配置中心和大脑,用于存放重要equipment参数和设定点。它允许读写,是Function最丰富的区域。

  • How to use:你可以在保持register中设定一个变频器的目标运行频率(如40Hz),或者一个温控器的目标temperature(如80℃)。既可以读取当前设定值,也可以修改它们。
  • 进阶用法:一个保持register只有16位,无法直接表示浮点数等复杂data。这时,需要将多个连续的register组合起来。例如,一个32位的单精度浮点数通常需要占用两个连续的保持register。

关键概念:address那点事

很多新手会混淆“绝对address”和“相对address”,其实很简单:

  • 绝对address(给人看的):为了让我们工程师看着直观,容易配置。常用的是短address模型,比如 40001。它表示The fourth one存储区(保持register)的The first onedata点。
    • 40001400001是同一个address,只是表示方法不同。40001是简化版,400001是完整版(长address模型),能覆盖最多65536个address,但绝大多数设备用不到这么多,所以简化的 40001更常见。
  • 相对address(给机器用的):在实际的Modbus通信message中,为了节省空间和提高效率,使用的是从0开始的偏移address。例如,绝对address 40001在message中对应的相对address就是 040002对应 1

简单记:你在设备手册或软件配置里看到的(如40001)是绝对address;而协议底层传输时,会自动将其转换为相对address。编程时留意软件要求哪种address即可。

总结

Modbus通过这四个“data抽屉”,为工业设备建立了一套清晰易懂的data管理Rules:

  • 控制switch(如启动设备)→ 读写 0区(线圈)
  • View状态(如故障信号)→ 读取 1区(离散输入)
  • 采集data(如监测temperature)→ 读取 3区(输入register)
  • 设置参数(如修改设定值)→ 读写 4区(保持register)
技术术语(共 5 个)—— 点击展开
registerModbus register存储data单元,分线圈/离散输入/保持/输入register四类
PLC可编程逻辑控制器,Automation控制的核心设备
传感器将物理量转换为电信号的检测装置
线圈Modbus位可读写data,address从00001开始
保持registerModbus 16位可读写data,address从40001开始
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbus通信协议技术社区 Category Modbus protocol标准 字数 1834 字 · 阅读约 5 分钟 更新 2026-06-30 永久链接 https://www.modbus.cn/36967.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时通信debug、register读写、线圈控制、data监控和message分析。 无需安装,微信Search「Modbus DebuggingAssistant」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇Resources用于真实项目?

进入Tools中心进行messageParse、CRC verification和设备debug,或Submit requirements获取选型与接入建议。

工程师member

把这篇文章变成可执行的debugResources

开通后可使用高级messageParse、Resources包Download、Code Example、工程案例和优先Technical Support,适合真实项目交付。

高级Tools不限次
Resources包与代码包
Complete Engineering Case Library
优先Technical Support入口

发表回复

您的邮箱address不会被公开。 必填项已用 * 标注