The HasStructuredComponent ReferenceTypeis a concrete ReferenceTypeand can be used directly. It is a subtype of the HasComponent ReferenceType.

The semantic of this ReferenceTypeis to indicate that a VariableTypeor Variablealso exposes its Structurefields as Variablesin the information model.

The SourceNodeof this ReferenceTypeshall be a VariableTypeor a Variablehaving a Structure DataType.

When the Valueof the SourceNodeis a scalar then the TargetNodeshall be a Variable which represents afieldoftheStructure DataType. The BrowseNameof a DataVariablewhich is exposed shall be the same as the field name oftheStructure DataType. The NamespaceIndexof the BrowseNameshall be the same as the NamespaceIndexof the Structure DataTypewhich first defines the field. The exposed fields shall be the same DataTypeand ValueRankas the field in the Structure. The Valueis expected to represent the value of the Structure’sfield.

When the Valueof the SourceNodeis an array then the BrowseNameof the TargetNodeshall be <V[N]> where ‘V’ is the BrowseName of the Parent Node and ‘N’ shall be the array index number of the DataTypeof the Structure. The NamespaceIndexof the BrowseNameshall be the same as the NamespaceIndexof the Structure DataTypewhich first defines the field. For multidimensional arrays the BrowseNameshall be <V[M][N][…]>. The Valueis expected to represent the value of the array index which the BrowseNamedescribes. An example of this is shown in Figure 36. In this example ‘MyStructuredVariable’ has a Structure DataTypewith 2 fields, ‘FieldX’ and ‘FieldY’ and an array size of 2.

image039.png

Figure 36– Example of using HasStructuredComponent ReferencyType