📘 ModBus TCP 协议模式使用教程

该协议模式下,本 APP 工作在 TCP Client 模式,作为 ModBus TCP 主站(Master)访问从站设备
🖥️ 本机做 TCP Client 🏭 ModBus TCP 主站(Master) 🪜 分阶段由浅入深
阶段一 · 连接查询 阶段二 · 数据解析 ✍ 进阶 · 写操作 📋 附录 · 参数速查

🗺️ 网络连接:两种接法示意

以下两种接法任选一种即可:经 DR1000 网关转485连接(可接多台485设备);经主控PLC转485挂接仪表/变频器。端口默认 502(可改)。

ModBus TCP拓扑
拓扑图 · 左:监控中心经 DR1000 网关转485连接多台从站 / 右:经主控PLC转485挂接仪表/变频器 · 灰线 = 网线(默认 :502)

建立连接并发出首次查询

🎯 目标:建立「连 → 查」主链路

操作对象:RDT Pro Max 主界面(本机做 TCP Client / ModBus TCP 主站)。本阶段逻辑:「连」建立会话、「查」发出第一次请求 —— 分两步验证主链路:先确保连接正常建立、查询正常返回。

连:建立 ModBus TCP 连接

将「与谁通信、如何通信」3 个参数配置完毕后,再发起连接。前 3 项确定连接目标,最后 1 项执行开始连接 —— 依序配置可避免遗漏。

  1. 选协议「选择协议模式」下拉框选 ModBus TCP(事务处理标识保持默认 00 01 即可);
  2. 填 IPTCP Server端 IP 填写网关 / 主控PLC 的 IP 地址(如 192.168.66.8),485侧靠站号区分设备;
  3. 填端口端口填写 502(默认,可改,两端一致);
  4. 发起连接发起连接 按钮。

状态指示由灰色变绿「● 已连接」即为连接成功;若报错,请回到本步核对 IP 与端口是否和设备侧一致。

💡 接法共两种:监控中心 / 客户端(Master/Client,如 SCADA、PLC、触摸屏 HMI)→ DR1000网关 →(485总线)从站 1(PLC 模块)/ 从站 2(智能仪表)/ 从站 3(变频器),可连接多台485设备;经主控PLC时先连PLC网口、再由PLC转485挂接仪表/变频器,见下图 1。
ModBus TCP:填写从站PLC设备IP
图 1 · TCP Server端 IP 填写网关 / 主控PLC 的 IP(如 192.168.66.8),端口 502(默认,可改)
💡 连接多台设备时:经 DR1000 网关连接,填写网关 IP 建立连接、按站号轮询;经主控PLC连接,填写PLC IP、485设备按站号读取;有多台网关/PLC时逐个建连,见下图 2。
多从站:靠IP区分逐个连接
图 2 · 多网关/PLC示例:在红框处填写对应 IP(如 192.168.66.8 / 66.9 / 66.10),端口 502(默认,可改)

查:按设备点表填写查询条件

将「查询范围、解析方式」共 5 个参数对照设备点表填入「ModScan 核心数据看板」,再发出第一条查询。

  1. 站号从站设备地址,照点表填写(常见为 1);
  2. 功能码按要访问的区域选 —— 01H 读开关量输出、03H 读保持寄存器(完整清单见附录);
  3. 起始地址寄存器/线圈的相对地址;勾选「Hex输入」时用十六进制填写(高字节在前,低字节在后);
  4. 读取长度本次连续读取的数量;
  5. 数据显示类型解析方式 —— 开关量布尔状态 (Boolean Bit)、16位二进制 (Binary 16-bit)、16位无符号整型 (Unsigned INT16) 等。

查询 后,看板出现返回数据即查询成功;需要持续监视时,设置查询周期并勾选「周期查询」自动轮询。

ModScan查询参数填写示例
图 3 · 查询参数填写示例:站号 1、功能码 01H、起始地址 13(Hex)、长度 25,点【查询】

看懂读回的数据

🎯 目标:会读值 / 会换解析 / 会查日志

核心目标:把原始 Hex 换成可读的业务数值本阶段逻辑:「看」分为三个环节 —— 看板读值、解析方式切换、断链日志排查,逐层递进定位问题。

