This abstract VariableTypedefines 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 DataItemsmight contain arrays that represent for example several values of several temperature sensors of a boiler.
ArrayItemTypeor its subtype shall only be used when the Titleand AxisScaleType Propertiescan be filled with reasonable values. If this is not the case DataItemTypeand subtypes like AnalogItemType,which also support arrays, shall be used. The ArrayItemTypeis formally defined in Table 7.
Table 7– ArrayItemType definition
Attribute |
Value |
||||
BrowseName |
ArrayItemType |
||||
IsAbstract |
True |
||||
ValueRank |
0 (0 = OneOrMoreDimensions) |
||||
DataType |
BaseDataType |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the DataItemTypedefined in 5.3.1; i.e the Propertiesof 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 |
InstrumentRange defines the range of the Valueof the ArrayItem.
EURangedefines 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.
EngineeringUnitsholds the information about the engineering units of the Valueof the ArrayItem.
For additional information about InstrumentRange, EURange, and EngineeringUnitssee the description of AnalogItemTypein 0.
Title holds the user readable title of the Valueof the ArrayItem.
AxisScaleType defines the scale to be used for the axis where the Valueof the ArrayItemshall be displayed.
The StatusCode SemanticsChangedbit shall be set if any of the InstrumentRange, EURange, EngineeringUnitsor Title Propertiesare changed (see 5.2for additional information).
YArrayItemTyperepresents a single-dimensional array of numerical values used to represent spectra or distributions where the x axis intervals are constant. YArrayItemTypeis formally defined in Table 8.
Table 8– 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 |
The Valueof the YArrayItemcontains the numerical values for the Y-Axis. Engineering Unitsand Rangefor the Valueare defined by corresponding Propertiesinherited from the ArrayItemType.
The DataTypeof this VariableTypeis restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberTypeand DoubleComplexNumberType.
The XAxisDefinition Propertyholds the information about the Engineering Unitsand Rangefor the X-Axis.
The StatusCode SemanticsChangedbit shall be set if any of the following five Propertiesare changed: InstrumentRange, EURange, EngineeringUnits, Title orXAxisDefinition(see 5.2for additional information).
Figure 3shows an example of how Attributesand Propertiesmay be used in a graphical interface.
Figure 3– Graphical view of a YArrayItem
Table 9describes the values of each element presented in Figure 3.
Table 9– YArrayItemitem description
Attribute / Property |
Item value |
Description |
Magnitude Response (dB) |
axisScaleType |
AxisScaleEnumeration.LINEAR_0 |
InstrumentRange.low |
-90 |
InstrumentRange.high |
5 |
EURange.low |
-90 |
EURange.high |
2 |
EngineeringUnits.namespaceUrl |
|
EngineeringUnits.unitId |
2N |
EngineeringUnits.displayName |
“en-us”, “dB” |
EngineeringUnits.description |
“en-us”, “decibel” |
Title |
Magnitude |
XAxisDefinition.EngineeringUnits.namespaceUrl |
|
XAxisDefinition.EngineeringUnits.unitId |
kHz |
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_0 |
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.lowshall be lower than XAxisDefinition.Range.high. It is only a graphical representation that reverses the display order.
- There is a constant X axis
XYArrayItemTyperepresents 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. XYArrayItemTypeis formally defined in Table 10.
Table 10– XYArrayItemType definition
Attribute |
Value |
|||||
BrowseName |
XYArrayItemType |
|||||
IsAbstract |
False |
|||||
ValueRank |
1 |
|||||
DataType |
XVType (defined in 5.6.8) |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the ArrayItemType defined in 5.3.4.1 |
||||||
|
|
|
|
|
|
|
HasProperty |
Variable |
XAxisDefinition |
AxisInformation |
PropertyType |
Mandatory |
The Valueof the XYArrayItemcontains 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 Valueare defined by corresponding Propertiesinherited from the ArrayItemType.
XAxisDefinition Propertyholds the information about the Engineering Unitsand Rangefor the X-Axis.
The axisSteps of XAxisDefinitionshall be set to NULL because it is not used.
The StatusCode SemanticsChangedbit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title orXAxisDefinition Propertiesare changed (see 5.2for additional information).
ImageItemTypedefines 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.
ImageItemTypeis formally defined in Table 11.
Table 11– 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 |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
YAxisDefinition |
PropertyType |
Mandatory |
Engineering units and range for the Valueare defined by corresponding Propertiesinherited from the ArrayItemType.
The DataTypeof this VariableTypeis restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
The ArrayDimensions Attributefor Variablesof 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 Propertyholds the information about the engineering units and range for the X-Axis.
YAxisDefinition Propertyholds the information about the engineering units and range for the Y-Axis.
The StatusCode.SemanticsChangedbit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title, XAxisDefinitionor YAxisDefinition Propertiesare changed.
CubeItemTyperepresents 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. CubeItemTypeis formally defined in Table 12.
Table 12– 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 |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
YAxisDefinition |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
ZAxisDefinition |
PropertyType |
Mandatory |
Engineering units and range for the Valueare defined by corresponding Propertiesinherited from the ArrayItemType.
The DataTypeof this VariableTypeis restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberTypeand DoubleComplexNumberType.
The ArrayDimensions Attributefor Variablesof 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 Propertyholds the information about the engineering units and range for the X-Axis.
YAxisDefinition Propertyholds the information about the engineering units and range for the Y-Axis.
ZAxisDefinition Propertyholds the information about the engineering units and range for the Z-Axis.
The StatusCode SemanticsChangedbit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Title, XAxisDefinition, YAxisDefinitionor ZAxisDefinition Propertiesare changed (see 5.2for additional information).
This VariableTypedefines 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.
NDimensionArrayItemTypeis formally defined in Table 13.
Table 13– 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 |
The DataTypeof this VariableTypeis restricted to SByte, Int16, Int32, Int64, Float, Double, ComplexNumberType and DoubleComplexNumberType.
AxisDefinition Propertyholds the information about the Engineering Unitsand Rangefor all axis.
The StatusCode SemanticsChangedbit shall be set if any of the InstrumentRange, EURange, EngineeringUnits, Titleor AxisDefinition Propertiesare changed (see 5.2for additional information).