enable
Short summary
Enables pause functionality for the current cycle manager step.
Purpose and usage
This method enables the pause functionality for the current step only, overriding the sequence default if necessary. When pause is enabled for a step, the cycle can be paused while this step is executing, allowing operators to halt execution.
Enabling pause at the step level is useful for:
- Wait or idle steps where pausing is safe
- User interaction steps
- Steps where operator inspection may be needed
- Override sequence settings for specific steps
typical usage patterns
- Wait steps: Enable pause during wait operations
- User steps: Allow pause during user interactions
- Inspection points: Enable pause for quality checks
- Override sequence: Enable pause for specific steps only
When to use
- For steps where pausing is safe and desired
- During wait or idle operations
- At inspection or decision points in the sequence
- When specific steps should allow pausing regardless of sequence settings
Example
// Enable pause for wait step
CASE cycleManager.steps.current OF
MySteps.WAIT_FOR_OPERATOR:
// This step can be paused
cycleManager.configuration.configuration.step
.pause.enable();
IF operatorReady THEN
cycleManager.steps.next := MySteps.CONTINUE;
END_IF;
MySteps.INSPECTION_POINT:
// Enable pause for inspection
cycleManager.configuration.configuration.step
.pause.enable();
cycleManager.configuration.configuration.step
.timeout := T#0S; // No timeout during inspection
IF inspectionComplete THEN
cycleManager.steps.next := MySteps.NEXT;
END_IF;
END_CASE
// Conditionally enable pause
IF debugMode OR maintenanceMode THEN
cycleManager.configuration.configuration.step
.pause.enable();
END_IF;
// Handle pause request for enabled step
IF cycleManager.currentPauseEnabled AND pauseRequested THEN
cycleManager.requestPause();
END_IF;
Parameters
none
Code
Declaration
METHOD enable
Implementation
THIS^.cycleManager.currentPauseEnabled := TRUE;