Skip to content

OPC UA Client

The OPC UA Client connects to a remote Open Platform Communications Unified Architecture (OPC UA) server and polls the nodes you list into Profinity tags. Use it to bring values from a programmable logic controller (PLC), a supervisory control and data acquisition (SCADA) system or another OPC UA server into Profinity. Add one client for each server you want to read. The OPC UA plugin also provides the OPC UA Server, and the two components can be used on their own or together.

For a Siemens S7-1200 or S7-1500, the OPC UA Client against the PLC's built-in OPC UA server lets you read symbolic tags by name, which the S7 component cannot do.

flowchart LR
    Source["Remote OPC UA server"] --> Client["OPC UA Client"] --> Tags
The OPC UA Client polls nodes from a remote OPC UA server into Profinity tags

Licence required

The OPC UA plugin requires the Industrial Protocols licensed component group, and Install an industrial protocol plugin explains how to obtain, install, and licence it.

Add the client to your Profile from the Industrial Protocols group in the component catalogue, as described in How to add a component to your profile. You can change the settings in the Settings section later from the component's Change Settings menu action.

Settings

Setting Description
Name The name of the component. Must be unique within the profile.
Endpoint URL The address of the server. Required, and must start with opc.tcp://. The default is opc.tcp://127.0.0.1:4840.
Use security When off (the default), the client connects without message security. Turn it on to connect to an endpoint that uses security (message signing or encryption) when the server offers one.
Username An optional user name. Leave it empty to connect anonymously.
Password The password for the user name. It is stored encrypted.
Trust all server certificates Skips validation of the server's certificate. Off by default. Turn it on only when connecting to a trusted endpoint that uses a self-signed certificate.
Poll interval (ms) How often the node map is read, in milliseconds. Between 50 and 600000. The default is 1000.
Request timeout (ms) How long Profinity waits for the server to answer a request, in milliseconds. Between 50 and 60000. The default is 5000.
Reconnect delay (ms) How long Profinity waits between connection attempts, in milliseconds. Between 0 and 600000. The default is 2000.
Auto Connect Connects to the server automatically when the profile is loaded. Off by default, as described in Connections and reconnecting.

Profinity keeps trying to connect when the server is down at start and after a connection is lost, as described in Connections and reconnecting.

Trusting certificates

Trust all server certificates removes the check that proves you are talking to the server you intended. Use it only on a trusted network, and where you can, place the server's certificate in the trusted folder instead, as described in OPC UA certificates.

Point map

The point map lists the OPC UA nodes to read. Each row becomes one tag.

Column Description
Name The name of the tag, published under the component's Points tags. Use a unique name for each row.
NodeId The identifier of the node on the server, for example ns=2;s=Temp.
Writable Allows Profinity to write the node from the tag. Off by default, so every node is read-only unless you turn this on.
Unit An optional unit label for the tag.

Dashboard

The component has a dashboard showing its STATUS and whether it is CONNECTED to the server. It also shows the number of values read (RECEIVED) and values written (SENT). The client has a Connect / Disconnect menu action. Viewing the dashboard requires the Security administration permission, described under Roles and permissions.

Values polled by the client behave like any other tag, so they can be shown on a dashboard, logged, watched by a rule, or read by a script.

To check that the client works, look for the status Connected, CONNECTED true, and tags under the component's Points tags with Good quality and a changing value.

If a point shows bad quality

Each point's tag is created as soon as its row exists and shows Unavailable quality until the first poll reads it. After that a successful read gives Good quality, and a node that cannot be read is marked as Bad quality. Check the usual causes in this table before reading the Log for the reason.

Cause Fix
The server does not have the NodeId. Correct the point map row to a node that exists on the server.
The Endpoint URL does not start with opc.tcp://, or cannot be reached. Enter the server's address starting with opc.tcp://, and check that Profinity can reach it.
The server certificate is in the rejected folder. Move the certificate into trusted once you have confirmed it, as described in OPC UA certificates.

Refer to Connections and reconnecting for how the Log records failed reads and recovery.