docs: Modbus 协议 V1.7 — 复位指令改为 HR 0x0012=0x2C2C (MCU 全复位, 对齐 700BS 0x2C)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# DLD154Pro RS485 Modbus RTU 协议
|
||||
|
||||
> 版本: V1.6 | 日期: 2026-07-30 | 状态: 定稿(待编码实现)
|
||||
> 版本: V1.7 | 日期: 2026-07-31 | 状态: 已实现
|
||||
>
|
||||
> 适用产品: DLD154Pro (CH591R, 单路线圈车检器)
|
||||
>
|
||||
@@ -143,8 +143,9 @@
|
||||
| 0x000B | Opto Func | 0–1 | 0 | **R** | 光耦功能: 0=雷达输入, 1=复位 |
|
||||
| 0x0010 | Auto Rpt Enable | 0–1 | 0 | R/W | 全数据主动上报: 0=关闭, 1=使能(见 §4.9) |
|
||||
| 0x0011 | Active Thr | 0–65535 | 10 | R/W | 活动状态阈值: |Variation| ≥ 该值时进入活动上报速率 (150ms) |
|
||||
| 0x0012 | System Cmd | — | — | **W** | 系统指令: 写 `0x2C2C` 触发 MCU 全复位 (等效 700BS 0x2C, 见 §4.7) |
|
||||
| 0x00FE | Init Flag Clear | 0–1 | — | **W** | 写 1 清零 Init Flag (DI 0x0008) |
|
||||
| 0x00FF | Device Reset | — | — | **W** | 写入 `0x5A5A` 触发复位初始化线圈(等效 700BS 0x2C) |
|
||||
| 0x00FF | Device Reset (已废弃) | — | — | **W** | ⚠ V1.7 废弃, 请使用 HR 0x0012=0x2C2C |
|
||||
|
||||
> **只读寄存器 (0x0005–0x0008, 0x000B)**:写操作返回异常 0x02(Illegal Data Address)。
|
||||
> **写入寄存器 (0x00FE, 0x00FF)**:只写不读。读返回 0x0000。写入非魔数值返回异常 0x03。
|
||||
@@ -221,14 +222,15 @@
|
||||
<<< 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 FF 5A 5A xx xx (回显, 随后设备复位)
|
||||
>>> 01 06 00 12 2C 2C xx xx (写 0x0012=0x2C2C, 触发 MCU 全复位)
|
||||
<<< 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
|
||||
|
||||
@@ -453,7 +455,7 @@ DLD154Pro RS485 同时支持 700BS 协议(`g_fm_700bs_disable=0`)和 Modbus
|
||||
| 0xFA 查询状态 | bit7=有车 | DI 0x0000 Car Present | ✅ |
|
||||
| | bit5=线圈故障 | DI 0x0001 Loop Fault | ✅ |
|
||||
| 0x1B 查询频率 | 3 字节 Freq | IR 0x0000–01 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 无物理拨码,虚拟映射) |
|
||||
| 0xAA 心跳 Init_B | A1=首次 | **DI 0x0008 Init Flag** | ✅ 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 0x0100–0x0112 全数据块(19 reg, 含灵敏度/频率/融合模式/car_state/线圈/光耦/频率/CAPVD/Variation/断开计数/继电器计数/通过时间); +HR 0x0010 上报使能, +HR 0x0011 活动阈值; +§4.9–4.12 命令示例; +§6.7 主动上报机制(3 级速率: 空闲800ms/活动150ms/事件立即); 车间距/通过时间(10ms单位); 700BS 对照表更新 |
|
||||
| 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(仅地感); 修正所有示例和说明文本 |
|
||||
|
||||
Reference in New Issue
Block a user