Table 78 specifies the AnalyserChannel_OperatingModeExecuteSubStateMachine’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AnalyserChannel_OperatingModeExecuteSubStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.
A standard set of sub-states are defined for AnalyseChannel_OperatingModeExecuteSubStateMachineType. These sub-states represent the operational condition of the AnalyseChannel_OperatingModeSubStateMachine Execute state. All the sub-states must be supported, though they can be transient states.
Table 77 – AnalyserChannel_OperatingModeExecuteSub StateMachineType State Descriptions
StateName |
Description |
SelectExecutionCycle |
This pseudo-state is used to decide which acquisition path shall be taken. This decision is made using a Parameter ExecutionCycle that can be:
The state machine waits at this state until the underlying system is ready to take a given acquisition path. |
WaitForCalibrationTrigger |
Wait until the analyser channel is ready to perform the Calibration acquisition cycle, for example:
For analysers that do not need the step, the state is transient. |
ExtractCalibrationSample |
Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle, for example:
For analysers that do not need the step, the state is transient. |
PrepareCalibrationSample |
Prepare the Calibration sample for the AnalyseCalibrationSample state ,for example:
For analysers that do not need the step, the state is transient. |
AnalyseCalibrationSample |
Perform the analysis of the Calibration Sample, for example:
|
WaitForValidationTrigger |
Wait until the analyser channel is ready to perform the Validation acquisition cycle, for example:
For analysers that do not need the step, the state is transient. |
ExtractValidationSample |
Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle, for example:
For analysers that do not need the step, the state is transient. |
PrepareValidationSample |
Prepare the Validation sample for the AnalyseValidationSample state ,for example:
For analysers that do not need the step, the state is transient. |
AnalyseValidationSample |
Perform the analysis of the Validation Sample, for example:
|
WaitForSampleTrigger |
Wait until the analyser channel is ready to perform the Sample acquisition cycle, for example:
For analysers that do not need the step, the state is transient. |
ExtractSample |
Collect the Sample from the process, for example:
Some analyser probes do not need to extract the Sample from the process, for example a NIR reflectance probe. In this case, this state is a pass-through. |
PrepareSample |
Prepare the Sample for the AnalyseSample state, for example:
For analysers that do not need the step, the state is transient. |
AnalyseSample |
Perform the analysis of the Sample, for example:
|
WaitForDiagnosticTrigger |
Wait until the analyser channel is ready to perform the Diagnostic cycle, for example:
For analysers that do not need the step, the state is transient. |
Diagnostic |
Perform the Diagnostic cycle. This cycle is a placeholder allowing the analyser vendor to extend this state to represent vendor specific analyser diagnostic cycles. |
WaitForCleaningTrigger |
Wait until the analyser channel is ready to perform the cleaning acquisition cycle, for example:
For analysers that do not need the step, the state is transient. |
Cleaning |
Perform the cleaning cycle. |
PublishResults |
Publish the results of the previous acquisition cycle. When the transition from PublishResults to CleanupSamplingSystem occurs, all results must be available. |
EjectGrabSample |
The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it and send it to a control lab for example. |
CleanupSamplingSystem |
Cleanup the sampling sub-system to be ready for the next acquisition, for example:
For in-process probes, this state is transient. |
The set of states defined to describe an AnalyserChannel_OperatingModeExecuteSubStateMachine can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions. See Table 77 for a description of the states.
ExecutionCycle, ExecutionCycleSubcode and ActiveStream Parameters are set during the SelectExecutionCycle state. From the end of SelectExecutionCycle to the end of CleanupSamplingSystem, these two Parameters shall not change.
ExecutionCycle, ExecutionCycleSubcode, ActiveStream and IsActive Parameters are set during the SelectExecutionCycle state. From the end of SelectExecutionCycle to the end of CleanupSamplingSystem, these two Parameters shall not change.
WaitForxxxTrigger states represent waiting for situation like:
•External input i/o visible or not in the address space
•Internal timer (visible or not in the address space)
Table 78 – AnalyserChannel_OperatingModeExecuteSub StateMachineType States
BrowseName |
References |
Target BrowseName |
Value |
Target Type Definition |
|
States |
|||||
SelectExecutionCycle |
HasProperty |
StateNumber |
100 |
PropertyType |
|
|
FromTransition |
CleanupSamplingSystemToSelectExecutionCycleTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToWaitForCalibrationTriggerTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToWaitForValidationTriggerTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToWaitForSampleTriggerTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToWaitForDiagnosticTriggerTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToWaitForCleaningTriggerTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToHoldingTransition |
|
TransitionType |
|
|
ToTransition |
SelectExecutionCycleToSuspendingTransition |
|
TransitionType |
|
|
|
|
|
|
|
WaitForCalibrationTrigger |
HasProperty |
StateNumber |
200 |
PropertyType |
|
|
FromTransition |
SelectExecutionCycleToWaitForCalibrationTriggerTransition |
|
TransitionType |
|
|
ToTransition |
WaitForCalibrationTriggerTo ExtractCalibrationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
ExtractCalibrationSample |
HasProperty |
StateNumber |
300 |
PropertyType |
|
|
FromTransition |
WaitForCalibrationTriggerToExtractCalibrationSampleTransition |
|
TransitionType |
|
|
ToTransition |
ExtractCalibrationSampleToPrepareCalibrationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
PrepareCalibrationSample |
HasProperty |
StateNumber |
400 |
PropertyType |
|
|
FromTransition |
ExtractCalibrationSampleToPrepareCalibrationSampleTransition |
|
TransitionType |
|
|
ToTransition |
PrepareCalibrationSampleToAnalyseCalibrationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
AnalyseCalibrationSample |
HasProperty |
StateNumber |
500 |
PropertyType |
|
|
FromTransition |
PrepareCalibrationSampleToAnalyseCalibrationSampleTransition |
|
TransitionType |
|
|
ToTransition |
AnalyseCalibrationSampleToPublishResultsTransition |
|
TransitionType |
|
|
|
|
|
|
|
WaitForValidationTrigger |
HasProperty |
StateNumber |
600 |
PropertyType |
|
|
FromTransition |
SelectExecutionCycleToWaitForValidationTriggerTransition |
|
TransitionType |
|
|
ToTransition |
WaitForValidationTriggerToExtractValidationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
ExtractValidationSample |
HasProperty |
StateNumber |
700 |
PropertyType |
|
|
FromTransition |
WaitForValidationTriggerToExtractValidationSampleTransition |
|
TransitionType |
|
|
ToTransition |
ExtractValidationSampleToPrepareValidationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
PrepareValidationSample |
HasProperty |
StateNumber |
800 |
PropertyType |
|
|
FromTransition |
ExtractValidationSampleToPrepareValidationSampleTransition |
|
TransitionType |
|
|
ToTransition |
PrepareValidationSampleToAnalyseValidationSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
AnalyseValidationSample |
HasProperty |
StateNumber |
900 |
PropertyType |
|
|
FromTransition |
PrepareValidationSampleToAnalyseValidationSampleTransition |
|
TransitionType |
|
|
ToTransition |
AnalyseValidationSampleToPublishResultsTransition |
|
TransitionType |
|
|
|
|
|
|
|
WaitForSampleTrigger |
HasProperty |
StateNumber |
1000 |
PropertyType |
|
|
FromTransition |
SelectExecutionCycleToWaitForSampleTriggerTransition |
|
TransitionType |
|
|
ToTransition |
WaitForSampleTriggerToExtractSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
ExtractSample |
HasProperty |
StateNumber |
1100 |
PropertyType |
|
|
FromTransition |
WaitForSampleTriggerToExtractSampleTransition |
|
TransitionType |
|
|
ToTransition |
ExtractSampleToPrepareSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
PrepareSample |
HasProperty |
StateNumber |
1200 |
PropertyType |
|
|
FromTransition |
ExtractSampleToPrepareSampleTransition |
|
TransitionType |
|
|
ToTransition |
PrepareSampleToAnalyseSampleTransition |
|
TransitionType |
|
|
|
|
|
|
|
AnalyseSample |
HasProperty |
StateNumber |
1300 |
PropertyType |
|
|
FromTransition |
PrepareSampleToAnalyseSampleTransition |
|
TransitionType |
|
|
ToTransition |
AnalyseSampleToPublishResultsTransition |
|
TransitionType |
|
|
|
|
|
|
|
WaitForDiagnosticTrigger |
HasProperty |
StateNumber |
1400 |
PropertyType |
|
|
FromTransition |
SelectExecutionCycleToWaitForDiagnosticTriggerTransition |
|
TransitionType |
|
|
ToTransition |
WaitForDiagnosticTriggerToDiagnosticTransition |
|
TransitionType |
|
|
|
|
|
|
|
Diagnostic |
HasProperty |
StateNumber |
1500 |
PropertyType |
|
|
FromTransition |
WaitForDiagnosticTriggerToDiagnosticTransition |
|
TransitionType |
|
|
ToTransition |
DiagnosticToPublishResultsTransition |
|
TransitionType |
|
|
|
|
|
|
|
WaitForCleaningTrigger |
HasProperty |
StateNumber |
1600 |
PropertyType |
|
|
FromTransition |
SelectExecutionCycleToWaitForCleaningTriggerTransition |
|
TransitionType |
|
|
ToTransition |
WaitForCleaningTriggerToCleaningTransition |
|
TransitionType |
|
|
|
|
|
|
|
Cleaning |
HasProperty |
StateNumber |
1700 |
PropertyType |
|
|
FromTransition |
WaitForCleaningTriggerToCleaningTransition |
|
TransitionType |
|
|
ToTransition |
CleaningToPublishResultsTransition |
|
TransitionType |
|
|
|
|
|
|
|
PublishResults |
HasProperty |
StateNumber |
1800 |
PropertyType |
|
|
FromTransition |
AnalyseCalibrationToPublishResultsTransition |
|
TransitionType |
|
|
FromTransition |
AnalyseValidationToPublishResultsTransition |
|
TransitionType |
|
|
FromTransition |
AnalyseSampleToPublishResultsTransition |
|
TransitionType |
|
|
FromTransition |
DiagnosticToPublishResultsTransition |
|
TransitionType |
|
|
FromTransition |
CleaningToPublishResultsTransition |
|
TransitionType |
|
|
ToTransition |
PublishResultsToCleanupSamplingSystemTransition |
|
TransitionType |
|
|
ToTransition |
PublishResultsToEjectGrabSampleSystemTransition |
|
TransitionType |
|
|
|
|
|
|
|
EjectGrabSample |
HasProperty |
StateNumber |
1900 |
PropertyType |
|
|
FromTransition |
PublishResultsToEjectGrabSampleTransition |
|
TransitionType |
|
|
ToTransition |
EjectGrabSampleToCleanupSamplingSystemTransition |
|
TransitionType |
|
|
|
|
|
|
|
CleanupSamplingSystem |
HasProperty |
StateNumber |
2000 |
PropertyType |
|
|
FromTransition |
PublishResultsToCleanupSamplingSystemTransition |
|
TransitionType |
|
|
FromTransition |
EjectGrabSampleToCleanupSamplingSystemTransition |
|
TransitionType |
|
|
ToTransition |
CleanupSamplingSystemToSelectExecutionCycleTransition |
|
TransitionType |