How to Set Up a Logix 5000 PLC as an OPC UA Server

Last updated:

February 26, 2025

Since firmware version 36, CompactLogix and ControlLogix PLCs support communication with the OPC UA communication protocol. This is a vendor-agnostic protocol that is becoming popular in the automation industry.

Firmware version 37 has made it even easier to work with OPC UA.

Here's a quick guide to configuring a Logix 5000 PLC as an OPC UA server and retrieving data from a Logix 5000 PLC with UA Expert, a free OPC UA client.

Enable OPC UA

In the Controller Properties dialog, enable OPC UA using the checkbox on the OPC UA tab.

Note that before firmware version 37, you had to enable OPC UA using a MSG instruction. You can find more details on how to enable OPC UA using a MSG instruction in Rockwell Automation's Tech Note QA67231 here.

While you have the Controller Properties dialog open, you can enable the controller web pages in the Security tab. We will use these pages later for OPC UA diagnostics.

Configure Tags

You can configure which tags are exposed via the OPC UA server on a per tag basis.

To configure the OPC UA access level of tags, open the tags editor and adjust the value in the OPC UA Access column. The three options are Read/Write, Read Only, and None.

Check Diagnostics

The Controller Web Pages includes diagnostics for the PLC's OPC UA server.

To access these diagnostics, enable the Controller Web Pages in the Controller Properties dialog and then navigate to the controller's IP address in a browser. The OPC UA diagnostics are available in the Diagnostics folder on the OPC Unified Architecture Diagnostics page.

This page shows the maximum number of OPC UA nodes that are available for a controller and the number of nodes used by the controller. Different controllers have different OPC UA capacities.

Right now, I am using one node because one tag in the project is configured with OPC UA Read/Write access. Each tag counts as a node.

Browse with Client

Using an OPC UA client like UA Expert, add the PLC's IP address as a server. The server address is: opc.tcp://<PLC IP Address>:4840.

Once you have added the server, you can browse for tags that have been configured for OPC UA access. In the image below, you can see that I can read the value of Test_DINT in the OPC UA client.

Wrap Up

In this post, I showed you how to quickly set up the embedded OPC UA server in Logix 5000 PLCs with Studio 5000 Logix Designer.

The OPC UA implementation in Logix 5000 PLCs is quite basic and doesn't support all of the security features that are available in the standard. I assume that more features will be added with each firmware release.

For now, the OPC UA capabilities in a Logix 5000 controller are very helpful for pulling data from a controller for commissioning and quick diagnostics.

Mailing List

Get new posts delivered straight to your inbox every week. No spam, unsubscribe anytime.

© Copyright Ken Bourke 2025