This abstract VariableType defines the general characteristics of an ArrayItem. Values are exposed in an array but the content of the array represents a single entity like an image. Other DataItems might contain arrays that represent for example several values of several temperature sensors of a boiler.
ArrayItemType or its subtype shall only be used when the Title and AxisScaleType Properties can be filled with reasonable values. If this is not the case DataItemType and subtypes like AnalogItemType, which also support arrays, shall be used. The ArrayItemType is formally defined in Table 10.
Table 10 – ArrayItemType definition
Attribute |
Value |
||||
BrowseName |
ArrayItemType |
||||
IsAbstract |
True |
||||
ValueRank |
0 (0 = OneOrMoreDimensions) |
||||
DataType |
BaseDataType |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the DataItemType defined in 5.3.1; i.e. the Properties of that type are inherited. |
|||||
HasSubtype |
VariableType |
YArrayItemType |
Defined in 5.3.4.2 |
||
HasSubtype |
VariableType |
XYArrayItemType |
Defined in 5.3.4.3 |
||
HasSubtype |
VariableType |
ImageItemType |
Defined in 5.3.4.4 |
||
HasSubtype |
VariableType |
CubeItemType |
Defined in 5.3.4.5 |
||
HasSubtype |
VariableType |
NDimensionArrayItemType |
Defined in 5.3.4.6 |
||
HasProperty |
Variable |
InstrumentRange |
Range |
PropertyType |
Optional |
HasProperty |
Variable |
EURange |
Range |
PropertyType |
Mandatory |
HasProperty |
Variable |
EngineeringUnits |
EUInformation |
PropertyType |
Mandatory |
HasProperty |
Variable |
Title |
LocalizedText |
PropertyType |
Mandatory |
HasProperty |
Variable |
AxisScaleType |
AxisScaleEnumeration |
PropertyType |
Mandatory |
Conformance Units |
|||||
Data Access ArrayItem2Type |
InstrumentRange defines the range of the Value of the ArrayItem.
EURange defines the value range of the ArrayItem likely to be obtained in normal operation. It is intended for such use as automatically scaling a bar graph display.
EngineeringUnits holds the information about the engineering units of the Value of the ArrayItem.
For additional information about InstrumentRange, EURange, and EngineeringUnits see the description of BaseAnalogType in 5.3.2.2.
Title holds the user readable title of the Value of the ArrayItem.
AxisScaleType defines the scale to be used for the axis where the Value of the ArrayItem shall be displayed.
The StatusCode SemanticsChanged bit shall be set if any of the InstrumentRange, EURange, EngineeringUnits or Title Properties are changed (see 5.2 for additional information).
YArrayItemType represents a single-dimensional array of numerical values used to represent spectra or distributions where the x axis intervals are constant. YArrayItemType is formally defined in Table 11.
Table 11 – YArrayItemType definition
Attribute |
Value |
||||
BrowseName |
YArrayItemType |
||||
IsAbstract |
False |
||||
ValueRank |
1 |
||||
DataType |
BaseDataType |
||||
ArrayDimensions |
{0} (0 = UnknownSize) |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ArrayItemType defined in 5.3.4.1 |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
XAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
Conformance Units |
|||||
Data Access YArrayItemType |
The Value of the YArrayItem contains the numerical values for the Y-Axis. Engineering Units and Range for the Value are defined by corresponding Properties inherited from the ArrayItemType.
The DataType of this VariableType is restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
The XAxisDefinition Property holds the information about the Engineering Units and Range for the X-Axis.
The StatusCode SemanticsChanged bit shall be set if any of the following five Properties are changed: InstrumentRange, EURange, EngineeringUnits, Title or XAxisDefinition (see 5.2 for additional information).
Figure 3 shows an example of how Attributes and Properties may be used in a graphical interface.
Figure 3 – Graphical view of a YArrayItem
Table 12 describes the values of each element presented in Figure 3.
Table 12 – YArrayItem item description
Attribute / Property |
Item value |
Description |
Magnitude Response (dB) |
axisScaleType |
AxisScaleEnumeration.LINEAR |
InstrumentRange.low |
-90 |
InstrumentRange.high |
5 |
EURange.low |
-90 |
EURange.high |
2 |
EngineeringUnits.namespaceUrl |
|
EngineeringUnits.unitId |
12878 |
EngineeringUnits.displayName |
“en-us”, “dB” |
EngineeringUnits.description |
“en-us”, “decibel” |
Title |
Magnitude |
XAxisDefinition.EngineeringUnits.namespaceUrl |
|
XAxisDefinition.EngineeringUnits.unitId |
4933722 |
XAxisDefinition.EngineeringUnits.displayName |
“en-us”, “kHz” |
XAxisDefinition.EngineeringUnits.description |
“en-us”, “kilohertz” |
XAxisDefinition.Range.low |
0 |
XAxisDefinition.Range.high |
25 |
XAxisDefinition.title |
“en-us”, “Frequency” |
XAxisDefinition.axisScaleType |
AxisScaleEnumeration.LINEAR |
XAxisDefinition.axisSteps |
null |
Interpretation notes:
- Not all elements of this table are used in the graphic.
- The X axis is displayed in reverse order, however, the XAxisDefinition.Range.low shall be lower than XAxisDefinition.Range.high. It is only a graphical representation that reverses the display order.
- There is a constant X axis
XYArrayItemType represents a vector of XVType values like a list of peaks, where XVType.x is the position of the peak and XVType.value is its intensity. XYArrayItemType is formally defined in Table 13.
Table 13 – XYArrayItemType definition
Attribute |
Value |
||||
BrowseName |
XYArrayItemType |
||||
IsAbstract |
False |
||||
ValueRank |
1 |
||||
DataType |
XVType |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ArrayItemType defined in 5.3.4.1 |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
XAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
Conformance Units |
|||||
Data Access XYArrayItemType |
The Value of the XYArrayItem contains an array of structures (XVType) where each structure specifies the position for the X-Axis (XVType.x) and the value itself (XVType.value), used for the Y-Axis. Engineering units and range for the Value are defined by corresponding Properties inherited from the ArrayItemType.
XAxisDefinition Property holds the information about the Engineering Units and Range for the X-Axis.
The axisSteps of XAxisDefinition shall be set to NULL because it is not used.
The StatusCode SemanticsChanged bit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title or XAxisDefinition Properties are changed (see 5.2 for additional information).
ImageItemType defines the general characteristics of an ImageItem which represents a matrix of values like an image, where the pixel position is given by X which is the column and Y the row. The value is the pixel intensity.
ImageItemType is formally defined in Table 14.
Table 14 – ImageItemType definition
Attribute |
Value |
||||
BrowseName |
ImageItemType |
||||
IsAbstract |
False |
||||
ValueRank |
2 (2 = two dimensional array) |
||||
DataType |
BaseDataType |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ArrayItemType defined in 5.3.4.1 |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
XAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
HasProperty |
Variable |
YAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
Conformance Units |
|||||
Data Access ImageItemType |
Engineering units and range for the Value are defined by corresponding Properties inherited from the ArrayItemType.
The DataType of this VariableType is restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
The ArrayDimensions Attribute for Variables of this type or subtypes shall use the first entry in the array ([0]) to define the number of columns and the second entry ([1]) to define the number of rows, assuming the size of the matrix is not dynamic.
XAxisDefinition Property holds the information about the engineering units and range for the X-Axis.
YAxisDefinition Property holds the information about the engineering units and range for the Y-Axis.
The StatusCode.SemanticsChanged bit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title, XAxisDefinition or YAxisDefinition Properties are changed.
CubeItemType represents a cube of values like a spatial particle distribution, where the particle position is given by X which is the column, Y the row and Z the depth. In the example of a spatial partical distribution, the value is the particle size. CubeItemType is formally defined in Table 15.
Table 15 – CubeItemType definition
Attribute |
Value |
|||||
BrowseName |
CubeItemType |
|||||
IsAbstract |
False |
|||||
ValueRank |
3 (3 = three dimensional array) |
|||||
DataType |
BaseDataType |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the ArrayItemType defined in 5.3.4.1 |
||||||
|
|
|
|
|
|
|
HasProperty |
Variable |
XAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
YAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
ZAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
|
Conformance Units |
||||||
Data Access CubeItemType |
Engineering units and range for the Value are defined by corresponding Properties inherited from the ArrayItemType.
The DataType of this VariableType is restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
The ArrayDimensions Attribute for Variables of this type or subtypes should use the first entry in the array ([0]) to define the number of columns, the second entry ([1]) to define the number of rows, and the third entry ([2]) define the number of steps in the Z axis, assuming the size of the matrix is not dynamic.
XAxisDefinition Property holds the information about the engineering units and range for the X-Axis.
YAxisDefinition Property holds the information about the engineering units and range for the Y-Axis.
ZAxisDefinition Property holds the information about the engineering units and range for the Z-Axis.
The StatusCode SemanticsChanged bit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title, XAxisDefinition, YAxisDefinition or ZAxisDefinition Properties are changed (see 5.2 for additional information).
This VariableType defines a generic multi-dimensional ArrayItem.
This approach minimizes the number of types however it may be proved more difficult to utilize for control system interactions.
NDimensionArrayItemType is formally defined in Table 16.
Table 16 – NDimensionArrayItemType definition
Attribute |
Value |
||||
BrowseName |
NDimensionArrayItemType |
||||
IsAbstract |
False |
||||
ValueRank |
0 (0 = OneOrMoreDimensions) |
||||
DataType |
BaseDataType |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ArrayItemType defined in 5.3.4.1 |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
AxisDefinition |
AxisInformation [] |
PropertyType |
Mandatory |
Conformance Units |
|||||
Data Access NDimensionArrayItemType |
The DataType of this VariableType is restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
AxisDefinition Property holds the information about the EngineeringUnits and Range for all axis.
The StatusCode SemanticsChanged bit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title or AxisDefinition Properties are changed (see 5.2 for additional information).