综合资讯

Modbus协议详解:寄存器种类和地址分配

2026-09-21

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

核心心法:两个维度,四个抽屉

1. 开关量和数值量

    • 开关量(Bit):控制一台电机运行,电机要么转要么不转,只有0和1两种状态;Modbus里叫 线圈(Coil) 或 离散输入(Discrete Input)。

    • 数值量(Word):16位二进制数(0-65535)。比如:温度37.5℃、频率50HZ。Modbus里叫 寄存器(Register)。

2. 读写权限

    • 只读:只能读取,不能更改。例如温度传感器检测环境温度,你只能实时读取检测到的温度值,没法去更改它。

    • 读写:既能读取也能更改。比如变频器的目标频率,可以读取实时频率,也能更改频率控制电机转速。

两两组合,就是经典的四个“抽屉”:

名称
寄存器区
数据类型
读/写
举例
线圈
0区
位
可读可写
控电机启停、指示灯
离散输入
1区
位
只读
读取按钮状态、限位开关、故障信号
输入寄存器
3区
字
只读
采集温度、压力、流量等传感器数据
保持寄存器
4区
字
可读可写
设定运行频率等参数

3. 四个抽屉的“打开方式”

  1. 线圈寄存器(0区):指令开关
    用于发送开关指令(如启停电机),写入1为开,0为关。
    类比:手机远程控制智能插座。

  2. 离散输入寄存器(1区):状态感知
    只读,反映外部开关状态(如急停按钮是否按下)。
    优势:只读设计确保关键信号不被误改。

  3. 输入寄存器(3区):数据仪表
    只读,采集实时模拟量(如温度、压力)。
    类比:车速表显示数据,只供观察。

  4. 保持寄存器(4区):配置大脑
    可读写,存储参数与设定值(如频率、目标温度)。
    扩展:单个寄存器为16位,32位浮点数需组合2个连续寄存器。




4. 绝对地址和相对地址


很多人容易把“绝对地址”和“相对地址”搞混,其实只要记住一句话:一个是给人看,一个是给机器用的。

  • 绝对地址(手册上写的,给人看的,也叫寄存器PLC地址)

通常写成5位数字,第一位指明哪个区(如 4 表示保持寄存器),后四位是格子编号(如 0001 表示第1格)。比如 40001 就是“4号抽屉第1格”,30001 就是“3号抽屉第1格”。

  • 相对地址(报文上写的,给机器看的,也叫寄存器Modbus协议地址)
    真正通信时,底层不认 
    40001 这种写法,而是用从 0 开始算的偏移量。
    40001 对应偏移 0,40002 对应偏移 1,以此类推。纯粹为了省字节、提效率。

     手册地址(绝对)
    对应的抽屉
    协议地址(相对)
     00002
    0区(线圈)
    1
     10001
    1区(离散输入)
    0
     30001
    3区(输入寄存器)
    0
     40010
    4区(保持寄存器)
    9

    总结

    Modbus的四个寄存器区,本质上就是四类分工明确的“数据抽屉”,地址区号一确定,功能就明确。

    • 要下命令(启停、开关)→ 操作 0区线圈,写1开、写0关。

    • 要看状态(按钮是否按下、故障是否触发)→ 读 1区离散输入,只读更安全。

    • 要采数据(温度、压力、流量)→ 读 3区输入寄存器,实时监控过程量。

    • 要调参数(目标值、运行频率)→ 读/写 4区保持寄存器,既能看也能改。


    在线客服

    关闭

    微信

    客户服务热线

    19557160376

    在线客服