Modbus 操作指南
一、前置条件
- 已安装并启动 EMS Simulate(见快速开始);
- 服务端模拟:无需外部设备,电脑本机即可完成全流程演示;
- 客户端模式:需要一台可访问的真实 Modbus 从站(或使用本软件再模拟一台服务端)。
二、服务端模式(模拟从站)
目标:用 EMS Simulate 模拟一个 Modbus 从站,监听端口/串口并响应主站请求。
步骤 1:添加设备
- 在左侧设备树区域点击"添加设备";
- 填写设备名称(如
Modbus 模拟从站); - 选择协议 Modbus TCP 或 Modbus RTU;
- 连接方式选择 服务端(Server);
- 按下表配置连接参数并保存:
| 参数 | TCP | RTU |
|---|---|---|
| IP / 端口 | 监听 IP(默认 0.0.0.0)、端口(默认 502) | — |
| 串口 | — | 串口号(如 COM1) |
| 波特率 | — | 默认 9600 |
| 数据位 / 校验 / 停止位 | — | 8 / N / 1(可调) |

步骤 2:添加测点
进入设备详情,点击"添加测点",按下表配置:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 测点类型 | YC 遥测 / YX 遥信 / YK 遥控 / YT 遥调 | 遥测 |
| 地址 | 寄存器/线圈地址 | 0x0000 |
| 功能码 | 对应数据区 | 03 - 读保持寄存器 |
| 解析码 | 数据格式(字节序) | 0x42 - Float AB CD |
| 乘法系数 / 加法系数 | 原始值 → 真实值换算 | 0.1 / 0 |
| 编码 / 名称 | 测点唯一标识 | YC_001 / 电池电压 |
💡 批量配置方式:
- Excel 点表导入:准备含地址/功能码/解析码的 xlsx 表格,一键导入;
- 设备批量复制:右键已有设备"复制",支持前缀后缀、IP 偏移、端口偏移,快速复制整套测点。
步骤 3:启动设备
点击设备卡片上的"开启设备",服务端开始监听。此时用任意 Modbus 主站工具(或本软件的客户端模式)即可访问。
步骤 4:验证
- 再添加一台 Modbus 客户端设备,目标指向服务端(本机
127.0.0.1:502或对应串口); - 启动客户端,在测点表格中点击"读取";
- 使用"批量读取"(合并连续地址一次性读取)或"自动读取"(按间隔轮询)验证数据返回;
- 在服务端展开测点行,可手动修改真实值,客户端再次读取应看到更新。

三、客户端模式(读取真实设备)
- 添加设备时连接方式选择 客户端(Client);
- 配置目标:TCP 模式填设备 IP 与端口,RTU 模式填串口参数与从站地址;
- 添加测点:地址、功能码、解析码必须与真实从站一致;
- 启动后点击"读取 / 批量读取 / 自动读取"获取数据;
- 如需写入,展开测点行直接修改真实值(或使用"写入"操作),观察从站是否响应。
四、协议参数详解
在设备"协议参数"标签页可配置:
| 参数 | 默认 | 说明 |
|---|---|---|
| 连接超时 | 3000ms | 建立 TCP 连接的超时时间 |
| 命令超时 | 2000ms | 单条命令等待响应的超时时间 |
| 命令重试次数 | 1 | 命令失败后的自动重试次数 |
| 重连初始间隔 | 2000ms | 断线后首次重连等待时间 |
| 重连最大间隔 | 30000ms | 重连等待上限(指数退避) |
| 最大重连次数 | 0 | 0 表示不限制 |
| 客户端空闲超时 | 0 | 服务端断开空闲客户端(0 不超时) |
| 最大连接数 | 0 | 服务端同时允许的连接数(0 不限制) |

五、常见问题
| 问题 | 排查建议 |
|---|---|
| 客户端连接不上服务端 | 确认端口一致、IP 可达、防火墙放行 |
| 读取返回异常值 | 检查解析码字节序与设备实际数据格式是否一致 |
| RTU 无响应 | 检查串口号、波特率、从站地址、校验位 |
| 写入不生效 | 确认功能码是写操作(05/06/15/16)且地址可写 |
📄 报文如何解析见 Modbus 报文查看。