OPC UA
OPC Specification​
Open Process Connectivity (OPC) is a standard for exchanging information between hardware and software through specialized drivers. It’s used to connect devices like PLCs, sensors, gauges, and databases. OPC is maintained by the OPC Foundation, a global organization focused on ensuring interoperability in industrial systems.
The original OPC specifications were based on Microsoft DCOM and included separate specs for Data Access (OPC-DA), Alarms and Events (A&E), and Historical Data Access (HDA). These were later consolidated into a platform-independent specification, OPC Unified Architecture (OPC UA), which uses modern networking standards like TCP/IP.
OPC UA in Ignition​
OPC UA is the primary data access standard used in Ignition. With the OPC UA module installed, Ignition can function as both an OPC UA server and client. This lets you connect to PLCs and other devices, and share data with other Ignition modules or external OPC UA clients.
Ignition also includes a built-in OPC UA client by default, even without the module. This allows the Gateway to connect to third party OPC UA servers that follow the specification. As the latest revision of the OPC standard, OPC UA provides a platform and vendor neutral way to transfer industrial data. It plays a central role in the Gateway and supports communication across a wide range of systems.
Ignition supports any number of connections to OPC UA servers from compliant manufacturers. Once connected, this data can be used throughout the system to drive visualization, alarms, logic, and more.
Device and server connections are configured on the Gateway under Connections.
Distributed Systems with OPC UA​
Because OPC UA is built on TCP/IP and supports encryption, it works across networks and through firewalls. This makes it ideal for building distributed systems where remote sites collect data and report back to a central location. For instance, a remote Gateway can gather PLC data and securely forward it to a central Gateway for storage and visualization.
In a typical scenario, a central office might be connected to multiple remote facilities through a VPN. Each remote site could run a lightweight Ignition installation with just the OPC UA module, collecting local device data and sending it upstream. The central Gateway would then store the incoming data in a database, making it accessible for visualization through the Perspective or Vision modules or any external application that can query the database. This architecture keeps system costs low while enabling centralized data management across the organization.
OPC Servers and Clients​
In OPC terminology, there are two primary roles:
- An OPC server provides access to data, such as realtime values from PLCs or sensors.
- An OPC client connects to a server to read or write data, monitor changes, or interact with exposed nodes.
Ignition as an OPC Client​
Ignition inherently includes OPC UA client functionality, even without the OPC UA module installed. It can connect to external OPC UA servers, such as:
- Third party device servers (e.g., Kepware, Unified Automation Demo Server)
- Another Ignition Gateway’s OPC UA server
- Software gateways translating protocols to OPC UA
Once connected, you can browse the server’s address space and create OPC tags in the Designer. These tags subscribe to live data and can be used throughout Ignition for visualization, scripting, history, alarms, and more.
Ignition as an OPC Server​
When the OPC UA module is installed, Ignition exposes its own built-in OPC UA server. This server provides access to data from:
- Connected devices via installed drivers (e.g., Allen-Bradley, Modbus)
- Memory tags
- Expression tags
- Historical tags
External OPC UA clients can subscribe to tag data in Ignition. For example:
- SCADA systems can pull live data from Ignition
- Other Gateways can consume tag values over the network
- Tools like UaExpert can monitor and test Ignition’s tag structure
You can view and configure connections to external clients under Connections > OPC > Connections on the Gateway.
Bridging with OPC-DA (COM)​
To work with devices or software that use OPC-DA (the DCOM-based standard), install the OPC COM module. This allows Ignition to act as a bridge between OPC-DA and OPC UA.
A common use case is connecting to Windows-based OPC servers and exposing their data in Ignition.
DCOM-based communication is difficult to configure and insecure over networks. It is recommended to use OPC UA whenever possible.
OPC UA 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.
Connecting with OPC UA​
Connecting to a Device​
To read data from a PLC or industrial device, you will first need to set up a device connection using one of the supported OPC UA drivers. Each driver is designed for a specific protocol or device family, and once configured, the data becomes available to tags, bindings, and scripts throughout your project.
To connect to a supported device:
Go to Connections > Devices > Connections on the Gateway.
Click Create Device Connection.
Choose a driver from the list of available drivers.
Fill in the connection details like IP address or slot number.
Click Create Device Connection to finish configuration.
Once connected, your device appears on the Connections page with its current status.
Device Types​
See the device types below for more information on connecting to your specific device:
- Allen-Bradley Ethernet
- Modbus
- Siemens
- UDP and TCP Driver
- DNP3
- Omron NJ Driver
- Omron FINS Driver
- Programmable Device Simulator
- BACnet
- IEC 61850 Driver
- Mitsubishi TCP Driver
Connecting to a Server​
If you want Ignition to act as an OPC UA client and pull data from another server, you can configure a connection to that server directly on the Gateway. This is useful for integrating third party systems or connecting to another Ignition Gateway running as an OPC UA server.
To connect Ignition to another OPC UA server:
- Go to Connections > OPC > Connections.
- Click Create OPC Connection.
- Enter the server endpoint, security settings, and other details.
- Test the connection and save.
See the OPC UA Client Connection Settings for more information.
Connecting to an OPC COM Server​
To connect to an older OPC DA server that uses DCOM, you will need the OPC COM module. Ignition supports these legacy systems using the OPC-COM Tunnel Driver, which bridges the gap between OPC DA and the OPC UA stack.
To connect to an OPC DA server:
- Install the OPC COM module.
- Go to Connections > OPC > Connections.
- Use the OPC-COM Tunnel Driver to bridge the connection.
See the OPC COM page for details.
Viewing OPC UA Server Details​
Viewing Server Diagnostics​
To view server metrics:
Click the three dots menu next to the connection and select View Details.
Use the Server Diagnostics tab on the Details panel to view server status, build info, and server diagnostics.
Click Enable Server Diagnostics if you want to begin tracking session diagnostics. A View Session Diagnostics option will appear.
Click View Session Diagnostics to inspect session and subscription activity.
Viewing Client Diagnostics​
To monitor subscriptions and diagnostics:
Go to Connections > OPC > Connections.
Click the three dots menu next to the connection and select View Details.
Use the Client Diagnostics tab on the Details panel to view subscription groups, publishing intervals, and item statuses.
Expand a group to see the monitored node details, including:
- Node ID
- Sampling intervals
- Queue sizes
- Status code
Get PLC Data​
Before you can bring PLC data into Ignition, you must have a connection created with a device that supports subscriptions. Some drivers, like Modbus and Siemens, may require you to manually configure tags instead of browsing. This means you will not see live values in the OPC Browser and will need to manually create each tag with the correct OPC Item Path based on the device's address syntax. Once you have your device connection configured, you can bring PLC data into Ignition using the Designer.
Launch the Designer and open your project.
From the Tag Browser, click the plus icon and select Browse Devices.
On the Connected Devices popup, navigate the OPC Browser on the left to find a live data point from your device.
Select any number of tags and click the arrow to stage them for import.
Click OK to update the Tag Browser with the imported tags.
The tag appears in your Tag Browser and begins updating in real time. This means Ignition has subscribed to the data point and is now receiving updates from the device on a regular interval, based on the tag group configuration.
If a device doesn’t support browsing (like Modbus or Siemens), create a tag manually and configure the OPC Item Path. See our driver documentation for syntax.