如何通过网关实现LoRaWAN转Modbus
目录
概述
星纵物联LoRaWAN®网关可以作为Modbus服务器,通过TCP或Modbus TCP协议,通过Modbus RTU建立LoRaWAN设备与Modbus客户端之间的通信,可以快速轻松的将LoRaWAN设备集成到BMS或PLC系统中。
准备
- 星纵物联LoRaWAN®网关UG67/UG65(需V60.0.0.45版本或更高),UG56(V56.0.0.5版本或更高)。
- 传感器:任意LoRaWAN传感器,本次以UC100为例。
- Modbus客户端工具,本次以Modpoll为例。
步骤
1. 编解码版本检查
点击网关”Network Server”–>”载荷编解码器”,确保网关的解码器版本为1.3.5或更高版本
注意:在线升级要确保网关可以访问互联网,本地升级参考如何在网关上使用编解码器 – 星纵物联。
注:如果编解码器列表不包括您的设备,请参考如何在Milesight网关上使用载荷编解码器自定义解码器,如果您需要接收设备数据,请确保您的自定义编解码器具有解码器和对象映射功能;如果您需要向设备发送下行命令,请确保您的自定义编解码器同时具有编码器和对象映射功能。
2. 传感器设备对接网关
传感器对接网关请参考网关内置NS添加节点设备,在添加设备时请确保选择正确的解码器并配置正确的设备参数。
3. Modbus TCP配置
3.1 添加Modbus Server
(1)传感器设备成功对接后,转到“协议集成”–>“Modbus Server界”面,添加”Modbus Server“。
(2)启用:勾选启用
名称:自定义服务器名称
端口:设置服务器的连接端口(有效值0~65535)
连接方式:选择 Modbus TCP连接
填写Server ID:自定义从机地址有效值(1-255)
描述:自定义描述内容(非必填)
3.2 添加Modbus 对象
(1)转到Server旁边的Modbus对象;并点击”添加”。
(2)勾选需要推送的设备后,点击“+”号,展开寄存器选择界面,勾选所需要的ModbusTCP转发的数据内容,点击”保存”。
项 | 描述 | |
寄存器类型 | Coil (线圈) | 单个位的读写寄存器,通常用于开关状态 |
Discrete Input (离散输入) | 单个位的只读寄存器,通常用于传感器状态 | |
Input Register (输入寄存器) | 16位的只读寄存器,通常用于模拟量输入 | |
Holding Register (保持寄存器) | 16位的读写寄存器,通常用于存储和控制参数 | |
数据格式 | INT16 | 16位有符号整数 |
UINT16 | 16位无符号整数 | |
INT32 | 32位有符号整数,通常需要两个连续的寄存器 | |
UINT32 | 32位无符号整数,通常需要两个连续的寄存器 | |
FLOAT32 | 32位浮点数,通常需要两个连续的寄存器 | |
String | 用于存储和传输文本数据,根据存储字符长度设置对应的寄存器数量。 | |
Flag | 用于表示布尔值或状态信息。每个标志占用一个位,因此可以在一个寄存器中存储多个标志。 | |
寄存器数目 | 数值 | 存储数据的寄存器数量 |
3.3 查看配置情况与数据获取
(1)保存后点击“+”号可以展开这台设备之前添加的寄存器情况。
(2)当网关收到该节点上报的数据,对应的寄存器对象会显示当前值及更新的时间信息。
3.4 Modbus客户端采集测试
(1)打开modbus poll工具,点击”Connection“,选择Modbus TCP/IP连接方式,IP地址填写网关的IP地址,端口填写与网关创建Modbus服务器端口保持一致。
(2)点击”Setup-Read/Write Definition”进行配置采集参数。
(3)设置对应的参数后点击OK。
- Slave ID:创建服务时配置的从站地址
- function:配置采集寄存器的功能码,需要与网关上配置寄存器类型一致
- Address:采集地址(数值根据设置显示的寄存器地址进行配置)
- Quantity:采集寄存器数量
(4)在Display中选择对应的数据格式类型,如图中为float_dcba,选择对匹配显示。
(5)检查最终采集到的数据显示内容情况。