Ähnlich einer Rechtschreibprüfung zeigt die statische Codeanalyse frühestmöglich Fehler und Gefahren im Programmcode an. Außerdem macht sie unbeabsichtigte Datenflüsse oder die falsche Verwendung von Programmierschnittstellen sichtbar. Softwareentwickler:innen können ihren Code so bereits während der Programmierung prüfen und ausbessern, ohne ihn kompilieren und ausführen zu müssen. „Die Technologie der statischen Codeanalyse ist im Bereich SPS-Programmierung eine absolute Neuerung. In anderen Branchen wird sie bereits sehr oft eingesetzt. Entwicklungsprozesse werden damit effizienter – und vor allem sicherer“, betont Jan Martin Persch, Wissenschaftler am Fraunhofer IEM.
Für die clevere Echtzeit-Korrektur setzte das Forschungsinstitut auf distributive Analyseframeworks mit geringem Speicherverbrauch. Die Analysen bieten Programmierer:innen umfangreiche Konfigurationsmöglichkeiten – und sind sowohl auf die Codesys-Programmierschnittstelle als auch auf eingebundene Drittbibliotheken anwendbar.
Vorteile für die Automatisierungsbranche
In der Automatisierungsbranche gehören SPS zur Grundausstattung. Durch die zunehmende Vernetzung von Maschinen und Anlagen stehen SPS-Programmierer:innen allerdings vor Herausforderungen: Die Gefahr für sicherheitskritische Entwicklungsfehler steigt. Richtlinien wie die europäische Norm IEC 61131-3 versuchen hier, Orientierung zu geben, doch ihre Anwendung ist aufwendig und erfordert den Aufbau besonderer Expertise. So ist das Schreiben von SPS-Programmcode zu einer komplexen Aufgabe für Softwareentwickler:innen geworden. Die Codeanalyse schafft hier Abhilfe: Sie zeigt Fehler beim Schreiben des Programmcodes auf, damit diese frühestmöglich behoben werden können.
Lösung ab sofort im Release erhältlich
Codesys ist die derzeit führende hardwareunabhängige IEC 61131-3-Automatisierungssoftware zur Projektierung und Entwicklung von Steuerungsanwendungen. „Zusammen mit dem Fraunhofer IEM haben wir den Nutzen der statische Codeanalyse für unsere Software erkannt. SPS-Programmieren wird dadurch künftig deutlich fehlerfreier“, sagt Bernhard Werner, Head of Core Technology bei Codesys Development. Das Unternehmen hat die Lösung im Anschluss an das Forschungsprojekt zur Marktreife weiterentwickelt. Die statische Codeanalyse ist ab sofort im Release 5.0.0.0 der Codesys Static Analysis eingebunden.
Gefördert wurde die Zusammenarbeit der Codesys Development GmbH und des Fraunhofer IEM im Rahmen des Zentralen Innovationsprogramms Mittelstand (ZIM) des Bundesministeriums für Wirtschaft und Klimaschutz (BMWK).