Mitmachen
ForgeIEC ist zu groß geworden, um es allein zu tragen. Hier steht, wo Hilfe gebraucht wird, wie man anfängt und was ein Beitrag voraussetzt.
ForgeIEC in drei Sätzen
ForgeIEC ist Steuerungssoftware nach IEC 61131-3: ein Studio zum Programmieren, eine Runtime auf Industrie-Linux und Bus-Brücken („Zangen“, englisch Tongs) zu den Feldgeräten. Der Strukturierte-Text-Editor ist beim Pilotkunden, der SoLaWi Ackervielfalt, im Einsatz; vieles andere ist in Arbeit. Entwickelt wird das Projekt bisher von einer Person — Jörg Bernau.
Kurz gesagt
- Quellcode unter AGPL-3.0-or-later, Zugang auf Anfrage
- Rust für Runtime und Brücken, C++ mit Qt 6 für das Studio
- jede Änderung besteht dieselben Qualitätstore
- Beiträge Dritter erst, wenn die CLA in Kraft ist
Offene Bereiche
Abgeleitet aus den offenen Issues der Repositories anvil, forgeiec-studio, hearth-studio und tongs-core und dem Arbeitsplan in tongs-core Issue #18 (Stand 22.10.2026).
Bus-Brücken
Eine Zange je Protokoll
Für EtherCAT, PROFIBUS und EtherNet/IP steht das Gerüst; der protokollspezifische Teil fehlt. LoRaWAN ist der Schwerpunkt für die SoLaWis. PROFINET ist als Zange in C++ gegen einen Siemens-Stack geplant.
Studio
Ansichten je Zange in QML
Das Studio zeigt Parameter, Diagnose und Busverkehr jeder Zange auf einer gemeinsamen QML-Basis. Die Dateien je Protokoll setzen bisher nur Titel und Beschriftungen — sie verdienen eigene Gruppen und Ansichten.
Sprachen
Grafische Editoren, die übersetzen
Für KOP, FUP und AS gibt es Editoren, übersetzt werden sie noch nicht – geplant sind sie für die Versionen 0.3, 0.4 und 0.5 (Roadmap); AWL ist abgekündigt. Gebraucht wird der Weg vom grafischen Rumpf zum Code — und saubere Serialisierung nach PLCopen XML.
Wissen
Dokumentation und Übersetzungen
Hilfeseiten, Wiki-Seiten und Übersetzungen der Oberflächen. Die Webseite wird auf Deutsch und Englisch gepflegt; weitere Sprachen brauchen jemanden, der sie aktuell hält.
Hardware
Testhardware und Feldtests
Der Bustest über echten Shared Memory lief bisher nur auf dem Entwicklungsrechner, nie auf einem Zielgerät (armhf/aarch64). Gebraucht werden Geräte, Koppler und Menschen, die im Feld testen.
Auslieferung
Paketbau
Windows-Installer, Debian- und RPM-Pakete für weitere Distributionen und Architekturen, Abhängigkeiten und Paketbeziehungen, die beim Aktualisieren nicht brechen.
Vom ersten Kontakt zum ersten Commit
Melden
Eine Mail an blacksmith@forgeiec.io: wer Sie sind, was Sie können und welcher Bereich Sie reizt.
Zugang erhalten
Der Quellcode steht unter AGPL-3.0-or-later; die Repositories sind nicht öffentlich, Zugang gibt es auf Anfrage.
Das Wiki lesen
Einstieg ist die Seite „Architecture“: Prozesse, Repositories, Klassen- und Abhängigkeitsbaum und „Where do I change what?“.
Mit der Vorlage beginnen
Die Beispiel-Zange
tongs-exampleund die Wiki-Seite „Creating a Tongs“ zeigen alles, was eine neue Brücke braucht.Die Tore bestehen
Jede Änderung besteht die Qualitätstore; Code, Commits, Issues und Wiki sind englisch.
Was die Qualitätstore prüfen, steht auf der Seite Engineering-Praxis.
Die Contributor License Agreement
ForgeIEC wird unter AGPL-3.0-or-later und zusätzlich unter einer kommerziellen Lizenz angeboten. Das geht nur, solange alle Rechte am Code beim Autor liegen. Beiträge brauchen deshalb eine Contributor License Agreement (CLA): Sie unterschreiben einmal, bleiben Urheber Ihres Beitrags und räumen ein einfaches Nutzungsrecht ein. Den Text finden Sie unter Contributor License Agreement.
Noch nicht in Kraft
Die CLA ist ein Entwurf. Solange sie nicht in Kraft ist, werden keine Beiträge Dritter angenommen. Fehlerberichte, Hinweise und Gespräche über eine Zusammenarbeit sind schon jetzt willkommen.Wer bisher beigetragen hat
ForgeIEC steht auf der Arbeit anderer. Genannt sind die Personen und Projekte aus den Dateien AUTHORS, NOTICE, LEGAL/THIRD_PARTY_NOTICES.md und LEGAL/PROVENANCE.md des Studio-Repositorys — mit Respekt und Dank.
- Jörg Bernau (alias „Blacksmith“)Urheber, Architekt und Hauptautor von ForgeIEC
- OpenPLC v3 — Thiago Alves und MitwirkendeUrsprung: ForgeIEC begann als Fork von OpenPLC (GPL-3.0); die Historie ist im Repository erhalten
- matiec — Edouard Tisserant, Mario de Sousa, Laurent Bessardder ursprüngliche IEC-Compiler, inzwischen durch einen eigenen Kern ersetzt (LGPL)
- Qt 6 — The Qt Company und MitwirkendeOberfläche des Studios (LGPL-3.0; Qt Charts GPL-3.0)
- iceoryx2 — Contributors to the Eclipse FoundationInterprozesskommunikation über Shared Memory (Apache-2.0 oder MIT)
- gRPC — The gRPC Authors; Protocol Buffers — Google LLCVerbindung Studio ⇄ Runtime (Apache-2.0; BSD-3-Clause)
- tree-sitter — Max Brunsfeld und Mitwirkendemit den Grammatiken tree-sitter-st (Tyler Matijevich), tree-sitter-md (Matthias Deiml) und tree-sitter-xml (ObserverOfTime), alle MIT
- toml++ — Mark GillardTOML-Parser (MIT)
- libxml2 — Daniel Veillard und Mitwirkende; OpenSSL — The OpenSSL Project AuthorsXSD-Prüfung und TLS (MIT; Apache-2.0)
- marked — Christopher Jeffrey; Mermaid — Knut Sveidqvist und MitwirkendeMarkdown und Diagramme (MIT)
- async-opcua — Adam Lock und MitwirkendeOPC-UA-Stack im Gateway bellows (MPL-2.0)
- PLCopendas Schema TC6 XML v2.01 zur Prüfung von PLCopen-XML-Dateien
Dazu kommen die Rust-Crates aus Cargo.lock unter freien Lizenzen (MIT, Apache-2.0, BSD-3-Clause u. a.) sowie SQLite und Argon2.
Was können Sie beitragen?
Schreiben Sie, was Sie anbieten: Code, Hardware, Tests, Dokumentation oder Erfahrung mit einem Bus.