Comparison of OPC UA complex data models: Difference between revisions

From OPC Labs Knowledge Base
No edit summary
No edit summary
Line 32: Line 32:
| Resulting encoding || Binary || XML || any encoding defined in OPC UA (Binary, XML, JSON)
| Resulting encoding || Binary || XML || any encoding defined in OPC UA (Binary, XML, JSON)
|-
|-
| || || ||
| Can refer to data types in other servers || yes || yes (details not specified) || no
|-
|-
| || || ||
| Type inheritance || no || no || yes
|-
| Selectable byte order || yes || no || no
|-
| Simple types || yes || yes || yes
|-
|-
|  ||  ||  ||
|  ||  ||  ||

Revision as of 13:02, 22 March 2020

OPC UA offers two complex data models. They do not have "official" names, but the historically first one is based on the DataTypeDictionary type, and the second one is based on the DataTypeDefinition type. We will therefore usually refer to them as "DataTypeDictionary model" (or "data type dictionary model"), and "DataTypeDefinition model" (or "data type definition model").

The table below summarizes the main difference between the two models.

DataTypeDictionary Model DataTypeDefinition Model
OPC UA version 1.00 and later (deprecated in 1.04 and later, but still available) 1.04 and later
Described in OPC UA Specification Part 5 (Information Model) OPC UA Specification Part 3 (Address Space Model)
Compatible with OPC UA Client-Server yes yes
Compatible with OPC UA PubSub no yes
OPC Binary Data Type System XML Schema Data Type System
Resulting encoding Binary XML any encoding defined in OPC UA (Binary, XML, JSON)
Can refer to data types in other servers yes yes (details not specified) no
Type inheritance no no yes
Selectable byte order yes no no
Simple types yes yes yes
Supported in QuickOPC Version 2018.1 and later no Client-Server, Binary encoding: Version 2020.2 and later