通信
ModbusTCP
作为 Modbus-TCP 客户端连接从站,按功能码读写线圈与寄存器,把读回值拼成逗号分隔字符串,并给出执行状态与失败时的异常原因ModbusTcpTool · v1.0 · by system
输入参数 9
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 通信配置ID | commId | enum | (空) | 否 | 通信配置标识,非空时按该标识复用通信中心已建立的常驻 Modbus-TCP 上下文,共享同一条连接;留空则按从站 IP 与端口自行创建上下文,并在首次执行时发起连接 |
| 从站IP | host | string | 127.0.0.1 | 否 | Modbus 从站的 IPv4 地址,默认 127.0.0.1;手动模式下该值为空会返回 -1 并在运行信息提示参数错误,常驻模式下同样要求地址非空 |
| 端口 | port | int | 502 | 否 | 连接从站使用的 TCP 端口,默认 502;与从站 IP 一起用于建立 Modbus-TCP 上下文,常驻模式下该值小于等于 0 会导致建立失败并返回 -1 |
| 从站地址 | unitId | int | 1 | 否 | 本次读写操作的 Modbus 从站地址,默认 1;每次执行都会把该值设为当前会话的从站号,线圈与寄存器的读写都据此寻址 |
| 功能码 | functionCode | int | 3 | 否 | 要执行的 Modbus 功能码,默认 3 读保持寄存器;支持 1 读线圈、2 读离散输入、3 读保持寄存器、4 读输入寄存器、5 写单线圈、6 写单寄存器、15 写多线圈、16 写多寄存器,取值不在其中时返回 -1 并提示不支持的功能码 |
| 起始地址 | address | int | 0 | 否 | 读或写操作的起始线圈或寄存器地址,默认 0;读功能码下从该地址开始连续读取指定数量,写功能码下作为写入的起始位置 |
| 数量 | quantity | int | 1 | 否 | 读操作要读取的线圈或寄存器个数,默认 1;该值小于 1 时返回 -1 并在运行信息提示参数错误,写功能码下该值不参与处理,读回值按地址顺序逐项给出 |
| 写入值 | writeValues | string | (空) | 否 | 写功能码使用的数值文本,支持形如 [1,0] 的 JSON 数组或逗号分隔;解析时去掉方括号与空格后按逗号拆分并逐项转整数,无法解析的片段被忽略;功能码 5 用整串与 1 或 true 比较决定写 0 还是 1,6 取首个数值,15 与 16 取全部数值;写操作下为空会返回 -1 并提示写入值为空 |
| 超时(ms) | timeoutMs | int | 3000 | 否 | 等待从站响应的超时,单位毫秒,默认 3000;工具按秒与微秒拆分后设置响应超时,响应超时、连接失败或从站异常时操作失败返回 -1 并在运行信息给出原因 |
输出参数 4
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 运行结果 | resultCode | int | — | 否 | 0=Modbus 读写操作成功完成;-1=参数非法、上下文或连接建立失败、响应超时、从站返回异常、写入值为空或功能码不支持,运行信息写明具体原因 |
| 运行信息 | resultInfo | string | — | 否 | 本次执行的状态文字,成功时给出 Modbus 操作成功与所用功能码,失败时给出参数错误、连接失败、Modbus 操作失败及具体原因等描述 |
| 读回值 | values | string | — | 否 | 读操作读回的数值,按地址顺序以逗号分隔拼成字符串;写操作或操作失败时为空字符串,读到的位值会归一为 0 或 1 |
| 异常信息 | exceptions | string | — | 否 | 记录 Modbus 读写失败时的原因文本,成功时固定为空字符串;连接失败、响应超时、从站异常、写入值为空或不支持的功能码等会给出具体描述,部分早期参数错误主要体现在运行信息中 |
接入方式
联系与反馈
获取安装包与技术反馈
安装包通过微信二维码获取。安装部署、界面组态与工具配置过程中的问题,可通过同一渠道反馈,无需注册或填写表单。
- 安装包获取与部署说明
- 界面组态与工具配置
- 功能建议与问题反馈

微信扫码 · 安装包与问题反馈