« All blog posts

OPC UA and Open Industry 4.0

24.05.2022


Prosys OPC has been an active member of The OPC Foundation since 1999. We also joined Open Industry 4.0 Alliance in 2020, since we see the organizations complementing each other. Whereas OPC Foundation has a focus in defining standards, Open Industry 4.0 is looking at the industrial use cases and providing a platform for vendors to streamline their offerings on larger scale - using standards.

OPC Unified Architecture (OPC UA, IEC 62541) is standard technology, which enables industrial equipment and applications to communicate together in a secure and reliable way - eventually to enable Plug & Produce in practice.

OPC UA defines standard Client/Server and Publisher/Subscriber communication models that are suitable for exchanging manufacturing data and calling services between different components and applications. It is not limited to manufacturing, though, since in practice it just defines standard ways to read and write variables, call methods and organize data objects using semantic models. It also defines standard security mechanisms to enable trust between applications and encryption of all communication.

Open Industry 4.0 (OI4) has defined a Reference Architecture and guidelines for Edge and Cloud connectivity using common communication models. The Development Guideline for Open Edge Computing (OEC Guideline) is extending the OPC UA PubSub communication protocol with additional, use case specific data structures, such as Master Asset Model (mam), Device Health (health) and Overall Equipment Efficiency (oee).

Asset Information in OPC UA for Devices

OPC UA actually defines asset information in the interface types IVendorNameplateType and IDeviceHealth that are defined in the OPC UA Companion Specification for Devices (OPC UA DI), and these are indeed also used as a basis for the OI4 data structures.

OPC UA IVendorNameplateType OPC UA IDeviceHealthType

The OPC UA DI specification also defines ComponentType and DeviceType that implement these interfaces, standardizing the asset information for every device.

OPC UA ComponentType OPC UA DeviceType

Open Industry 4.0 Reference Architecture

Open Industry 4.0 has defined a Reference Architecture that defines recommendations for Edge and Cloud computing to improve interoperability between devices and machines from different vendors.

The OEC Guideline defines an MQTT Message Bus with the idea that all devices will publish their information in a common format. Other applications can then monitor this data by subscribing to the information in the message bus.

Open Industry 4.0 Architecture, highlighting the Message Bus

The basis of the OEC Message Bus is OPC UA PubSub MQTT/JSON communication. The information in the IVendorNameplateType is taken in use as is and defines the basic data to publish in the defined mam messages.

The following diagram shows the sequence of asset onboarding, using the mam message.

Asset Onboarding

The contents of the PubSub message for the mam message would look like the following:

{
  "MessageId": "unixTimestampInMs-PublisherId",
  "MessageType": "ua-data",
  "PublisherId": "<serviceType>/<appId>",
  "DataSetClassId": "360ca8f3-5e66-42a2-8f10-9cdf45f4bf58",
  "correlationId": "<empty/omitted> or <initial MessageId>",
  "Messages": [
    {
      "DataSetWriterId": <UINT16>,
      "filter": "",
      "subResource": "<oi4Identifier>",
      "Timestamp": "<DateTime>",
      "Payload": {
        "Manufacturer": {
          "locale": "en-US",
          "text": ""
        },
        "ManufacturerUri": "<ManufacturerUri>",
        "Model": {
           "locale": "en-US",
           "text": ""
        },
        "ProductCode": "<ProductCode>",
        "HardwareRevision": "<HardwareRevision>",
        "SoftwareRevision": "<SoftwareRevision>",
        "DeviceRevision": "DeviceRevision",
        "DeviceManual": "<DeviceManual>",
        "DeviceClass": "<DeviceClass>",
        "SerialNumber": "<SerialNumber>",
        "ProductInstanceUri": "<ProductInstanceUri>",
        "RevisionCounter": <INT32>,
        "Description": {
           "locale": "en-US",
           "text": ""
        }
      }
    }
  ]
}

This conforms to the OPC UA PubSub message model with a few extra fields, so the idea is that normal OPC UA Subscribers can extract the dataset message without a problem, and the OI4 capable subscribers can also extract the extra information - namely the oi4Identifier, which is used to identify assets in the OI4 world.

The oi4Indentifier is in fact defined to be composed of the asset information as follows: <ManufacturerUri/Model/ProductCode/SerialNumber>

Support for Open Industry 4.0 in Prosys OPC UA Products

Looking at the definitions above, it will be possible to define a straight forward mapping for devices that act as OPC UA Servers and Publishers, in order to also let them conform to the OEC Guideline. Our intention is to extend the Client & Server PubSub Edition of the Prosys OPC UA SDK For Java, so that you can develop support for OEC along with OPC UA as easily as possible. We are also working on a basic OI4 simulation to Prosys OPC UA Simulation Server to help you out in testing it in real world. Stay tuned, contact us or come and talk to us at the events, if you find this interesting!

Jouni Aro profile photo

Jouni Aro

Chief Technology Officer

Email: jouni.aro@prosysopc.com

Expertise and responsibility areas: OPC & OPC UA product development, project work and customer support

Tags: OPC UA, IoT, Open Industry 4.0, PlugAndProduce, PubSub, MQTT, Cloud

comments powered by Disqus

About Prosys OPC Ltd

Prosys OPC is a leading provider of professional OPC software and services with over 20 years of experience in the field. OPC and OPC UA (Unified Architecture) are communications standards used especially by industrial and high-tech companies.

Read more about us »

Newest blog posts

Why Do Standards Matter in Smart Manufacturing?

The blog post discusses the importance of standards in smart manufacturing, envisioning a future where auto-configurable systems in manufacturing rely on standardized data formats for seamless integration and reduced costs, with a focus on the OPC UA standard family as a key enabler.

OPC UA PubSub to Cloud via MQTT

Detailed overview of the demo presented at the OPC Foundation booth

SimServer How To #3: Simulate data changes on a server using an OPC UA client

A two-part step-by-step tutorial on how to write data changes on an OPC UA server using an OPC UA client.

View all blog posts »