You need to enable JavaScript to run this app.
导航
使用官方 Modbus 驱动
最近更新时间:2024.11.08 14:57:40首次发布时间:2022.09.27 11:46:43

Modbus 驱动是边缘智能提供的内置驱动,支持标准 Modbus TCP、Modbus RTU 和 Modbus-ASCII 协议。
本文介绍了如何部署 Modbus 驱动并接入设备。

Modbus 驱动介绍

查看 Modbus 驱动

您可以在边缘智能控制台设备管理 > 驱动模板 页面,查看 Modbus驱动
Image

子协议配置

Modbus 驱动的子协议配置说明请见下表。

配置项

参数名称

说明

modbus-tcp

IP 地址

目标设备的 IP 地址,用于指定 Modbus 设备的通信地址

端口号

Modbus TCP 通信的端口号,取值范围为 1-65535。

主站地址

Modbus 从设备地址,用于标识目标设备。

超时时间

设置 Modbus 请求的超时时间(单位为秒)。在节点发出请求后,如果在该时间内没有收到设备的响应,则认为请求超时。默认值为 3。

空闲超时时间

在设定的空闲时间(单位为秒)内无数据传输时,将自动断开连接。默认为 0,表示禁用空闲超时。

报文聚合

决定是否启用报文聚合。启用后,客户端会尝试合并多个报文请求,以减少请求次数,从而提高通信效率。默认为 false。

modbus-rtu、
modbus-ascii

串口号

指定用于通信的串口,用于连接 Modbus 设备的物理串口。

波特率

数据传输速度,单位为 bps,默认值为 9600。

数据位

每个数据包中的数据位数。默认为 8 位。

校验位

用于检测数据传输过程中是否发生错误的位。可选值包括:无校验、偶校验和奇校验。默认为无校验。

停止位

用于指示每个字符的结束。默认值为 2。

主站地址

Modbus 从设备地址,用于标识从设备。

超时时间

Modbus 请求的超时时间(单位为秒)。默认值为 3。在节点发出请求后,如果在该时间内没有收到响应,则认为请求超时。

空闲超时时间

空闲时间的超时时间(单位为秒)。在设定时间内无数据传输时将自动断开连接。默认为 0 ,表示禁用空闲超时。

报文聚合

决定是否启用报文聚合。启用后,客户端会尝试将多个请求合并为一个报文,以减少请求次数,提高效率。默认为 false。

点表配置

Modbus 驱动的点表配置说明请见下表。

参数

说明

操作类型

Modbus 协议中的不同功能码:

  • 线圈状态
  • 离散量输入
  • 保持寄存器
  • 输入寄存器

起始地址

数据点的起始地址,线圈地址或者寄存器起始地址。

原始数据类型

原始数据的类型:

  • Int16:有符号的 16 位整数。
  • Uint16:无符号的 16 位整数。

交换寄存器内高低字节

是否把寄存器内 16 位数据的前后 8 个 bits 互换。

交换寄存器顺序

是否把原始数据 32 位数据的 bits 互换。

采样周期

节点采集设备数据的频率。单位:毫秒。默认值:10000。

变化上报

用于控制节点进行数据上报的触发条件。

  • true:表示启用变化上报。节点仅在检测到连续两次采集的设备数据不一致时,才会执行数据上报操作。
  • false:表示禁用变化上报。节点将上报每次采集到的设备数据,不管该数据是否与前一次采集的数据相同。

默认值:true。

缩放因子

表示对原始数据放大的倍数。

说明

当缩放因子为小数时,对应物模型属性的数据类型需是 float 或者 double 才可以生效。

准备工作

使用 Modbus 驱动前,您需要准备一台边缘智能节点,并完成以下工作:

使用限制

限制名称

限制数量

账户中部署总次数

项目中部署总次数

节点中部署次数

≤1

最大接入设备实例数

每个设备实例中最大的属性点数量

1000

操作步骤

步骤一:创建设备模板

  1. 登录边缘智能控制台

  2. 在左侧导航栏顶部的 我的项目 区域,选择您的项目。

  3. 在左侧导航栏,选择 设备管理 > 设备模板

  4. 设备模板 页面,单击 创建设备模板

  5. 创建设备模板 对话框,输入模板 名称描述,并选择 设备类型其他设备

  6. 单击 确定

新建的设备模板将展示在设备模板列表中。

