首页/网络/工控与物联网速查/Modbus地址从零还是从一的争议
工业协议80 条

Modbus地址从零还是从一的争议

Modbus 地址争议源于报文地址从 0 开始而引用号从 1 开始的差异,加上手册与软件约定不统一,同一寄存器可能相差 1。可行做法是以手册说明为准、用已知固定值只读核对,并明确文档中采用的口径。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​​‌​​‌‌‌​‌​‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌​​‌​​​‌‌​​‌​​​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌‌‌​‌​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌‌‌‌​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌‌​​‌​​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​‌‌​​‌​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

争议的根源

地址从 0 还是从 1 的争议,根源在于 Modbus 同时存在两种表达:报文中的地址字段从 0 开始,而工程惯例里的引用号(例如 40001)从 1 开始,两者相差一个偏移。再加上厂商手册与组态软件各自采用不同约定,同一个寄存器在不同系统里可能显示为相差 1 的两个地址。解决方式不是争论哪种才对,而是建立可验证的核对流程。

两种表达

报文地址字段从 0 开始,与协议规范一致,直接出现在请求报文中
引用号惯例4xxxx 等区间号按 1 起编号,与报文地址通常相差 1
手册差异有的给协议地址,有的给引用号,有的两者并列说明
软件差异部分工具要求填写 0 起地址,部分接受 4xxxx 写法
偏移后果读到相邻寄存器数值,或写入到错误位置
处理原则以设备手册说明为准,并用实测数据核对

出现偏移时的现象

现象可能原因核对方法
读到的值像是相邻量地址少或多 1读一个已知固定值核对偏移
读到 0 或返回异常地址超出设备支持范围核对设备支持的寄存器范围
写入后设备行为异常写地址偏移到相邻参数先在测试设备或仿真环境验证
不同系统显示的地址不同两边采用的约定不同统一到手册给出的表述

建立核对流程

  • 从手册中找到关于地址起点的明确表述,而不是只看示例数字
  • 选择一个已知固定值做只读核对,例如型号、版本或固定状态字
  • 写地址先在测试或仿真环境验证,再在生产设备上执行
  • 把地址映射表纳入版本管理,并注明使用的约定
  • 交接与培训时说明本厂采用的口径,避免重复踩坑
争议长期存在是因为两种表达各有历史原因:引用号便于人按数据区分类记忆,协议地址便于程序处理。工程上的可行做法是文档中同时标注两种口径,明确每个字段写的是哪一种。
写操作上的偏移比读操作危险得多:读错只是数值不对,写错可能修改相邻参数甚至影响设备行为。写地址必须经过验证后才允许在生产设备上执行。

易错点

  • 只看手册示例不找说明:示例中未标明起点,按经验补齐导致整体偏移 1
  • 用读操作验证写地址:读地址正确不代表写地址安全,两者应分别验证
  • 不做版本记录:不同人对同一设备的地址解释不同,问题反复出现
  • 忽视区间号:把 40001 直接作为报文地址发送,返回非法数据地址
  • 升级设备固件后不重新核对:地址约定或映射变化,采集静默出错

数据来源与参考

  • Modbus 应用协议规范(Modbus Organization)
  • Modbus over Serial Line 规范
  • Modbus/TCP 实现指南相关公开文档

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/modbus-address-zero-or-one.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​​‌​​‌‌‌​‌​‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌​​‌​​​‌‌​​‌​​​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌‌‌​‌​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌‌‌‌​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌‌​​‌​​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​‌‌​​‌​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​