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.
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.
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.
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 |
(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 |
Method |
Description |
Reset |
Causes transition to the Resetting state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Start |
Causes transition to the Starting state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Stop |
Causes transition to the Stopping state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Hold |
Causes transition to the Holding state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Unhold |
Causes transition to the Unholding state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Suspend |
Causes transition to the Suspending state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Unsuspend |
Causes transition to the Unsuspending state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
Method |
Description |
Abort |
Causes transition to the Aborting state. |
|
InputArguments: NONE |
|
OutputArguments: NONE |
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. |