feat: 集成 DLD154Tool — PySide6 桌面串口调试工具
7 文件 1331 行, 支持 DLD154Pro 双协议: - 700BS: 状态/频率/拨码/复位查询 + 自动轮询 - Modbus RTU: FC 0x02/0x03/0x04/0x06/0x10/0x11 + 全数据块(0x0100)美化解析 + 主动上报控制 - PySide6 GUI, 4 Tab, 后台串口线程 从独立仓库 wangfq/DLD154Tool 合并入 DLD154Pro monorepo
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user