Record and analyse your PLC data – free and open source
Siemens S7 and TIA (also optimized blocks), Allen-Bradley, Beckhoff, OPC UA, Modbus, Mitsubishi, Omron and more – mixed in one recording. Live trends on the desktop, in the browser or headless on a Raspberry Pi; CSV, SQL and time-series databases, Grafana.
Windows · Linux (AppImage, .deb, Raspberry Pi) · macOS · English and German · LGPL-3.0
What it does
Live trends
Several charts and pages, zoom, rulers, value table, bar graphs, Bool signals, offline view of recordings.
Databases & Grafana
CSV plus SQLite, MariaDB/MySQL, PostgreSQL/TimescaleDB, QuestDB, InfluxDB 3, VictoriaMetrics, Prometheus – with a generated Grafana dashboard.
Triggers & alarms
Event log with acknowledgement and notes, marks on the time axis, notifications via e-mail, Teams, Slack, webhook, ntfy or Telegram.
Recording by trigger
Pre- and post-trigger like an oscilloscope – only the interesting part is stored.
Analysis
XY chart, FFT, PID controller tuning from recorded step responses, computed variables with formulas, PDF reports per shift/day/week/month.
In the browser
Built-in web server with HTTPS and users: charts, rulers, export, events and process view on PC, tablet and phone.
Headless & Raspberry Pi
Runs as a service; touchscreen panel for network, Wi-Fi, time from the PLC and display dimming. Desktop clients connect over the network.
IO check
Commissioning aid: signal list, matrix, swapped wires, analog test points and protocol – also on the phone.
OPC UA server
Provides the recorded values to SCADA and HMI systems.
Screenshots






Supported controllers
| Driver | Controllers / protocol | Tested |
|---|---|---|
s7 | Siemens S7-300/400/1200/1500, PUT/GET | ✅ real PLC |
tia | Siemens S7-1200/1500 symbolic, also optimized blocks, without PUT/GET | 🧪 S7-PLCSIM Advanced, emulator |
logo | Siemens LOGO! 0BA7/0BA8 | ⬜ |
s5as511 | Siemens S5 via the PG interface (AS511) | ⬜ |
clx | Allen-Bradley ControlLogix, CompactLogix, Micro800 | ✅ real PLC |
pccc | Allen-Bradley MicroLogix 1100/1400, SLC 500 | ⬜ |
ads | Beckhoff TwinCAT 2/3 via ADS, with symbol browser | ⬜ |
opcua | OPC UA – Beckhoff, B&R, Codesys, Siemens, Omron, Kepware …, cyclic or subscription | 🧪 own OPC UA server over the network, asyncua server |
modbus / modbus_rtu | Modbus TCP, Modbus RTU serial (several devices per port) | 🧪 pymodbus server (TCP) · ⬜ RTU |
slmp | Mitsubishi MELSEC iQ-R, iQ-F, Q, L | ⬜ |
fins | Omron CJ, CS, CP, NJ/NX (FINS/TCP, FINS/UDP) | ⬜ |
kvhostlink | KEYENCE KV (Host Link) | ⬜ |
toyopuc | JTEKT TOYOPUC (Computer Link) | ⬜ |
✅ tested with a real controller · 🧪 tested against a simulator/emulator on every push · ⬜ implemented from the protocol documentation, not yet tested with hardware – feedback very welcome. All seven databases and Grafana are tested against real servers.
Missing a controller? A driver is a single Python file – see Developing drivers.
Try it in two minutes
Download the package for your system from the latest release, start PLC Datenlogger and click Demo – simulated values, no PLC needed. Or from source:
pip install -r requirements.txt python src/plc_logger.py --demo
Questions, ideas or want to show your setup? Discussions · Bugs: Issues