This ObjectTypedefines the structure of anAnalyserChannel Object. Figure 7depicts the AnalyserChannelTypehierarchy. Figure 8and Figure 9show the AnalyserChannelTypecomponents. It is formally defined in Table 17.

image010.png

Figure 7- AnalyserChannelType

AnalyserChannelTypeis a subtype of TopologyElementType.

An AnalyserChannelmay have Parameters. If an AnalyserChannelhas Parametersthey appear in an Objectcalled ParameterSetas a flat list of Parameters. ParameterSetis inherited from TopologyElementType [OPC 10000-100]. Parametersof an AnalyserChannelare identified by the <ParameterIdentifier> browse name.

TopologyElementType [OPC 10000-100]introducesa component called MethodSet, which shall be used to organize Methodsexposed to the Client. AnalyserChannelTypetakes advantage of that inherited component and groups all of its Methodsand the ones from its substate machines under MethodSet.

Parametersof an AnalyserChannelcan be organized in FunctionalGroupsidentified as <GroupIdentifier> browse name.

AnalyserChannelTypedefines two mandatory FunctionalGroups (see clause 5.2.1.4for details):

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

image011.png

Figure 8- AnalyserChannelType FunctionalGroups

AnalyserChannel Objecthas zero or more Objects of type AccessorySlotType and identified by<AccessorySlotIdentifier> browse name. AccessorySlotTypeis 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 AccessorySlotare defined as components of the AccessorySlot Object. For details refer to clause 5.2.3.

image012.png

Figure 9- AnalyserChannelType Components

AnalyserChannelTypedoes not expose any mandatory Parametersto report or manipulate the state of an AnalyserChannel. Instead, AnalyserChannelstates are exposed through the ChannelStateMachine Objectof the type AnalyserChannelStateMachineType. For details on AnalyserChannelStateMachineTypesee clause 5.3.2.

Table 17– AnalyserChannelType Definition

Attribute

Value

BrowseName

AnalyserChannelType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the TopologyElementTypedefined 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 AnalyserChannelrefers to an instance of the AnalyserChannelType ObjectTypeas defined in Table 17.

All AnalyserChannelshave Attributesand Propertiesinherited from the BaseObject.

Each AnalyserDevice Objecthas at least one AnalyserChannel Objectas its component.

Parametersdefined for the AnalyserChannelTypeare described in the following tables. The tables correspond to mandatory FunctionalGroupsdefined for the AnalyserChannelType. Additional Parametersmay be defined for AnalyserChannelon subtypes of AnalyserDeviceTypeand associated with those FunctionalGroups.

All AnalyserChannel Parametersexist as components of the ParameterSet Objectdefined on that AnalyserChannel. Each Parameterdefined for an AnalyserChannelshall be accessible through one and only one FunctionalGroupdefined on that AnalyserChannel. Note, that the same Parameteris not instantiated more than once. Both, ParameterSetand a specific FunctionalGroupmaintain Referencesto the same instance of the Parameter.

Table 18shows Parametersthat will be organized by the Configuration FunctionalGroup.

Table 18AnalyserChannelConfiguration 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 19shows Parametersthat will be organized byStatus FunctionalGroup. All Parametersorganized by this FunctionalGroupshall be read-only.

Table 19AnalyserChannelStatus 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 Parameterreflects the general health of the channel. It is defined as a Variableof DataItemTypetype and its value is defined by [OPC 10000-100]enumeration DeviceHealthEnumeration.

All Methodsdefined for AnalyserChannelTypeand its substate machines are grouped under the MethodSetcomponent inherited from TopologyElementType [OPC 10000-100].

AnalyserChanneldefines a Methodcalled StartSingleAcquisition, which is used to start a single data acquisition, which uses current values of Parametersfrom the AcquisitionSettings FunctionalGroup of theStream indicated by SelectedStream argument. The Methodargument ExecutionCycleis 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 20StartSingleAcquisition 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 Parameterin the AcquisitionStatus FunctionalGroupon 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.