这是一个 C++17 + Qt 6 Widgets 实现的工业设备调试上位机工程,面向 Windows 便携包交付,也适合作为简历项目展示。
当前定位:v0.2 发布前硬化版本。已完成构建、单元测试、Windows 便携包生成和启动验证;真实 RS485 硬件长时间稳定性仍建议在发布前补测。
- 串口参数配置:端口、波特率、数据位、校验位、停止位、超时、重发次数。
- RS485 ASCII/HEX 收发:模板变量、结束符、收发日志。
- Modbus RTU:03/04 读寄存器,06 写单寄存器,16 写多寄存器,异常响应解析,CRC16-Modbus。
- 报文日志:SQLite 保存,表格过滤,CSV/JSON 导出。
- 设备参数模板:通用寄存器表,SQLite 保存,JSON 导入导出。
- AI 日志诊断:OpenAI-compatible API 配置,手动分析最近日志并输出故障诊断。
src/app/ 主窗口、HEX 工具
src/comm/ 串口通信与重发策略
src/protocol/ ASCII、Modbus RTU、CRC
src/logging/ SQLite 日志与模板存储
src/ai/ AI 日志诊断
src/models/ 共享数据结构
tests/ Qt Test 单元测试
samples/ 示例设备模板
scripts/ 构建与打包辅助脚本
推荐 Windows + MSYS2 UCRT64:
C:\msys64\usr\bin\pacman.exe -S --needed --noconfirm mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja mingw-w64-ucrt-x86_64-qt6-base mingw-w64-ucrt-x86_64-qt6-serialport
industrial_debugger\scripts\build-msys2.ps1 -Config Releasebuild-msys2.ps1 会先复制源码到 ASCII 临时目录再构建,用来规避 MinGW/Ninja 在中文路径下的 try-compile 卡顿问题。
构建成功后可执行:
industrial_debugger\scripts\package-windows.ps1脚本会把 exe 和 Qt 运行库复制到 industrial_debugger/dist/industrial_debugger_portable。
同时会生成 industrial_debugger/dist/industrial_debugger_windows_portable.zip,用于直接分发给使用者。
如果上传到 GitHub,仓库内的 .github/workflows/windows-build.yml 会在 Windows runner 上自动构建、测试并上传便携包 artifact。使用者可以从 GitHub Actions 下载完整便携包。
见 docs/USER_GUIDE.md。发布前检查见 docs/RELEASE_CHECKLIST.md。
AI 分析是手动触发功能。触发前请确认日志中不包含敏感设备编号、客户信息或生产数据。API 配置支持 OpenAI-compatible 形式:
Base URL:例如https://api.openai.com/v1Model:例如gpt-4.1-miniAPI Key:由用户自行填写,不写入源码
- 使用虚拟串口工具做 ASCII 和 Modbus RTU 回环/模拟器测试。
- 使用真实 USB-RS485 适配器连接至少一台设备测试。
- 连续发送 30 分钟,观察超时、重发、日志写入和 UI 响应。
- 验证 AI 诊断在可配置 API 下能正常返回结果。
- 从全新目录解压便携包,只运行
industrial_debugger.exe,确认无缺 DLL 报错。