One of the easier OPC UA concepts to understand is OPC UA profiles. Profiles are simply sets of functionality that provide the ability to scale OPC UA from very small devices to very large devices. There is a profile for constrained resources devices. Every profile builds on the constrained device profile and requires more resources and provides more functionality. The most functionally rich profile requires the most resources.
Profiles in OPC UA are unlike profiles in EtherNet/IP and Profinet IO. Those profiles are more for specific classes of devices. EtherNet/IP has a profile (object library) for AC motor controllers so that all AC motor controllers would look identical from the network point of view. Profinet IO has a similar mechanism to define the functionality of a simple device.
Functionality in OPC UA is organized into conformance units. A conformance unit is a small, testable piece of functionality. The Binary Encoding service is an easy to understand example of a conformance unit. If a device supports the Binary Encoding conformance unit, the test for the Binary Encoding conformance unit is added to the device test for OPC UA conformance. A set of conformance units define a profile, but conformance units are not specific to a particular profile. You will find the same conformance unit, Binary Encoding for example, in multiple profiles.
There are four profiles defined in OPC UA:
- Nano – Support for the Core Server, UA TCP communications, and UA-Binary encoding
- Micro – Support for Nano plus a limited Publisher/Subscriber functionality
- Embedded UA – Support for Micro plus Security and a more expansive Publisher/Subscriber functionality
- Standard UA – Support for Embedded UA plus a full implementation of Publisher/Subscriber and User Tokens for identification
These profiles are a great shorthand for understanding what a device requires. It’s easy for a user to look at a datasheet and see “Embedded UA” and know exactly what that server supports.
Unfortunately, these profiles were created when the specification for OPC UA was created. They were a “shot in the dark” as to what would make sense when the technology was deployed. In general they are pretty good and pretty accurate.
Today, it appears that these profiles may not actually be as useful as we thought when the technology was conceived. Users seem to be more concerned with individual pieces of functionality – which conformance units are supported – than what profile label is on the device.
For device vendors, the conformance units supported are extremely important. They may, for example, just need Nano support and the full implementation of Publisher/Subscriber. Or they want Nano plus security. Or User Tokens for identification with limited Publisher/Subscriber and security. Each of these configurations requires a different set of resources. A vendor must balance what they are going to deliver to the market with the resources available on their platform.
Another component of this discussion is the new Pub/Sub technology. When Pub/Sub is released, how will it fit into the conformance unit list? I don’t know that this has been decided. Many users will want Pub/Sub with other conformance units. How can anyone know what the right combination of conformance units is?
I suspect that the future is much more like that – users looking at a device’s conformance units and deciding if they can use that device in their application. OPC UA devices will be offered as a buffet – you’ll take a few ribs, the potato salad, and the broccoli. I would expect that the whole profile labeling thing will disappear in the future.
For more information on how OPC UA can be incorporated into your application or device, send an email to firstname.lastname@example.org or contact the RTA Sales Team for more information. (262-436-9299).
P.S. If you’re new to OPC UA, it’s time to get familiar with this technology. A good place to begin is “OPC UA – Unified Architecture: The Everyman’s Guide to the Most Important Information Technology in Industrial Automation.” This book provides a deep dive into a lot of the technology behind OPC UA.