OPC UA
Authentication & Advanced Configuration
You can configure authentication and advanced OPC UA connection settings under
Connection → Settings (⚙).
Below is an example of a full configuration including all available fields (updated for version 2.2.2):
Example
{
"ArraySearch": true,
"DataTypeCheck": true,
"PublishInterval": 1000,
"SampleInterval": null,
"MaxNotificationsPerPublish": 65000,
"MaxMonitoredItemsPerSubscription": 1000,
"MonitoredItemQueueSize": 65000,
"AuthMode": "Basic",
"SecurityPolicy": "Sign",
"SecurityAlgorithm": "Auto",
"Username": "john.doe",
"Password": "secretpassword",
"UserCertificate": "/path/to/user_certificate.pem",
"ApplicationCertificate": "/path/to/application_certificate.pem",
"DisableServerCertificateCheck": false,
"ReconnectIfSubscriptionStopsPublishing": true
}
Properties
Below is a complete overview of all supported custom configuration properties.
General Behavior
ArraySearch (bool)
Default: true
Enables searching inside arrays to find OPC UA values.
DataTypeCheck (bool)
Default: true
Validates that the data type returned by the server matches the expected type.
Timing
PublishInterval (int, ms)
Default: 1000
Determines how frequently publish responses are sent by the OPC UA server.
SampleInterval (int?, ms)
Default: null
Sampling interval for monitored items.
Behavior:
null: use the variable’s own timer interval, or 10 ms if undefined- a numeric value: enforces a sampling interval
- can be overridden per variable
Subscription Management
MaxNotificationsPerPublish (int)
Default: 65000
Maximum number of notifications included in a single publish response.
MaxMonitoredItemsPerSubscription (int)
Default: 1000
Maximum number of monitored items allowed in a subscription.
Setting this too high may result in:
“The request could not be processed because it specified too many operations.”
MonitoredItemQueueSize (int)
Default: 65000
Maximum queue size for each monitored item.
Higher values reduce data loss during bursts but increase memory usage.
Authentication & Security
AuthMode (AuthMethod)
Default: None
Defines how the client authenticates.
Possible values:
NoneBasicCertificate
Username (string)
Used when AuthMode = Basic.
Password (string)
Used when AuthMode = Basic.
UserCertificate (string) — New in 2.2.2
Path to the user identity certificate used when:
AuthMode = Certificate
This replaces the older CertPath property and should be used for all new configurations.
CertPath (string) — Deprecated
Legacy property used for certificate-based authentication.
Replaced by UserCertificate but still supported for backward compatibility.
ApplicationCertificate (string)
Path to the application certificate, used to identify the OPC UA client application.
This is not the same as the user certificate.
Use this when the OPC UA server requires the client application to present a trusted certificate. If not defined, a self-signed certificate will be generated and stored locally.
SecurityPolicy (OpcSecurityMode)
Default: None
Possible values:
NoneSignSignAndEncrypt
Defines the security mode for OPC UA communication.
SecurityAlgorithm (OpcSecurityAlgorithm)
Default: Auto
Possible values:
AutoCustomNoneBasic128Rsa15Basic256Basic256Sha256Https
Determines the cryptographic algorithm set used alongside the SecurityPolicy.
DisableServerCertificateCheck (bool)
Default: false
If enabled, the OPC UA client does not validate the server certificate.
⚠ Warning:
This disables all trust checks. A rogue or untrusted server will be accepted.
Use only in controlled testing environments.
Reliability
ReconnectIfSubscriptionStopsPublishing (bool)
Default: true
If a subscription stops publishing and cannot restart, the client will perform a full reconnect to restore communication.
Collect Settings
OPC UA is notification-based.
We support reading:
- Primitive variables
- Arrays
- Structs
- Individual struct members
Each variable is mapped using its OPC UA nodeId.
You can view these IDs on the OPC UA server or using any OPC UA client.
| Type | Mapping Example | Output Database Field Names |
|---|---|---|
| Single variable | ns=6;s=::Test_OPC:Frame_OPC_Mach_1._02_Machine_Running | Variable name |
| Full array | ns=4;s=OpcUa.arArrayArray | Varname[0], Varname[x] |
| Full struct | ns=4;s=OpcUa.stStructStruct | Varname_Element1, Varname_ElementX |
| Single struct element | ns=4;s=OpcUa.stStructStruct.elementName | Variable name |