Für komplexe Sicherheitsfunktionen werden mächtige und zugleich effiziente Programmiersprachen benötigt, in denen Software-Teile erstellt und getestet werden können. Allerdings muss dann nach den Vorgaben der EN/IEC 61508 entwickelt werden und der Aufwand ist außerordentlich hoch. Sicherheitsgerichtete Applikationen erstellt der Maschinen- oder Anlagenbauer daher in der Praxis mithilfe sicherer, zertifizierter Anwendungsbausteine und Logikverknüpfungen. Entwickler müssen bislang zwischen einfachen Funktionsbausteinen für Sicherheit und mächtigen SPS-Editoren wechseln. Das ist der Stand bis heute.
FVL und LVL
Um Standard und Sicherheit bei der Programmierung zu verschmelzen, bedarf es zum einen einheitliche Editoren, die sowohl für automatisierungs- als auch für sicherheitstechnische Aufgabenstellungen verwendbar sind. Zum anderen muss die Freiheit erhalten bleiben, die Konfigurierung mit Funktionsbausteinen mit der Programmierung im Quellcode in EN/IEC61131-3-konformen Editoren zu kombinieren. Die Schwierigkeit liegt in den für sicherheitsrelevante Applikations-Software (SRASW) geltenden Anwendernormen EN/IEC 62061 und EN ISO 13849-1. Beide unterscheiden zwischen Full Variability Language (FVL) und Limited Variability Languages (LVL). FVL bieten alle Möglichkeiten der Programmierung. Aufgrund ihres großen Funktions- und Befehlsumfangs zählen Anweisungsliste und Strukturierter Text neben Hochsprachen wie C beziehungsweise C++ zu dieser Kategorie. Demgegenüber besitzen LVL-Sprachen einen eingeschränkten Sprachumfang und eine übersichtliche Ausdrucksweise. Diese Sprachen beschränken sich in den meisten Fällen auf die Möglichkeit, vordefinierte Bibliotheksfunktionen zu parametrieren und zu kombinieren, um die Sicherheitsanforderungen im Programm umzusetzen.
Zentrale Software-Plattform
Die Anforderungen an die SRASW-Erstellung gelten nur mit Programmiersprachen, die als LVL eingestuft sind, als erfüllt. Jedoch finden sich in den Normen keine Hinweise darauf, nach welchen Kriterien eine Einstufung als LVL oder FVL stattfindet. Die konkrete Nennung von Programmiersprachen jedoch gibt Anlass für Diskussionen. Denn eigentlich beschreiben Normen lediglich die Anforderungen oder Bewertungskriterien und keine technische Umsetzung. Die Interpretation der Normentexte und die Umsetzung ist Aufgabe des Anwenders in Absprache mit der Prüfbehörde. Zusammenfassend besteht die Herausforderung für die Automatisierungsbranche darin, eine bislang als FVL klassifizierte Sprache in eine LVL-Sprache zu überführen. Das zentrale Element für die Verschmelzung von Standard und Sicherheit im Automatisierungssystem PSS 4000 von Pilzist sind die verschiedenen Editoren und Bausteine der Software-Plattform PAS4000. Für Konstrukteure steht die einfache Sprache PASmulti zur Verfügung. Sie bietet eine umfangreiche Bibliothek an bereits zertifizierten Software-Bausteinen, die der Anwender individuell ergänzen kann.
Anweisungsliste und Strukturierter Text
Zudem stehen auch die Editoren PAS IL für Anweisungsliste und PAS STL für Strukturierten Text zur Verfügung. Die Besonderheit ist, dass diese EN/IEC 61131-3-Sprachen für die Automatisierung erstmals vom Tüv Süd auch als LVL eingestuft werden. Dazu führen systembedingte Abwandlungen und Einschränkungen sowie die Tool-Unterstützung bei der Eingabe. Dadurch können die Anforderungen an die SRASW-Erstellung der Anwendungsnormen wie EN/IEC 62061 und EN ISO 13849-1 erfüllt werden. Der Programmierer nutz seine gewohnte Programmiersprache, deren Ausdrucksweise und Funktionalität dieser Programmiersprachen bedienen, um seine Applikations-Software zu erstellen. Dabei muss er seinen kompletten Entwicklungs- und Validierungsprozess nicht auf das wissenschaftliche Niveau der EN/IEC 61508 anheben.
Mehr Freiheit, mehr Validierungsaufwand
Die Einstufung einer SPS-üblichen Hochsprache wie Strukturierter Text in LVL ermöglicht jedoch nur, dass der beschriebene Entwicklungsprozess und das Vorgehen aus den entsprechenden Sektornormen angewendet werden können. Der Maschinenbauer kann also bei seinem bekannten Entwicklungsprozess für sein sicherheitsgerichtetes Applikationsprogramm bleiben. Der Prozess als solches wird aber nicht einfacher: Mit der gewonnen Freiheit bei der Erstellung des Applikationsprogramms muss mehr Validierungsaufwand betrieben werden als bei der schlichten Parametrierung von Sicherheitsbausteinen. Ein Leitfaden für die Anwendung der Maschinenrichtline zur Erstellung der Applikationssoftware wäre hier sicherlich hilfreich, um dem Anlagenkonstrukteur mehr Sicherheit bei der Umsetzung zu geben.