You may have heard the terms OPC tunnel or tunneling of OPC data before and not have known exactly what the terms meant. In this blog post, we will explain what people mean when they talk about an OPC tunnel or tunneling of OPC data. In order to explain what the terms mean, we need to first understand how OPC data is exchanged between an OPC server and an OPC client.
To transfer OPC data from an OPC DA server to an OPC DA client, a Windows technology called COM is used. Your HMI software used in your operations is an example of an OPC DA client. The OPC server is the driver that is talking to your PLCs, DCS, or other control systems.
One possible application for a remote OPC client/server architecture is when multiple remote clients need data from the same controllers. A single OPC server might be installed on a separate, centrally-accessible computer to gain efficiencies in communication by not having those multiple clients making separate duplicate calls to the control hardware for the same data. Having those remote clients using their own drivers or separate local OPC server instances for each client would unnecessarily add excess bandwidth on the control network.
If the server and client are not on the same computer, and you're using OPC DA (Data Access) technology, then Distributed COM or DCOM is used. The problem with DCOM in networked OPC DA is that it is hard to configure and, when it does work, it leaves an attack surface open on your OPC DA computers, and it does not recover well from network interruptions, and requires configuration of Windows security.
OPC tunneling was created as an easier, more secure alternative to DCOM for remote OPC connections. The word tunnel, as it relates to the use of the OPC standard for software-to-software data exchange, has a specific meaning and application. There are also subtle differences between the terms OPC tunneling and tunneling of OPC data.
- An OPC tunnel is designed to connect software applications and securely move data from many different sources, most typically moving data that originates in an OPC server software application, and is intended to be consumed in an OPC client software application. Operations technology users refer to this as “reading data”.
- OPC tunnels can also move data from OPC client software to OPC server software. Operations technology users refer to this as “writing data”.
- An OPC tunnel is designed to eliminate the issues associated with the use of DCOM technology in connecting OPC clients and servers that are not on the same computer.
- An OPC tunnel is for use in any situation where you need to connect applications on different computers, not just for situations where the computers are at totally different physical locations in the business or “remote”.
- OPC Tunneling refers to a tunneling application that moves the full OPC commands between the client and server. Tunneling of OPC data abstracts the data from the OPC function calls and focuses on moving the data. Tunneling of OPC data has certain benefits over an OPC tunnel that moves the data and the OPC commands. These benefits are discussed in the free whitepaper available below.
Essentially, tunneling of OPC data minimizes the time, effort and expense required for connecting and sharing data between different computers, whether they are next to each other, on the same network in the same building, or on the other side of the globe.
To learn more about the business impacts of not using tunneling for your OPC data, and reasons why you should seriously consider using tunneling instead of DCOM, the whitepaper “Four reasons to use tunneling for OPC data integration” is available.
Ready to try Tunneling or Want to Learn More?
In addition to our video tutorial you are welcome to download a OPC tunneler software application in trial mode and follow along with the video. You can also learn more about OPC tunneling solutions from Software Toolbox.