Files
DLD154Pro/docs/rs485-700bs-protocol.md
wangfq 692b406d0f docs(DLD154Pro): RS485 协议未实现标注 (rs485-modbus V1.8 / 700BS) + V3.05 文档同步
原则:代码未实现的功能,协议文档在相应指令旁如实标注"未实现",避免文档承诺≠固件实现。

- rs485-modbus-protocol.md V1.7→V1.8:
  §3.1 DI 0x0008 Init Flag 未实现(恒 0);§3.2 IR 0x0006/0x0007(Variation)/
  0x000A/0x000B/0x000C 未实现(改读全数据块 0x010A/0x010B);§3.3 保持寄存器
  全部标注(FC 0x06 仅 0x0010/0x0011/0x0012 可写,0x00FE 无分支);
  §4.3/4.5/4.8 未实现横幅;§5 功能码矩阵 0x03/0x10/0x11 → ✗;
  §6.3 仅 0x06;§7 0x3D/Init_B 对照标注;§8 版本历史 V1.8
- rs485-700bs-protocol.md: §4.4 0x3D 未实现注记 + §5 速查表 + §6 兼容对照
- ble-protocol.md / product-manual.md / technical-spec.md: 版本 V3.04→V3.05 + 版本历史
- devlog.md: 置顶 2026-08-27 条目(减配清单 + 文档标注 + 保留能力 + 宏修复)
2026-08-27 08:55:20 +08:00

5.3 KiB
Raw Permalink Blame History

车检器 RS485 通信协议 — DLD-700BS

版本: V1.15 | 日期: 2022-08-19 | 来源: reference/docs/A5 20220819 车检器RS485通信协议 DLD-700BS V1.15.pdf

兼容产品: DLD-700BS 系列车检器


1. 物理层

参数
接口 RS485 半双工
波特率 9600 bps
数据位 8
校验 无 (N)
停止位 1
从机地址 0x010x1016 个地址,DIP 拨码设置)

2. 地址码设置(DIP 拨码)

DIP7 DIP8 DIP9 DIP10 地址
OFF OFF OFF OFF 0x01
ON OFF OFF OFF 0x02
OFF ON OFF OFF 0x03
ON ON OFF OFF 0x04
OFF OFF ON OFF 0x05
ON OFF ON OFF 0x06
OFF ON ON OFF 0x07
ON ON ON OFF 0x08
OFF OFF OFF ON 0x09
ON OFF OFF ON 0x0A
OFF ON OFF ON 0x0B
ON ON OFF ON 0x0C
OFF OFF ON ON 0x0D
ON OFF ON ON 0x0E
OFF ON ON ON 0x0F
ON ON ON ON 0x10

3. 通信数据包格式

主机发送固定 3 字节

| STX    | ADDR/CMD | XOR     |
| 1 byte | 1 byte   | 1 byte  |
字段 类型 说明
STX uint8 起始字节 / 命令码
ADDR uint8 目标地址 (0x01–0x10),或命令码的组成部分
XOR uint8 异或校验:XOR = STX ^ ADDR/CMD

4. 命令集

4.1 查询有车状态及线圈好坏

主机发送:

| 0xFA | ADDR | XOR |

例:查询 1# 车检器 → FA 01 FB

从机回复:

| 0xF5 | DATA | XOR |
DATA 位 说明
bit7 车辆状态:0=无车,1=有车
bit5 线圈状态:0=正常,1=线圈断开
bit40 地址 (0x010x10)
XOR 0xF5 ^ DATA

例:

  • 1# 无车 → F5 01 F4
  • 2# 有车 → F5 82 77
  • 3# 无车+线圈断 → F5 23 D6

4.2 查询线圈振荡频率

主机发送:

| 0x1B | ADDR | XOR |

例:查询 1# → 1B 01 1A

从机回复:

