Errata exists for this version of the document.

This Structure DataType is the abstract base type used to provide OPC UA DataType definitions for an OPC UA Binary encoded byte blob used outside an OPC UA Server AddressSpace.

The DataTypeSchemaHeader is formally defined in Table A.1.

Table A.1 – DataTypeSchemaHeader Structure

Name

Type

Description

DataTypeSchemaHeader

Structure

namespaces

String[]

Defines an array of namespace URIs. The index into the array is referred to as NamespaceIndex. The NamespaceIndex is used in NodeIds and QualifiedNames, rather than the longer namespace URI. NamespaceIndex 0 is reserved for the OPC UA namespace and it is not included in this array.

The array contains the namespaces used in the data that follows the DataTypeSchemaHeader. The index used in NodeId and QualifiedNames identify an element in this list. The first entry in this array maps to NamespaceIndex 1.

structureDataTypes

StructureDescription[]

Description of Structure and Union DataTypes used in the data that follows the DataTypeSchemaHeader. This includes nested Structures.

DataType NodeIds for Structure DataTypes used in the data refer to entries in this array.

The StructureDescription DataType is defined in A.1.3.

enumDataTypes

EnumDescription[]

Description of Enumeration or OptionSet DataTypes used in in the data that follows the DataTypeSchemaHeader.

DataType NodeIds for Enumeration or OptionSet DataTypes used in the data refer to entries in this array.

The EnumDescription DataType is defined in A.1.4.

simpleDataTypes

SimpleTypeDescription[]

Description of DataTypes derived from built-in DataTypes. This excludes OptionSet DataTypes.

The DataTypeSchemaHeader Structure representation in the AddressSpace is defined in Table A.2.

Table A.2 – DataTypeSchemaHeader Definition

Attributes

Value

BrowseName

DataTypeSchemaHeader

IsAbstract

True

References

NodeClass

BrowseName

IsAbstract

Subtype of Structure defined in OPC 10000-5.

HasSubtype

DataType

UABinaryFileDataType

False

This Structure DataType is the abstract base type for all DataType descriptions containing the DataType NodeId and the definition for custom DataTypes like Structures and Enumerations. The DataTypeDescription is formally defined in Table A.3.

Table A.3 – DataTypeDescription Structure

Name

Type

Description

DataTypeDescription

Structure

dataTypeId

NodeId

The NodeId of the DataType.

name

QualifiedName

A unique name for the data type.

The DataTypeDescription Structure representation in the AddressSpace is defined in Table A.4.

Table A.4 – DataTypeDescription Definition

Attributes

Value

BrowseName

DataTypeDescription

IsAbstract

True

References

NodeClass

BrowseName

IsAbstract

Subtype of Structure defined in OPC 10000-5.

HasSubtype

DataType

StructureDescription

FALSE

HasSubtype

DataType

EnumDescription

FALSE

This Structure DataType provides the concrete DataTypeDescription for Structure DataTypes. It is a subtype of the DataTypeDescription DataType. The StructureDescription is formally defined in Table A.5.

Table A.5 – StructureDescription Structure

Name

Type

Description

StructureDescription

Structure

structureDefinition

StructureDefinition

The definition of the structure DataType.

The StructureDefinition DataType is defined in OPC 10000-3.

Its representation in the AddressSpace is defined in Table A.6.

Table A.6 – StructureDescription Definition

Attributes

Value

BrowseName

StructureDescription

IsAbstract

False

Subtype of DataTypeDescription defined in 6.2.2.1.5.

This Structure DataType provides the concrete DataTypeDescription for Enumeration DataTypes. It is a subtype of the DataTypeDescription DataType. The EnumDescription is formally defined in Table A.7.

Table A.7 – EnumDescription Structure

Name

Type

Description

EnumDescription

Structure

enumDefinition

EnumDefinition

The definition of the enumeration DataType.

The EnumDefinition DataType is defined in OPC 10000-3.

builtInType

Byte

The builtInType indicates if the DataType is an Enumeration or an OptionSet. If the builtInType is Int32, the DataType is an Enumeration. If the builtInType is one of the UInteger DataTypes or ExtensionObject, the DataType is an OptionSet.

Its representation in the AddressSpace is defined in Table A.8.

Table A.8 – EnumDescription Definition

Attributes

Value

BrowseName

EnumDescription

IsAbstract

False

Subtype of DataTypeDescription defined in 6.2.2.1.5.

This Structure DataType provides the information for DataTypes derived from built-in DataTypes. It is a subtype of Structure. The SimpleTypeDescription is formally defined in Table A.9.

Table A.9 – SimpleTypeDescription Structure

Name

Type

Description

SimpleTypeDescription

Structure

baseDataType

NodeId

The base DataType of the simple DataType.

builtInType

Byte

The builtInType used for the encoding of the simple DataType.

This Structure DataType defines the base layout of an OPC UA Binary encoded file. The contend of the file is the UABinaryFileDataType encoded as ExtensionObject.

The file specific meta data is provided by the DataTypeSchemaHeader which is the base type for the UABinaryFileDataType Structure.

If the file is provided through a FileType Object, the MimeType Property of the Object shall have the value application/opcua+uabinary.

If the file is stored on disc, the file extension shall be uabinary.

The UABinaryFileDataType is formally defined in Table A.10.

Table A.10 – UABinaryFileDataType Structure

Name

Type

Description

UABinaryFileDataType

Structure

schemaLocation

String

Reference to a file that contains the DataTypeSchemaHeader for the content of the file represented by an instance of this structure.

The schemaLocation is either a fully qualified URL or a URN which is a relative path to the file location.

If the schemaLocation is provided, the DataType descriptions can be skipped but the namespaces used shall match the namespaces in the schema file.

fileHeader

KeyValuePair[]

The file specific header.

body

BaseDataType

The body of the file.

The DataTypes used in the body are described through the structureDataTypes, enumDataTypes and simpleDataTypes fields of the DataTypeSchemaHeader Structure which is the base type for the UABinaryFileDataType.

DataTypes defined by OPC UA can be omitted.

Its representation in the UABinaryFileDataType is defined in Table A.11.

Table A.11 – UABinaryFileDataType Definition

Attributes

Value

BrowseName

UABinaryFileDataType

IsAbstract

False

Subtype of DataTypeSchemaHeader defined in A.1.1.

An instance of a subtype of this abstract ObjectType represents network address information. The NetworkAddressType is formally defined in Table A.12.

Table A.12 – NetworkAddressType Definition

Attribute

Value

BrowseName

NetworkAddressType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasComponent

Variable

NetworkInterface

String

SelectionListType

Mandatory

HasSubtype

ObjectType

NetworkAddressUrlType

Defined in A.3.2.

The NetworkInterface Variable allows the selection of the network interface used for the communication relation. The network interface can be listed by name, by IP address or a combination of name and IP address. The SelectionValues Property of the SelectionListType shall contain the list of available network interfaces as application specific strings. The Value of the Variable contains the selected network interface as String. The SelectionListType is defined in OPC 10000-5. The Object may allow providing additional Strings not defined in the SelectionValues. In this case the NotRestrictToList Property of the SelectionListType is set to true.

An instance of this ObjectType represents network address information in the form of an URL String. The NetworkAddressUrlType is formally defined in Table A.13.

Table A.13 – NetworkAddressUrlType Definition

Attribute

Value

BrowseName

NetworkAddressUrlType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of NetworkAddressType defined in A.3.1.

HasComponent

Variable

Url

String

BaseDataVariableType

Mandatory

The URL Variable contains the address string for the communication middleware or the communication relation. The syntax of the URL is defined by the transport protocol.