QModMaster:ModBus 调试工具使用指南
QModMasterModBus 调试工具使用指南【免费下载链接】qModbusMasterFork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/)项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster它是什么能干什么QModMaster 是一款免费开源的 ModBus 调试工具基于 Qt 开发Windows 和 Linux 都能跑。它同时支持 ModBus RTU串口和 ModBus TCP 两种通信方式直接读从站设备的寄存器和线圈也能抓总线上跑的所有数据帧。通信底层用的是 libmodbus代码按 GPL v3 协议发布。支持 8 个标准功能码读写周期性轮询采集扫描速率可设总线监控抓全部请求与响应帧先跑起来拿到软件有两条路。git clone https://gitcode.com/gh_mirrors/qm/qModbusMaster cd qModbusMaster qmake make源码编译需要机器上装好 Qt 5。Windows 用户更省事直接从上游项目页拿预编译的 qModMaster 包解压即用不装 Qt 也不需要安装。连上第一台设备在工具栏打开对应配置窗口RTU 串口设置或 TCP 设置最小要填这几项参数说明协议RTU串口或 TCP地址RTU 填从站 ModBus 地址TCP 填对方 IP端口默认 502波特率仅 RTU 需要必须和设备一致常见 9600保存配置后回主界面勾选 Connect 完成连接。状态栏会实时显示报文计数和错误计数连没连上一目了然。日常操作读主界面工具栏先选功能码比如 Read Holding Registers 0x03填起始地址和寄存器数量点一次 Read/Write 按钮发出请求结果会填进下方的寄存器表格。RTU 模式下从站地址要先填对请求才能到对应设备。写选 Write Single Register0x06这类写功能码设好目标地址和数值同样方式发出。地址进制十六进制/十进制和数值显示基2/8/10/16 进制都可在工具栏切换。写错范围时从站通常返回异常帧状态栏的错误计数会加一。看勾选 scan cycle 后轮询定时器按设定的扫描速率自动跑表格数据自己刷新不用一直手动点。要看原始报文打开总线监控窗口Bus Monitor所有请求和响应的 PDU 都会解析后列出还能把记录存成文件。程序自身日志也可以从菜单直接打开查看。一个完整任务怎么走任务对一台 ModBus RTU 从站从地址 0 开始每 5 秒读一次 8 个温度寄存器。打开 RTU 配置设串口号、波特率 9600、8 数据位、无校验、1 停止位填从站地址。主界面选功能码 Read Holding Registers0x03起始地址填 0寄存器数量填 8。勾选 Connect先手动发一次请求确认表格里有正常数值不是全 0 或全 F。把扫描速率设成 5 秒间隔勾上 scan cycle程序自动轮询需要时打开总线监控确认请求帧在按时发出。如果第 3 步发出去没任何响应多半是 ModBus RTU 串口配置里的从站地址或波特率没对上逐项核对一遍即可。踩坑记录现象串口列表是空的找不到设备。原因 解法Windows 下去设备管理器核对 COM 口号Linux 下普通用户对/dev/ttyUSB0没有权限执行sudo usermod -a -G dialout $USER后重新登录再试。现象TCP 连接建立成功但每次读取都超时。原因 解法典型的 ModBus TCP 连接超时。先 ping 目标 IP 确认网络通再查防火墙放没放 502 端口最后确认对端确实跑的是 ModBus TCP 而不是串口转出来的 RTU。现象数据读回来了但数值完全不对。原因 解法多是地址进制或字节序不匹配。工具栏切一下地址基十六进制/十进制再对照设备手册确认数据是大端还是小端。想看源码 / 想改点东西src/modbusadapter.cpp连接建立、读写请求、轮询定时器都在这是所有 ModBus 通信的核心。src/mainwindow.cpp主界面逻辑参数控件、连接状态、会话保存加载。forms/busmonitor.cpp总线监控窗口负责解析请求/响应 PDU 和日志保存。想加非标准功能码改src/modbusadapter.cpp里的功能码分发再在forms/mainwindow.ui的cmbFunctionCode下拉框里加一项即可。语言包在translations/目录用 Qt Linguist 加新语言后重新编译。更多资料协议规范Docs/Modbus_Application_Protocol_V1_1b3.pdf项目手册HTMLManModbus/index.html编译配置qModMaster.pro日志级别程序旁QModMaster.ini的LoggingLevel字段许可证LICENSE【免费下载链接】qModbusMasterFork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/)项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考