| 0x14 | Fre_1 | Fre_2 | Fre_3 | ADDR | XOR |
字段 说明
Fre_13 3 字节频率 (big-endian): Freq = (Fre_1 << 16) | (Fre_2 << 8) | Fre_3,单位 Hz
XOR 0x14 ^ Fre_1 ^ Fre_2 ^ Fre_3 ^ ADDR

例:

  • 1# → 14 00 ED E8 01 10Freq = 0x00EDE8 = 60.904 kHz
  • 2# → 14 01 63 06 02 72Freq = 0x016306 = 90.886 kHz

4.3 车检器复位重新初始化线圈

主机发送:

| 0x2C | ADDR | XOR |

例:复位 1# → 2C 01 2D

从机无回复。


4.4 查询拨码开关 DIP1–5 设置

DLD154Pro 实现状态(V3.05 起):此命令固件未实现(省 Flash 减配,CMD_QUERY_DIP 分支已注释),从机不响应。DLD154Pro 无物理拨码,拨码语义由 BLE 配置映射,如需查询请走 BLE 或 Modbus 全数据块。

主机发送:

| 0x3D | ADDR | XOR |

例:查询 1# → 3D 01 3C

从机回复:

| 0x32 | DATA | ADDR | XOR |
DATA 位 说明
bit40 DIP15 状态:0=OFF1=ON

例:

  • 1# → 32 0D 01 3EDIP1、DIP3、DIP4=ONDIP2、DIP5=OFF
  • 2# → 32 0A 02 3ADIP2、DIP4=ONDIP1、DIP3、DIP5=OFF

4.5 主动上报心跳 (0xAA)

空闲每隔 5 秒上报一次。线圈异常每隔 1 秒上报直到恢复。有车/无车事件立即上报

从机主动发送:

| 0xAA | Init_B | State | Fre_Err | Fre_1 | Fre_2 | Fre_3 | ADDR | XOR |
字段 字节 说明
Init_B 1 A1=设备复位后首次上报,A0=正常
State 1 bit7=有车,bit5=线圈断开,bit40=地址
Fre_Err 1 0x00=频率正常。bit0=1→下限异常;bit4=1→上限异常
Fre_13 3 线圈振荡频率 (big-endian, Hz)
ADDR 1 设备地址
XOR 1 0xAA ^ Init_B ^ State ^ Fre_Err ^ Fre_1 ^ Fre_2 ^ Fre_3 ^ ADDR

复位触发条件:上电、协议控制复位(0x2C)、有限存在模式超时复位、重新连接线圈。

例:

  • 1# 启动后首次上报 → AA A1 01 00 00 BF 50 01 E4
  • 1# 车进入 → AA A0 81 00 00 BF 84 01 B1
  • 1# 车离开 → AA A0 01 00 00 BF 50 01 E5
  • 1# 线圈断开 → AA A0 21 00 00 BF 4E 01 DB(持续每秒发送,直到恢复)

5. 命令速查表

STX 方向 功能 回复
0xFA 主→从 查询有车 + 线圈状态 F5 DATA XOR
0x1B 主→从 查询线圈频率 14 Fre1-3 ADDR XOR
0x2C 主→从 复位初始化线圈 无回复
0x3D 主→从 查询 DIP1-5 32 DATA ADDR XOR
0xAA 从→主 主动心跳上报 不回复

6. DLD154Pro 兼容说明

700BS 命令 DLD154Pro 兼容 备注
0xFA 查询状态 Modbus → DI 0x000001 等价覆盖
0x1B 查询频率 Modbus → IR 0x000001 等价覆盖(32-bit
0x2C 复位 Modbus → HR 0x00FF 新增命令寄存器
0x3D 查拨码 Modbus → IR 0x000C (DIP Virtual) ⚠ 未实现(V3.05 起减配,IR 0x000C 与 700BS 0x3D 均不响应)
0xAA 心跳 Modbus 无等价 主从架构限制,靠轮询 DI+IR 补偿