Annex C (informative) – Parameter Representation ToC Previous Next

C.2 Array Parameters ToC Previous Next

Parameters which hold array data that may be acquired during normal analyser operation or used as inputs (e.g. background, calibration) are represented by VariableTypes which are direct subtypes of DataItemType.

They inherit all of the Properties of the DataItemType. Also, they inherit a set o Attributes from the Variable NodeClass that are common to all derived VariableTypes. Refer to Table 113 for more information.

The decision to base the array types on the DataItemType rather than the AnalogItemType is to allow a modification of the StatusCode.SemanticsChanged. In the AnalogItemType, this bit is set if and only if a change occurs in one or several of the Properties InstrumentRange, EURange and EngineeringUnits. In the ADI array types; this bit changes if and only if a change occurs in one or several of the Properties InstrumentRange, EURange, EngineeringUnits and the axis definitions. This also allows the implementation of the type where the Value.DataType is not a subclass of Number like in the XYArrayItemType.

To simplify the development of ADI Clients/Servers, the Properties InstrumentRange, EURange and EngineeringUnits, that are part of the AnalogItemType definition, are reused with exactly the same semantic as in the AnalogItemType:

InstrumentRange defines the value range that can be returned by the instrument.

Example: InstrumentRange ::= {-9999.9, 9999.9}

The Range type is specified in [OPC 10000-8].

EURange defines the value range likely to be obtained in normal operation. It is intended for such use as automatically scaling a bar graph display.

Sensor or instrument failure or deactivation can result in a returned item value which is actually outside this range. Client software must be prepared to deal with this. Similarly a Client may attempt to write a value that is outside this range back to the Server. The exact behaviour (accept, reject, clamp, etc.) in this case is Server-dependent. However in general Servers must be prepared to handle this.

Example: EURange ::= {-200.0,1400.0}

EngineeringUnits specifies the units for the DataItem’s value (e.g., DEGC, hertz, seconds).

The EUInformation type is specified in [OPC 10000-8].

If the item contains an array the Properties will apply to all elements in the array.

Previous Next