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

Conformance Units

Data Access ArrayItem2Type

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 BaseAnalogTypein 5.3.2.2.

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

image005.png

Figure 3– Graphical view of a YArrayItem

Table 12describes the values of each element presented in Figure 3.

Table 12YArrayItemitem 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

http://www.opcfoundation.org/UA/units/un/cefact

EngineeringUnits.unitId

2N

EngineeringUnits.displayName

“en-us”, “dB”

EngineeringUnits.description

“en-us”, “decibel”

Title

Magnitude

XAxisDefinition.EngineeringUnits.namespaceUrl

http://www.opcfoundation.org/UA/units/un/cefact

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

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