We’ve been working with the OPC software interoperability standards since 1996, and it’s easy to forget that others who are new to this space often find the whole discussion around the OPC standard and all the different standards confusing.
In this blog post, I’ve invited John Weber, our founder, to join me to discuss some of the most common questions we hear from people in an attempt to hopefully remove the mystery for you.
What does the OPC acronym stand for?
John: Ask a veteran of OPC this and they will laugh, because they know there have been many meanings! In classic engineering techie fashion, the original meaning was based on very software programmer speak: OLE for Process Control. OLE or Object Linking and Embedding, was a fundamental early building block of Windows that allowed applications to share complex information between them. I’ll show my age here – I remember the first demos of Windows 3.0 where people were embedding Excel spreadsheets into Microsoft Word documents and how much of a big deal it was to update the spreadsheet, open Word, and the document updated. The original OPC standards derived from that technology and COM or the Windows Component Object Model.
Since then we’ve heard OPC stand for Open Productive Communications, but today the official OPC Foundation meaning is Open Platform Communications. The goal remains the same: Eliminate barriers and obstacles to interoperability between automation software and hardware platforms to give users a choice.
What’s the difference between an OPC client and OPC server?
Win: OPC clients request data and sometimes also want to write data. Servers respond to the requests of clients and provide data or accept their writes, if allowed. In the simplest form, that’s it.
Think of an OPC Server like a protocol converter, OPC Servers talk to a device or devices using the specialized protocols of the devices, and then provide access to that data using the standardized formats defined by the OPC Classic and OPC UA specifications. Typically an OPC Server doesn’t do anything until an OPC client request to read or write data. Some OPC servers can be configured to poll data from devices even in the absence of client requests. This is typically done to allow an OPC server to have current data in its internal cache and ready to go when a client requests it, but comes at the price of generating communications traffic that may not be required. Many OPC servers provide flexibility for the user to configure the behavior to suit their application needs.
Why do I need OPC servers if my control hardware vendor says they support OPC?
Win: Welcome to the evolving world of OPC. When hardware suppliers say they support OPC, they often aren’t meaning they have embedded an OPC server into their hardware directly. What they mean is that they have OPC server software that runs on a Windows based computer somewhere that talks to their hardware and exposes data using one or more of the OPC standards. Also for some hardware suppliers, there may be additional licensing fees to enable this OPC server functionality. It sounds better in marketing for them to just say “we support OPC”, but we do hear often from users that they find this confusing. Always clarify what your vendor says.
Now some vendors are beginning to leverage the multi-platform capabilities and embed OPC UA servers directly into their PLCs. This can be quite handy if your HMI or SCADA software supports OPC UA. If your client applications don’t support OPC UA, there are OPC Gateway applications that can help you bridge from OPC UA to DA.
To learn the answers to these other 7 questions and 2 bonus questions, please enter your email below
- Do OPC servers have to run on Server class computers and operating systems?
- How can 2 OPC servers talk to each other? How can two OPC clients talk to each other?
- Why so many standards? DA, A&E, HDA, UA – seems like alphabet soup?
- What’s OPC A&E?
- What’s OPC HDA?
- Why OPC UA?
- Can OPC UA talk to OPC DA and vice versa?
- Can OPC DA 2 and DA 3 clients and servers talk to each other?
- What are OPC Data Quality and TImestamps all about?