docs: Modbus 协议 V1.7 — 复位指令改为 HR 0x0012=0x2C2C (MCU 全复位, 对齐 700BS 0x2C)

This commit is contained in:
wangfq
2026-07-31 08:41:47 +08:00
parent b127461be6
commit e5d61d2520
+10 -7
View File
@@ -1,6 +1,6 @@
# DLD154Pro RS485 Modbus RTU 协议 # DLD154Pro RS485 Modbus RTU 协议
> 版本: V1.6 | 日期: 2026-07-30 | 状态: 定稿(待编码实现 > 版本: V1.7 | 日期: 2026-07-31 | 状态: 实现
> >
> 适用产品: DLD154Pro (CH591R, 单路线圈车检器) > 适用产品: DLD154Pro (CH591R, 单路线圈车检器)
> >
@@ -143,8 +143,9 @@
| 0x000B | Opto Func | 01 | 0 | **R** | 光耦功能: 0=雷达输入, 1=复位 | | 0x000B | Opto Func | 01 | 0 | **R** | 光耦功能: 0=雷达输入, 1=复位 |
| 0x0010 | Auto Rpt Enable | 01 | 0 | R/W | 全数据主动上报: 0=关闭, 1=使能(见 §4.9 | | 0x0010 | Auto Rpt Enable | 01 | 0 | R/W | 全数据主动上报: 0=关闭, 1=使能(见 §4.9 |
| 0x0011 | Active Thr | 065535 | 10 | R/W | 活动状态阈值: |Variation| ≥ 该值时进入活动上报速率 (150ms) | | 0x0011 | Active Thr | 065535 | 10 | R/W | 活动状态阈值: |Variation| ≥ 该值时进入活动上报速率 (150ms) |
| 0x0012 | System Cmd | — | — | **W** | 系统指令: 写 `0x2C2C` 触发 MCU 全复位 (等效 700BS 0x2C, 见 §4.7) |
| 0x00FE | Init Flag Clear | 01 | — | **W** | 写 1 清零 Init Flag (DI 0x0008) | | 0x00FE | Init Flag Clear | 01 | — | **W** | 写 1 清零 Init Flag (DI 0x0008) |
| 0x00FF | Device Reset | — | — | **W** | 写入 `0x5A5A` 触发复位初始化线圈(等效 700BS 0x2C | | 0x00FF | Device Reset (已废弃) | — | — | **W** | ⚠ V1.7 废弃, 请使用 HR 0x0012=0x2C2C |
> **只读寄存器 (0x00050x0008, 0x000B)**:写操作返回异常 0x02Illegal Data Address)。 > **只读寄存器 (0x00050x0008, 0x000B)**:写操作返回异常 0x02Illegal Data Address)。
> **写入寄存器 (0x00FE, 0x00FF)**:只写不读。读返回 0x0000。写入非魔数值返回异常 0x03。 > **写入寄存器 (0x00FE, 0x00FF)**:只写不读。读返回 0x0000。写入非魔数值返回异常 0x03。
@@ -221,14 +222,15 @@
<<< 01 86 03 02 63 (异常: 功能码 0x86, 异常码 0x03=Illegal Data Value) <<< 01 86 03 02 63 (异常: 功能码 0x86, 异常码 0x03=Illegal Data Value)
``` ```
### 4.7 触发设备复位 — 写 HR 0x00FF ### 4.7 触发设备复位 — 写 HR 0x0012
``` ```
>>> 01 06 00 FF 5A 5A xx xx (写 0x00FF=0x5A5A, 触发复位) >>> 01 06 00 12 2C 2C xx xx (写 0x0012=0x2C2C, 触发 MCU 全复位)
<<< 01 06 00 FF 5A 5A xx xx (回显, 随后设备复位) <<< 01 06 00 12 2C 2C xx xx (回显, 随后设备复位)
``` ```
> 复位后设备重新初始化线圈基线,Init Flag (DI 0x0008) 置 1。 > 复位后 MCU 完全重启,重新初始化线圈基线,Init Flag (DI 0x0008) 置 1。
> 对齐 700BS 0x2C 命令行为:直接调用 `SYS_ResetExecute()`。
### 4.8 清除 Init Flag — 写 HR 0x00FE ### 4.8 清除 Init Flag — 写 HR 0x00FE
@@ -453,7 +455,7 @@ DLD154Pro RS485 同时支持 700BS 协议(`g_fm_700bs_disable=0`)和 Modbus
| 0xFA 查询状态 | bit7=有车 | DI 0x0000 Car Present | ✅ | | 0xFA 查询状态 | bit7=有车 | DI 0x0000 Car Present | ✅ |
| | bit5=线圈故障 | DI 0x0001 Loop Fault | ✅ | | | bit5=线圈故障 | DI 0x0001 Loop Fault | ✅ |
| 0x1B 查询频率 | 3 字节 Freq | IR 0x000001 Freq (32bit) | ✅ | | 0x1B 查询频率 | 3 字节 Freq | IR 0x000001 Freq (32bit) | ✅ |
| 0x2C 复位 | — | **HR 0x00FF** 写 0x5A5A | ✅ V1.2 新增 | | 0x2C 复位 | — | **HR 0x0012** 写 0x2C2C | ✅ V1.7: MCU 全复位 (SYS_ResetExecute)
| 0x3D 查拨码 | DIP1-5 | **IR 0x000C DIP Virtual** | ✅ V1.2 新增 (DLD154Pro 无物理拨码,虚拟映射) | | 0x3D 查拨码 | DIP1-5 | **IR 0x000C DIP Virtual** | ✅ V1.2 新增 (DLD154Pro 无物理拨码,虚拟映射) |
| 0xAA 心跳 Init_B | A1=首次 | **DI 0x0008 Init Flag** | ✅ V1.2 新增 | | 0xAA 心跳 Init_B | A1=首次 | **DI 0x0008 Init Flag** | ✅ V1.2 新增 |
| 0xAA 心跳 Fre_Err | bit0=下限异常 | **DI 0x0006 Freq Low Fault** | ✅ V1.2 新增 | | 0xAA 心跳 Fre_Err | bit0=下限异常 | **DI 0x0006 Freq Low Fault** | ✅ V1.2 新增 |
@@ -470,6 +472,7 @@ DLD154Pro RS485 同时支持 700BS 协议(`g_fm_700bs_disable=0`)和 Modbus
| 版本 | 日期 | 作者 | 变更 | | 版本 | 日期 | 作者 | 变更 |
|------|------|------|------| |------|------|------|------|
| V1.7 | 2026-07-31 | wangfq | 复位指令重构: HR 0x00FF 废弃, 新增 HR 0x0012 (System Cmd); 写 0x2C2C 触发 `SYS_ResetExecute()` MCU 全复位 (对齐 700BS 0x2C 行为); 0x2C2C 对应 700BS CMD_RESET_INIT 的 0x2C; +§4.7 示例更新 |
| V1.6 | 2026-07-30 | wangfq | 新增主动上报 & 全数据块: +IR 0x01000x0112 全数据块(19 reg, 含灵敏度/频率/融合模式/car_state/线圈/光耦/频率/CAPVD/Variation/断开计数/继电器计数/通过时间); +HR 0x0010 上报使能, +HR 0x0011 活动阈值; +§4.94.12 命令示例; +§6.7 主动上报机制(3 级速率: 空闲800ms/活动150ms/事件立即); 车间距/通过时间(10ms单位); 700BS 对照表更新 | | V1.6 | 2026-07-30 | wangfq | 新增主动上报 & 全数据块: +IR 0x01000x0112 全数据块(19 reg, 含灵敏度/频率/融合模式/car_state/线圈/光耦/频率/CAPVD/Variation/断开计数/继电器计数/通过时间); +HR 0x0010 上报使能, +HR 0x0011 活动阈值; +§4.94.12 命令示例; +§6.7 主动上报机制(3 级速率: 空闲800ms/活动150ms/事件立即); 车间距/通过时间(10ms单位); 700BS 对照表更新 |
| V1.5 | 2026-07-30 | wangfq | 枚举再次重排: 且后移 (0=或,1=混行,2=ETC,3=且,4=仅地感,5=仅光耦,6=复位); 模式号引用同步更新 | | V1.5 | 2026-07-30 | wangfq | 枚举再次重排: 且后移 (0=或,1=混行,2=ETC,3=且,4=仅地感,5=仅光耦,6=复位); 模式号引用同步更新 |
| V1.4 | 2026-07-29 | wangfq | 枚举重排: 融合模式值重新分配 (0=或,1=且,2=混行,3=ETC,4=仅地感,5=仅光耦,6=复位); 默认融合模式 0→4(仅地感); 修正所有示例和说明文本 | | V1.4 | 2026-07-29 | wangfq | 枚举重排: 融合模式值重新分配 (0=或,1=且,2=混行,3=ETC,4=仅地感,5=仅光耦,6=复位); 默认融合模式 0→4(仅地感); 修正所有示例和说明文本 |