- 1. 写线圈
- 2. 读线圈
- 3. read holding registers
- 4. read input registers
- 5. 写保持寄存器

MODBUS地址信息表(地址采用hexadecimal数表示)
| address | 命令类型 | 功能描述 | 数据范围说明 | 说明 |
| 输出线圈操作 function code: 写(0X05)(支持广播) | ||||
| 0 | 输出线圈 | 远程复位 | 0xFF00 | 成功后自动为0 |
| 1 | 输出线圈 | 远程合闸/分闸 | 0xFF00/0x0000 | |
| 2 | 输出线圈 | 远程锁扣/解锁 | 0xFF00/0x0000 | |
| 3 | 输出线圈 | 自动控制/手动 | 0xFF00/0x0000 | |
| 保持寄存器 function code: 写(0X10) 读(0X3) | ||||
| 0 | 保持寄存器 | Device address | 1-255 | (默认为1)(0为广播地址) |
| 1 | 保持寄存器 | Baud rate | 1200 ~ 9600 | 默认为9600 |
| 2 | 保持寄存器 | 过压值 | 250 ~300(V) | 读写 00 00取消 |
| 3 | 保持寄存器 | 欠压值 | 150 ~200 (V) | 读写 00 00取消 |
| 输入寄存器 function code(0X4) | ||||
| 0 | 输入寄存器 | 实时电压A | 0~600(V) | 只读 |
| 1 | 输入寄存器 | 实时电压B | 0~600(V) | 只读 |
| 2 | 输入寄存器 | 实时电压C | 0~600(V) | 只读 |
| 3 | 输入寄存器 | 实时漏电 | 0~1000(mA) | 只读 |
| 4 | 输入寄存器 | 开关分/合闸状态 | min:0xF(15),合:0xF0(240) | 只读 |
| 读线圈操作 function code: 读(0X01) | ||||
| 0 | 输出线圈 | 远程复位 | 成功后自动为0 | |
| 1 | 输出线圈 | 远程合闸/分闸 | 1:合闸0:分闸 | |
| 2 | 输出线圈 | 远程锁扣/解锁 | 1:锁扣0:解锁 | |
| 3 | 输出线圈 | 自动控制/手动 | 1:自动0:手动 | |
注:
标注类型的均为16位无符整型
产品出厂通信参数设置:
Device address: 1
Baud rate:9600
Verification method:无效验
CRC check: 16位CRC check,低位在前
stop bit:1
协议举例说明:
写线圈
send
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code05 | Coil address | 操作码 | CRC check |
回应
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code05 | Coil address | 操作码 | CRC check |
读线圈
send
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code01 | starting address | 数据长度 | CRC check |
回应
| 字节序号 | 01 | 02 | 03 | 04 | 05 ~ 06 |
| Function | Device address | function code01 | 字节长度 | Coil status | CRC check |
read holding registers
send
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code03 | register address | 数据长度 | CRC check |
回应
| 字节序号 | 01 | 02 | 03 | 04 ~ 05 | ……… | 2n+2 ~ 2n+3 | 2n+4 ~ 2n+5 |
| Function | Device address | function code03 | 字节长度 | data1 | ……… | ….datan | CRC check |
数据长度以2字节为1单位;数据长度不能超过16。
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code01 | register address | 数据长度 | CRC check |
| 字节序号 | 01 | 02 | 03 | 04 ~ 05 | ……… | 2n+2 ~ 2n+3 | 2n+4 ~ 2n+5 |
| Function | Device address | function code01 | 字节长度 | data1 | ……… | ….datan | CRC check |
注:
数据长度以2字节为1单位;数据长度不能超过16。
read input registers
send
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code04 | register address | 数据长度 | CRC check |
read
| 字节序号 | 01 | 02 | 03 | 04 ~ 05 | ……… | 2n+2 ~ 2n+3 | 2n+4 ~ 2n+5 |
| Function | Device address | function code04 | 字节长度 | data1 | ……… | ….datan | CRC check |
注: 数据长度以2字节为1单位;数据长度不能超过16。
写保持寄存器
send
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 | 08 ~ 09 | ……. | 2n+6 ~ 2n+7 | 2n+8 ~2n+9 |
| Function | Device address | function code10 | register address | 数据长度 | 字节长度 | data1 | …… | ….datan | CRC check |
read
| 字节序号 | 01 | 02 | 03 ~ 04 | 05 ~ 06 | 07 ~ 08 |
| Function | Device address | function code10 | register address | 数据长度 | CRC check |
调试用示例:
read holding registers(读产品设定值) 0~3:(Quantity4个)
send:01 03 00 00 00 04 44 09
receive:01 03 08 00 01 25 80 01 13 00 A0 73 BD

