MindConnect OPC UA PubSub Service¶
Idea¶
The MindConnect OPC UA PubSub Service provides an MQTT-based API to device agents for uploading data according to the OPC UA PubSub Specification. It is an alternative to the HTTP-based MindConnect Service.
The API currently allows to define an asset or event model, representing the customer site setup. Based on the defined model, the uploaded data is converted to asset time series data or to event instances.
OPC 10000-14 - Part 14: PubSub specification released by the OPC UA PubSub Foundation in 2018 enables further adoption of OPC UA at the deepest levels of the shop-floor.
This document describes the limits, constraints and the deviations from the specification and does not describe OPC UA PubSub.
MindConnect OPC UA PubSub API defines two alternative MQTT brokers, each supporting different authentication mechanisms for agent connection.
For further information about OPC UA PubSub, refer OPC UA PubSub API Specification.
Note
- This is only applicable for Region Europe 1.
- MindConnect MQTT is not applicable for Virtual Private Cloud (VPC).
Access¶
There are two options to access this API. One of them is the MQTT broker and the other is the MindConnect MQTT broker. For accessing over MQTT broker, you need to follow Settings/Certificate Manager and How to Connect OPC UA PubSub via MQTT. For accessing over MindConnect MQTT broker, you need to follow MindConnect MQTT API.
Agent platforms using this API must support the following technologies:
- MQTT processing
- TLS
- JSON Web Token (JWT) generation
Basics¶
Publishers¶
A publisher is a device agent intending to send data to the MindConnect OPC UA PubSub API via the provided MQTT broker.
DataSetMessage Fields¶
A DataSet field contains the actual value as well as additional information about the value, like status and timestamp. The fields of a publisher in the MetaDataMessage
represent the data type assets.
Transport Protocol¶
The supported transport protocol for the MindConnect OPC UA PubSub messages is MQTT.
MindConnect OPC UA PubSub Messages¶
MetaDataMessage
messages are used to interpret the publisher’s data.
With the MetaDataMessage
, the data model is created in Insights Hub and with the DataSetMessage
, the time series is written to IoT.
MindConnect OPC UA PubSub API is built based on the official OPC UA Pub Sub Spec Part 14, Release 1.04.24. This specification also contains some specifications referred from previous OPC UA render_macros: true specs:
- 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
Data Modeling¶
For every publisher that connects to the MQTT broker, an agent asset of core.mcx509 asset type
or Mindconnect MQTT broker, an agent asset of core.mcmqtt asset type
is created automatically. Also, the following asset types will be used for the data modeling of a publisher:
- OPC UA Data Model (
core.opcuadatamodel
): Represents OPC UA PubSub device/publisher that publishes field data. ThepublisherID
will be the asset name. - OPC UA Hierarchy Data Type (
core.opcuahierarcy
): If the datapoint name has a hierarchy represented with a "/" or "\", a hierarchy asset will be created accordingly. The string till the last "\" or "/" in the field name in the Field Meta Data will be the name of the asset that will be created of this type. - OPC UA Data Type (
core.opcuadatatype
): Parent asset type for OPC UA data types. A child asset type with the name<Tenant>.<Structure Definition Name>
will be created. Using this asset type, a datapoint asset is created. The field name in the Field Meta Data will be the name of this asset. If a hierarchy exists, the string after the last "\" or "/" will be used.
The following diagram illustrates the listed asset types, their relation to the Basic Asset Type, and an example sub-type of OPC UA Data Type.
Warning
Modifying the data model via Asset Manager UI should be avoided!
Data model (aspect types, asset types, assets, all belonging variables) is dictated by OPC UA PubSub clients/devices and managed by OPC UA PubSub services.
Manual modifications may cause problems with asset model and data ingestion.
For update or deletion questions amd requests, contact the support team.
Simple Setup Example¶
Publisher name: simplesimulatorpublisher
Data point name: dataFieldName
Created Assets
- simplesimulatorpublisher : OPC UA Data Model Type
- dataFieldName : Customer1 DataType1 Asset Type
Hierarchical Setup Example¶
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
Message Mapping¶
The following Message Mapping is supported:
- UADP Message Mapping
Message Types¶
The following Message Types are supported:
DataSetMessage:
- Data Key Frame DataSetMessage
- Data Delta Frame DataSetMessage
DiscoveryMessage:
- Discovery Response NetworkMessage
- MetaData Message
Features¶
A publisher consumes the MindConnect OPC UA PubSub Service for realizing the following tasks:
- Create asset data model
- Upload time series
- Upload events
Example Scenario¶
The manager of a power plant wants to collect sensor data of an electric counter.
A developer writes a field application (publisher) which collects and publishes the counter data. The data is sent via the MindConnect OPC UA Pub Sub API.