Skip to content

MindConnect OPC UA PubSub Service

构想

MindConnect OPC UA PubSub 服务为设备代理提供了一个基于 MQTT 的 API,用于根据 OPC UA PubSub 规范上传数据。它是基于 HTTP 的 MindConnect 服务的替代服务。

API 目前允许定义 asset 或事件模型,表示客户站点设置。根据定义的模型,上传的数据将转换为 asset 时间序列数据或事件实例。

OPC 10000-14 -第14部分: OPC UA PubSub 规范在2018年由 OPC UA PubSub 基金会发布,该规范使得 OPC UA 在车间底层的最深层得到了进一步的应用。

需要具备 OPC 10000-14 - Part 14 PubSub specification 相关知识。

本文档描述了对规范的限制、约束和偏差,但没有描述 OPC UA PubSub。

关于 OPC UA PubSub 的更多信息请参考 OPC UA PubSub API 规范.

访问

您需要通过 Settings/Certificate Manager 上传您的 CA 证书才能访问 API。

使用该 API 的代理平台必须支持以下技术:

  • MQTT 处理
  • TLS
  • JSON Web Token (JWT) 生成

基础

发布者

发布者是一个设备代理,需要通过提供的 MQTT 代理将数据发送到 MindConnect OPC UA PubSub API。

DataSetMessage 字段

DataSet 字段包含实际值以及关于该值的附加信息,如状态和时间戳。MetaDataMessage 中的发布者字段表示数据类型 asset。

传输协议

MindConnect OPC UA PubSub 消息支持的传输协议是 MQTT。有关 MQTT 代理的更多信息,请参考此处

上线

为了让发布者第一次连接到 MindSphere, TenantAdmin 用户应该上传租户设备的 CA 证书。当连接到 MindSphere 代理时,该设备使用自签名的 JWT。JWT 由设备证书中驻留的公钥的私有副本签署,该证书由CA 证书颁发。此 CA 证书将由 TenantAdmin 上传。代理验证 JWT 以确认 JWT 是有效的,并且设备证书是由有效的租户 CA 颁发的。

MindConnect OPC UA PubSub 消息

MindSphere 使用 MetaDataMessage 消息来解释发布者的数据。

通过 MetaDataMessage,在 MindSphere 中创建数据模型,通过 DataSetMessage 将时间序列写入 IoT。

MindConnect OPC UA PubSub API 是基于官方 OPC UA 发布规范第14部分,发布版本1.04.24构建的。该规范还包含一些从以前的 OPC UA 规范中引用的规范:

  • OPC UA Pub Sub Spec Part 3, Release 1.04 Address Space Model
  • OPC UA Pub Sub Spec Part 5, Release 1.04 Information Model
  • OPC UA Pub Sub Spec Part 6, Release 1.04 Mappings

数据模型

对于每个连接到代理的发布者,代理 asset core.mcx509 asset type 会被自动创建。此外,以下 asset type 将用于发布者的数据建模:

  • OPC UA 数据模型(core.opcuadatamodel): 表示发布字段数据的OPC UA PubSub 设备/发布者。publisherID 将是 asset 名称。
  • OPC UA 层级 Data Type (core.opcuahierarcy): 如果数据点名称有一个用“/”或“\”表示的层次结构,则会相应地创建一个层级 asset。字段元数据中字段名中最后一个“\”或“/”之前的字符串将是该类型创建的 asset 的名称。
  • OPC UA 数据类型 (core.opcuadatatype): OPC UA 数据类型的父 asset type。名称为<Tenant>.<Structure Definition Name>的子 asset将被创建。使用此 asset type,将创建一个数据点 asset。字段元数据中的字段名将是该 asset 的名称。如果存在层次结构,那么将使用最后一个“\”或“/”后面的字符串。

下图说明asset type、与基本 asset type 的关系,以及 OPC UA 数据类型的子类型示例;

OPC UA PubSub IoT Model

简单设置示例

Publisher name: simplesimulatorpublisher Data point name: dataFieldName Created Assets

- simplesimulatorpublisher : OPC UA Data Model Type
      -  dataFieldName : Customer1 DataType1 Asset Type

层级设置示例

Publisher name: simulatorpublisher Data point name: hierarchyPart1/hierarchyPart2/dataFieldName Created Assets

- simulatorpublisher : OPC UA Data Model Type
   - hierarchyPart1 : OPC UA Hierarchy Data Type
      - hierarchyPart2 :  OPC UA Hierarchy Data Type
         -  dataFieldName :Customer1 DataType1 Asset Type

消息映射

支持以下消息映射:

  • UADP 消息映射

消息类型

支持以下消息类型:

DataSetMessage:

  • Data Key Frame DataSetMessage
  • Data Delta Frame DataSetMessage

DiscoveryMessage:

  • Discovery Response NetworkMessage
    • MetaData Message

功能

发布者使用 MindConnect OPC UA 公共子服务来实现以下任务:

  • 创建 asset 数据模型
  • 上传时间序列
  • 上传事件

示例场景

发电厂的经理想收集一个电子计数器的传感器数据。

开发人员编写一个收集和发布计数器数据的现场应用(发布者)。数据通过 MindConnect OPC UA Pub Sub API 发送到 MindSphere。

相关链接


Last update: March 22, 2023