read input registers(读实时值): 0~3:(Quantity4个) //读电流电压值
send:01 04 00 00 00 04 F1 C9
receive:01 04 08 00 D0 00 F2 00 F9 00 00 1C 24
read input registers: 0~4:(Quantity5个) //读所有值
send:01 04 00 00 00 05 30 09
receive:01 04 0A 00 EA 00 EA 00 EA 00 00 00 0F 74 04
read input registers: 4:(Quantity1个) //读所有值
send:01 04 00 04 00 01 70 0B
receive:01 04 02 00 0F F9 34
写保持寄存器:
send:01 10 00 00 00 04 08 00 01 25 80 01 0E 00 AA 40 11
receive:01 10 00 00 00 04 C1 CA
说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:01 10 00 00 00 04 08 00 02 12 c0 01 04 00 be 56 94
receive:01 10 00 00 00 04 C1 CA
说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:02 10 00 00 00 04 08 00 01 25 80 01 00 00 b0 e3 18
receive:02 10 00 00 00 04 C1 F9
说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:02 10 00 00 00 04 08 00 01 09 60 00 ff 00 af 15 66
receive:02 10 00 00 00 04 C1 F9
说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:01 10 00 00 00 04 08 00 01 25 80 00 00 00 00 A0 51
receive:01 10 00 00 00 04 C1 CA
说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:01 10 00 00 00 04 08 00 01 25 80 00 00 00 00 A0 51
receive:01 10 00 00 00 04 C1 CA

说明: 修改保持寄存参数 通信地址,Baud rate,过压值,欠压值;
注意修改 通信地址,波特率后, 下次发送数据, 要做相应修改
写保持寄存器:
send:01 10 00 02 00 02 04 01 0E 00 AA 92 36//02 36
receive:01 10 00 02 00 02 E0 08
说明: 修改保持寄存参数 过压值,欠压值;
合闸命令:
send:01 05 00 01 FF 00 DD FA
接送:01 05 00 01 FF 00 DD FA
分闸命令:
send:01 05 00 01 00 00 9C 0A
receive:01 05 00 01 00 00 9C 0A
远程锁扣命令:
send:01 05 00 02 FF 00 2D FA
receive:01 05 00 02 FF 00 2D FA
远程解锁命令:
send:01 05 00 02 00 00 6C 0A
receive:01 05 00 02 00 00 6C 0A
自动控制命令:
send:01 05 00 03 FF 00 7C 3A
receive:01 05 00 03 FF 00 7C 3A
手动控制命令:
send:01 05 00 03 00 00 3D CA
receive:01 05 00 03 00 00 3D CA
复位命令:
send:01 05 00 00 FF 00 CD CA
receive:01 05 00 00 FF 00 CD CA
广播复位命令:
send:00 05 00 00 FF 00 8D EB
读寄存器状态命令:
send:01 01 00 00 00 04 3D C9
读分合闸状态命令:
send:01 01 00 01 00 01 AC 0A
读手自动状态命令:
send:01 01 00 03 00 01 0D CA
Leave a Reply