步骤二:添加物模型

  1. 在设备模板列表中,单击创建的设备模板名称,进入设备模板详情。

  2. 单击 物模型定义 页签。

  3. 单击 编辑

  4. 编辑物模型 页面左侧,可以看到 模块列表
    您可以选择系统自动创建的 默认模块default) ,或者根据需要单击 新建模块,创建新的模块。
    新建模块 对话框,参照以下说明配置相关参数,单击 确定,然后单击已添加模块名称。

    配置项

    说明

    名称

    为模块设置一个名称。输入要求如下:

    • 允许使用以下字符:汉字、英文大小写字母、数字、下划线(_)。长度不超过 32 个字符。
    • 开头和结尾不允许使用下划线(_),并且不允许使用连续的下划线(_)

    唯一标识

    为模块设置一个标识符。该标识符在当前设备模板下必须唯一。输入要求如下:

    • 允许使用以下字符:英文大小写字母、数字、下划线(_)。长度不超过 32 个字符。
    • 开头和结尾不允许使用下划线(_),并且不允许使用连续的下划线(_)。

    描述

    为模块添加描述信息。长度不超过 128 个字符。

  5. 单击 添加自定义功能

  6. 添加自定义功能 对话框,根据 Modbus 设备的实际功能和数据点,添加所需功能,并单击 确定。相关参数说明,请参见添加自定义功能
    以下是一个结合 Modbus 设备实际情况的自定义功能示例,例如:读取Modbus设备中的温度传感器数据,返回当前温度值。

    配置项

    说明

    功能类型

    选择 属性

    功能名称

    为功能设置一个名称,例如”温度读取“。

    标识符

    为功能设置一个标识符。例如”tempRead“。

    读写类型

    选择 只读

    数据类型

    选择 float

    取值范围

    设置数值取值范围。本教程中保持默认配置。

    步长

    设置数值步长。本教程中保持默认配置。

    描述

    为功能添加描述信息。

  7. 单击页面右下角的 保存

  8. 发布新版本 对话框,为版本设置 版本号描述,然后单击 确定

步骤三:创建点表

  1. 单击 点表 页签,然后单击 创建点表

  2. 创建点表 页面,完成以下配置,并单击 确认

    类别

    配置项

    说明

    基本信息

    名称

    为点表设置一个名称。

    本教程中使用 device-virtual-dp 作为点表名称。

    驱动模板

    选择 Modbus驱动

    配置信息

    物模型中定义的属性

    • 操作类型:选择 Modbus 操作类型,这里选择保持寄存器(0x03)
    • 起始地址:指定 Modbus 设备中温度数据的起始地址。
    • 原始数据类型:指定从 Modbus 设备读取的数据类型。这里选择 Int16
    • 交换寄存器内高低字节:false
    • 交换寄存器顺序:false
    • 采样周期:10000 毫秒
    • 变化上报:true
    • 缩放因子:1

    Image

步骤四:部署 Modbus 驱动

  1. 在左侧导航栏,单击 节点管理
  2. 节点管理 页面,找到要部署 Modbus 驱动的节点,单击节点名称。
  3. 单击 设备接入 页签。
  4. 根据节点上是否部署过驱动实例,执行相应操作:
    • 如果节点上未部署驱动,单击页面提示信息中的 立即部署
      Image
    • 如果节点上部署了驱动,请检查 驱动实例 列表是否包含 Modbus驱动
      • 如果 Modbus驱动 包含在列表中,您可跳过本步骤,直接前往步骤五:添加设备
      • 如果 Modbus驱动 没有包含在列表中,单击 驱动实例 列表右上方的 新建驱动实例
  5. 新建驱动实例 对话框,选择 Modbus驱动 的最新版本,然后单击 确定

提交部署请求后,系统将在节点上部署 Modbus驱动。部署过程涉及到数据传输。根据现场网络环境不同,部署所需时间不同。请确保您的节点在线,并耐心等待部署完成。
驱动部署成功后,对应的 驱动实例状态 将变为 运行中
Image

步骤五:添加设备

  1. 单击已部署的 Modbus驱动,然后单击 添加设备

  2. 添加设备 面板,参照以下说明设置设备参数,然后单击确定

    配置项

    描述

    名称

    为设备设置一个名称。

    标识符

    为设备设置一个标识符。

    设备模板

    选择在步骤一:创建设备模板中创建的设备模板。

    点表

    选择在点表配置中创建的点表。

    子协议名称

    选择一种子协议:

    • modbus-tcp
    • modbus-rtu
    • modbus-ascii

    子协议配置

    根据选择的子协议,完成对应参数配置。具体内容,请参见子协议配置

    标签

    为设备添加标签。如果需要创建新的标签,输入 keyvalue 后,单击 创建标签

    描述

    为设备添加描述信息。

完成以上操作后,您可以在设备列表查看新添加的设备。最初,设备的 状态添加中。当设备的状态变为 在线 后,表示设备已经添加成功。

步骤六(可选):复制设备到其他节点

您可以将当前已接入节点的设备复制到同项目的不同节点上。

  1. 在设备列表中,选择需要复制的设备。
  2. 单击 复制到节点
  3. 复制到节点 对话框中,完成以下配置,并单击 确定
    • 已选设备:需要复制的设备。
    • 目标节点:选择要将设备复制到的节点。

      说明

      目标节点需要部署 Modbus 驱动,并且驱动实例的状态为运行中。

  4. 完成设备复制后,您可以前往目标节点的设备接入页面。在 Modbus 驱动下,您可以看到复制过来的新设备。这些设备相关配置与源设备一致,设备标识符为系统自动生成。