通信

ModbusTCP

作为 Modbus-TCP 客户端连接从站,按功能码读写线圈与寄存器,把读回值拼成逗号分隔字符串,并给出执行状态与失败时的异常原因
ModbusTcpTool · v1.0 · by system

输入参数 9

名称keyId类型默认值可连接说明
通信配置IDcommIdenum(空)否通信配置标识,非空时按该标识复用通信中心已建立的常驻 Modbus-TCP 上下文,共享同一条连接;留空则按从站 IP 与端口自行创建上下文,并在首次执行时发起连接
从站IPhoststring127.0.0.1否Modbus 从站的 IPv4 地址,默认 127.0.0.1;手动模式下该值为空会返回 -1 并在运行信息提示参数错误,常驻模式下同样要求地址非空
端口portint502否连接从站使用的 TCP 端口,默认 502;与从站 IP 一起用于建立 Modbus-TCP 上下文,常驻模式下该值小于等于 0 会导致建立失败并返回 -1
从站地址unitIdint1否本次读写操作的 Modbus 从站地址,默认 1;每次执行都会把该值设为当前会话的从站号,线圈与寄存器的读写都据此寻址
功能码functionCodeint3否要执行的 Modbus 功能码,默认 3 读保持寄存器;支持 1 读线圈、2 读离散输入、3 读保持寄存器、4 读输入寄存器、5 写单线圈、6 写单寄存器、15 写多线圈、16 写多寄存器,取值不在其中时返回 -1 并提示不支持的功能码
起始地址addressint0否读或写操作的起始线圈或寄存器地址,默认 0;读功能码下从该地址开始连续读取指定数量,写功能码下作为写入的起始位置
数量quantityint1否读操作要读取的线圈或寄存器个数,默认 1;该值小于 1 时返回 -1 并在运行信息提示参数错误,写功能码下该值不参与处理,读回值按地址顺序逐项给出
写入值writeValuesstring(空)否写功能码使用的数值文本,支持形如 [1,0] 的 JSON 数组或逗号分隔;解析时去掉方括号与空格后按逗号拆分并逐项转整数,无法解析的片段被忽略;功能码 5 用整串与 1 或 true 比较决定写 0 还是 1,6 取首个数值,15 与 16 取全部数值;写操作下为空会返回 -1 并提示写入值为空
超时(ms)timeoutMsint3000否等待从站响应的超时,单位毫秒,默认 3000;工具按秒与微秒拆分后设置响应超时,响应超时、连接失败或从站异常时操作失败返回 -1 并在运行信息给出原因

输出参数 4

名称keyId类型默认值可连接说明
运行结果resultCodeint—否0=Modbus 读写操作成功完成;-1=参数非法、上下文或连接建立失败、响应超时、从站返回异常、写入值为空或功能码不支持,运行信息写明具体原因
运行信息resultInfostring—否本次执行的状态文字,成功时给出 Modbus 操作成功与所用功能码,失败时给出参数错误、连接失败、Modbus 操作失败及具体原因等描述
读回值valuesstring—否读操作读回的数值,按地址顺序以逗号分隔拼成字符串;写操作或操作失败时为空字符串,读到的位值会归一为 0 或 1
异常信息exceptionsstring—否记录 Modbus 读写失败时的原因文本,成功时固定为空字符串;连接失败、响应超时、从站异常、写入值为空或不支持的功能码等会给出具体描述,部分早期参数错误主要体现在运行信息中

接入方式

在 FlowDesigner 中将「ModbusTCP」节点加入流程画布,把上游图像或数据连接至「通信配置ID」, 并将「运行结果」接至下游节点。运行后可通过 VisionQuick 的数据绑定将结果呈现在界面组件上。

完整操作步骤参见 使用文档;安装与使用问题可通过 联系页 反馈。

← 串口返回通信ModbusRTU →
联系与反馈

获取安装包与技术反馈

安装包通过微信二维码获取。安装部署、界面组态与工具配置过程中的问题,可通过同一渠道反馈,无需注册或填写表单。

  • 安装包获取与部署说明
  • 界面组态与工具配置
  • 功能建议与问题反馈
微信扫码,获取安装包与反馈使用问题
微信扫码 · 安装包与问题反馈