
踩坑日記: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 即時聯動分析等功能的實際用法。