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