看:读结果 · 换解析 · 查日志

查询返回包含三层信息 —— 地址、原始 Hex、解析值。掌握「结果读取、解析切换、断链排查」三项操作,即可正确解读查询结果。

  1. 看板读值看板三列展示 —— 站号地址、底层原始 Hex、解析结果,一目了然;
  2. 解析异常时切换解析方式切换「数据显示类型」后重新查询 —— 同一数据 00 13,按 16位无符号整型解析为 19,按 16位二进制显示为 10011(见下图 5 → 图 6);
  3. 连接中断时查看日志下方「实时交互数据与日志监视」逐条显示每次收发的数据帧,连接、发送、接收全程可追溯,便于排查。

看板数值与设备实际一致、日志窗口存在收发数据帧,即表明本阶段链路已连通,可进入下方的进阶写操作。

查询结果看板与日志监视
图 4 · 查询结果:看板三列展示(地址 / 原始 Hex / 解析结果),下方日志窗口逐条显示收发数据帧

示例:03H 读取保持寄存器

03H读取保持寄存器示例
图 5 · 功能码 03H,起始地址 00 6B、长度 3,原始数据 00 13 按「16位无符号整型」解析为 19
切换数据显示类型为16位二进制
图 6 · 同一地址数据,把「数据显示类型」切换为 16位二进制 (Binary 16-bit) 后显示 10011

进阶:写操作(05H / 06H)

❗ 写操作(05H / 06H)将直接修改设备实际状态!点击【写入】前请务必仔细核对站号、地址及待写入数值,确认现场设备允许操作。

读写操作仅一步之差:读为「获取数据」,写为「下发数据」。写操作仅包含两个动作 —— 选择功能码、填写地址与数值。

  1. 05H 写开关量输出设定单个线圈 —— 填线圈地址、待写入数据 0 = OFF / 1 = ON,点 写入(见图 7);
  2. 06H 写保持寄存器设定单个寄存器数值 —— 填寄存器地址、待写入数值,点 写入(见图 8)。

看板提示「写入成功 → …」即写入生效;写错会直接改变设备状态,务必先核对再点击。

05H写单个线圈示例
图 7 · 05H 设定单个开关量输出值:写线圈地址 AC、待写入数据 1(= ON/FF00),看板提示「写入成功 → 1 (ON)」
06H写单个保持寄存器示例
图 8 · 06H 设定单个保持寄存器值:写寄存器地址 0、待写入数据 1,看板提示「写入成功 → 1」

📋 附录 · 关键参数速查表

💡 若需中途查阅参数,可直接对照下表:两张表自上而下依次对应「连接参数」「功能码」——左列为配置位置,右两列为参数取值 / 操作。
配置位置配置项取值 / 操作
RDT Pro Max 主界面协议模式ModBus TCP(本机做 TCP Client / 主站)
事务处理标识00 01(保持默认)
TCP Server端 IP网关 / 主控PLC 的 IP(如 192.168.66.8),485侧靠站号区分设备
端口502(默认,可改,两端一致)

常用功能码速查

功能码名称用途说明
01H读开关量输出值 (0x)读取线圈(输出)状态,ON/OFF
02H读开关量输入值 (1x)读取离散输入状态
03H读保持寄存器值 (4x)最常用,读取数值、设定值等
04H读输入寄存器值 (3x)读取模拟量采集值(只读)
05H设定单个开关量输出值 (0x)写单个线圈:0 = OFF (0000),1 = ON (FF00)
06H设定单个保持寄存器值 (4x)写单个寄存器数值
💡 经 DR1000 网关可连接多台485从站(按站号区分);经主控PLC时仪表/变频器挂485总线、由PLC采集。写操作(05H / 06H)将直接修改设备状态,请谨慎操作。

微信公众号

微信公众号

获得帮助

获得帮助

联系我们

  • 公司主页: http://www.fogslink.com
  • 联系手机: 17765168972
  • 客户邮箱: customer@fogslink.com
  • 技术支持QQ群: 9170867
  • 公司地址: 上海市宝山区罗店路388弄B座303室
  • 邮政编码: 201908