
踩坑日记:Modbus 多线程死锁修复记录
记录一次 Qt 多线程 Modbus 场景中的退出死锁与超时误判问题,以及对应的工程化修复方案。

记录一次 Qt 多线程 Modbus 场景中的退出死锁与超时误判问题,以及对应的工程化修复方案。
工业网关(TI AM64x,Linux PREEMPT_RT)对 Windows 模拟器实测 Modbus-TCP RTT 30–60ms、RTU 50–80ms 抖动。经测量口径修正与三步正交隔离回环(localhost → 双网卡 netns 直连 → 双 RS-485 对接),在本次测试条件下抖动归因于测试对端:板端纯软件栈 0.69ms、物理网卡 1.02ms、串口 4.15ms(线传占比约七成);对端侧经 FTDI Latency Timer 等变量干预锁定 Windows 台架实测下界 45–50ms,据此给出超时阈值参考基线;网关侧单事务占端到端链路预算约 1%–15%,不构成阻滞项。
记录一次高频轮询场景下的 CPU 优化复盘:通过收缩 UI 日志链路、删除高频状态机、改造线程等待模型,将进程 CPU 使用率从 3.6%~4.2% 降到 0.1%~0.6%。

面向嵌入式开发与现场联调的轻量级 Modbus 工具。介绍快速发帧、日志查看、帧解析(倍率换算、寄存器注释、JSON/CSV 配置持久化)、Link to Analyzer 实时联动分析等功能的实际用法。