In September IDC Technologies kindly provided SA Instrumentation and Control with the opportunity to attend an OPC course. Taking our cue from this we thought it was time to raise the profile of OPC.
What is OPC?
The OPC Foundation describes OPC as 'open connectivity via open standards'. It is all about facilitating interoperability between systems through the adoption and implementation of standards.
The promise of OPC is that system integrators and end-users can be freed of the problems of interfacing disparate systems that use proprietary communication protocols without having to worry about driver compatibility.
This means that users can combine best-of-breed or suited to purpose technologies from different vendors when designing their system solution: controllers from vendor A, an event and alarm system from vendor B, a historian from vendor C, a batch control system from vendor D … and all in the knowledge that the systems will communicate efficiently through a universal common standard.
The benefits of this approach are shorter project cycles, lower costs and simplified maintenance.
Technology
The original OPC, now called OPC Data Access, was based on Microsoft’s COM and DCOM model. This model provided all the necessary features for applications on the same or different PCs to discover and interact with each other. OPC DA is currently the most widely used of the OPC standards.
As Microsoft has tightened up on operating system security it has become more difficult to successfully link via DCOM – especially over WANs and between different domains. The obvious solution has been to look to XML-based messaging as a means to pass data though firewalls and for data interchange between applications and services running on differing operating systems. This led first to the introduction of OPC XML-DA and more recently to the development of a comprehensive model: OPC Unified Architecture.
Other motivators for the development of the OPC UA were Microsoft’s move from COM to Web Services as the preferred interoperability architecture; the desire for a single set of services to address the needs of OPC DA, OPC A&E, etc, and the need to run OPC on devices not using Microsoft operating systems.
Does OPC work?
At the IDC course, delegates were introduced to OPC servers and clients from various suppliers and were able to get live data from OPC Server simulators into applications like MS Excel through a range of OPC Clients.
When it came to using DCOM between various PCs on the network we quickly became aware of the difficulties in configuring Microsoft’s operating system and COM security settings. In fact, in the limited time available and the disparate technical capabilities of the delegates we were not able to consistently achieve inter-PC communications though DCOM across all the PCs on the network. However, using XML DA interfaces we were able to overcome these difficulties.
Probably one of the eye-openers for the author was the relatively high rate of data transfers that are achievable between OPC Servers and Clients – 10 000 – 25 000 data changes per second. These are very dependent on security settings and proximity of Server and Client.
Is it an open standard?
As I am looking at implementing an OPC Client on some batch software I have been doing some background research. Should I implement an OPC DA interface? OPCB? Or pick the OPC UA solution (which is not completely out of the starting blocks)?
I thought that the best approach would be to go to the OPC Foundation website, download the various specifications and use these to inform my decision. So off I went to www.opcfoundation.org, selected Downloads|Specifications only to be told, 'You cannot access the download because you are not a member of the OPC Foundation'.
The availability of many of the resources (sample code and SDKs) is limited to Corporate Members (annual membership fee US$2500–$15 000) and availability of the standards is limited to Members (annual membership fee US$1500–$13 500).
Of course, it costs money to develop standards and the technology behind those standards, and there needs to be a way of funding that investment, but is this the right model for an 'open standard?'
© Technews Publishing (Pty) Ltd | All Rights Reserved