# DLD154Tool — DLD154Pro 桌面串口调试工具 基于 PySide6 + pyserial 的 RS485 串口调试工具,支持 DLD154Pro 的两种 RS485 协议。 ## 协议支持 | 协议 | Tab | 功能 | |------|-----|------| | **700BS** | `700BS` | 查询状态 (0xFA)、查询频率 (0x1B)、查询拨码 (0x3D)、复位初始化 (0x2C)、自动轮询 | | **Modbus RTU** | `Modbus RTU` | FC 0x02/0x03/0x04/0x06/0x10/0x11、全数据块查询 (0x0100)、主动上报使能/阈值设置 | ## 快速开始 ```bash cd DLD154Tool python3 -m venv venv source venv/bin/activate # Windows: venv\\Scripts\\activate pip install -r requirements.txt python main.py ``` ## 界面布局 ``` ┌────────────────────────────────────────────┐ │ Tab: 串口设置 │ 700BS │ Modbus RTU │ 日志 │ ├────────────────────────────────────────────┤ │ │ │ 串口设置: │ │ [端口▼] [刷新] 波特率: [9600▼] │ │ 从机地址: [1] │ │ [连接] │ │ │ ├────────────────────────────────────────────┤ │ 700BS: │ │ [查询状态] [查询频率] [查询拨码] │ │ [复位初始化] │ │ 自动轮询: ☑启用 间隔: [1000ms▼] │ │ 响应显示区 │ ├────────────────────────────────────────────┤ │ Modbus RTU: │ │ 读: 起始 [0100] 数量 [19] │ │ [读IR] [读HR] [读DI] [SlaveID] │ │ 写: 地址 [0010] 值 [0001] [写单寄存器] │ │ 主动上报: ☑使能 阈值 [10] [设置] │ │ [查询全数据块] 响应 & 全数据显示 │ ├────────────────────────────────────────────┤ │ 日志: TX/RX hex dump + 事件 │ └────────────────────────────────────────────┘ ``` ## 项目结构 ``` DLD154Tool/ ├── main.py # PySide6 GUI (4 tabs + 后台串口线程) ├── serial_client.py # 串口抽象层 (扫描/连接/收发) ├── protocol_700bs.py # 700BS 协议编解码 ├── protocol_modbus.py # Modbus RTU 协议编解码 + CRC16 ├── requirements.txt # pyside6, pyserial ├── .gitignore └── README.md ``` ## RS485 接线 ``` USB-to-RS485 模块 DLD154Pro ───────────────── ───────── A (D+) ───────────────── A (PA15 / PA14) B (D−) ───────────────── B (PA15 / PA14) GND ───────────────── GND ``` > DLD154Pro RS485 为半双工,UART0 通过 PA13 自动切换收发方向。 ## 串口参数 | 参数 | 默认值 | 范围 | |------|--------|------| | 波特率 | 9600 | 9600/19200/38400/57600/115200 | | 数据位 | 8 | — | | 校验 | 无 | — | | 停止位 | 1 | — | | 从机地址 | 1 | 1–247 | ## 协议文档 - 700BS: `docs/DLD-700BS-V1.15-使用说明书.md` - Modbus: `docs/rs485-modbus-protocol.md` (V1.6)