目录
- Document版本与适用范围
- 产品概述与system构成
- Modbus Communication parameters
- 支持的function code
- function codemessageformat详解
- registercompleteaddress映射
- 告警阀值与故障判断逻辑
- Remote controlOperation说明
- 定时控制配置
- 特殊Operation(恢复出厂、重启、remote升级)
- Communicationexample与debug建议
- 已知局限与Precautions
一、Document版本与适用范围
| 版本 |
日期 |
说明 |
操Author |
| V1.0 |
2022-04-20 |
整理归档,首次发布 |
方浩伟 |
| V1.1 |
2022-11-02 |
修改重合闸statusregister定义 |
方浩伟 |
| V1.2 |
2023-03-28 |
修改恢复出厂、重启、remote升级等register |
方浩伟 |
适用范围:安心智能Technology股份有限company R3-C51 系列智能重合闸device。本规约基于 Modbus RTU Protocol,支持 0x03(read holding registers)和 0x06(write single register)两种function code。适用于配电自动化、智能电网终端、光伏并网箱、基站配电等需要自动重合闸Function的Scenarios。
适用对象:电力自动化集成商、配电柜厂商、光伏/储能system集成工程师。照表debug、直接拼帧读写parameter,省去翻原厂手册和电子档Searchtime。
二、产品概述与system构成
R3-C51 智能重合闸是安心智能Technology股份有限company推出的智能化配电保护device,具备以下核心Function:
- 电参value监测:实时read A 相电压值(0.1V min辨率)
- 重合闸控制:支持手动/自动/remote三种模式的min合闸Operation,具备 5 级循环自动重合闸
- 故障检测与告警:过压、欠压、过流、过功率、缺相、电压不平衡等多维故障判断,每个故障可独立配置”判断→min闸→锁死”三级策略
- event记录:最近一次故障的time(year月日时min秒)和原因Category
- 定时控制:支持 8 组定时min合闸Operation(阿德云专用定时Function)
- 硬件自诊断:计value芯片、EEPROM、时钟芯片故障status实时查询
- remote升级:通过 Modbus register实现固件remote更新(E 升级)
三、Modbus Communication parameters
| parameter |
Value |
说明 |
| 物理层 |
RS-485(两线制) |
A+/B- differencemin信No. |
| Protocol |
Modbus RTU |
binary帧,帧间间隔 ≥ 3.5 characterstime |
| 从机address |
1 ~ 247(默认 1) |
0 为broadcastaddress,仅可broadcastread,不可broadcast配置 |
| Baud rate |
2400 / 4800 / 9600(默认 9600) |
register 6001 可配置:0=2400, 1=4800, 2=9600, 3=9600 |
| data bit |
8 |
固定 |
| stop bit |
1 |
固定 |
| check digit |
无check / odd parity / even parity(默认无check) |
register 6004 可配置:0=odd parity, 1=even parity, 2=无check |
| CRC |
CRC-16(多项式 A001) |
低byte在前,high byte在后 |
注意:凡是包含 2 个byte的帧data(CRC 除外),均是high byte在前、低byte在后。修改Baud rate或check digit后需重启device生效。
四、支持的function code
| function code |
Name |
作用 |
| 0x03 |
read holding registers |
read一个或多个保持register的current value |
| 0x06 |
write single register |
向单个保持register写入parameter配置或控制指令 |
Exception Response:当function code或register非法时,Chapter 6异常帧,function code最高位置 1(即 0x83 或 0x86),Exception Code如下:
| Exception Code |
Name |
含义 |
| 01 |
Illegal function码 |
Request帧的function code未定义(如使用了 0x10 等function code) |
| 02 |
非法register |
Request帧的register address未定义或超出范围 |
| 03 |
非法register value |
register value或number of registers不符合定义的format |
五、function codemessageformat详解
5.1 read holding registers(0x03)
| Request帧 |
Response帧(正常) |
| 帧format |
值/范围 |
byte count |
example |
说明 |
帧format |
值/范围 |
byte count |
example |
说明 |
| address码 |
0~247 |
1 |
01 |
slave 1 |
address码 |
0~247 |
1 |
01 |
slave 1 |
| function code |
0x03 |
1 |
03 |
读register |
function code |
0x03 |
1 |
03 |
读register |
| starting address(高) |
0~0xFF |
1 |
13 |
0x1388=5000 |
返回byte count |
2×N |
1 |
04 |
2 Registers=4 bytes |
| starting address(低) |
0~0xFF |
1 |
88 |
min合闸status |
data(高)No.1register |
0~0xFF |
1 |
00 |
值high byte |
| number of registers(高) |
0~0x7D |
1 |
00 |
读1个 |
data(低)No.1register |
0~0xFF |
1 |
04 |
=手动合闸 |
| number of registers(低) |
1~125 |
1 |
01 |
1 Registers |
data(高)No.2register |
0~0xFF |
1 |
— |
— |
| CRC(低) |
— |
1 |
— |
result |
data(低)No.2register |
0~0xFF |
1 |
— |
— |
| CRC(高) |
— |
1 |
— |
result |
CRC(低+高) |
— |
2 |
— |
result |
example:读slave 1 的min合闸status(register 0x1388,即 5000),读 1 Registers。
Request: 01 03 13 88 00 01 [CRC16]
Response: 01 03 02 00 04 [CRC16] → 00 04 = 手动合闸
5.2 write single register(0x06)
| 帧format |
值/范围 |
byte count |
example |
说明 |
| address码 |
0~247 |
1 |
01 |
slave 1 |
| function code |
0x06 |
1 |
06 |
write single register |
| register address(高) |
0~0xFF |
1 |
17 |
0x1770=6000 |
| register address(低) |
0~0xFF |
1 |
70 |
通讯address |
| register value(高) |
0~0xFF |
1 |
00 |
high byte |
| register value(低) |
0~0xFF |
1 |
05 |
新address=5 |
| CRC(低+高) |
— |
2 |
— |
result |
说明:0x06 Request帧与正常Response帧内容完全一致,共 8 bytes(含 CRC)。
example:将slave address从 1 改为 5。
Request: 01 06 17 70 00 05 [CRC16]
Response: 01 06 17 70 00 05 [CRC16] → 修改成功,下次上电新address生效
5.3 Exception Response帧
| 帧format |
值/范围 |
byte count |
说明 |
| address码 |
0~247 |
1 |
slave address |
| function code |
0x80 + Requestfunction code |
1 |
如Request 0x03 → Exception Code 0x83 |
| Exception Code |
01 / 02 / 03 |
1 |
见上表Exception Code定义 |
| CRC(低+高) |
— |
2 |
result |
example:readdoes not exist的register address 0x2000。
Request: 01 03 20 00 00 01 [CRC16]
Response: 01 83 02 [CRC16] → function code 0x83 表示 0x03 异常,Exception Code 02 = 非法register
六、registercompleteaddress映射
6.1 电参value(只读,function code 0x03)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围 |
Type |
byte |
单位 |
| 0x0004 |
4 |
A 相电压 V1 |
R |
0 ~ 65535 |
word |
2 |
0.1V |
6.2 重合闸status(只读,function code 0x03)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围与含义 |
Type |
byte |
单位 |
| 0x1388 |
5000 |
min合闸status |
R |
0=手动min闸, 1=指令min闸, 2=故障min闸, 3=掉电min闸, 4=手动合闸, 5=指令合闸, 6=自动合闸, 7=指令锁死(需解锁后才能合闸), 8=故障(初始化或device故障), 9=机构挂锁, 10=定时min闸, 11=定时合闸, 14=干接点min闸, 15=干接点合闸, 16=手动模式min闸, 17=手动模式合闸 |
word |
2 |
— |
| 0x1389 |
5001 |
总min闸次数 |
R |
0 ~ 65535 |
word |
2 |
次 |
| 0x138A |
5002 |
总合闸次数 |
R |
0 ~ 65535 |
word |
2 |
次 |
| 0x138B |
5003 |
故障status查询 |
R |
位映射(bit=1 有告警):bit0=A相过压, bit1=B相过压, bit2=C相过压, bit3=A相欠压, bit4=B相欠压, bit5=C相欠压, bit6=A相过流, bit7=B相过流, bit8=C相过流, bit9=A相过功率, bit10=B相过功率, bit11=C相过功率, bit12=A相缺相, bit13=B相缺相, bit14=C相缺相, bit15=电压不平衡 |
word |
2 |
— |
| 0x138E |
5006 |
短路告警 |
R |
0=无告警, 1=有告警(read后自动Clear) |
word |
2 |
— |
6.3 重合闸event记录(只读,function code 0x03)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围与含义 |
Type |
byte |
单位 |
| 0x14B4 |
5300 |
(上1次)故障time:year月 |
R |
high byte=year(00~99),低byte=月(1~12) |
word |
2 |
year月 |
| 0x14B5 |
5301 |
(上1次)故障time:日时 |
R |
high byte=日(1~31),低byte=时(0~23) |
word |
2 |
日时 |
| 0x14B6 |
5302 |
(上1次)故障time:min秒 |
R |
high byte=min(0~59),低byte=秒(0~59) |
word |
2 |
min秒 |
| 0x14B7 |
5303 |
(上1次)故障原因 |
R |
0=过压(任一相过压), 1=欠压(三相全欠压), 2=过流(任一相过流), 3=过功率(任一相过功率), 4=缺相(单相表缺相即断电), 5=相间不平衡 |
word |
2 |
— |
6.4 基础配置(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围 |
默认值 |
Type |
byte |
| 0x1770 |
6000 |
通讯address |
R/W |
1 ~ 247(0 是broadcastaddress) |
1 |
word |
2 |
| 0x1771 |
6001 |
通讯Baud rate |
R/W |
0=2400, 1=4800, 2=9600, 3=9600 |
2(9600) |
word |
2 |
| 0x1774 |
6004 |
check digit |
R/W |
0=odd parity, 1=even parity, 2=无check |
2(无check) |
word |
2 |
6.5 时钟配置(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
format说明 |
Type |
byte |
| 0x17D4 |
6100 |
currenttime:year月 |
R/W |
high byte=year(00~99),低byte=月(1~12) |
word |
2 |
| 0x17D5 |
6101 |
currenttime:日时 |
R/W |
high byte=日(1~31),低byte=时(0~23) |
word |
2 |
| 0x17D6 |
6102 |
currenttime:min秒 |
R/W |
high byte=min(0~59),低byte=秒(0~59) |
word |
2 |
6.6 网络parameter(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围 |
默认值 |
Type |
byte |
| 0x1900 |
6400 |
资产管理Coding |
R/W |
客户Customization管控Coding,低byte在前 |
— |
string |
22 |
| 0x190B |
640B |
客户编No. |
R/W |
register预留 |
— |
string |
4 |
| 0x190D |
640D |
厂家代No. |
R/W |
register预留 |
— |
string |
4 |
6.7 告警阀值(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围/含义 |
默认值 |
Type |
byte |
单位 |
| 0x19C8 |
6600 |
过压故障配置 |
R/W |
bit0=判断使能, bit1=min闸使能, bit2=锁死使能 |
— |
word |
2 |
— |
| 0x19C9 |
6601 |
过压值 |
R/W |
1000 ~ 4500 |
2800 |
word |
2 |
0.1V |
| 0x19CA |
6602 |
过压恢复值 |
R/W |
1000 ~ 4500 |
2750 |
word |
2 |
0.1V |
| 0x19CB |
6603 |
过压判断time |
R/W |
5 ~ 600 |
60 |
word |
2 |
秒 |
| 0x19CC |
6604 |
过压恢复稳定time |
R/W |
5 ~ 600 |
60 |
word |
2 |
秒 |
| 0x19CD |
6605 |
欠压故障配置 |
R/W |
bit0=判断使能, bit1=min闸使能, bit2=锁死使能 |
— |
word |
2 |
— |
| 0x19CE |
6606 |
欠压值 |
R/W |
50 ~ 4000 |
1150 |
word |
2 |
0.1V |
| 0x19CF |
6607 |
欠压恢复值 |
R/W |
50 ~ 4000 |
1200 |
word |
2 |
0.1V |
| 0x19D0 |
6608 |
欠压判断time |
R/W |
5 ~ 600 |
60 |
word |
2 |
秒 |
| 0x19D1 |
6609 |
欠压恢复判断time |
R/W |
5 ~ 600 |
60 |
word |
2 |
秒 |
| 0x19D5 |
660D |
合闸后稳定判断time |
R/W |
5 ~ 600(满足time后故障次数清零) |
60 |
word |
2 |
秒 |
6.8 自动重合闸循环间隔(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围 |
默认值 |
Type |
byte |
单位 |
| 0x19D7 |
660F |
循环1:自动重合间隔time |
R/W |
60 ~ 3600 |
60 |
word |
2 |
秒 |
| 0x19D9 |
6611 |
循环2:自动重合间隔time |
R/W |
60 ~ 3600 |
90 |
word |
2 |
秒 |
| 0x19DB |
6613 |
循环3:自动重合间隔time |
R/W |
60 ~ 3600 |
1800 |
word |
2 |
秒 |
| 0x19DD |
6615 |
循环4:自动重合间隔time |
R/W |
60 ~ 3600 |
2700 |
word |
2 |
秒 |
| 0x19DF |
6617 |
循环5:自动重合间隔time |
R/W |
60 ~ 3600 |
3600 |
word |
2 |
秒 |
说明:5 级循环自动重合闸,故障min闸后按循环1→循环2→循环3→循环4→循环5 的间隔逐步递增自动重合。每次成功合闸并稳定(合闸后稳定判断time满足)后,Number of cycles清零。
6.9 Remote control(function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围与含义 |
默认值 |
Type |
byte |
| 0x1A91 |
6801 |
自动重合闸switch |
R/W |
0=Close, 1=使能 |
0 |
word |
2 |
| 0x1A92 |
6802 |
remotemin合闸指令 |
W |
0x03=min闸锁死(锁写 0x23 Clear锁死动作), 0x13=min闸不锁死, 0x23=min闸解锁, 0x33=合闸(同时Clear自动合闸失败标志) |
— |
word |
2 |
6.10 硬件故障status(只读,function code 0x03)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围与含义 |
Type |
byte |
| 0x1AF4 |
6900 |
硬件故障status |
R |
bit0=计value芯片故障, bit1=板卡EEPROM故障, bit2=主板EEPROM故障, bit3=时钟芯片故障(bit=1 有故障) |
word |
2 |
6.11 定时控制配置(读写,function code 0x03/0x06)
注意:此Function为阿德云专用定时,通用应用中谨慎使用。
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
numerical value范围与含义 |
Type |
byte |
| 0x1B58 |
6D00 |
定时Control switch |
R/W |
0=Close, 1=使能 |
word |
2 |
| 0x1B59 ~ 0x1B60 |
6D01 ~ 6D08 |
定时Operationtime 1~8 |
R/W |
high byte=时(0~23), 低byte=min(0~59) |
word |
2 |
| 0x1B61 ~ 0x1B68 |
6D09 ~ 6D10 |
定时Operation 1~8 |
R/W |
0=无Operation, 1=定时min闸, 2=定时合闸 |
word |
2 |
6.12 经纬度与device型No.(读写,function code 0x03/0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
说明 |
Type |
byte |
| 0x1B80 |
6E00 |
经度 |
R/W |
ASCII characters,低byte在前。如 “123.56789” 占 9 characters + 填充 |
string |
16 |
| 0x1B88 |
6E08 |
纬度 |
R/W |
ASCII characters,低byte在前 |
string |
16 |
| 0x1B90 |
6E10 |
device型No. |
R/W |
ASCII characters,低byte在前。如 “AD-R2” |
string |
16 |
6.13 特殊Functionregister(仅写,function code 0x06)
| hexadecimaladdress |
decimaladdress |
data项 |
读写 |
write value |
说明 |
Type |
byte |
| 0x703A |
28730 |
特殊Function |
W |
0x0053=定时配置恢复出厂, 0x0054=自动重合配置恢复出厂 |
仅内部使用 |
word |
2 |
| 0xF205 |
61957 |
恢复出厂设置 |
W |
0x0042 |
全局恢复出厂 |
word |
2 |
| 0xF206 |
61958 |
device重启 |
W |
0x0043 |
软件复位重启 |
word |
2 |
| 0xF300 |
62208 |
remote E 升级Command |
W |
0x3901=开始remote升级, 0x3902=remote升级data, 0x3903=Endremote升级 |
固件remote更新 |
word |
2 |
| 0xF301 ~ 0xF380 |
62209 ~ 62336 |
升级data包 |
W |
data包编No.(0开始)、dataLength、升级data1~128 |
F301=包编No., F302=dataLength, F303~F380=128 个data字 |
word |
— |
七、告警阀值与故障判断逻辑
R3-C51 对每种故障Type提供三级独立控制策略,通过位映射配置:
| Bit |
Function |
说明 |
| bit0 |
判断使能 |
为 1 时Enable该故障的检测判断 |
| bit1 |
min闸使能 |
为 1 时检测to故障后自动min闸 |
| bit2 |
锁死使能 |
为 1 时min闸后锁定,需手动或remote解锁才能重新合闸 |
典型配置example:
- 仅告警不min闸:bit0=1, bit1=0, bit2=0 → write value 0x0001
- 告警+min闸不锁死:bit0=1, bit1=1, bit2=0 → write value 0x0003
- 告警+min闸+锁死:bit0=1, bit1=1, bit2=1 → write value 0x0007
八、Remote controlOperation说明
remotemin合闸指令(register 6802)Operation流程:
| 指令值 |
Operation |
说明 |
| 0x33 |
合闸 |
执行合闸Operation,同时Clear自动合闸失败标志 |
| 0x13 |
min闸(不锁死) |
执行min闸,允许后续自动/手动合闸 |
| 0x03 |
min闸锁死 |
执行min闸并锁定,必须send 0x23 解锁后才能合闸 |
| 0x23 |
min闸解锁 |
Clear锁死status,恢复合闸能力 |
# remote合闸
Request: 01 06 1A 92 00 33 [CRC16]
# remotemin闸不锁死
Request: 01 06 1A 92 00 13 [CRC16]
# remotemin闸锁死
Request: 01 06 1A 92 00 03 [CRC16]
# min闸解锁
Request: 01 06 1A 92 00 23 [CRC16]
九、定时控制配置
R3-C51 支持 8 组定时Operation,每组可独立配置min闸或合闸。典型Application Scenarios:峰谷电价时段自动Switch、夜间自动断电、定时负载投切。
配置步骤:
- 写定时Operationtime 1~8(register 6D01~6D08),format:high byte=时(0~23),低byte=min(0~59)
- 写定时Operation 1~8(register 6D09~6D10),0=无Operation, 1=定时min闸, 2=定时合闸
- 写定时Control switch(register 6D00),1=使能
十、特殊Operation
10.1 恢复出厂设置
Request: 01 06 F2 05 00 42 [CRC16]
说明: 全局恢复出厂,所有配置parameter回to默认值。Operation后device自动重启。
10.2 device重启
Request: 01 06 F2 06 00 43 [CRC16]
说明: 软件复位,device重新启动。不影响已保存的配置parameter。
10.3 remote升级流程
- send开始升级Command:01 06 F3 00 39 01 [CRC16]
- send升级data包(多帧,每帧 128 个data字):
- F301 写入data包编No.(从 0 开始递增)
- F302 写入dataLength
- F303~F380 写入升级data内容
- 所有data包send完毕后,sendEnd升级Command:01 06 F3 00 39 03 [CRC16]
- device自动check升级包complete性并重启应用新固件
十一、Communicationexample与debug建议
11.1 read A 相电压
Request: 01 03 00 04 00 01 [CRC16]
Response: 01 03 02 08 98 [CRC16] → 0x0898=2200 → 220.0V
11.2 readmin合闸status与故障
Request: 01 03 13 88 00 04 [CRC16] # 读 5000~5003 共 4 Registers
Response: 01 03 08 00 04 00 05 00 03 00 00 [CRC16]
# 5000=0x0004=手动合闸
# 5001=0x0005=min闸 5 次
# 5002=0x0003=合闸 3 次
# 5003=0x0000=无故障告警
11.3 read最近一次故障记录
Request: 01 03 14 B4 00 04 [CRC16] # 读 5300~5303 共 4 Registers
Response: 01 03 08 16 06 0F 0E 20 2D 00 02 [CRC16]
# 5300=0x1606→2022year6月
# 5301=0x0F0E→15日14时
# 5302=0x202D→32min45秒
# 5303=0x0002→故障原因=过流
11.4 修改通讯address和Baud rate
# 改address为 5
Request: 01 06 17 70 00 05 [CRC16]
# 改Baud rate为 9600
Request: 01 06 17 71 00 02 [CRC16]
# 修改后需重启device生效
十二、已知局限与Precautions
- function code限制:本device仅支持 0x03 和 0x06,不支持 0x10(批value写)。如需批value修改多Registers,需逐条send 0x06 指令。
- broadcast限制:broadcastaddress 0 仅可用于Read switch status(0x03),不可用于配置写入(0x06)。
- Baud rate/check digit修改:修改后需重启device或重新上电才能生效,不会立即生效。
- 通讯Address Modification:修改后需重启device生效,避免在线修改导致通讯中断。
- 网络parameter(资产管理Coding等):为 ASCII characters串format,低byte在前。写入时需注意endianness。
- 短路告警:read后自动Clear,适合轮询监测。如果read间隔过长可能漏报。
- remote升级:升级过程中请勿断电,否则可能导致device变砖。
- 定时控制:此Function为阿德云专用定时,非通用 Modbus 标准Function。
- 恢复出厂设置:特殊register 0xF205 写入 0x0042 后device自动重启,所有parameter恢复默认。
- device重启:register 0xF206 写入 0x0043 后立即重启,通讯中断约 3~5 秒。