Click or drag to resize

Encoding

Home
Encoding

The DataType points to an Object of type DataTypeEncodingType. Each DataType can have several data type encodings, for example "Default", "UA Binary" and "XML" encoding. Services in section Services allow clients to request an encoding or choosing the “Default” encoding. Each data type encoding is used by exactly one DataType, that is, it is not permitted for two DataTypes to point to the same data type encoding. The data type encoding Object points to exactly one Variable of type Standard Variable Types. The data type description Variable belongs to a data type dictionary Variable.

Since the NodeId of the data type encoding will be used in some Mappings to identify the DataType and its encoding.

Data type encoding objects of the DataTypes reference their data type descriptions of the Data type dictionaries using HasDescription references. However, servers are not required to provide the inverse References that relate the data type descriptions back to the data type encoding objects. If a DataType Node is exposed in the Address Space, it shall provide its data type encodings and if a data type dictionary is exposed, it should expose all its data type descriptions. Both of these references shall be bi-directional.

Encoding property grid properties
Encoding Property Grid
Figure 1: Encoding property grid

Encoding properties:

  1. Max Cardinality - this attribute indicates the maximum number of possibly existing instances of this element.

  2. Min Cardinality - this attribute indicates the minimum number of possibly existing instances of this element. If the element has minimal cardinality greater than 0, it is possible to check that it exists in the instantiated nodes.

  3. Modeling Rule - dependent on the value of these properties specified for the components of a type they are used to create appropriate instances while the parent type is instantiated in the address space. The default value is Mandatory. In this case the component is always created with the values of the attributes derived from the inheritance chain. If the value is None it indicates that this node only belongs to the type and is not used to create an instance while the parent type is instantiated. If the node is not a type component the value of this property is ignored.

  4. Preserve Default Attributes - the value indicating whether to preserve default attributes.

  5. Type Definition - the type of this instance pointed out by the HasTypeDefinition reference.

  6. Default value – the default value of the Type Definition.

  7. Is Empty - indicates if the Type Definition is empty.

  8. Name – the name of the TypeDefinition.

  9. Namespace – a namespace that qualifies the name of the TypeDefinition.

  10. Browse Name - the name used in the information model. The validator will create the BrowseName automatically from the SymbolicName. The BrowseName is qualified by the namespace used for the SymbolicName.

  11. Description – optionally, a vendor specific description is provided. The validator automatically creates a generic Description from the BrowseName and NodeClass.

  12. Key – an optional key that can be used to look up the Description for other locales in a resource DB.

  13. Value – the value of the Description attribute for the Node.

  14. Display Name – a human readable name for the Node. The validator automatically creates the DisplayName from the BrowseName.

  15. Key – an optional key that can be used to look up the display name for other locales in a resource DB.

  16. Value – the value of the Display Name.

  17. IsDeclaration - this flag indicates that the Node is defined elsewhere and no code will be generated. Nodes that are declarations do not need to be completely defined. They only need to have the information required to generate code for nodes that reference it (e.g. the BaseType).

  18. StringId - an alternate unique identifier for the node. It is used instead of the NumericId if it is specified in the CSV input file.

  19. Symbolic Name - identifies the Node within the ModelDesign or within the containing Node. The SymbolicName should always be specified. It is used to create the BrowseName and SymbolicId if they are not specified.

  20. Is Empty - indicates whether the Symbolic Name is empty.

  21. Name – a name, which is apart of the Symbolic Name.

  22. Namespace – a namespace, which qualifies the Name from the Symbolic Name.

  23. Write access – a bit mask that indicates, which attributes are writeable. Optionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all Attributes to not writeable that are not said to be vendor-specific. For example, the Description Attribute may be set to writeable since a Server may provide a server-specific description for the Node. The NodeId shall not be writeable, because it is defined for each Node in specification.

  24. Supports events - the value indicating whether the Object class node supports events.