IEC 61131-3 Compiler

Information about the IEC 61131-3 compiler (tap briefly to open)

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 Controlsen) 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-Source text
  • Code-Review und technische Dokumentation

How does compilation work?

  1. IEC 61131-3-Quellcode hochladen oder einfügen
  2. Output format wählen: ANSI C (iec2c) oder IEC 61131-3 (iec2iec)
  3. Start compilation
  4. Fehler prüfen oder Download result files

Technical notes

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 (Data types) und Codegenerierung. Der erzeugte C-Code ist eine Grundlage und muss für die Goalplattform noch mit einem C-Compiler und der PLC-Laufzeitbibliothek gebaut werden.

Compile IEC 61131-3

Optional – alternatively paste the source text below. Max. 25 MB.

Output format
Request
Select fileAttach your files