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 |
||||||
|