03-界面说明
界面说明
整体布局
┌──────────────────────────────────────────────────────────────┐
│ ◆ Modbus调试助手 v1.0 ⚫ 未连接 │ ← 头部栏
├────────────┬─────────────────────────────────────────────────┤
│ 通信模式 │ ┌─ 报文日志 ───────────────────────────────┐ │
│ ○ RTU串口 │ │ [TX] 01 03 00 00 00 0A C5 CD │ │
│ ○ TCP网络 │ │ [RX] 01 03 14 00 01 00 02 00 03 ... │ │
│ │ └──────────────────────────────────────────┘ │
│ RTU串口设置 │ ┌─ 状态栏 ─────────────────────────────────┐ │
│ 串口 │ │ TX: 128 │ RX: 256 [重置] [清除] [导出]│ │
│ 波特率 │ └──────────────────────────────────────────┘ │
│ 数据位 │───────────────────────────────────────────────│
│ 停止位 │ ┌─ 寄存器/状态值 ──────────────────────────┐ │
│ 校验位 │ │ [0] = 100 [5] = 250 │ │
│ │ │ [1] = 200 [6] = 180 │ │
│ TCP连接设置 │ │ [2] = 150 [7] = 220 │ │
│ 主机地址 │ │ [3] = 300 [8] = 190 │ │
│ 端口 │ │ [4] = 175 [9] = 210 │ │
│ 超时 │ └──────────────────────────────────────────┘ │
│ │ │
│ [连接/断开] │ │
│ │ │
│ Modbus操作 │ │
│ 从站地址 │ │
│ 功能码 │ │
│ 起始地址 │ │
│ 数量/值 │ │
│ 写入数据 │ │
│ [发送] │ │
│ ☐ 自动轮询 │ │
│ 间隔(ms) │ │
│ │ │
│ 显示设置 │ │
│ 数据可视化 │ │
└────────────┴─────────────────────────────────────────────────┘
通信模式
| 模式 | 适用场景 |
|---|---|
| Modbus RTU (串口) | 直连 RS-232/RS-485 设备 |
| Modbus TCP (网络) | 通过以太网访问设备或 Modbus 网关 |
切换模式后需重新点击连接。
RTU 串口设置
RTU 模式下的串口参数配置:
| 参数 | 说明 | 可选值 |
|---|---|---|
| 串口 | 选择可用 COM 口 | 自动检测(点击刷新更新) |
| 波特率 | 通信速率 | 9600, 19200, 38400, 57600, 115200 等 |
| 数据位 | 每帧数据位数 | 5, 6, 7, 8 |
| 停止位 | 停止位长度 | 1, 1.5, 2 |
| 校验位 | 错误检测方式 | None, Even, Odd, Mark, Space |
> 这些参数必须与目标 Modbus 从站设备的配置完全一致,否则无法正常通信。
TCP 连接设置
| 参数 | 说明 | 默认值 |
|---|---|---|
| 主机地址 | 目标设备 IP 或域名 | — |
| 端口 | Modbus TCP 端口 | 502 |
| 超时 | 请求超时时间(毫秒) | 1000 |
Modbus 操作区
| 参数 | 说明 | 范围 |
|---|---|---|
| 从站地址 | 目标从站设备 ID | 1-247(0=广播) |
| 功能码 | 请求的操作类型 | 8 种标准功能码 |
| 起始地址 | 读取/写入的起始寄存器或线圈地址 | 0-65535 |
| 数量/值 | 读取数量或写入值 | 取决于功能码 |
| 写入数据 | 写入多寄存器时用(空格/逗号分隔) | — |
8 种功能码
| 代码 | 名称 | 操作对象 | 说明 |
|---|---|---|---|
| 01 | 读线圈 | 线圈 (0x) | 读取开关量输出状态 |
| 02 | 读离散输入 | 离散输入 (1x) | 读取开关量输入状态 |
| 03 | 读保持寄存器 | 保持寄存器 (4x) | 读取可读写寄存器 |
| 04 | 读输入寄存器 | 输入寄存器 (3x) | 读取只读寄存器(如 ADC 值) |
| 05 | 写单线圈 | 线圈 (0x) | 写入单个开关量 |
| 06 | 写单寄存器 | 保持寄存器 (4x) | 写入单个寄存器 |
| 15 | 写多线圈 | 线圈 (0x) | 批量写入开关量 |
| 16 | 写多寄存器 | 保持寄存器 (4x) | 批量写入寄存器 |
寄存器视图
读取请求成功后,响应报文被解析并在右侧以列表形式展示:
[0] = 100 [5] = 250
[1] = 200 [6] = 180
[2] = 150 [7] = 220
[3] = 300 [8] = 190
[4] = 175 [9] = 210
每个条目显示寄存器地址(偏移量)和解析后的数值。
报文日志
日志系统显示所有 Modbus 通信报文:
| 特性 | 说明 |
|---|---|
| 字体 | Consolas 等宽字体 |
| TX 颜色 | 🟡 金色 — 发送的 Modbus 请求帧 |
| RX 颜色 | 🟢 青色 — 接收的 Modbus 响应帧 |
| SYS 颜色 | ⚪ 灰色 — 系统消息(连接/断开/错误) |
| 右键菜单 | 复制选定行 / 复制全部 |
日志区下方状态栏显示 TX/RX 字节计数,支持重置计数、清除日志和导出为 TXT/CSV。
- 显示设置:
- 十六进制显示:始终保持开启(Modbus 报文为二进制协议,Hex 是最佳查看方式)
- 显示时间戳:每条报文前显示时间
- 自动滚动:新报文自动滚动到底部
- 行间距 / 字号:调整日志显示密度