OPC-UA: the Universal Language of Industry 4.0
Listen. You hear nothing. But the world surrounding you is anything but silent.
All around, the machines are talking. They share how they feel — their concerns and their worries. With thoughtful regularity, they check up on one another and they reassure their counterparts that nothing is amiss. If they have problems they will share, and in this community, the difficulties of even the smallest are heard. The machines talk, they listen, and they take care of themselves.
Data streams out from the sensor beside you, soaring invisibly towards another device that calls this place home. A bit flips. A relay switches. Without data, everything around you would crumble. It is the lifeline of this wonderful, self-governing ecosystem: the fuel of a community that is alive and buzzing with a newfound independence, one which finds itself thriving without human intervention.
The world painted above is no fantasy. Instead, it is the future of automation. It is the Industrial Internet of Things. It is Industry 4.0, where every device beating with an electronic pulse speaks, and its arrival is inexorable.
What Industry 4.0 truly represents is the unification between the IT (Information Technology) and automation industries. It is a unity littered with potential — one which juxtaposes problems with promises.
Our personal lives have been enriched through the continuous progress of the IT sector. However, the automation industry, with its necessary prioritisation of safety and security, has remained stubborn in its adaptation of new technology. Any change to an industrial system inherently raises questions about reliability, efficiency, and cost, amongst others. But now, companies must hop onboard the revolution. The next stop is the automation sector, and if they aren’t prepared, they risk being left in the dust of the factory floor.
Such an enormous shift in the industry carries innate challenges of communication. How will disparate members of such complex systems, devices manufactured by countless vendors, designed with different purposes, each collecting swathes of varying data types and formats, be able to seamlessly communicate?
Enter, OPC-UA (Open Platform Communication — Unified Architecture).
WHAT IS OPC-UA?
Forgive the obscene title of this article, for implying OPC-UA is nothing but a simple communication protocol is a great injustice. Indeed, OPC-UA encompasses this, but also so much more. It is a living, breathing, specification: one that outlines an information-centric architecture that is interwoven with security systems — systems which permeate a definitive rule-set for device modelling and communication.
OPC-UA is built on a specification upheld by the OPC Foundation, a non-profit organisation consisting of giants from the automation and IT industries. The prowess of the OPC Foundation rivals even the most prolific author, having published thousands of pages across 17 core documents, defining areas such as information modelling, data access, services and more.
But how does OPC-UA actually work? Let’s break down the aims of OPC-UA into the two key problems it aims to solve:
- Exposition of data — the information models
- Communication of data — how can we share this information?
At its essence, OPC-UA is a platform-independent, machine-to-machine communications architecture that focuses on providing an object-oriented approach to modelling data; the OPC-UA Object Model. The OPC Foundation has defined a number of ‘Base Information Models’ as part of the OPC-UA standard: these can be seen in figure 1, e.g. DA (Data Access). These base information models include objects that are common in multiple application domains and provide the backbone for modelling information using OPC-UA.
Using these information models, a hierarchical structure is constructed to represent the system, where all devices, variables, and any entities containing information to be modelled are defined as nodes. Each node has a defined set of attributes such as Value, DataType, or AccessLevel. Users can derive from the set of 8 base node types provided by the OPC Foundation to extend the type capabilities of the system, allowing complex data structures to be modelled with ease. These base node types are shown in Figure 2. By deriving from the ObjectType node, for example, we can define new types of objects containing state and behaviours mimicking those of objects in our factory. We can create new objects which derive from the Object node, using our custom object type. Those experienced in object-oriented programming will see the parallels.
Relationships between components of the system are captured via references between their respective nodal representatives. Various kinds of references exist. As an example, take a node that represents a heater: this node would contain a “HasTypeDefinition” reference to a HeaterType node and a “HasComponent” reference to a node which holds the temperature set-point value of the heater. If nodes are the building-blocks through which we lay out our system, then references are the mortar that holds it all together.
Through a combination of nodes and references, a part of our system can be captured in a well-defined, organised, information model known as a namespace. A namespace is essentially a container for all the nodes relevant to that segment of the system: every OPC-UA node belongs to a specific namespace. Every OPC-UA server can contain multiple namespaces, each of which can be identified with its own URI (Unique Resource Identifier). Together, the namespaces form what is termed the UA Address Space, a representation of the system’s information in its entirety.
The core specification defines 25 built-in data types, a list which includes the typical boolean, float, double, and integer data types, as well as OPC-specific types such as NodeId — a type which designates the unique id of the node to uniquely identify it within the address space. The NodeId consists of three parts: the namespace URI, an identifier (e.g. temperature), and the data type of the identifier (e.g. string).
What is the purpose of the information models, you may ask? Standardisation of information. Without this, Industry 4.0 will feel unwelcome in our factories and refuse to enter— we need every device, regardless of its origin, its name or its backstory, to understand its compatriots. This is achieved only through unified information models such as those defined by OPC-UA.
OPC-UA is a perfect fit for Industry 4.0, with its design satisfying the demanding requirements of the industrial automation sector. Let us examine some of Industry 4.0’s strictest needs.
Scalability — to unify every device of Industry 4.0, the system must allow for communication between all levels of its hierarchy: from the factory floor, up to the cloud, and at every level in-between.
Previously, industrial systems had a distinct flow. Communication occurred through a multitude of networks at each level of the system. Now, Industry 4.0 promises a decentralised method of communication between all its devices. Through such flexible communication, any component will be able to request information from another regardless of their respective positions within the system. Each device will be able to make use of this information to self-optimise and adapt to its environment. This is a cornerstone of the future of automation.
Solving this problem necessitates a consistency in information representation: how else would devices understand one another? As discussed, the OPC-UA information model is used to handle this: simple and complex devices alike can be digitally described in a standardised manner.
Descriptive Modelling — industry is no longer satisfied with the simple transfer of data: it wants its devices to couple this data with detailed information about themselves.
OPC-UA allows for machines to provide additional descriptive information about themselves and the data they share to aid its users in their understanding of the process. OPC-UA’s information model reduces configuration effort, supports quick absorption of information, and allows for simpler machine-to-machine communication.
Independence —the factory floor of the past existed as a hodgepodge of cutting-edge technology intertwined with legacy systems. Industry 4.0 demands that its components are not shackled by vendor dependence.
OPC-UA is platform-independent. It allows for communication between all devices, regardless of their vendor. Additionally, along with the core documents it has published, the OPC Foundation has written an assortment of companion documents that detail how generic systems and components should be implemented across the board. Sharing these templates for data formatting with the market streamlines the process.
Credibility — the nature of industrial systems entails that they must be wary of accepting new technology.
OPC-UA has a rich history, standing proudly on the shoulders of its successful predecessors: OPC classic and COM/DCOM communication. It is a system that has been tried, tested, and improved upon through decades of use. It has earned its reputation as a trustworthy solution.
Security — OPC-UA is secure-by-design. Security is an extremely important consideration, and one worthy of exploring in greater detail within a future blog post.
FACTORIES OF THE FUTURE
The promises of Industry 4.0 shape our goals here at Ai Build. Our primary focus is to develop software that automates additive printing technology. In this, we share the same desires as the OPC Foundation: simple integration with existing hardware. Through generic information models and a vast library of functionality, OPC-UA has streamlined this task.
Standardisation of industrial communication has enabled us to utilise an ‘edge-to-cloud’ architecture, where hardware devices at the edge of our systems can communicate directly with the cloud. Incorporating new sensors and data sources as part of R&D becomes trivial with OPC-UA: create a node in the address space, map it to the sensor output and it is ready to use.
As Industry 4.0 waits anxiously on our doorstep, the desire for a secure, standardised communication method between machines continues to grow. OPC-UA stands poised as a paragon of communication architecture, ushering in the next industrial revolution. It is a specification designed with extreme care: one that satisfies every checkbox in the demanding list of requirements that the automation industry has stapled on its door.
OPC-UA’s ability to provide a scalable infrastructure, allowing even the smallest sensors on the factory floor to communicate with devices throughout the system, will only contribute to its inevitable ubiquity. On top of this, it is platform-independent, allowing for simple integration into embedded systems or business architecture alike.
Standardising information is but one challenge that OPC-UA aims to solve. In future blog posts, we will dive deeper into the infrastructure that OPC-UA is built on, and how data is communicated securely. Pay attention, because OPC-UA will soon become the universal language of your machines. Will you be able to understand them?