Datentypzuordnung TwinCAT <=> OPC UA
Die folgenden drei Tabellen geben einen Überblick über die Zuordnung von TwinCAT-Datentypen (IEC61131-3) und deren entsprechenden OPC UA Datentypen (Built-In-Types), wie sie im OPC UA Core Namespace http://opcfoundation.org/UA/ definiert sind.
|  | TwinCAT 3 Bibliothek - Tc3_OpcUa Bei der Installation des Editors via TcPkg wird die Bibliothek Tc3_OpcUa installiert. Diese enthält einige Typdefinitionen, welche in Kombination mit dem Editor genutzt werden können. | 
Die folgende Tabelle ordnet jedem TwinCAT Datentyp dessen laut PLC-Open Spezifikation zugehörigen OPC UA BaseDataType (Built-In) zu. Bitte beachten Sie, dass für den TwinCAT-Datentypen BIT kein OPC UA Datentyp existiert. Außerdem werden die TwinCAT-Spezialdatentypen gesondert behandelt.
| TwinCAT Datentyp | OPC UA BaseDataType (Built-In) | 
|---|---|
| __XINT (x64: LINT | x86: DINT) | (see below for platform specific type) | 
| __UXINT (x64: ULINT | x86: UDINT) | (see below for platform specific type) | 
| __XWORD (x64: LWORD | x86: DWORD) | (see below for platform specific type) | 
| BIT | - | 
| BOOL | Boolean | 
| SINT | SByte | 
| USINT | Byte | 
| INT | Int16 | 
| UINT | UInt16 | 
| DINT | Int32 | 
| UDINT | UInt32 | 
| LINT | Int64 | 
| ULINT | UInt64 | 
| BYTE | Byte | 
| WORD | UInt16 | 
| DWORD | UInt32 | 
| LWORD | UInt64 | 
| REAL | Float | 
| LREAL | Double | 
| TIME | Int64 | 
| LTIME | Int64 | 
| DATE | DateTime | 
| LDATE | Int64 | 
| TIME_OF_DAY / TOD | UInt32 | 
| LTIME_OF_DAY / LTOD | Int64 | 
| DATE_AND_TIME / DT | DateTime | 
| LDATE_AND_TIME / LDT | Int64 | 
| STRING | String | 
| WSTRING | String | 
Die folgende Tabelle ordnet jedem OPC UA BaseDataType (Built-In) die möglichen TwinCAT Datentypen zu. Bitte beachten Sie, dass für einige OPC UA Datentypen (noch) kein TwinCAT Datentyp existiert.
| OPC UA BaseDataType (Built-In) | TwinCAT Datentyp | 
|---|---|
| Boolean | BOOL | 
| SByte | SINT | 
| Byte | USINT, BYTE | 
| Int16 | INT, WORD | 
| UInt16 | UINT, WORD | 
| Int32 | DINT, DWORD | 
| UInt32 | UDINT, DWORD, TOD | 
| Int64 | LINT, LTIME, LDATE, LTOD, LDT | 
| UInt64 | ULINT, LWORD | 
| Float | REAL | 
| Double | LREAL | 
| String | STRING, WSTRING | 
| DateTime | DATE, DT | 
| Guid | - | 
| ByteString | Tc3_OpcUa.UA_ByteString | 
| XmlElement | - | 
| NodeId | Tc3_OpcUa.UA_NodeId | 
| ExpandedNodeId | - | 
| StatusCode | UDINT | 
| QualifiedName | - | 
| LocalizedText | Tc3_OpcUa.UA_LocalizedText | 
| ExtensionObject => (i=22 | Structure) | Abstrakter Typ. Siehe unten für Auswahl konkreter Beispiele. | 
| DataValue | - | 
| Variant => (i=24 | BaseDataType) | Abstrakter Typ. | 
| DiagnosticInfo | - | 
Die folgende Tabelle ordnet jedem OPC UA BaseDataType (nicht Built-In) aus der OPC UA Core-Spezifikation den passenden TwinCAT Datentypen zu.
| OPC UA BaseDataType (nicht Built-In) | TwinCAT Datentyp | 
|---|---|
| EUInformation [ExtensionObject] | Tc3_OpcUa.UA_EUInformation | 
| Range [ExtensionObject] | Tc3_OpcUa.UA_Range | 
| TimeZoneDataType [ExtensionObject] | Tc3_OpcUa.UA_TimeZoneDataType | 
| UtcTime [DateTime] | Tc3_OpcUa.UA_UtcTime | 
| OptionSet [ExtensionObject] | Tc3_OpcUa.UA_OptionSet & |