Modbus RTU 采集 Modbus Slave 的数据
使用 Modbus Slave 仿真工具模拟 Modbus RTU 从站设备,使用 Modbus 客户端【主站】插件的 Modbus RTU 协议采集模拟器的数据,将采集到的数据进行处理之后,实时展示数据。
2. 使用模拟器、设备和插件
Section titled “2. 使用模拟器、设备和插件”- 模拟器
Modbus Slave:从设备仿真器,主要用来模拟 Modbus 从站设备,接收主站的命令包,回送数据包。
模拟的连接和点位信息如下:
| key | name |
|---|---|
| 协议(Connection) | Serial Port |
| 波特率 | 19200 |
| 数据位 | 8 |
| 校验位 | None |
| 停止位 | 1 |
| Slave ID | 1 |
| 寄存器类型 | Holding Registers |
| 数据类型 | Unsigned |
-
设备
RSB-3720 设备
-
插件
Modbus 客户端【主站】、数据处理插件、MQTT 上传插件
(1)使用 usb 线连接电脑和设备
(2)Modbus Slave 模拟三个点位数据
- 协议为 Modbus RTU;- 寄存器类型 Holding Register;- 数据类型为 uint16;- 字节序为大端模式(AB);- 点位地址是 0、1 和 2;(3)使用 Modbus RTU 协议采集三个 Modbus 点位,数据名称分别为“X”、“Y”和“Z”,其中“X”计算公式为 {X}/10+8,“Y”计算公式为 {Y}*3.1412,“Z”计算公式为({Z}-10)*5;
(4)根据上述规则的提供的连接方案如下:

4. 关键步骤
Section titled “4. 关键步骤”(1) Modbus Slave 的模拟配置

a. 打开【Modbus slave】 → 点击【File】 → 点击【New】,新增一个 Mbslave
- No Connection:未与任何设备连接
- ID=1:从设备的 Slave ID 为 1,可自定义设置
- F=3:Function 为 03 Holding Registers(4x),选择的值与采集插件中采集配置的数据寄存器类型一致
- 左侧的数字 0-7:表示数据的地址。

b. 点击【Connection】 → 点击【Connect…】 → 填写相关参数 → 点击【OK】
- Connection:当前 Modbus Slave 模拟的连接协议为 Serial Port;
- Serial Settings:连接串口的配置,
- 串口:Prolific PL2303GT USB Serial COM Port (COM8);
- 波特率:19200 Baud;
- 数据位:8 Data bits;
- 校验位:None Parity;
- 停止位:1 Stop Bit

c. 点击【SetUp】 → 点击【Slave Definition…】 → 填写相关参数 → 点击【OK】
- Slave ID:从及设备地址 ID,默认为 1
- Funtion:寄存器类型,选择为 03 Holding Register(4x)
- Address:起始地址,填写为 0
- Quantity:寄存器数量个数,填写为 3

d. 选择三个点位数据 → 点击【Didplay】 → 选择【Unsigned】

e. 双击第一行数据 → 填写 value 为 88 → 点击【OK】

f. 依次填写第二个和第三点位为 12 和 35

(2) Modbus 客户端【主站】的采集配置
a. 连接配置(注:方案名称必填)
根据 Modbus Slave 模拟器的参数,配置如下:
- 方案名称:采集 rtu
- 协议:Modbus RTU
- 接口:ttyUSB5
- 波特率:19200
- 数据位:8
- 校验位:None
- 停止位:1
- 同步采集:Yes
- 采集周期(ms):1000
- 超时时间:500
- 采集时效性(ms):500

b. 添加分组
点击【添加分组】→【填写数据】→ 点击【完成】,配置如下:
- 分组名称:分组一
- Slave ID:1
注意: IP、端口和 Slave ID 与 Modbus Slave 模拟器保持一致,其中 IP 地址就算模拟器所在设备的 IP 地址。

c. 添加点位
点击【添加数据】→【填写数据】→ 点击【确认】,配置如下:
- 数据别名:X
- 地址:0
- 寄存器类型:Holding Registers
- 数据类型:uint16
- 寄存器数量:1
- 字节序:AB
- 读写模式:r
- 计算:{X}/10+8

(1) 点击【设备智联】的【部署】按钮,部署成功。

(2) 切换至【智慧孪生】,鼠标移动到 Modbus 客户端【主站】节点 → 点击【采集 rtu】→ 查看采集到的【实时数据】。

(3) 鼠标移动到数据处理节点 → 点击【采集 rtu】→ 查看处理后的【实时数据】.
