Skip to main content

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

  1. Wait steps: Enable pause during wait operations
  2. User steps: Allow pause during user interactions
  3. Inspection points: Enable pause for quality checks
  4. 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;