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
- Critical steps: Prevent pausing during important operations
- Time-sensitive: Steps with timing requirements
- Atomic operations: Multi-part steps that must complete together
- 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;