This complex VariableType is used to represent a Variable which contains one or more fields where each field is composed of one or more bits.

Subtypes of this VariableType shall have a DataType of UInteger or one of its subtypes. Its ValueRank shall be either Scalar (-1) or a single dimensional Array (1).

Each bit field defined by the BitFieldDefinitions shall also be exposed as a child DataVariable. The BrowseName of the DataVariable shall be the same as the BitFieldDefinition name field and the NamespaceIndex of the BrowseName shall be the same as the BitFieldDefinition name field’s NamespaceIndex.

Optional bit fields may be defined by using the Optional Modeling Rule for the child DataVariable which represents the bit field. An application accessing a BitFieldType with an optional bit field should determine the presence of the optional bit field by checking the instance of that BitFieldType for the presence of the child DataVariable which represents the optional field.

The VariableType is defined in Table 95.

Table 95 – BitFieldType definition

Attribute

Value

BrowseName

BitFieldType

IsAbstract

True

ValueRank

ScalarOrOneDimension

DataType

UInteger

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4.

HasProperty

Variable

BitFieldsDefinitions

BitFieldDefinition[]

PropertyType

Mandatory

HasComponent

Variable

<FieldName>

BaseDataType

BaseVariableType

MandatoryPlaceholder

HasComponent

Variable

<OptionalFieldName>

BaseDataType

BaseVariableType

OptionalPlaceholder

Conformance Units