All of us have our specialties; technologies, sports, cars, judo or something else where we’re pretty much an expert. For me, I’ve worked on moving data around manufacturing machines for over 30 years now. I started in the days where we had 300, 1200 and 2400 bits per second and now work with systems that have gigahertz baud rates. It’s all second nature to me.
When you have that expertise it’s often hard to put yourself in the position of the novice and anticipate the questions that a novice might ask. That hit me the other day when one of our engineering interns asked me about the difference between EtherNet/IP and OPC UA. Those things are so fundamentally different that it’s a topic that I wouldn’t normally even think about addressing but that’s a good reason to write this article.
1. Both use standard Ethernet and TCP/IP. All you need is standard Ethernet to implement either one of them.
2. Both classify devices as either a Client or a Server, but EtherNet/IP uses the terms Scanner for the Client device and Adapter for the Server device.
3. Clients make connections to Servers in both technologies.
4. With the new CIP Security for EtherNet/IP, it now uses Public Key Infrastructure (PKI) for securing communications between the Client and Server devices just like OPC UA does.
5. Both technologies represent data as attributes grouped in objects. EtherNet/IP represents data values as individual attributes classified with other similar attributes in an object. OPC UA is more sophisticated in that the Value attribute is one of many attributes in a node. Nodes are grouped within objects in OPC UA.
6. Both technologies are certifiable standards with certification centers that validate the operation of OPC UA and EtherNet/IP devices.
Those similarities are true but there are more differences between OPC UA and EtherNet/IP than there are similarities.
1. OPC UA is more of an architecture than a protocol. OPC UA is an architecture that systematizes how to model data, model systems, model machines and model entire plants. It is a technology that allows users to customize how data is organized and how information about that data is reported. EtherNet/IP is truly simply a protocol that systematizes how data moves between clients and servers.
2. OPC UA integrates much better (but not perfectly) with IT systems and the Cloud. It can traverse firewalls and easily connect remote systems. EtherNet/IP is much more suitable for local processing on a machine.
3. OPC UA Provides A True Information Model providing the ability of an Object Node to have references to other Object Nodes which further references other Object Nodes to an unlimited degree. This provides the capability to form hierarchical relationships that represent systems, processes, and information – an Information Model. EtherNet/IP uses a flat address space that really isn’t much of an object model.
4. An OPC UA Server implements a much more sophisticated set of services than EtherNet/IP. It announces its availability to interested Client devices, it provides a list of its capabilities and functionality to interested Clients and it provides notifications of different kinds of events.
5. OPC UA offers the ability for Client to executes small pieces of logic in Servers called methods. It provides address space information in bulk to Clients (Query service), it provides browsing services so that a Client can walk through its address space, and it can allow Clients to modify the node structure of its address space. It can do a lot! And most of that function can’t be found in other automation technologies.
EtherNet/IP and OPC UA are different technologies serving different purposes. EtherNet/IP servers to move data from I/O devices to programmable controllers. OPC UA servers a much broader market of applications and will stand the test of time better than EtherNet/IP.