This ObjectType defines the structure of an AnalyserChannel Object. Figure 7 depicts the AnalyserChannelType hierarchy. Figure 8 and Figure 9 show the AnalyserChannelType components. It is formally defined in Table 17.

image010.png

Figure 7 - AnalyserChannelType

AnalyserChannelType is a subtype of TopologyElementType.

An AnalyserChannel may have Parameters. If an AnalyserChannel has Parameters they appear in an Object called ParameterSet as a flat list of Parameters. ParameterSet is inherited from TopologyElementType [OPC 10000-100]. Parameters of an AnalyserChannel are identified by the <ParameterIdentifier> browse name.

TopologyElementType [OPC 10000-100] introduces a component called MethodSet, which shall be used to organize Methods exposed to the Client. AnalyserChannelType takes advantage of that inherited component and groups all of its Methods and the ones from its substate machines under MethodSet.

Parameters of an AnalyserChannel can be organized in FunctionalGroups identified as <GroupIdentifier> browse name.

AnalyserChannelType defines two mandatory FunctionalGroups (see clause 5.2.1.4 for details):

  • Configuration - used to organize Parameters representing the high-level configuration items of the channel, which are expected to be modified by end users.
  • Status - used to organize Parameters which describe the general health of the channel.

image011.png

Figure 8 - AnalyserChannelType FunctionalGroups

AnalyserChannel Object has zero or more Objects of type AccessorySlotType and identified by <AccessorySlotIdentifier> browse name. AccessorySlotType is described in clause 5.2.3. AccessorySlot Objects represent physical locations on the physical channel where the analytical accessory can be mounted. Accessories currently mounted on the analyser channel as well as the supported accessories for the AccessorySlot are defined as components of the AccessorySlot Object. For details refer to clause 5.2.3.

image012.png

Figure 9 - AnalyserChannelType Components

AnalyserChannelType does not expose any mandatory Parameters to report or manipulate the state of an AnalyserChannel. Instead, AnalyserChannel states are exposed through the ChannelStateMachine Object of the type AnalyserChannelStateMachineType. For details on AnalyserChannelStateMachineType see clause 5.3.2.

Table 17 – AnalyserChannelType Definition

Attribute

Value

BrowseName

AnalyserChannelType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the TopologyElementType defined in [OPC 10000-100].

HasComponent

Object

ParameterSet

BaseObjectType

Mandatory

HasComponent

Object

<GroupIdentifier>

FunctionalGroupType

OptionalPlaceHolder

HasComponent

Object

Configuration

FunctionalGroupType

Mandatory

HasComponent

Object

Status

FunctionalGroupType

Mandatory

HasComponent

Object

<StreamIdentifier>

StreamType

OptionalPlaceHolder

HasComponent

Object

<AccessorySlotIdentifier>

AccessorySlotType

OptionalPlaceHolder

HasComponent

Object

ChannelStateMachine

AnalyserChannelStateMachineType

Mandatory

AnalyserChannelType.MethodSet

HasComponent

Method

GotoOperating

Mandatory

HasComponent

Method

GotoMaintenance

Mandatory

HasComponent

Method

StartSingleAcquisition

Mandatory

HasComponent

Method

Reset

Mandatory

HasComponent

Method

Start

Mandatory

HasComponent

Method

Stop

Mandatory

HasComponent

Method

Hold

Mandatory

HasComponent

Method

Unhold

Mandatory

HasComponent

Method

Suspend

Mandatory

HasComponent

Method

Unsuspend

Mandatory

HasComponent

Method

Abort

Mandatory

HasComponent

Method

Clear

Mandatory

The term AnalyserChannel refers to an instance of the AnalyserChannelType ObjectType as defined in Table 17.

All AnalyserChannels have Attributes and Properties inherited from the BaseObject.

Each AnalyserDevice Object has at least one AnalyserChannel Object as its component.

Parameters defined for the AnalyserChannelType are described in the following tables. The tables correspond to mandatory FunctionalGroups defined for the AnalyserChannelType. Additional Parameters may be defined for AnalyserChannel on subtypes of AnalyserDeviceType and associated with those FunctionalGroups.

All AnalyserChannel Parameters exist as components of the ParameterSet Object defined on that AnalyserChannel. Each Parameter defined for an AnalyserChannel shall be accessible through one and only one FunctionalGroup defined on that AnalyserChannel. Note, that the same Parameter is not instantiated more than once. Both, ParameterSet and a specific FunctionalGroup maintain References to the same instance of the Parameter.

Table 18 shows Parameters that will be organized by the Configuration FunctionalGroup.

Table 18 AnalyserChannel Configuration Parameters

BrowseName

Description

VariableType

Optional/

Mandatory

ChannelId

