All supported action instruction types in AutomationView, following IEC 61131-3 standards. Each instruction defines what an action does when it executes. Combine instructions with Action Qualifiers to control when and how the action runs.
Instructions that work with boolean (TRUE/FALSE) variables.
| Instruction | Description |
|---|---|
| STORE | Write a boolean value to the target variable |
| SET | Set the target variable to TRUE (latched) |
| RESET | Set the target variable to FALSE (latched) |
| SR | Set-Reset flip-flop (set-dominant) |
| RS | Reset-Set flip-flop (reset-dominant) |
| R_TRIG | Rising edge detection (FALSE-to-TRUE pulse) |
| F_TRIG | Falling edge detection (TRUE-to-FALSE pulse) |
Instructions that transfer data between variables.
| Instruction | Description |
|---|---|
| MOVE | Copy a value from source to destination |
Instructions that perform mathematical operations on numeric variables.
Arithmetic instructions with the
ActionQualifier.Nqualifier execute every scan cycle. Use theActionQualifier.Pqualifier if you only want the operation to run once per step activation.
Instructions that compare two values and produce a boolean result.
| Instruction | Description |
|---|---|
| GT | Greater than |
| GE | Greater than or equal |
| LT | Less than |
| LE | Less than or equal |
| EQ | Equal |
| NE | Not equal |
Function block instructions that measure and control time. Each timer instance creates child variables (.IN, .Q, .PT, .ET).
| Instruction | Description |
|---|---|
| TON | On-Delay Timer - output turns on after a delay |
| TOF | Off-Delay Timer - output stays on after input turns off |
| TP | Pulse Timer - generates a fixed-duration pulse |
| RTO | Retentive On-Delay Timer - accumulates time across activations |
All timer types share the same set of child variables:
| Variable | Type | Description |
|---|---|---|
.IN |
BOOL | Input signal (activates the timer) |
.Q |
BOOL | Output signal (TRUE when timer condition is met) |
.PT |
TIME | Preset time (configured duration) |
.ET |
TIME | Elapsed time (current accumulated time) |
Function block instructions that count events. Each counter instance creates child variables (.CU/.CD, .Q, .PV, .CV).
| Instruction | Description |
|---|---|
| CTU | Count-Up Counter - increments on each activation |
| CTD | Count-Down Counter - decrements on each activation |
| Variable | Type | Description |
|---|---|---|
.CU / .CD |
BOOL | Count-up / Count-down input |
.Q |
BOOL | Output signal (TRUE when count condition is met) |
.PV |
INT | Preset value (target count) |
.CV |
INT | Current value (current count) |

from automation_machine import Sequence, StepType, ActionQualifier, ActionInstruction
class MyMachine(Sequence):
def setup(self):
step = self.add_step(StepType.INITIAL, name="Running")
# Boolean: activate motor while step is active (STORE + N are defaults)
step.add_action("motor", "Main motor running")
# Timer: start a 5-second delay
step.add_action("delay_timer", "Startup delay", instruction=ActionInstruction.TON, duration=5000)
# Counter: increment on each step activation
step.add_action("part_counter", "Count produced parts", qualifier=ActionQualifier.P, instruction=ActionInstruction.CTU)
# Arithmetic: add 1 to position
step.add_action("position", "Increment position", qualifier=ActionQualifier.P, instruction=ActionInstruction.ADD)
MyMachine()
The
qualifierparameter controls when the instruction runs (e.g., continuously, on activation, on deactivation). See Action Qualifiers Overview for details.