Test your automation logic without a physical PLC. AutomationView includes a real-time emulation engine that faithfully reproduces scan-cycle behavior.
The emulation engine executes your Sequence programs in a continuous scan cycle, just like a physical programmable logic controller. It evaluates transitions, activates and deactivates steps, processes timed actions, and provides live visual feedback in the Sequence Editor.
There are several ways to start running your program. Choose whichever method fits your workflow.
Press F5 to start emulation immediately. No additional steps needed.
Click the Play button in the top bar, located to the left of the native search bar.
For the full list of emulation commands, see the Simulation Commands reference.
Emulation controls are located in the top bar, to the left of the native search bar. The available icons change depending on the current emulation state.
Only the Play icon is visible. Click it or press F5 to start the emulation.
| Icon | Shortcut | Description |
|---|---|---|
| Pause | - | Pause the emulation |
| Stop | Shift+F5 | Halt the emulation and return to the stopped state |
| Reset | Ctrl+Shift+F5 | Reset all state to initial conditions |
| Settings | - | Open cycle time parameters |
When the emulation is paused, two additional icons appear:
| Icon | Shortcut | Description |
|---|---|---|
| Resume | - | Resume continuous emulation |
| Step | F10 | Execute exactly one scan cycle, then pause again |
| Stop | Shift+F5 | Halt the emulation and return to the stopped state |
| Reset | Ctrl+Shift+F5 | Reset all state to initial conditions |
Step (F10) is only available while paused. It lets you advance one cycle at a time and observe exactly how transitions fire and steps change.
Each cycle follows the standard PLC execution model. Understanding these phases helps you debug timing and ordering issues.
Adjust the scan cycle time to control how fast the emulation runs. Click the Settings icon in the top bar while the emulation is running, or configure it in the Emulation Settings.
| Setting | Cycles/sec | Use Case |
|---|---|---|
| 50 ms | 20 | Fast validation |
| 100 ms (default) | 10 | Normal emulation |
| 500 ms | 2 | Slow observation |
| 1000 ms | 1 | Step-by-step debugging |
While the emulation runs, you can set any variable to a specific value to test different scenarios. Changes take effect on the next scan cycle.
This is not a force. Setting a variable value does not lock it. If an instruction such as OTE, SET, or any other output instruction writes to that variable during the scan cycle, the program logic will overwrite the value you set. To reliably hold a value, you must ensure no instruction in the program writes to that variable.
Click on a variable in the Variables sidebar to set its value directly.
Click directly on a transition in the sequence diagram to set the associated variable:
This is useful for simulating sensor inputs, button presses, or testing edge cases without physical hardware.
The Sequence Editor provides live feedback during emulation:
| Element | Active State |
|---|---|
| Steps | Highlighted with distinct color |
| Transitions | Marked when condition is TRUE |
| Timed Actions | Progress bar with countdown |
| Fired Transitions | Brief flash animation |