- 新增 pCCU 复合管控器程序(src/pCCU):FC/PM 双链路(UDP)、协议编解码器 (FcProtocol/PmProtocol/Frame/Message/MessageRegistry)、快照与落库(DbStore)、 内置 WebServer;挂入 src/CMakeLists.txt 与板卡 mission(h100.moos) - 惯导/深度数据:新增 uDevice_insData 消息解析,接入 UpperCommManager, pPowerMangerHost 注册监视,UpmsgTest 覆盖 - pPowerMangerHost 设备控制页增强(web/index.html) - 部署/运维脚本改为 4 个 systemd 服务(moosdb/pPowerManger/pPowerMangerHost/pCCU): deploy/clean-data/fetch-data 同步适配 - 协议文档:归档 0824 控制主机与复合管控器通信协议 xlsx 及关联 docx,移除旧 md - 测试:新增 pccu 单元/集成测试与 disSysTest Python 配电仿真 - 清理:移除未使用的 CCU 状态调试打印 coutMsg;.gitignore 补充编译产物/临时文件忽略
4.0 KiB
4.0 KiB
配电系统调试助手(DisSysTest)
用于 H100 配电系统(高压母线 / 艏部高压 / 仪表母线 / 艏部低压)调试的 桌面工具。可在真实配电板联调与本地模拟两种模式下工作,纯 Python 标准库实现(Tkinter + SQLite),无第三方运行依赖。
快速开始
# 协议/配置/数据库自检(无界面,建议先跑)
python3 run.py --selftest
# 启动界面
python3 run.py
旧目录中的
PowerManagerApp.py、PowerManagerApp copy.py、udpMsg.py、db.py、test.py、ccu.py等为历史调试脚本,新工程位于app/, 旧文件保留供参考,未参与运行。
界面与操作
- 四个状态页:动力母线 / 艏部高压 / 仪表母线 / 艏部低压,实时显示 电压、电流、断路器状态与报警。
- 断路器指示灯:绿=合(0x55) 黑=分(0xAA) 红=故障(0x5A) 灰=无数据。
- 配电操作菜单:打开各母线操作面板,点「合 / 分」下发指令。
- DCDC 状态:查看 DC/DC 故障字1/2 的 16 个状态位。
- 模拟模式:勾选后无需设备即可联调,配电指令会同步回写模拟反馈, 与真实设备共用同一套接收/落库/转发链路。
- 转发反馈 / 透传指令:把收到的反馈转发给上位机;把上位机指令透传 给对应配电板。
- 数据记录:反馈与指令自动写入 SQLite(可取消勾选)。
通信配置
菜单「配置 → 通信配置」可修改并保存到 config.json(首次运行自动生成
默认值):
| 端点 | 默认值 | 说明 |
|---|---|---|
| 本机 | 127.0.0.1:7000 | 监听反馈 |
| 高压配电板(C1) | 192.168.1.154:6000 | 指令下发目标 |
| 仪表配电板(C2) | 192.168.1.158:6000 | 指令下发目标 |
| 上位机 | 127.0.0.1:5001 | 反馈转发目标 |
菜单「配置 → 启动连接」控制 UDP 接收线程(默认开启)。
消息协议
帧格式:0x40 0x40 | id(LE u16) | length(LE u16) | body | 和校验(1B)。
| 消息 ID | 方向 | 说明 | body 长度 |
|---|---|---|---|
| 0x0001 | 指令 | 动力母线配电 | 14 |
| 0x0002 | 指令 | 艏部高压配电 | 6 |
| 0x0003 | 指令 | 仪表母线配电 | 7 |
| 0x0004 | 指令 | 艏部低压配电 | 8 |
| 0x0005 | 反馈 | 动力母线状态 | 53 |
| 0x0006 | 反馈 | 艏部高压状态 | 25 |
| 0x0007 | 反馈 | 仪表母线状态 | 34 |
| 0x0008 | 反馈 | 艏部低压状态 | 29 |
字段定义与顺序对齐 src/pPMtest/pmSysvariable.h(注意历史版本 udpMsg.py
中的 length 字段存在多处错误,app/protocol.py 已修正并由字段表自动推导)。
工程结构
app/
protocol.py 声明式协议定义(pack/unpack/长度自推导,含自检)
config.py config.json 加载/保存
udp_comm.py UDP 收发线程与按 ID 分发
simulator.py 内置模拟器(指令回显)
db.py SQLite 存储(表结构由协议自动生成)
logger.py 日志(UI/控制台/文件,线程安全)
panels.py 数据驱动的状态/操作面板
app.py 主窗口
ccuMsg.py / ccuWin.py 复合管控 CCU 模块(功能预留,暂未接入)
run.py 入口
tests/ 协议单元测试
build.py PyInstaller 打包脚本
测试与打包
python3 run.py --selftest # 协议/配置/数据库自检
python3 tests/test_protocol.py
python3 build.py # 需先 pip install pyinstaller(在目标平台执行)
注意
- 现场联调前建议先用模拟模式 + 转发/透传验证链路;
- 协议自检保证帧长与 C++ 结构一致,但最终以实际板卡抓包为准;
- 数据库文件默认生成在
config.json同目录(源码运行时为app/test.db)。