OPC UA Standard IEC 62 541 for Open Platform Communication Unified Architecture
OPC UA (Open Platform Communication Unified Architecture) provides the necessary infrastructure for interoperability across the Enterprise, from Machine-to-Machine (M2M), Machine-to-Enterprise (M2E) and everything in-between.
The OPC UA was initially released in 2006 - 2008 and has a very broad Market deployment footprint since then. OPC UA specificifies a Platform independent Service-oriented Architecture, that integrates all the functionality of the individual OPC Classic Specifications into one (1) extensible Framework.
OPC UA specifications are stipulated in International Standard IEC 62 541 (https://opcfoundation.org/news/opc-foundation-news/update-iec-62541-opc-ua-published/).
The current version of the OPC UA specification is on 1.04 (22 November 2017). The new version of OPC UA has added Publish/Subscribe in addition to the Client/Server communications infrastructure.
The OPC UA Information Model is a so-called Full Mesh Network based on nodes. The OPC UA Architecure supports two (2) Protocols. This is visible to Application programmers only via changes to the URL. The binary protocol is opc.tcp://Server and http://Server is for Web Service. Otherwise OPC UA works completely transparent to the API.
After the initial release in 1996, the OPC Foundation was created to maintain the Standard. As OPC has been adopted beyond the field of Process Control, the OPC Foundation changed the name to Open Platform Communications in 2011. The change in name reflects the Applications of OPC Technology for Applications in Building Automation, Discrete Manufacturing, Process Control and many others. OPC has also grown beyond its original OLE (Object Linking and Embedding) implementation to include other Data transportation Technologies including Microsoft's .NET Framework, XML, and even the OPC Foundation's binary-encoded TCP format.
The OPC UA Multi-Layered approach accomplishes the original design specification goals of:
- Functional equivalence: all COM OPC Classic specifications are mapped to UA
- Platform independence: from an embedded micro-controller to cloud-based infrastructure
- Secure: encryption, authentication, and auditing
- Extensible: ability to add new features without affecting existing applications
- Comprehensive information modeling: for defining complex information
Functional Equivalence
Building on the success of OPC Classic, OPC UA was designed to enhance and surpass the capabilities of the OPC Classic specifications. OPC UA is functionally equivalent to OPC Classic, yet capable of much more:
- Discovery: find the availability of OPC Servers on local PCs and/or networks
- Address space: all data is represented hierarchically (e.g. files and folders) allowing for simple and complex structures to be discovered and utilized by OPC Clients
- On-demand: read and write data/information based on access-permissions
- Subscriptions: monitor data/information and report-by-exception when values change based on a client’s criteria
- Events: notify important information based on client’s criteria
- Methods: clients can execute programs, etc. based on methods defined on the server
Integration between OPC UA products and OPC Classic products is easily accomplished with COM/Proxy wrappers that are available in the download section.
Platform Independence
Given the wide array of available hardware platforms and operating systems, platform independence is essential. OPC UA functions on any of the following and more:
- Hardware platforms: traditional PC hardware, cloud-based servers, PLCs, micro-controllers (ARM etc.)
- Operating Systems: Microsoft Windows, Apple OSX, Android, or any distribution of Linux, etc.
OPC UA provides the necessary infrastructure for interoperability across the enterprise, from machine-to-machine, machine-to-enterprise and everything in-between.
Security
One of the most important considerations in choosing a technology is security. OPC UA is firewall-friendly while addressing security concerns by providing a suite of controls:
- Transport: numerous protocols are defined providing options such as the ultra-fast OPC-binary transport or the more universally compatible JSON over Websockets, for example
- Session Encryption: messages are transmitted securely at various encryption levels
- Message Signing: with message signing the recipient can verify the origin and integrity of received messages
- Sequenced Packets: exposure to message replay attacks is eliminated with sequencing
- Authentication: each UA client and server is identified through X509 certificates providing control over which applications and systems are permitted to connect with each other
- User Control: applications can require users to authenticate (login credentials, certificate, web token etc.) and can further restrict and enhance their capabilities with access rights and address-space “views”
- Auditing: activities by user and/or system are logged providing an access audit trail
UA OPC Markets & Collaboration
The OPC Foundation facilitates the adoption of OPC Technology through collaboration with other international standards organizations in order to provide Data inter-operability.
For an Overview of OPC UA Information Model activities and completed developments, you can read further at the following link: https://docs.google.com/spreadsheets/d/10SOpad6uu7JA5ZSpccVyqaqkyhYBiIXqNus28-1cJtU/edit?usp=sharing
For a list of joined Working Groups, Companion Specifications and Liaisons, you can read further at the OPC UA webpage section on Markets and Collaboration with a link:https://opcfoundation.org/markets-collaboration/
For further information on the OPC UA, please see attached below the OPC UA Open IEC 62 541 (current) Documentation from Jan 2021.
Part 100 Device Interface, and Part 200 Industrial Automation are also available. These build on the Core set of Specifications, and adds new common definitions that then are used in different companion specifications. E.g. both OPC UA for Analyser Devices and OPC UA for Machinery builds directly on part 100.
In contrast to the COM-based specifications, the UA specifications are not pure Application specifications. They describe typically UA internal mechanisms, which get handled through the communication stack and are normally only of interest for those that port a stack to a specific target or those that want to implement their own UA stack.
The OPC UA Application Developers code against the OPC UA API and therefore mainly use API documentation. Nevertheless, part 3, 4, and 5 may be of interest for Application Developers.