Supported functions
The TwinCAT OPC UA Client enables access to the OPC UA server directly from the real-time logic.
General functionality
OPC UA defines a wide range of functions that may not be able to be mapped 1:1 to a PLC real-time environment. The following table provides an overview of the current functionality of the TwinCAT OPC UA Client. Missing features will be delivered in the future - as usual - in the form of updates.
Feature | PLCopen function blocks | I/O Client |
---|---|---|
Polling | x | x |
Subscriptions | - | x |
Method calls | x | x |
Basic data types according to IEC61131 | x | x |
Structures | - | x |
Arrays of basic data types according to IEC61131 | x | x |
Arrays of structures | - | x |
Arrays with fixed length | x | x |
Arrays with dynamic length | - | - |
Security at transport layer with X.509 certificates (self-signed + CA) | x | x |
Security at application layer with user name/password | x | x |
Security at application layer with X.509 certificates | x | x |
Communication with None/None endpoint | x | x |
Communication with Basic128 endpoint | x | x |
Communication with Basic128Rsa15 endpoint | x | x |
Communication with Basic256 endpoint | x | x |
Communication with Basic256Sha256 endpoint | x | x |
Basic data types according to IEC61131
For the reading and writing of data, the data type of the OPC UA Node must be assigned to the TwinCAT data type (mapping). The assignment of basic data types is described in the standardized information model "PLCopen OPC UA Information Model for IEC 61131-3" and is listed below. You can apply this mapping both to the PLCopen function blocks and to the TwinCAT OPC UA I/O Client.
PLC data type | OPC UA data type |
---|---|
BOOL | Boolean |
SINT | SByte |
USINT | Byte |
INT | Int16 |
DINT | Int32 |
STRING | String |
BYTE | USint |
REAL | Float |
LREAL | Double |
UINT | UInt16 |
UDINT | UInt32 |
LINT | Int64 |
ULINT | UInt64 |
DT | DateTime |
TIME | Int64 |
LTIME | Int64 |