采集第一个点
不用 PLC,也不用另装 Modbus 软件。本例先在网关内创建一个值为 1234 的仿真寄存器,再由采集配置读出它。读到值就完成第一课,上传和历史记录可以以后再做。
先按快速开始启动并登录 GatewayRuntime。以下操作都在同一个 Runtime 中完成,不需要 Studio。
1. 创建仿真从站
打开“开发配置 → 协议仿真器”。空白页面点击“新建通道”;已有通道时,点击左侧列表标题旁的加号。
在“通道配置”页填写名称并选择插件,再切换“传输配置”和“Modbus 配置”填写下列参数。
| 配置项 | 这次怎么填 |
|---|---|
| 通道名称 | Demo_Modbus_Simulator |
| 协议插件 | Modbus Slave |
| 通道类型 | TCP Service |
| 监听地址 | 127.0.0.1 |
| 端口 | 15030 |
| 报文格式 | Modbus TCP |
| 站号 | 1 |
其他参数保持默认,点击“保存”,暂时不要启动通道。
保存后的“传输配置”如下;重新查看配置时,通道需要处于停止状态。
127.0.0.1 表示运行网关的这台机器,不是打开浏览器的电脑。本例两个功能都在网关内,使用这个地址即可。如果 15030 已被占用,换一个空闲端口,并同步修改下文的采集地址。
2. 添加一个仿真值
选中刚创建的仿真通道,在“变量”页点击右上方加号(悬停提示“新增变量”)。
| 配置项 | 这次怎么填 |
|---|---|
| 变量名称 | SourceValue |
| 协议地址 | S=1;F=3;0 |
| 数据类型 | Int16 |
| 数组长度 | 1 |
| 初始值 | 1234 |
| 数据变化设计器:启用自动变化 | 关闭,保持固定值 |
地址也可以通过地址助手填写:站号 1、保持寄存器、偏移 0。其余参数保持默认。
保存变量后,点击仿真通道的“启动”。确认通道运行,变量当前值为 1234。到这里从站已经有了,下一步创建读取它的采集通道。
下面是保存后重新打开的变量配置,核对名称、地址、类型和初始值即可。
3. 创建采集通道
打开“开发配置 → 采集配置”,点击左上方“新增通道”加号。
| 配置项 | 这次怎么填 |
|---|---|
| 通道名称 | Demo_Modbus_Channel |
| 通道类型 | TCP 客户端(TcpClient) |
| 远程地址 | 127.0.0.1:15030 |
| 使能 | 开启 |
| 缓存超时 | 保持默认 500 毫秒,不填 0 |
其他超时、心跳和并发参数保持默认,点击“确定”。保存后可通过通道右侧“更多 → 编辑通道”核对配置。
注意这里选 TCP 客户端;上一节的仿真器选 TCP 服务端。一个负责连接,一个负责监听,不要把两边都设成服务端。
4. 创建设备
点击左上方“新增设备”加号,在“基本信息”页填写名称,选择插件并关联刚才的采集通道。
| 配置项 | 这次怎么填 |
|---|---|
| 设备名称 | Demo_Modbus_Device |
| 关联通道 | Demo_Modbus_Channel |
| 设备插件 | Modbus 主站 |
| 执行间隔 | 1000 毫秒 |
| 使能 | 开启 |
| 插件属性:Modbus类型 | Modbus TCP |
| 插件属性:默认站号 | 1 |
| 插件属性:DTU ID | 留空 |
选择插件后会出现“插件属性”页签。切换过去核对 Modbus TCP、站号 1 和空的 DTU ID,其余参数保持默认,点击“确定”。这里是普通本机 TCP 连接,不需要配置 DTU。
5. 添加采集点
在左侧点击 Demo_Modbus_Device,再点击右侧变量表上方的加号(悬停提示“新增变量”)。
| 配置项 | 这次怎么填 |
|---|---|
| 变量名称 | Demo_Modbus_Value |
| 所属设备 | Demo_Modbus_Device |
| 变量地址 | 40001 |
| 数据类型 | Int16 |
| 使能 | 开启 |
| 数组长度 | 保持默认 0,本例读取单个值 |
| 读表达式、写表达式 | 留空 |
点击“确定”,返回变量列表。
40001 是第一个保持寄存器,与仿真器的 S=1;F=3;0 对应;不是偏移 1。首次只读这个点,不要先批量生成大量点位。
6. 看采集结果
等待一两个采集周期,刷新变量列表,找到 Demo_Modbus_Value:
- 在线状态正常。
- 当前值为
1234。 - 采集时间继续更新。
看到这些结果,第一课就完成了。 不需要测试写入,也不需要先配置 MQTT、数据库或规则。
| 没出现预期结果 | 检查哪里 |
|---|---|
| 设备连接失败 | 仿真通道是否启动,两处端口是否一致 |
| 变量读取失败 | 站号是否为 1,仿真地址是否为 S=1;F=3;0,采集地址是否为 40001 |
| 数值不等于 1234 | 两端类型是否都是 Int16,仿真初始值和当前值是否正确 |
| 列表里找不到点 | 是否选中正确设备,是否有名称或状态筛选条件 |
按需要继续
| 下一件事 | 操作说明 |
|---|---|
| 换成真实 Modbus 设备 | Modbus 主站,把地址、站号和点位换成实际配置 |
| 上传这个值到 MQTT | MQTT 客户端转发,需要一个可连接的 Broker |
| 把值保存在本机并查看历史 | 历史数据存储,可先用 SQLite,不用另装数据库服务 |
| 把 1234 换算为 123.4 | 脚本管理 |
| 试一个条件判断 | 规则引擎 |
| 导入更多点位 | Excel 导入导出 |
练习结束
需要保留练习时,保留配置即可。要停止占用本机端口,先停用演示采集设备,再到协议仿真器停止 Demo_Modbus_Simulator。
删除演示设备和变量前,先解除后续建立的转发、脚本或规则引用;不要使用“清空全部”来清理这几个示例对象。





