This is a subtype of the UInt32 DataTypewith the OptionSetValues Propertydefined. It is used to indicate how the Valueof a Variablecan be accessed (read/write), if it contains current and/or historic data and its atomicity.

The AccessLevelExType DataTypeis an extended version of the AccessLevelType DataTypeand as such contains the 8 bits of the AccessLevelType as the first 8 bits.

The NonatomicRead, and NonatomicWrite Fieldsrepresent the atomicity of a Variable. In general Atomicity is expected of OPC UA read and write operations. These Fields are used by systems, in particular hard-realtime controllers, which can not ensure atomicity.

The NoSubDataTypes Fieldrepresents the ability of a Variableto accept derived DataTypes. In general Variablesare expected to allow the defined DataTypeor any subtype of that DataType. This Fieldis used to indicate a Variablerestricts the DataTypeto only what is defined, that is no subtypes are allowed.

The NonVolatile Fieldrepresents the volatility of the Variable. This Fieldis used to indicate a Servershall ensure the Valueof the Variableis persisted over a restart.

The Constant Fieldrepresents the changeability of the Variableand if changes in its Valuetrigger changes to the ConfigurationVersion Propertyofthe NamespaceMetadata Objectfor the Namespaceof the Variable. When this Fieldis 0 the Valueof the Variablemay change at any time and Valuechanges shall not trigger changes in the ConfigurationVersion Property. When this Fieldis 1 the Valueof the Variablechanges infrequently (e.g. by configuration change) and each change in Valueshall trigger changes to the ConfigurationVersion Property (and the ConfigurationVersion Propertyshall be provided along with the parent NamespaceMetadata Objectfor the Namespaceof the Variable).

Table 40defines the combinations of Constantand NonVolatile Fieldsand their use cases.

Table 40– Use Cases of Constant and NonVolatile Fields

Constant

NonVolatile

Use Case

0

0

Can not be assumed to be constant or non-volatile

0

1

Not constant and non-volatile

1

0

constant and volatile. The related ConfigurationVersionshall be changed with each Serverrestart.

1

1

Constant and non-volatile

The AccessLevelExTypeis formally defined in Table 41.

Table 41– AccessLevelExType Definition

Name

Bit

Description

CurrentRead

0

See 8.57.

CurrentWrite

1

See 8.57.

HistoryRead

2

See 8.57.

HistoryWrite

3

See 8.57.

SemanticChange

4

See 8.57.

StatusWrite

5

See 8.57.

TimestampWrite

6

See 8.57.

Reserved

7

See 8.57.

NonatomicRead

8

Indicates non-atomicity for Readaccess(0 means that atomicity is assured).

NonatomicWrite

9

Indicates non-atomicity for Writeaccess (0 means that atomicity is assured).

WriteFullArrayOnly

10

Indicates if Writeof IndexRangeis supported.

(0 means Writeof IndexRangeis supported)

NoSubDataTypes

11

Indicates if the Variabledoesn’t allow its DataTypeto be subtyped

(0 means the Variableaccepts the defined DataTypeand subtypes of that DataType)

NonVolatile

12

Indicates if the Variableis non-volatile

(0 means it is volatile or not known to be, 1 means non-volatile)

Constant

13

Indicates if the Valueof the Variablecan be considered constant

(0 means the Valueis not constant, 1 means the Valueis constant)

Reserved

14:31

Reserved for future use. Shall always be zero.