IEC 61131-3 Compiler Online
MatIEC – Compiler für IEC 61131-3
Dieses Tool nutzt das Open-Source-Projekt MatIEC zur Übersetzung von IEC 61131-3-Quellcode. MatIEC ist ein freier Compiler für die in der Norm IEC 61131-3 definierten Programmiersprachen, die vor allem in der industriellen Automatisierung zur Programmierung von SPS (speicherprogrammierbaren Steuerungen) verwendet werden.
Unterstützte Sprachen (textuell)
Der Standard definiert fünf Programmiersprachen. MatIEC unterstützt die drei textuellen Darstellungen:
- IL (Instruction List) – textuelle Sprache, vergleichbar mit Assembler
- ST (Structured Text) – textuelle Sprache, vergleichbar mit Pascal
- SFC (Sequential Function Chart) – Zustandsautomat, auch textuell darbar
Grafische Sprachen FBD (Function Block Diagram) und LD (Ladder Diagram) werden in dieser Web-Oberfläche nicht direkt unterstützt.
Zwei Compiler: iec2c und iec2iec
MatIEC erzeugt zwei Übersetzer (Compiler), die dieselbe Eingabedatei akzeptieren – eine Textdatei mit ST-, IL- und/oder SFC-Code:
- iec2c – erzeugt äquivalenten ANSI-C-Code zur Weiterverarbeitung in OpenPLC und anderen Laufzeitumgebungen
- iec2iec – erzeugt IEC 61131-3-Code, der der Eingabe entspricht (Formatierung und Groß-/Kleinschreibung können abweichen); dient vor allem der Debugging-Unterstützung im MatIEC-Projekt
Wofür wird der Compiler verwendet?
- Syntaxprüfung und Validierung von ST-/IL-/SFC-Programmen
- Erzeugung von C-Code für OpenPLC und eingebettete Laufzeiten
- Vorbereitung von SPS-Projekten und Schulungsbeispielen
- Portierung und Normalisierung von IEC 61131-3-Quelltext
- Code-Review und technische Dokumentation
Wie funktioniert die Kompilierung?
- IEC 61131-3-Quellcode hochladen oder einfügen
- Ausgabeformat wählen: ANSI C (iec2c) oder IEC 61131-3 (iec2iec)
- Kompilierung starten
- Fehler prüfen oder Ergebnisdateien herunterladen
Technische Hinweise
Die Kompilierung erfolgt serverseitig mit MatIEC (iec2c bzw. iec2iec). Auf dem Server müssen die Binaries unter bitrix/modules/roltec.soft/lib/matiec/ installiert sein, oder der Pfad muss über SPS_MATIEC_IEC2C / SPS_MATIEC_IEC2IEC gesetzt werden.
MatIEC arbeitet in mehreren Stufen: lexikalische Analyse, Syntaxparser, semantische Prüfung (Datentypen) und Codegenerierung. Der erzeugte C-Code ist eine Grundlage und muss für die Zielplattform noch mit einem C-Compiler und der PLC-Laufzeitbibliothek gebaut werden.