📘 ModBus TCP 协议模式使用教程
该协议模式下,本 APP 工作在 TCP Client 模式,作为 ModBus TCP 主站(Master)访问从站设备
🖥️ 本机做 TCP Client
🏭 ModBus TCP 主站(Master)
🪜 分阶段由浅入深
阶段一 · 连接查询→
阶段二 · 数据解析→
✍ 进阶 · 写操作→
📋 附录 · 参数速查
🗺️ 网络连接:两种接法示意
以下两种接法任选一种即可:经 DR1000 网关转485连接(可接多台485设备);经主控PLC转485挂接仪表/变频器。端口默认 502(可改)。
拓扑图 · 左:监控中心经 DR1000 网关转485连接多台从站 / 右:经主控PLC转485挂接仪表/变频器 · 灰线 = 网线(默认 :502)
一
建立连接并发出首次查询
🎯 目标:建立「连 → 查」主链路
操作对象:RDT Pro Max 主界面(本机做 TCP Client / ModBus TCP 主站)。本阶段逻辑:「连」建立会话、「查」发出第一次请求 —— 分两步验证主链路:先确保连接正常建立、查询正常返回。
① 连:建立 ModBus TCP 连接
将「与谁通信、如何通信」3 个参数配置完毕后,再发起连接。前 3 项确定连接目标,最后 1 项执行开始连接 —— 依序配置可避免遗漏。
- 选协议「选择协议模式」下拉框选 ModBus TCP(事务处理标识保持默认
00 01 即可);
- 填 IPTCP Server端 IP 填写网关 / 主控PLC 的 IP 地址(如
192.168.66.8),485侧靠站号区分设备;
- 填端口端口填写
502(默认,可改,两端一致);
- 发起连接点 发起连接 按钮。
状态指示由灰色变绿「● 已连接」即为连接成功;若报错,请回到本步核对 IP 与端口是否和设备侧一致。
💡 接法共两种:监控中心 / 客户端(Master/Client,如 SCADA、PLC、触摸屏 HMI)→ DR1000网关 →(485总线)从站 1(PLC 模块)/ 从站 2(智能仪表)/ 从站 3(变频器),可连接多台485设备;经主控PLC时先连PLC网口、再由PLC转485挂接仪表/变频器,见下图 1。
图 1 · TCP Server端 IP 填写网关 / 主控PLC 的 IP(如 192.168.66.8),端口 502(默认,可改)
💡 连接多台设备时:经 DR1000 网关连接,填写网关 IP 建立连接、按站号轮询;经主控PLC连接,填写PLC IP、485设备按站号读取;有多台网关/PLC时逐个建连,见下图 2。
图 2 · 多网关/PLC示例:在红框处填写对应 IP(如 192.168.66.8 / 66.9 / 66.10),端口 502(默认,可改)
② 查:按设备点表填写查询条件
将「查询范围、解析方式」共 5 个参数对照设备点表填入「ModScan 核心数据看板」,再发出第一条查询。
- 站号从站设备地址,照点表填写(常见为 1);
- 功能码按要访问的区域选 ——
01H 读开关量输出、03H 读保持寄存器(完整清单见附录);
- 起始地址寄存器/线圈的相对地址;勾选「Hex输入」时用十六进制填写(高字节在前,低字节在后);
- 读取长度本次连续读取的数量;
- 数据显示类型解析方式 —— 开关量布尔状态 (Boolean Bit)、16位二进制 (Binary 16-bit)、16位无符号整型 (Unsigned INT16) 等。
点 查询 后,看板出现返回数据即查询成功;需要持续监视时,设置查询周期并勾选「周期查询」自动轮询。
图 3 · 查询参数填写示例:站号 1、功能码 01H、起始地址 13(Hex)、长度 25,点【查询】
二
看懂读回的数据
🎯 目标:会读值 / 会换解析 / 会查日志
核心目标:把原始 Hex 换成可读的业务数值。本阶段逻辑:「看」分为三个环节 —— 看板读值、解析方式切换、断链日志排查,逐层递进定位问题。
③ 看:读结果 · 换解析 · 查日志
查询返回包含三层信息 —— 地址、原始 Hex、解析值。掌握「结果读取、解析切换、断链排查」三项操作,即可正确解读查询结果。
- 看板读值看板三列展示 —— 站号地址、底层原始 Hex、解析结果,一目了然;
- 解析异常时切换解析方式切换「数据显示类型」后重新查询 —— 同一数据
00 13,按 16位无符号整型解析为 19,按 16位二进制显示为 10011(见下图 5 → 图 6);
- 连接中断时查看日志下方「实时交互数据与日志监视」逐条显示每次收发的数据帧,连接、发送、接收全程可追溯,便于排查。
看板数值与设备实际一致、日志窗口存在收发数据帧,即表明本阶段链路已连通,可进入下方的进阶写操作。
图 4 · 查询结果:看板三列展示(地址 / 原始 Hex / 解析结果),下方日志窗口逐条显示收发数据帧
示例:03H 读取保持寄存器
图 5 · 功能码 03H,起始地址 00 6B、长度 3,原始数据 00 13 按「16位无符号整型」解析为 19
图 6 · 同一地址数据,把「数据显示类型」切换为 16位二进制 (Binary 16-bit) 后显示 10011
✍ 进阶:写操作(05H / 06H)
❗ 写操作(05H / 06H)将直接修改设备实际状态!点击【写入】前请务必仔细核对站号、地址及待写入数值,确认现场设备允许操作。
读写操作仅一步之差:读为「获取数据」,写为「下发数据」。写操作仅包含两个动作 —— 选择功能码、填写地址与数值。
- 05H 写开关量输出设定单个线圈 —— 填线圈地址、待写入数据
0 = OFF / 1 = ON,点 写入(见图 7);
- 06H 写保持寄存器设定单个寄存器数值 —— 填寄存器地址、待写入数值,点 写入(见图 8)。
看板提示「写入成功 → …」即写入生效;写错会直接改变设备状态,务必先核对再点击。
图 7 · 05H 设定单个开关量输出值:写线圈地址 AC、待写入数据 1(= ON/FF00),看板提示「写入成功 → 1 (ON)」
图 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