# OpenPLC Runtime v4

> A headless, open-source PLC runtime that runs IEC 61131-3 code on Linux hardware, managed from the OpenPLC Editor desktop app over a secure API with real-time scheduling.

- **Category:** IoT
- **Licence:** MIT
- **Latest version:** v4.3.1
- **Open source:** oss
- **Languages:** C, Python, C++
- **Platforms:** Docker, Docker Compose, Linux
- **Tags:** Real Time, REST API, Headless, WebSocket, Docker, Industrial Automation, Plc, Iec 61131 3, Ladder Logic, Structured Text

## Description

This project provides a headless industrial PLC runtime that executes IEC 61131-3 programs on ordinary Linux hardware. It splits into a Python Flask REST API server and a C/C++ real-time engine that runs with SCHED_FIFO priority for deterministic scan cycles. The OpenPLC Editor desktop application compiles programs locally, uploads them via HTTPS, and controls execution through the API. A WebSocket interface enables live variable monitoring and forcing. The system supports a plugin architecture for hardware I/O drivers, with both Python and C/C++ plugins running in isolated virtual environments. Prebuilt container images target x86_64, ARM64, and ARM32. Installation options include Docker, Docker Compose, a one-line Linux installer that sets up Docker automatically, or a native source build. Minimum hardware is a 1 GHz CPU, 512 MB RAM, and 500 MB disk. The codebase is MIT-licensed and maintained by Autonomy Logic.

## Links

- [Homepage](https://github.com/autonomy-logic/openplc-runtime)
- [Docker](ghcr.io/autonomy-logic/openplc-runtime)
- [GitHub Repository](https://github.com/Autonomy-Logic/openplc-runtime)
- [Issues](https://github.com/Autonomy-Logic/openplc-runtime/issues)

---
Source: https://selfhost.directory/project/openplc-runtime