Die zunehmende Nutzung von Software hat zur Folge, dass die Quote an sicheren Kleinsteuerungen und sicheren SPS (F-SPS) sowie der Einsatz von sicherheitsbezogener Anwendungssoftware (SRASW) ebenfalls ständig wachsen. Die Programmierer müssen also in Zukunft Sicherheitsfunktionen mit höherer Komplexität erstellen können. Doch die Realisierung der normativen Anforderungen für sicherheitsbezogene Anwendungssoftware erweist sich in der Praxis als schwierig. Das liegt zum einen an den sehr allgemein gehaltenen Rahmenbedingungen der Normen DIN EN ISO13849-1/-2 und EN ISO62061. Hinzu kommt, dass die heutige Anzahl an zielführenden Hilfestellungen und Publikationen zur normgerechten Programmierung und Überprüfung von sicherheitsbezogener Software eher gering ist. Der schon seit geraumer Zeit angekündigte Softwareassistent Softema (Software von Steuerungen an Maschinen) des Instituts für Arbeitsschutz der Deutschen Gesetzlichen Unfallversicherung (IFA) soll Programmierer zukünftig bei der Umsetzung der Anforderungen unterstützen.
Ausbaufähiges Wissen
Die Entwicklung von sicherheitsbezogener Anwendungssoftware fokussiert sich hauptsächlich auf die Vermeidung systematischer Fehler. Zur Erreichung dieses Ziels soll die Software lesbar, verständlich sowie test- und wartbar sein. Kapitel 4.6 der DIN EN ISO13849-1 führt viele weitere Einzelanforderungen auf, die sich gegebenenfalls in Abhängigkeit vom zu realisierenden Performance Level im Detaillierungsgrad der Implementierung unterscheiden können:
- Entwicklungslebenszyklus mit Spezifikation, Verifikation und Validierung nach dem V-Modell
- Dokumentation des Entwicklungsprozesses und Spezifikation der Software
- Programmierrichtlinien
- Testanforderungen (Grafik: V-Modell zur Softareentwicklung).
Die tägliche Arbeit der Maschinenhersteller zeigt, dass das Verständnis für die Spezifikation der sicherheitsbezogenen Hardware und deren Verifikation mit dem Softwareassistenten Sistema im Markt angekommen ist. Die Konstrukteure kennen die Rahmenbedingungen der DIN EN ISO13849-1/-2 hinsichtlich der sicherheitsbezogenen Hardware und führen sie in der Praxis aus. Im Vergleich dazu ist das breite Wissen um die Ansprüche der Normen an die Spezifikation, Programmierung und Überprüfung von sicherheitsbezogener Anwendungssoftware respektive deren praktische Umsetzung noch ausbaufähig.
Tabellenbasierte Spezifikation
Diese Aussage belegt auch der Forschungsbericht des Projekts ‚Normgerechte Entwicklung und Dokumentation sicherheitsbezogener Anwendersoftware im Maschinenbau‘ (FF-FP0319) der Deutschen Gesetzlichen Unfallversicherung (DGUV). Als ein Ergebnis des Projekts kristallisierte sich eine Art Matrixmethode zur Spezifikation heraus, die in Abstimmung mit den beteiligten Industrieunternehmen als am praktikabelsten erscheint, weil Softwarespezifikationen in Tabellenform teilweise bereits im Markt Anwendung finden. Zur praxisbezogenen Realisierung der ‚Matrixmethode des IFA‘ sowie der Erkenntnisse des Projekts ist seinerzeit das Projekt ‚Softema‘ ins Leben gerufen worden. Softema verwirklicht die Anforderungen der DIN EN ISO13849, lässt sich allerdings nur bedingt im Rahmen der EN ISO62061 verwenden.
Der Softwareassistent strebt einerseits an, dass das Verständnis hinsichtlich der Ansprüche der Norm und deren praktischer Umsetzung genauso selbstverständlich vorliegt, wie dies im Hardwarebereich der Fall ist. Darüber hinaus soll dem Entwickler von sicherheitsbezogener Software mit Softema ein Werkzeug an die Hand gegeben werden, das für eine normgerechte Erstellung des Codes sorgt. Der Assistent leitet den Programmierer dazu von der Spezifikation über die Kodierung bis zu den Verifikations- und Validierungsmaßnahmen durch den gesamten Entwicklungsprozess der Software. Auf diese Weise wird die Vermeidung von systematischen Fehlern von Beginn an unterstützt.
Auch für Prüfer nutzbar
Das Arbeiten mit Softema basiert auf Microsoft Excel-Arbeitsblättern, die wahlweise mit dem Tabellenkalkulationsprogramm oder mit Softema ausgefüllt werden können. In der Spezifikationsphase hat der Entwickler die Möglichkeit, das von ihm erzeugte Programm von der Spezifikation der Sicherheitsfunktion über die IO-Belegung sowie die Softwarearchitektur mit Nutzung der Vorverarbeitungs- und Ansteuerungsebene bis zur Cause-and-Effect-Matrix auf mehreren Excel-Arbeitsblättern zu beschreiben. Die Ansteuerlogik wird auf der Grundlage der Cause-and-Effect-Matrix programmiert (siehe Cause-andEffedt-Matrix). In der Regel setzt die Arbeit mit Softema voraus, dass die Vor- und Ansteuerungsebene mit vorgefertigten Funktionsbausteinen realisiert werden (Grafik zur Softwarearchitektur).