Advance a step
- Last UpdatedJul 20, 2024
- 2 minute read
To advance program execution to the next step write Advance to the attribute ExecutionStateCmd.
You can advance program execution if the current program execution state is one of the following;
-
Running
-
RunningHeld
-
RunningSingleStep
-
SingleStepTransitionReady
-
Stopped
-
StoppedError.
If the command completes successfully the Execution State (attribute ExecutionState) changes to the values as shown in the table below.
Note: If you instruct the Sequencer Object to advance a step and the current execution state is either Running, RunningSingleStep or RunningHeld and the current step is configured to WriteOnExit it takes two execution cycles to finally advance to the next step.
The following table shows you how the target state and target state timer change depending on the current execution state. It also shows you whether the On Exit and On Entry values are written:
|
Current state |
Target state |
Execute OnExit Execute OnEntry |
|---|---|---|
|
Running |
State: Running (StoppedComplete if last step) |
OnExit: Yes (if Step write on exit is true) |
|
RunningHeld |
State: RunningHeld (StoppedComplete if last step) |
OnExit: Yes, if Step write on exit is true No, if last step |
|
RunningSingleStep |
State: RunningSingleStep (StoppedComplete if last step) |
OnExit:Yes (if Step write on exit is true) |
|
SingleStepTransitionReady |
State: RunningSingleStep (StoppedComplete if in the Final step) |
OnExit: No (OnExit has already been executed in the previous state) |
|
Stopped |
State: Stopped |
OnExit: No |
|
StoppedError |
State:Stopped |
OnExit: No |
For a detailed overview of the execution state attribute and its properties, see Sequencer object help.
For a detailed overview of the state transition and information on quality, timers and target steps that are effected by this execution command, see Sequencer state transition tables.