Features

All Five IEC 61131-3 Languages

One editor for all languages — seamless switching, shared variables, unified project structure.

  • Structured Text (ST) — Syntax highlighting, auto-completion, search & replace
  • Instruction List (IL) — Full language support with intelligent editing
  • Function Block Diagram (FBD) — Graphical editor with block library
  • Ladder Diagram (LD) — Familiar representation for switching logic
  • Sequential Function Chart (SFC) — Step sequence diagrams for process control

Industrial Bus Systems

Familiar segment hierarchy from established IEC-61131-3 IDEs, with automatic device discovery.

  • Modbus TCP — Ethernet-based communication
  • Modbus RTU — Serial RS-485 connection
  • EtherCAT — Real-time Ethernet fieldbus
  • Profibus DP — Proven industrial standard
  • Automatic IEC address assignment without collisions
  • Network scanner for device discovery
  • Diff view for changes between editor and runtime

Real-Time Data Exchange

High-performance zero-copy data exchange between PLC programs and external systems. PUBLISH/SUBSCRIBE directly in the IEC program.

Live Debugging

  • Watch variables in real time while the PLC is running
  • Force values without production downtime
  • Monitoring panel with filter function

Per-variable safety switches

Three security-sensitive data paths leave the PLC — HMI export, live monitoring and forcing. None of them is granted implicitly: every single variable must be opted in explicitly, and the ST compiler verifies the gate before emitting code.

  • HMI export — only variables explicitly tagged as HMI-exported reach remote SCADA/HMI systems through the OPC UA bridge. A reference to a non-exported variable from ST code is rejected by the compiler with a hard error.
  • Live monitoring — only variables explicitly marked as monitorable appear on the watch stream. The Monitor column in the variables panel is hidden when the global monitoring switch is off.
  • Forcing — only variables explicitly marked as forceable can be overwritten from the editor. The Force column likewise follows the global force switch.

Global switches are a second safety layer (“nothing in Production”, “force privileges only during commissioning”); the per-variable marks are the indispensable first layer — data leaves the PLC only where the engineer has knowingly authorised it.

Remote Operation

  • IEC compilation on the workstation — PLC requires make, g++, libstdc++ and librt
  • Encrypted upload to the target system
  • User management with access control
  • Automatic restart after power failure
  • Support for x86_64, ARM64 and ARMv7

Standard Library

Complete IEC standard library: counters, timers, edge detection, type conversions and mathematical functions. Extensible with user-defined blocks.

Open Source

No license fees. No vendor lock-in. Runs on Linux.