Skip to content

Modbus 设备接入

本文以完整示例演示如何将 Modbus 设备接入平台。Modbus 设备通常通过网关接入,即传感器/仪表作为子设备挂载在 Modbus 网关下。

接入流程

创建子产品 → 配置物模型 → 添加 Modbus 网关设备 → 添加子设备 → 配置采集器 → 查看数据

前置条件: 平台已内置 Modbus 驱动,对应的网络组件和网关产品已自动创建,无需手动配置。

步骤 1:创建子产品

进入 基础信息 → 产品配置,点击"新增":

配置项填写内容说明
名称温湿度传感器自定义产品名称
产品类型传感器根据实际设备选择
产品代码temp_humidity自定义产品代码
设备类型网关子设备可选值:直连设备 / 网关设备 / 网关子设备
父产品默认 Modbus Tcp 产品 或 默认 Modbus Rtu 产品仅设备类型选“网关子设备”时显示,系统已预置的网关产品

设备类型选择“网关子设备”后才会显示“父产品”字段,传感器通过 Modbus 网关接入,所以需要选择父产品。

步骤 2:配置物模型

在产品列表点击"物模型",进入物模型编辑页。

2.1 新增属性

属性名称标识符数据类型单位读写类型
温度temperaturefloat只读
湿度humidityfloat%RH只读
开关switch_statusboolean可读可写

2.2 新增事件模型(采集数据)

事件模型的基本表单字段:

字段说明
事件名称自定义名称,如“温度采集”
协议指令从 Modbus 驱动提供的指令列表中选择,如 Read03(读保持寄存器)
接口代码自定义唯一标识,如 tempCollect
频率标签默认 / 低频 / 中频 / 高频,配合采集器的频率标签使用,为不同事件接口设置不同的采集频率
事件说明可选,描述该事件模型的用途

选择协议指令后,会出现下行配置上行配置两个选项卡,配置项根据所选指令动态变化。

温度采集:

配置项填写内容
事件名称温度采集
协议指令Read03(读保持寄存器)
接口代码tempCollect
频率标签默认
事件说明采集温度数据
下行配置 - dataTypefloat
下行配置 - address0(寄存器地址,按设备手册填写)
下行配置 - num2(寄存器数量)
上行配置 - value@temperature

湿度采集:

配置项填写内容
事件名称湿度采集
协议指令Read03(读保持寄存器)
接口代码humCollect
频率标签默认
事件说明采集湿度数据
下行配置 - dataTypefloat
下行配置 - address2
下行配置 - num2
上行配置 - value@humidity

2.3 新增功能模型(控制设备)

功能模型的基本表单字段:

字段说明
功能名称自定义名称,如“开关控制”
协议指令从 Modbus 驱动提供的指令列表中选择,如 Write05(写单个线圈)
接口代码自定义唯一标识,如 switchControl
序号用于标识接口的重要程度,值越低排序越靠前,说明该控制接口越重要
功能说明可选,描述该功能模型的用途

选择协议指令后,会出现下行配置上行配置两个选项卡,配置项根据所选指令动态变化。

配置项填写内容
功能名称开关控制
协议指令Write05(写单个线圈)
接口代码switchControl
序号1
功能说明控制设备开关
下行配置 - address0(线圈地址,按设备手册填写)
下行配置 - value@switch_status

下行值说明: 下行值可以写死固定值(如 10),也可以用 @属性字段 动态绑定模型属性的值。对于有多个状态的控制场景(如开关),建议先添加一个布尔类型的模型属性(如 switch_status),然后为该属性配置字典(如“开”=1、“关”=0),再用 @switch_status 绑定,这样在界面上就能通过下拉框选择“开/关”来控制设备。

步骤 3:添加 Modbus 网关设备

进入 设备管理 → 工业网关设备 → Modbus 网关设备,点击“新增”:

基础配置(TCP 和 RTU 共有):

配置项填写内容说明
所属产品选择系统预置的 Modbus 网关产品决定后续显示的动态配置项
设备编号GW-001自定义网关编号
设备名称1号车间 Modbus 网关自定义名称
设备地址1号车间配电柜(可选)设备安装位置,非必填

选择不同协议的网关产品后,动态配置项不同

Modbus TCP

配置项必填说明
主机地址Modbus 网关的 IP 地址
端口默认 502
超时时间通信超时(毫秒)
读空闲时间空闲超时(毫秒)

Modbus RTU

配置项必填说明
串口地址串口设备路径,如 /dev/ttyS0 或 COM1
波特率如 9600、19200、115200
数据位如 8
校验位None / Odd / Even
停止位如 1 或 2

步骤 4:添加子设备

设备管理 → 工业网关设备 → Modbus 网关设备 列表中,找到步骤3创建的网关设备(1号车间 Modbus 网关),点击右侧的 "子设备" 按钮,弹出子设备列表框,点击"新增":

配置项填写内容说明
所属产品温湿度传感器(步骤1创建的子产品)自动继承物模型
设备编号1从机地址(1~247),按设备实际拨码填写
设备名称车间温湿度传感器自定义名称
设备地址车间入口(可选)设备安装位置,非必填
字节序ABCD根据设备手册选择字节序格式
是否批量采集启用后平台自动合并优化采集

添加完成后,该设备自动成为当前网关的子设备,无需手动选择父设备。

设备编号说明: Modbus 子设备的设备编号就是从机地址,范围 1~247,需要与设备实际的拨码地址一致。

步骤 5:配置采集器

进入 数据采集 → 采集器,点击"新增":

配置项填写内容
事件类型采集器
产品列表温湿度传感器
频率标签默认

产品列表只能选子产品或直连产品,不能选父产品(网关产品)。

配置完成后,平台开始按指定频率标签自动采集数据。

步骤 6:查看数据

  • 进入 运行管控 → 运行展板,查看设备在线状态和实时采集值
  • 进入 数据中心 → 模型数据,查看温度/湿度的历史数据曲线

常见问题

Q: 设备显示离线? 检查网关设备的主机地址和端口是否正确,确保平台服务器能访问到 Modbus 网关的 IP 和端口。

Q: 采集数据全部为 0 或异常值? 检查子设备的从机地址(设备编号)是否与设备实际拨码一致,检查字节序格式是否与设备手册匹配。

Q: 多个子设备如何快速配置? 如果多个子设备使用相同的物模型,可以复用同一个子产品。创建子设备时选择相同产品,只需修改从机地址即可。启用"批量采集"可让平台自动优化采集效率。