Comparison of OPC UA complex data models: Difference between revisions
From OPC Labs Knowledge Base
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
! !!colspan="2"|DataTypeDictionary Model !! DataTypeDefinition Model | ! !!colspan="2"|DataTypeDictionary Model !! DataTypeDefinition Model | ||
|- | |- | ||
| OPC UA version ||colspan="2"| 1.00 and later (deprecated in 1.04 and later, but still available) || 1.04 and later | | '''OPC UA version''' ||colspan="2"| 1.00 and later (deprecated in 1.04 and later, but still available) || 1.04 and later | ||
|- | |- | ||
| Described in ||colspan="2"| OPC UA Specification Part 5 (Information Model) || OPC UA Specification Part 3 (Address Space Model) | | '''Described in''' ||colspan="2"| OPC UA Specification Part 5 (Information Model) || OPC UA Specification Part 3 (Address Space Model) | ||
|- | |- | ||
| Compatible with OPC UA Client-Server ||colspan="2"| yes || yes | | '''Compatible with OPC UA Client-Server''' ||colspan="2"| yes || yes | ||
|- | |- | ||
| Compatible with OPC UA PubSub ||colspan="2"| no || yes | | '''Compatible with OPC UA PubSub''' ||colspan="2"| no || yes | ||
|- | |- | ||
| ||colspan="2"| || | | ||colspan="2"| || | ||
Line 28: | Line 28: | ||
! !! OPC Binary Data Type System !! XML Schema Data Type System !! | ! !! OPC Binary Data Type System !! XML Schema Data Type System !! | ||
|- | |- | ||
| | | '''How are data types described''' || Using a XML document conforming to OPC Binary XML schema defined by OPC Foundation. || Using XML Schema (commonly referred to as XSD), defined by W3C. || | ||
|- | |- | ||
| 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 | | '''Can refer to data types in other servers''' || yes || yes (details not specified) || no | ||
|- | |- | ||
| | | '''Data type inheritance''' || no || no || yes | ||
|- | |- | ||
| Selectable byte order || yes || no || no | | '''Selectable byte order''' || yes || no || no | ||
|- | |- | ||
| Simple types || yes || yes || yes | | '''Simple data types''' || yes || yes || yes | ||
|- | |- | ||
| || || || | | || || || | ||
Line 50: | Line 50: | ||
| || || || | | || || || | ||
|- | |- | ||
| Supported in QuickOPC || Version 2018.1 and later || no || Client-Server, Binary encoding: Version 2020.2 and later | | '''Supported in QuickOPC''' || Version 2018.1 and later || no || Client-Server, Binary encoding: Version 2020.2 and later | ||
|} | |} |
Revision as of 13:09, 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 | ||
How are data types described | Using a XML document conforming to OPC Binary XML schema defined by OPC Foundation. | Using XML Schema (commonly referred to as XSD), defined by W3C. | |
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 |
Data type inheritance | no | no | yes |
Selectable byte order | yes | no | no |
Simple data types | yes | yes | yes |
Supported in QuickOPC | Version 2018.1 and later | no | Client-Server, Binary encoding: Version 2020.2 and later |