Skip to main content

disable

Short summary

Disables pause functionality for the current cycle manager step.

Purpose and usage

This method disables the pause functionality for the current step only, overriding the sequence default. When pause is disabled for a step, pause requests will be ignored while this step is executing, ensuring the step runs to completion.

Disabling pause at the step level is useful for:

  • Critical operations within a pausable sequence
  • Time-sensitive steps that must not be interrupted
  • Atomic operations that need to complete
  • Safety-critical step procedures

typical usage patterns

  1. Critical steps: Prevent pausing during important operations
  2. Time-sensitive: Steps with timing requirements
  3. Atomic operations: Multi-part steps that must complete together
  4. Override sequence: Disable pause for specific steps only

When to use

  • For steps that must complete without interruption
  • During critical operations within a larger sequence
  • For time-sensitive or atomic step operations
  • When specific steps should override sequence pause settings

Example

// Disable pause for critical step
CASE cycleManager.steps.current OF
MySteps.PREPARE_CRITICAL:
// Next step cannot be paused
cycleManager.configuration.configuration.step
.pause.disable();
cycleManager.steps.next := MySteps.CRITICAL_WRITE;

MySteps.CRITICAL_WRITE:
// This step runs without pause possibility
IF writeCriticalData() THEN
// Re-enable pause for next step
cycleManager.configuration.configuration.step
.pause.enable();
cycleManager.steps.next := MySteps.NORMAL_OPERATION;
END_IF;
END_CASE

// Temporarily disable pause for atomic operation
IF startAtomicOperation THEN
cycleManager.configuration.configuration.step
.pause.disable();
cycleManager.configuration.configuration.step
.timeout := T#30S; // Ensure completion
END_IF;

Parameters

none

Code

Declaration

METHOD disable

Implementation

THIS^.cycleManager.currentPauseEnabled := FALSE;