Modbus register

freefree技术Resources

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

Modbus register缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.

线圈和register

前面介绍 Modbus 的内容中多次提到线圈(coil)和register(register)的概念,尤其是 Modbus function code 中,Operation的对象基本上都是线圈和register。

在 Modbus protocol中之所以仍然称为线圈和register,完全是历史原因。在 PLC 应用领域,一个线圈就代表一个 PLC 输出点,也称为输出继电器。通过控制线圈导通与否来改变继电器输出状态,实现弱电控制强电。

Modbus register插图

但实际上,在如今的 Modbus 设备中,它们都只是对应一块内存区域而已。其中,线圈代表位Operation(bit),表示一个布尔变量;register代表字Operation(word),表示一个整型变量(当然也可以通过多个字的组合,表示浮点数以及其他复合data结构)。在 Modbus protocol中,字(word)的Length是 16 位,即 2 个byte。

register种类说明

在 Modbus protocol中,所有data均存放于register中。根据存放的data type以及各自读写特性,可以将register分为四个部分,这四个部分可以连续也可以不连续,完全由developer决定。

下表展示了四类register的含义以及与 PLC 的类比。

register种类含义PLC示例
Coil status
(Coil Status)
输出端口(可读可写)DO(数字量输出)电磁阀输出、LED 显示
离散input state
(Input Status)
输入端口(只读)DI(数字量输入)拨码switch、微动switch
保持register
(Holding Register)
输出参数(可读可写)AO(模拟量输出)PID 运行参数、阈值上下限
输入register
(Input Register)
输入参数(只读)AI(模拟量输入)传感器data输入

register address分配

Modbus register address分配如下表所示,同样参照了 PLC register address的分配方法。

register种类registerPLCaddressregisterModbus协议address简称
Coil status00001~099990000H~FFFFH0x
离散input state10001~199990000H~FFFFH1x
保持register40001~499990000H~FFFFH4x
输入register30001~399990000H~FFFFH3x

该表中的 PLC address可以理解为 Modbus protocoladdress的变种,在触摸屏和 PLC 编程中应用较为广泛。

  • register PLC address指存放于控制器中的address,这些控制器可以是 PLC,也可以是触摸屏,或者Text显示器。PLC address一般采用decimal描述,共有 5 位,其中第一位数字代表registerType。
  • register Modbus protocoladdress指的是通信时使用的register寻址address,例如 PLC address 40001 对应寻址address 0x0000,40002 对应寻址address 0x0001。register寻址address一般使用hexadecimal描述。

细心的你会发现,PLC register address 40003 对应的协议address是 0x0002,PLC register address 30003 对应的协议address也是 0x0002,虽然通信时使用两个相同的 Modbus protocoladdress,但是因为不同register的function code是不相同的,因此并does not exist访问冲突。

技术术语(共 6 个)—— 点击展开
function codeModbusfunction code指定读/写OperationType,如01读线圈、03读保持register
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标准 字数 1177 字 · 阅读约 3 分钟 更新 2026-06-30 永久链接 https://www.modbus.cn/27930.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不会被公开。 必填项已用 * 标注