v0.5.0b2Open SCADA · GPL-3.0

Design screens, operate equipment and log industrial processes from your desktop.

LIVE
FEED 1FEED 2P-01 · RUNFlow 0.0 m³/hP-02 · STOPFlow 0.0 m³/h0255075100TK-01LT-01 · LEVEL42.0 %● good
ALM · TK-01 LEVEL HIGH ≥ 85%
↖Click the pumps
ScrollS7 · Beckhoff ADS · Modbus TCP · OPC UA · Python
(01)Manifesto

Your projects use readable files. Review them, edit them and move them to another computer. 

Open source under GPL-3.0-or-later.

(02)What's inside

Engineering01

Studio

Editor with an inspector, layers, alignment, pipes, layouts and 100 undo levels.

abSCADA Studio
Operation02

Runtime

Operate in a separate window. Design changes take effect when runtime restarts.

Communication03

S7 · ADS · Modbus · OPC UA

Connect over S7, ADS, Modbus TCP and OPC UA with signing and encryption. Configure bindings with forms; each connection acquires independently.

Data integrity04

Alarms

Hysteresis, delays, priorities and ACK with comments. Losing communication is never mistaken for the process returning to normal.

Logging05

SQLite historian

Daily logging, automatic retention, trends with up to 8 axes and original data export to CSV.

Automation06

Python scripts

Event-driven scripts and periodic tasks in separate processes with time limits.

Reuse07

Libraries

Standard symbols, project objects and versioned external libraries. Drag objects onto the canvas and bind their parameters.

Security08

Users and roles

Accounts, role and control permissions, lockout after failed attempts and command auditing.

Languages09

Multilingual projects

Write and translate project texts in several languages. Switch language in runtime without restarting acquisition or closing windows.

Traceability10

Every save, a version

JSON projects and automatic Git versions. Review history and compare changes with any editor.

(03)From design to operation
01

Design

Drag controls, draw pipes and compose layouts with a fixed header.

Design
02

Bind

Variable structures bound field by field to Siemens DBs or Modbus registers.

Bind
03

Operate

Open Runtime in its own window and operate with live values and visible quality.

Operate
04

Analyse

Real-time and historical trends with cursor, zoom and multiple axes.

Analyse
05

Watch

Pending, active, history and events. ACK with operator and comment.

Watch
(★)Example

La Tolva simulates a brewery with recipe-driven brewing, three fermenters, encrypted OPC UA and role permissions.

0

screens

0

tags

0

alarms

0

user roles

Overview
(04)By the numbers
01
0 €

in licences.

02
∞

tags at no extra cost.

03
0

ready-to-use control types.

04
0

axes per trend.

05
0

undo levels.

06
0

native industrial protocols.

(05)Who it's for

(06)For developers

Python scripts with a clear API, version-friendly JSON projects, packaged object libraries and a simple contract to add new protocols.

scripts/filling.pyPython 3
1# Tarea cíclica cada 1000 ms · periodic task
2level = ctx.read("Tank.level")
3running = ctx.read("Pump1.running")
4
5if level > 90.0 and running:
6 ctx.write("Pump1.running", False)
7 print(f"Paro por nivel alto: {level:.1f} %")
8
9ctx.state["last_level"] = level
(07)Development

See available features and planned work.

  1. 0.1Done

    MVP

    • — Screen editor
    • — Variables and structures
    • — Parameterised faceplates
    • — S7 DB communication
  2. 0.2Done

    Studio & Runtime

    • — Separate windows
    • — Always-on inspector
    • — Undo/redo
    • — Binding forms
  3. 0.3Done

    Acquisition

    • — One worker per connection
    • — Modbus TCP
    • — Per-protocol schemas
  4. 0.4Done

    SCADA features

    • — Alarms with ACK
    • — Daily SQLite historian
    • — Multi-axis trends
    • — Python scripts
    • — Faceplate libraries
    • — Beckhoff ADS
    • — Analog gauges
  5. 0.5 betaCurrent

    Libraries, users and OPC UA

    • — Standard library and reusable objects
    • — Users, roles and per-control permissions
    • — Encrypted OPC UA client and runtime server
    • — Brewery example with recipes
    • — Multilingual projects and language switching in runtime
  6. 1.0Planned

    Industrial

    • — Windows/Linux distribution
    • — Subscriptions and batch reads
    • — Field validation and load testing
    • — Nested faceplates and calendars
(08)Download

The package includes the application and examples.

Version 0.5.0b3 · 63.1 MB

  1. 01

    Download the ZIP of the latest version.

  2. 02

    Unzip it into a folder, for example Documents\abSCADA.

  3. 03

    Open abscada.exe and pick an example with its simulated PLC.

Windows 10 or 11, 64-bit. Unsigned beta release. All versions on GitHub

Downloadable resources