© Excellent backgrounds/Shutterstock.com
Wie man einen bestehenden Compiler nahtlos in Eclipse integriert

Alte Sprache in neuem Gewand


Alter Compiler, integriert in einer State-of-the-Art-IDE, geht nicht? Doch! Dieser Artikel zeigt, wie ein etablierter, jahrzehntealter Compiler für eine Programmiersprache aus der Domäne der Automatisierung in Eclipse integriert und dadurch revitalisiert werden kann. Weiter beleuchten wir, wie unterschiedliche Features einer modernen IDE für die in die Jahre gekommene Sprache implementiert werden können. Möglich macht das die Verwendung des Xtext-Frameworks.

Im Umfeld der Automatisierung dreht sich alles um speicherprogrammierbare Steuerungen (SPS oder engl. PLC). Unser ganzes Leben ist von ihnen umgeben. Ob die Heizung eines modernen Gebäudes, die Fertigungsstraße eines Autoherstellers oder der sichere, autonome Betrieb einer Windkraftanlage – speicherprogrammierbare Steuerungen sind nicht mehr wegzudenken. SPS-Software wird grundlegend nicht anders als andere Software entwickelt. Es gibt dafür besonders geeignete Programmiersprachen, Entwicklungsumgebungen und natürlich eigene Compiler. Als besonders beliebte Programmiersprachesprache für Automatisierungsaufgaben hat sich über die Jahre die Sprache Strukturierter Text (ST) [1] herausgestellt. Die Sprache wurde in den frühen 1990er Jahren normiert und hat sich seit damals nur geringfügig verändert. Das spiegelt sich auch in der Toolchain wider, die noch von vielen Anwendern verwendet wird. Compiler und Entwicklungsumgebungen stammen oft noch aus derselben Zeit, samt den damals üblichen Workflows und Hilfsmitteln. Wir haben uns zum Ziel gesetzt, einen Compiler aus dieser Zeit, der durchaus noch seine Daseinsberechtigung hat, mithilfe von Eclipse und Xtext in das 21. Jahrhundert zu hieven. Die von uns entwickelte IDE trägt den Namen PLC Developer. Sie erlaubt es, auf Basis von Eclipse und mithilfe des Xtext-Frameworks Code in Strukturiertem Text auf moderne Art und Weise zu entwickeln. Dafür generiert sie eine auf XML basierende Zwischensprache (PLCopen [2]), die von dem externen Compiler gelesen und verarbeitet wird. Schlussendlich kann die kompilierte Applikation vom PLC Developer auf die SPS gespielt und ausgeführt werden (Abb. 1).

rieder_compiler_1.tif_fmt1.jpgAbb. 1: Der Workflow von der Quelldatei bis zur auf der SPS ausführbaren Applikation

Das ist Strukturierter Text

Strukturierter Text (ST) ist eine der fünf Programmiersprachen, die in der Norm IEC 61131-3 definiert sind. Die Sprache ist stark an Pascal angelehnt, wobei einige Merkmale eingeführt wurden, die sie besonders angenehm für die SPS-Programmierung macht. Listing 1 z...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang