OPC UA设备接入实践

本文介绍基于OPC UA协议的设备(以下统称设备)接入网关,并与物联网平台交互的方法。

前提条件

  • 仅支持使用Link IoT Edge专业版(LE Pro),实现OPC UA设备接入。
  • 根据您的实际环境,参考专业版环境搭建完成边缘实例的创建,上线网关。

一、搭建OPC UA Server

OPC UA Server的环境依赖如下表格所示:

依赖组件版本要求安装命令
python≥ 3.5.2
pip≥ 9.0.1
opcua≥ 0.98.3pip install opcua==0.98.3

根据以下步骤,完成OPC UA Server的搭建。该OPC UA Server模拟一个LED灯设备,该设备具有温度(temperature)属性,高温报警(high_temperature)事件。

  1. 下载OPC UA Server。
    wget http://iotedge-web.oss-cn-shanghai.aliyuncs.com/public/driverSample/opcua_simulation_server.tar.gz
  2. 启动OPC UA Server。
    tar -zxvf opcua_simulation_server.tar.gz
    cd opcua_simulation_server && ./opcua_simulation_server.sh

二、安装OPC UA客户端

使用OPC UA驱动接入OPC UA设备时需要完成设备配置操作,该操作需要借助OPC UA客户端作为辅助工具,获取OPC UA Server模拟设备信息,用于在控制台创建产品和配置驱动时使用。

本示例使用OPC UA客户端UaExpert工具。

  1. 下载并安装OPC UA客户端UaExpert工具。
  2. 安装完成后打开UaExpert工具。
    UaExpert工具
  3. 在工具栏中单击“+”图标,新增OPC UA Server。
    新增OPC UA Server
  4. 填写OPC UA Server的URL地址,建立与OPC UA Server的连接。URL为OPC UA Server所在主机的IP地址:端口号
    说明 OPC UA Server示例中默认监听端口为4840,因此OPC UA Server的URL地址格式示例如下:
    opc.tcp://192.168.1.1:4840
    填写OPC UA Server的URL地址
  5. 配置完成URL地址后单击OK,显示设备信息。
    设备信息显示

三、创建基于OPC UA协议的设备

  1. 参考创建产品,创建OPC UA产品。
    新建产品

    其中,部分参数设置如下:

    参数描述
    所属品类选择标准品类下的边缘计算 > 其他设备
    节点类型选择网关子设备
    接入网关协议选择OPC UA
  2. 参考单个添加物模型,在产品详情页为OPC UA产品添加如下自定义功能,然后发布上线自定义功能。
    • 添加属性
      1. 根据下图所示,设置属性参数。设置属性
      2. 设置参数完成后,单击新增扩展描述,配置节点名称。设置扩展参数
        节点名称:设备在OPC UA Server中的变量节点DisplayName的值。OPC UA Server中的变量
    • 添加服务
      1. 根据下图所示,设置服务参数。设置服务
      2. 单击输入参数下的增加参数,为产品服务新增参数。新增服务扩展参数
      3. 设置参数完成后,单击新增扩展描述,配置节点名称。扩展描述

        节点名称:设备method在OPC UA Server中的变量节点DisplayName的值。

        OPC UA Server中的变量
    • 添加事件
      1. 根据下图所示,设置事件参数。设置事件
      2. 单击输出参数下的增加参数,为产品事件新增参数。新增服务扩展参数
      3. 设置参数完成后,单击新增扩展描述,配置节点名称。新增事件扩展描述

        节点名称:设备事件在OPC UA Server中的变量节点DisplayName的值。

        OPC UA Server中的变量
  3. 参考单个创建设备,添加设备。
    添加设备

四、配置边缘实例

  1. 登录边缘计算控制台,左侧导航栏单击边缘实例
  2. 边缘实例页面找到前提条件中已创建的边缘实例,单击实例名称后的查看
  3. 分配OPC UA驱动到边缘实例中。
    分配OPC UA驱动到边缘实例
  4. 选择OPCUA驱动,单击设备列表后的驱动配置,在弹出对话框中单击添加通道,设置通道参数。
    驱动配置
    表 1. 参数说明
    参数描述配置举例
    通道名称OPC UA通道名称opcua_server
    通道地址OPC UA Server的URL地址opc.tcp://192.168.1.1:4840
    用户名OPC UA Server连接用户名demo
    密码OPC UA Server连接密码abc123
    方法调用超时时间请求调用OPC UA Server调用超时时间10
  5. 单击分配子设备,在OPCUA驱动下为边缘实例分配子设备。
    分配子设备
  6. 分配子设备成功后,单击设备名称右侧的设备配置
    设备配置
    表 2. 参数说明
    参数描述
    关联通道选择已添加的通道。
    节点路径设备在OPC UA Server中,从Objects开始到设备节点的绝对路径。

    例如demo_led设备在OPC UA Server中的路径为Objects/demo_led

  7. 实例详情页面右上角单击部署,部署边缘实例。
  8. 实例详情页面设备驱动配置页签中,选择OPCUA驱动,查看设备是否在线。
    设备在线