Description
The CODESYS OPC UA Client can be used to connect to any OPC UA servers and exchange data with them. The client provides an API to connect to an OPC UA server and execute the different kind of OPC UA requests.
The OPC UA Client API supports the following services:
Discovery:
-
GetEndpoints
-
FindServers
-
FindServersOnNetwork
Session:
-
CreateSession
-
ActivateSession
-
DeleteSession
View:
-
Browse
-
BrowserNext
-
RegisterNodes
-
UnregisterNodes
-
TranslateBrowsePathsToNodeIds
Attribute:
-
Read
-
Write
Subscription:
-
CreateSubscription
-
ModifySubscription
-
SetPublishing
-
Publish (Handled by the Runtime itself)
-
DeleteSubscription
MonitoredItems:
-
The client is able to handle both types of monitored items (event and sampling). The only difference in handling is the callbacks that are called for both types.
-
CreateMonitoredItems
-
DeleteMonitoredItems
-
ModifyMonitoredItems
-
SetMonitoringMode
Security: The OPC UA client uses the existing security related runtime interfaces to handle the encryption algorithms and certificates. The client registers itself to the certificate store for easy configuration of the client certificates.
SecurityProfiles:
-
None
-
Basic256Sha256 (Sign, Sign_and_Encrypt)
-
Aes128_Sha256_RsaOaep
-
Aes256_Sha256_RsaPss
User token policy:
-
Anonymouse
-
Username
An example demonstrating how to use the API is available in the CODESYS Store: ‘OPC UA Client Example’.
Additionally it is possible to connect the OPC UA Client to an OPC UA Server within the CODESYS IDE via the “Data Source Manager” object. OPC UA Servers can be added online or offline.
Online: Using the IP adress the client connects to the server and detects the existing variables and types. The user can select the objects to be browsed.
Offline: Using an OPC UA information model file the client reads the variables and types from the information model. A connection to the server is not required.
Also see [CODESYS Online Help](https://content.helpme-codesys.com/en/CODESYS%20Communication/_cds_obj_data_source_communication_opc_ua_server.html).

