I’m sure that I am probably alone in this, but I find new car shopping difficult. If I see a car I like, I’ll start researching it and find all sorts of derivations of the base car. There’s an MX, X, Super T, and three other models, and it always seems difficult to determine what the difference is. I’m not a guy that’s going to spend hours looking over reports and reviews and customer comments and all that, I just like this particular car and I want one. But deciding which one is what I find difficult.
We have a similar situation with OPC UA. If you want to implement OPC UA, there are a massive number of features that you can implement. There are security options, different transports and different ways of moving data. It’s enough to make you long for the days of simplicity, but no, we’re not going back to MODBUS or even EtherNet/IP. We’re now in the OPC UA world and we have to deal with it.
To simplify things a bit, the OPC UA designers classified features into some categories that they hoped would simplify how OPC UA vendors approach implementation. They created four basic profiles or feature lists:
- Nano Embedded – The most minimal set of features for low resourced devices
- Micro Embedded – Nano plus some ability for the device to publish data to clients
- Embedded – Micro Embedded with more publishing capabilities, method calls and security
- Standard – The whole enchilada: everything and anything that OPC UA supports for very high resourced devices.
In this article, I’d like to take a closer look at the Micro Embedded profile and see what it has and what it doesn’t have.
What it includes:
- Monitored Items – a Monitored Item is a source of information. It can be some Event, a data change to a variable or something called an aggregated value. Clients identify what they want to be monitored by creating monitored items. All Micro Embedded devices must support at least two monitored items.
- Subscriptions – The ability for a Client device to have Monitored Items published to it. This ability to subscribe and have data published to it is something that’s important as it saves the Client device from having to continuously poll a device to see if data has changed. Note that in the Micro Embedded profile, the device is required to support at least one subscription.
- Publish Request Queue – As the sampling of the data may generate many notices to publish, there is a Publish Request Queue that contains these notices. The Micro Embedded profile is required to maintain a queue of at least two entries (it can support more).
Note that the numbers cited are no limits, they are minimums. There is no reason a Micro Embedded OPC UA Server can’t support 200 monitored items, 100 subscriptions, and a 1000 entry publish request queue. If the device contains the resources to support more than the minimum, it can.
Now let’s take a look at what’s specifically not included in the Micro Embedded OPC UA Profile:
- Methods – Methods, the ability for a Client device to command the Server to execute some logic, are not supported in the Micro Embedded Server.
- Security – There is no security in the Micro Embedded Server.
- Base Info Type System – typing is not supported.
The Micro Embedded Server is a good choice for smaller devices that want to support some of the advanced capabilities of OPC UA but don’t have the resources to support everything or a large number of the features.
Just like car shopping, when you use the Micro Embedded Server there is some work to be done identifying what to support and how to support it.
To learn more about our OPC UA Source Code, click here.