User manual/Getting started
What is abSCADA
Product overview, its two applications and what to expect from the current release.
2 min read
abSCADA is a free desktop SCADA (GPL-3.0-or-later) written in Python with Qt. Use it to design supervisory screens, connect them to Siemens S7 PLCs, Beckhoff PLCs (ADS), Modbus TCP devices or OPC UA servers, log history, manage alarms and run the process from a dedicated operator window.

Two applications, one project
| Application | Purpose | Used by |
|---|---|---|
| Studio | Design screens, variables, connections, alarms, loggers and scripts | Engineering |
| Runtime | Operate the process with live values, alarms and trends | Operators |
Studio never shows process values on the canvas: you will see — placeholders and neutral lamps. Open runtime takes a snapshot of the project and launches a separate operator window. You can keep editing in Studio; changes apply when Runtime restarts.
A project is a folder
The whole project is stored as readable JSON files and .py sources. Open it in an external editor, diff it with Git and copy it to another machine — no export step.
my-plant/
project.json # name and startup screen
variables.json # variables and PLC bindings
connections.json # PLCs and devices
screens/ # screens and layouts
faceplates/ # reusable templates
scripts/ # project Python
runtime/ # history and alarms (not versioned)
What the current release includes
- Graphic editor with toolbox, inspector, layers, alignment, undo/redo and zoom.
- Simple variables and nested structures, bound field by field.
- Siemens S7 (absolute DB access), Beckhoff ADS (by symbol), Modbus TCP and OPC UA, with one worker per connection.
- Analog gauges: dial, semicircle and thermometer with warning and alarm zones.
- Visual states and conditions without writing code.
- Persistent alarms with ACK, daily SQLite historian and trends with up to 8 axes.
- Event-driven Python scripts and periodic tasks.
- Versioned faceplate libraries and local Git history.
Transparency
Version 0.5 is in beta. Redundancy, industrial distribution and validation under industrial load with physical equipment remain pending. abSCADA is not a safety function: interlocks belong in the PLC.
Continue with installation.
Security and reuse
Libraries brings together standard, project and external objects. Users and roles configures accounts and permissions. OPC UA covers the encrypted client and runtime server. Try them together in the brewery.
Multilingual projects
Write project texts in several languages and switch language in runtime without restarting acquisition. The editing language is independent of the operating language. See Project languages.