Skip to content

Modbus 主从调试 ​

QDebugTool 内置 Modbus RTU / ASCII / TCP 主站与从站双栈——调主站程序不用另开 Modbus Slave,调从站程序不用另开 Modbus Poll,一个工具两头都占。

协议参数 ​

参数说明
角色主站 / 从站
帧格式串口:RTU(默认)/ ASCII;网口:自动 / RTU 裸帧 / TCP MBAP
字节序ABCD / BADC / CDAB / DCBA(32 位数据字序)
轮询周期主站参数;0 = 连续轮询
响应延时从站参数
地址合并间隔相邻地址合并为一次读请求的最大间隔(减少报文数)
站号从站地址
超时 / 重试请求超时与重试次数
快速轮询周期波形 / HMI 高速行的独立轮询周期(双速轮询)
写寄存器单寄存器使用 06H,多寄存器使用 10H

串口 ASCII 帧使用 : + 大写 HEX + LRC + CRLF。接收兼容小写 HEX;半包、粘包、错误 LRC 和非 HEX 字符会在协议层处理,不需要在参数表中额外配置。

主站能力 ​

  • 四区全覆盖:0x 线圈 / 1x 离散输入 / 3x 输入寄存器 / 4x 保持寄存器
  • 0x16 掩码写:位域行写入自动读-改-写,不动其它位
  • 0x17 读写组合:需要时一条报文完成读+写
  • 双速轮询:参数表慢速巡检、波形/HMI 绑定的行走快速轮询周期,互不拖累
  • 坏区自愈:个别地址读失败时自动隔离坏区,其余地址轮询不受影响,坏区恢复后自动回归
  • 地址合并:相邻地址自动合并成一次读请求,减少报文数
  • 四种字节序:32 位数据字序 ABCD/BADC/CDAB/DCBA 任意切换

从站仿真 ​

角色选「从站」即可模拟一台 Modbus 设备:设置站号与响应延时,配合主站连接(或第三方主站软件)自测。参数表写入的值即是从站寄存器的值。

典型配置 ​

Modbus RTU 串口主站(温湿度变送器)

text
连接方式:串口  COM3  9600  8N1  无校验
通讯协议:Modbus  主站  帧格式 RTU  站号 1  轮询周期 500ms  字节序 ABCD
参数行:  温度  4x 地址 0  int16  系数 0.1  单位 ℃
          湿度  4x 地址 1  uint16 系数 0.1  单位 %

Modbus TCP 客户端(PLC)

text
连接方式:网口 / TCP  主机 192.168.1.10  端口 502  客户端
通讯协议:Modbus  主站  帧格式 Modbus TCP  轮询周期 200ms

主从互测(无硬件自测)

打开示例工程 examples/modbus主从互测.proj:内置主从两个连接(虚拟串口对互联),含参数表、组态画面与曲线,附带 modbus参数表.csv/.xlsx 供导入练习。

读数异常排查 ​

读数明显错误(数值错乱、偏差 65536 倍等)时按此排查:

  1. 字节序与设备不匹配 → 调整连接的字节序重试
  2. 地址偏移差 1(协议地址 vs 面板地址习惯)→ 地址 ±1 试读
  3. 系数填错 → 对照「原始值」列核对
  4. 打开收发区对照原始报文,逐字节核对