This ObjectTypedefines the structure of anAnalyserChannel Object. Figure 7depicts the AnalyserChannelTypehierarchy. Figure 8and Figure 9show the AnalyserChannelTypecomponents. It is formally defined in Table 17.
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.
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.
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 18– AnalyserChannelConfiguration 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 19– AnalyserChannelStatus 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 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 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 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 |
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. |