OPC Specification
Open Process Connectivity (OPC) is a technology standard used to exchange information between hardware and software through specialized drivers. Information is exchanged between items such as programmable logic controllers (PLCs), gauges, and databases. OPC is published and maintained by the OPC Foundation, an organization comprised of hundreds of member companies that strives to ensure interoperability on the plant floor and beyond.
The original OPC specifications used Microsoft Distributed Component Object Model (DCOM) technology to provide a uniform way for industrial applications to share data. There were several separate specifications that provided functions such as Data Access (OPC-DA), Alarms and Events (A&E), and Historical data (HDA).
DCOM always proved difficult to work with, and by 2004 it was clear that a more modern solution was needed. Therefore, a new specification was developed that used common networking principles (like TCP/IP) instead of DCOM, was platform independent, and combined the various separate specifications into one: Open Process Connectivity Unified Architecture (OPC UA).
OPC UA
OPC UA is the leading industrial standard for platform and vendor-neutral data access. Connecting any PLC device to Ignition is easy with OPC UA. Device connections are done over the Ethernet for those devices that have an Ignition device driver. The OPC UA Module makes Ignition act as an OPC UA server, serving data collected by its built in drivers to other Ignition modules, as well as to third-party OPC UA clients.
OPC UA is the latest revision of the OPC specification, which offers platform and vendor neutral transfer and use of industrial data. The specification plays a crucial role in Ignition, and is the primary data access specification used in the Gateway. Ignition supports connections to any number of OPC UA servers created by any manufacturer, provided that they are compliant to the specification. The data is then used to drive all aspects of the system. Creating connections to OPC UA servers is described below in Connecting with OPC UA.
Distributed Systems with OPC UA
OPC UA breaks down boundaries and enables free data flow. Using standard TCP/IP instead of legacy DCOM, OPC UA makes it easy to securely transfer data between networks and though firewalls. All OPC UA connections are based on the same technology, which means that a connection to your local machine is not entirely different than a connection to a machine that's far away. This enables the creation of a highly distributed system, and in combination with other features of Ignition can lead to more connected enterprises.
For example, imagine a corporate network with an office in the center, and remote processes connected through a VPN, which would pass through a variety of connections. Each remote site could have an Ignition installation running only an OPC UA module that would report data back to a central facility and record it in a database. The overall system cost would be very low. The data could be managed centrally in a single location, and then made available to all interested parties through the Vision module or any application that could access the database.
Servers and Clients
When discussing OPC (as the specifications are often called collectively), it is common to hear about OPC servers and OPC clients. An OPC server is a piece of software that implements the OPC interface and provides data. An OPC client is an application which connects to an OPC server and uses the specification to retrieve and work with data.
The Ignition platform inherently offers OPC UA client functionality. Even with no modules installed, the Gateway can connect to any compliant OPC UA server and work with data. With the addition of the OPC UA module, Ignition becomes an OPC server as well, hosting device drivers that read and publish data.
The OPC COM module is available to provide client access to older, DCOM based, OPC-DA servers.
Technology
The OPC UA specification offers a wide range of flexibility in choosing technologies, from the transport mechanism, to the way data is encoded, to the encryption used to secure the data. Ignition supports the UA/TCP transport with the UA/Binary encoding scheme for maximum performance.
Additionally, Ignition supports all of the common encryption schemes. This means that Ignition connects to OPC UA servers (and allows connections from clients) over TCP/IP using encryption, and sends data by first encoding it into an efficient format defined by the OPC UA specification. This is in contrast to other schemes outlined in the specification, which can use web services and XML encoding that are not as efficient.