跨平台 Modbus 主站命令行工具。支持 TCP / RTU / ASCII / RTU-over-TCP 与全功能码读写,text / JSON 双输出,可直接进 CI 与脚本;内置真实线上字节帧观察与 12 种数值解码。
功能特性
常规能力
- 全功能码命令:read-coils / read-discrete-inputs / read-holding-registers / read-input-registers / write-single-coil / write-single-register / write-multiple-coils / write-multiple-registers / mask-write-register / read-write-multiple-registers
- 链路参数:--uri、--mode tcp|rtu|ascii|rtu-over-tcp、--unit、--timeout-ms、串口参数
- 显示与输出:--display values|raw、--format text|json
差异化能力
- 循环轮询:--interval-ms 按周期重复请求,适合长时间盯测
- 12 种数值解码:--value-format float / double / uint64 / int64 及 swap 字序变体
- RTU-over-TCP:串口帧直接跑在网口链路上
- 退出码区分成败,可直接接 CI 卡门禁
- 单文件二进制:linux-amd64 / arm64 / armv7l 与 win-amd64,无运行时依赖
支持的功能码
主站侧可发送的全部功能码:
| 功能码 | 名称 | 说明 |
|---|---|---|
| 0x01 | 读线圈 | 读取位输出区(线圈状态) |
| 0x02 | 读离散输入 | 读取位输入区 |
| 0x03 | 读保持寄存器 | 读取 16 位字输出区 |
| 0x04 | 读输入寄存器 | 读取 16 位字输入区 |
| 0x05 | 写单线圈 | 写单个位输出 |
| 0x06 | 写单寄存器 | 写单个 16 位字 |
| 0x0F | 写多线圈 | 批量写位输出 |
| 0x10 | 写多寄存器 | 批量写 16 位字 |
| 0x16 | 屏蔽写寄存器 | 按 AND / OR 掩码修改寄存器 |
| 0x17 | 读写多寄存器 | 一次请求内同时读和写 |
| 0x07 | 读异常状态 | 读 8 位异常状态 |
| 0x08 | 诊断 | 串行线路诊断 |
| 0x0B | 通信事件计数器 | 读通信事件计数 |
| 0x0C | 通信事件日志 | 读通信事件日志 |
| 0x11 | 报告服务器 ID | 读设备标识 |
| 0x14 | 读文件记录 | 读文件记录区 |
| 0x15 | 写文件记录 | 写文件记录区 |
| 0x18 | 读 FIFO 队列 | 读 FIFO 队列 |
| 0x2B | 读设备识别 | 读设备识别信息(MEI) |