Action qualifiers control the timing behavior of actions attached to Sequence steps, as defined by the IEC 61131-3 standard.
Every action in a Sequence step has a qualifier that determines when and how long the action's output stays active. Think of it as a rule that tells the action when to turn on and when to turn off.
Some qualifiers are simple: the output follows the step. Others add delays, time limits, or latching behavior. AutomationView implements all nine IEC 61131-3 standard qualifiers.
| Qualifier | Name | Behavior | Time Parameter |
|---|---|---|---|
| N | Non-stored | Active while the step is active | No |
| S | Set (Stored) | Latches TRUE, persists after step deactivates | No |
| R | Reset | Resets a stored variable to FALSE | No |
| D | Delayed | Activates after a configurable delay | Yes |
| L | Limited | Active for a maximum duration, then turns off | Yes |
| P | Pulse | Executes for exactly one scan cycle | No |
| SD | Stored Delayed | After delay, latches TRUE (persists) | Yes |
| DS | Delayed Stored | Delay while step is active, then latches if still active | Yes |
| SL | Stored Limited | Latches TRUE, automatically resets after duration | Yes |
Qualifiers that accept a time parameter use the duration argument in the add_action() method. The value is specified in milliseconds.
duration=100 → 100 milliseconds
duration=5000 → 5 seconds
duration=90000 → 1 minute 30 seconds
duration=7200000 → 2 hours
Example with a timed qualifier:

from automation_machine import ActionQualifier
step.add_action("heater", "Delayed heater", qualifier=ActionQualifier.D, duration=5000)
Duration values are always in milliseconds. For example,
duration=5000means 5 seconds.