Channel Id defined by user. On some analysers, the name of a channel may be configured using a maintenance tool, which leads to having two names to refer to the same channel for example: Channel1 and FirstChannel. In this case, one is for the BrowseName and the second is the ChannelId.

DataItemType

(DataType=String)

O

IsEnabled

True if this AnalyserChannel maybe used to perform acquisition.

Allow an AnalyserChannel to be marked as “not in use” so xxxAllChannels Methods of the AnalyserDevice may skip it.

In the case of “software” AnalyserChannel like GC, this allows a chromatographic application to be disabled.

DataItemType

(DataType=Boolean)

M

Table 19 shows Parameters that will be organized by Status FunctionalGroup. All Parameters organized by this FunctionalGroup shall be read-only.

Table 19 AnalyserChannel Status Parameters

BrowseName

Description

VariableType

Optional/

Mandatory

DiagnosticStatus

AnalyserChannel health status

DataItemType

(DataType=DeviceHealthEnumeration)

M

ActiveStream

Active stream for this AnalyserChannel.

Its value is the BrowseName of the active stream.

If no Stream is active, it shall be set to NULL.

DataItemType

(DataType=String)

M

The DiagnosticStatus Parameter reflects the general health of the channel. It is defined as a Variable of DataItemType type and its value is defined by [OPC 10000-100] enumeration DeviceHealthEnumeration.

All Methods defined for AnalyserChannelType and its substate machines are grouped under the MethodSet component inherited from TopologyElementType [OPC 10000-100].

AnalyserChannel defines a Method called StartSingleAcquisition, which is used to start a single data acquisition, which uses current values of Parameters from the AcquisitionSettings FunctionalGroup of the Stream indicated by SelectedStream argument. The Method argument ExecutionCycle is used to indicate what it is that the acquisition is collecting e.g. sample, background, and dark noise.

If an error occurs during a method call, the analyser state should be the same as before the call.

Table 20 StartSingleAcquisition Method

Method

Description

StartSingleAcquisition

Start collection of a single sample or reference data

InputArguments

Name

DataType

ValueRank / arrayDimension

Description

ExecutionCycle

ExecutionCycleEnumeration

-1/[0]

Enumeration which specifies the type of the acquisition cycle (e.g. Calibration, Sampling )

ExecutionCycleSubcode

UInteger

-1/[0]

Vendor defined code, which further describes the acquisition cycle. This code should correspond to one of the enumeration codes defined for ExecutionCycleSubcode Parameter in the AcquisitionStatus FunctionalGroup on a Stream.

SelectedStream

String

-1/[0]

Browse name of the target Stream for this acquisition

OutputArguments: NONE

Table 21 - GotoOperating Method

Method

Description

GotoOperating

Causes the AnalyserChannelStateMachine to go to Operating state..

InputArguments: NONE

OutputArguments: NONE

Table 22 - GotoMaintenance Method

Method

Description

GotoMaintenance

Causes the AnalyserChannelStateMachine to go to Maintenance state.

InputArguments: NONE

OutputArguments: NONE

Table 23 - Reset Method

Method

Description

Reset

Causes transition to the Resetting state.

InputArguments: NONE

OutputArguments: NONE

Table 24 - Start Method

Method

Description

Start

Causes transition to the Starting state.

InputArguments: NONE

OutputArguments: NONE

Table 25 - Stop Method

Method

Description

Stop

Causes transition to the Stopping state.

InputArguments: NONE

OutputArguments: NONE

Table 26 - Hold Method

Method

Description

Hold

Causes transition to the Holding state.

InputArguments: NONE

OutputArguments: NONE

Table 27 - Unhold Method

Method

Description

Unhold

Causes transition to the Unholding state.

InputArguments: NONE

OutputArguments: NONE

Table 28 - Suspend Method

Method

Description

Suspend

Causes transition to the Suspending state.

InputArguments: NONE

OutputArguments: NONE

Table 29 - Unsuspend Method

Method

Description

Unsuspend

Causes transition to the Unsuspending state.

InputArguments: NONE

OutputArguments: NONE

Table 30 - Abort Method

Method

Description

Abort

Causes transition to the Aborting state.

InputArguments: NONE

OutputArguments: NONE

Table 31 - Clear Method

Method

Description

Clear

Causes transition to the Clearing state.

InputArguments: NONE

OutputArguments: NONE

Table 32 - Method result codes for AnalyserChannelType methods

Result code

Description

Bad_InvalidArgument

One or more argument re invalid.

Bad_InvalidState

Method called when the analyser is not in the appropriate state on one of its state machines.

Bad_RequestTooLarge

The request message size exceeds limits set by the analyser; the ConfigData is too big.

Bad_ResponseTooLarge

The response message size exceeds limits set by the client; the ConfigData is too big.

Bad_ServiceUnsupported

The analyser does not support the requested service.

Bad_UnexpectedError

An unexpected error occurred.