Ignition OPC UA Integrations with OnPing

December 17, 2021 

This guide outlines the steps to configure an Ignition OPC UA Server, create a client in OnPing using built in MES features, and routinely poll tags from the server. The principles in this guide apply to any OPC UA server using OnPing.

For more information about OPC UA in Ignition, refer to the Ignition Documentation  –  https://docs.inductiveautomation.com/display/DOC80/OPC+UA

Server Configuration Instructions

  • Navigate to your Ignition Gateway.

Before we can connect and poll data from the server, we need to configure the authentication and simulate a device to poll.

OPC-UA Module – Confirm Module Installation 

1. From the Gateway webpage, go to Config.

2. At the top, select System > Modules.

3. Find OPC-UA and ensure it’s installed and running.

Look for the new OPC-UA module. If it is not installed, scroll to the bottom of the page and click Install or Upgrade a Module and follow the instructions to install the module. 

If the status is not “Running”, use troubleshooting documentation.

Endpoint and Authentication

 For basic authentication:

1. From the Gateway webpage, go to Config.

2. Scroll down and select OPC UA > Server Settings.

3. The defaults for Bind Port, Bind Addresses, and Endpoint Addresses are fine.

4. Change the Security Policies to None.

5. Click Anonymous Access Allowed.

6. Save the configuration with the Save Changes button at the bottom. The window will refresh with a banner that says Successfully updated OpcUaServerSettings.

Simulating Data

In order to create some dynamic data to test with, we’ll add a generic device simulator to read tags from.

1. From the Gateway webpage, go to Config.

2. Scroll down and select OPC UA > Device Connections.

3. Click on Create new Device.

4. Select Programmable Device Simulator and click Next.

5. Give the device a name (e.g. GenSim) and click Create New Device.

6.  The window will refresh. If successful, your device will show a “Running” status.  Now set the program for the simulator by clicking More > edit program.

7. Load the Generic Program from the Load Program dropdown and click the Load Simulator Program button.

   *OPTIONAL* You may click Add Instruction to add your own generated tags.

8. Once you’re satisfied with your instructions, click the Save Program button at the bottom of the screen.

Client Creation 

With the server configured, we can create a client to poll tags in OnPing.

Create Location

1. Go to the [ OPC UA Location Add Screen]

(https://onping.plowtech.net/v3/opc/add)

2. Click Add Device

3. Fill in the appropriate information for configuring the client.

  • Name: Give a descriptive name (e.g. Ignition Client).
  • Lumberjack: Choose the Lumberjack for this client to exist on by IP       Address/Serial Number.
  • Lumberjack Port: The port should remain the default 13170.
  • OPC UA Server Endpoint: The endpoint should be opc.tcp://localhost:port, using your specific localhost and port (62541) from the Endpoint and Authentication step.
  • Use Login Credential: Since we configured the server to allow anonymous access, leave this box unchecked.
  • Security Policy: Use the dropdown to select None.
  • Use Certificate: Since our Security Policy is None, we don’t need a certificate, so leave this box unchecked.
  • Polling Frequency: Set this field to the frequency at which you want to poll data.
  • Number of Retries: Set this field to the number of times the client should attempt to connect to the server before giving up.
  • Local Only: Checking this box will prevent the Lumberjack from sending time value pairs to OnPing.

This means only metadata for the parameters (PID, Description, etc.) will appear in OnPing 

The time value pairs will still be viewable in the OPC UA Widget

  • Company: The company the Location should belong to.
  • Site: The site the Location should belong to.
  • Group: Which group has permission to access this Location.
  • Latitude/Longitude: Optional coordinates for the Location.

4. Click Save. A green banner should appear indicating the Location was saved successfully.

Getting Parameter Info

In order to create an OPC UA parameter in OnPing, you must know the Namespace Index, the Node ID Type, and the Node ID. The simplest way to find these for a tag in Ignition is to use the OPC Quick Client.

1. From the Gateway webpage, go to Config.

2. Scroll down and select OPC Client > OPC Quick Client.

3. In the file navigator, find the tag you want to poll and click [r] to read it.

4. A text box will appear at the top with all the information you need for the tag.

  •   The Namespace Index is indicated by ns=#.
  •   The Node ID Type is indicated by the letter after the Namespace Index.
  •    s – String
  •    i – Number
  •    g – GUID
  •    b – Bytestring
  •   The actual Node ID is the identifier following the Node ID Type.

Example One: CurrentTime. Uses Namespace Index: 0, Node ID Type: Number, and Node ID: 2258.

Example Two: ReadOnlyBoolean1. Uses Namespace Index: 1, Node ID Type: String, and Node ID: [GenSim]_Meta:ReadOnly/ReadOnlyBoolean1.

Add Parameters

In your OnPing dashboard, go to your OPC UA Widget.

1. Go to the Location you created by selecting the appropriate Company :> Site :> Location

2. For this demonstration, we will make three parameters. Click the + 1 Parameter button three times

3. Fill in the appropriate information for creating the parameters.

  • Description: A descriptive name for the parameter (e.g. Read Only Boolean).
  • NS Index: The Namespace Index obtained from Ignition.
  • Node ID Type: Select the correct type from the dropdown.
  • Node ID: The Node ID obtained from Ignition.
  • Writable: Check this box if you want the parameter to be writable from correct OnPing.

NOTE: Writable from OnPing does not mean writable in the OPC UA Server.  Write requests to read only parameters will fail.

4. Click Save in the top right.

The parameters should begin polling. After waiting for the Polling Frequency time to elapse, clicking Refresh in the top right will update the parameters with current values and timestamps. You can also write to writable parameters using the dedicated Write button next to the value input, or the Write All button in the top right if you need to write multiple values at once.

Conclusion

You should now be familiar with how to:

  1. Configure an OPC UA Server in Ignition 
  2. Create a configured OPC UA client Location in OnPing
  3. Add parameters to that client Location in order to poll/write the tags in the Server.

 While this guide focuses on Ignition users, you can follow these steps for any OPC UA Server regardless of platform as long as you know the Endpoint, Authentication, and tag Identifiers .