Skip to main content

stopRequest

Short summary

Provides access to the stop request configuration interface for the current step.

Purpose and usage

This property returns the stop request configuration interface for the current step, providing access to methods that configure how the cycle manager handles stop requests for this specific step. The configurator itself implements the IStopRequestConfiguration interface.

This allows step-specific stop behavior that overrides sequence defaults:

  • always(): Process stop requests immediately for this step
  • afterSuccess(): Process after this step completes successfully
  • afterNotSuccess(): Process after this step fails
  • ignore(): Ignore all stop requests for this step

typical usage patterns

  1. Critical steps: Configure to ignore or defer stops
  2. Safe steps: Allow immediate stop processing
  3. Conditional stops: Different behavior based on step outcome
  4. Override defaults: Step-specific stop handling

When to use

  • To customize stop behavior for specific steps
  • When certain steps need different stop handling than the sequence default
  • For implementing step-specific safety requirements
  • To ensure critical steps complete before stopping

Example

// Configure critical step to complete before stop
CASE cycleManager.steps.current OF
MySteps.PREPARE_CRITICAL:
cycleManager.configuration.configuration.step
.stopRequest.afterSuccess();
cycleManager.steps.next := MySteps.CRITICAL_WRITE;

MySteps.WAIT_STEP:
// Allow immediate stop during wait
cycleManager.configuration.configuration.step
.stopRequest.always();
IF condition THEN
cycleManager.steps.next := MySteps.CONTINUE;
END_IF;

MySteps.ATOMIC_OPERATION:
// This step cannot be stopped
cycleManager.configuration.configuration.step
.stopRequest.ignore();
performAtomicOperation();
cycleManager.steps.next := MySteps.NEXT;
END_CASE

// Chain with other step configurations
cycleManager.configuration.configuration.step
.timeout := T#5S;
.stopRequest.afterSuccess();
.pause.disable();

Code

Declaration

PROPERTY stopRequest : CNM_CycleManagerInterfaces.IStopRequestConfiguration