21.08.2019

Normgerechte Programmierung und Überprüfung von Sicherheitsfunktionen

Softwareassistent Softema unterstützt Safety-Anwender

Aus Themen wie Industrie 4.0, Digitalisierung und Smart Factory ergeben sich besondere Anforderungen, die bei der Entwicklung und Konstruktion von Maschinen eine immer größere Rolle spielen. Um diesem Trend gerecht zu werden und die Ansprüche schnell in der Praxis umzusetzen, steigt der Softwareanteil an der Applikation stetig. Die beschriebene Tendenz ist auch in der Sicherheitstechnik zu beobachten.

Autor: Dipl.-Ing (FH) Sven Wilhelms, Competence Center Services, Phoenix Contact Deutschland GmbH


Bild: Phoenix Contact Deutschland GmbH

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).

Um die Software auf den verschiedenen Ebenen effizient testen zu können, hilft Softema ebenfalls den Prüfern. Zu diesem Zweck werden die Spezifikations-Arbeitsblätter wiederverwendet und ausschließlich um Prüfspalten erweitert. Zur Vervollständigung der Tests - wie beispielsweise Codereview und Validierung - sowie von deren Dokumentation stehen zusätzliche Arbeitsblätter zur Verfügung (siehe Ergebnisse Verifikationsaktivitäten). Seit Frühjahr 2019 liegt der Softwareassistent als Beta-Version für einen eingeschränkten Kreis von rund 300 Nutzern vor. Damit wertvolle Erkenntnisse für die Weiterentwicklung gesammelt werden können, wird Softema derzeit in einer lang angelegten Testphase den ersten praktischen Prüfungen unterzogen.

Empfehlungen der Redaktion

Ergänzender Code-Generator

In den Maschinen steigt der Anteil an komplexer sicherheitsbezogener Software stetig. Deshalb müssen die Methoden zur Erstellung und Überprüfung entsprechender Programme in der Theorie weiterentwickelt und in der Praxis angewendet werden. Nur so ist in Zukunft sichergestellt, dass sich die in der Maschinenrichtlinie dargelegten Anforderungen an die Zuverlässigkeit von Steuerungstechnik erfüllen lassen. Durch den zukünftigen Einsatz des Softwareassistenten Softema und dessen fortlaufende Optimierung wird ein wichtiger Schritt in diese Richtung getan. Sicherheitsbezogene Software muss spezifiziert werden, um systematische Fehler zu vermeiden. Ohne eine ordnungsgemäße Spezifikation lassen sich Verifikations- und Validierungsaktivitäten nicht durchführen. Bei den beiden zentralen Tätigkeiten der Softwareerstellung - also Spezifikation und Verifikation - wird der Maschinenhersteller/Programmierer perspektivisch durch Softema unterstützt.

Es ist davon auszugehen, dass ab Mitte 2020 eine für den gesamten Markt freigegebene Version des Softwareassistenten zur Verfügung steht. Parallel befindet sich ein Code-Generator in der Entwicklungsphase, der in Kombination mit Softema erhältlich sein soll. Auf der Grundlage eines Softema-Projekts erzeugt der Code-Generator dann sicherheitsbezogene 'Code-Abschnitte', die sich in verschiedene Steuerungssysteme einbinden lassen. Im Rahmen der Integration kann der Programmierer zwischen unterschiedlichen Dateiausgabeformaten wählen und die Code-Abschnitte so einfach in seine Softwareprojekte übernehmen. Es wird spannend zu beobachten, wie der Markt den Softwareassistenten annimmt und wie seine Weiterentwicklung auf der Grundlage des Feedbacks aus der Praxis vorangetrieben wird. Im Sinne der funktionalen Sicherheit wäre es wünschenswert, dass Softema eine ähnliche Erfolgsgeschichte wie Sistema schreibt.

Dienstleistungen und Seminare rund um Safety

Wenn es um die Umsetzung der Rahmenbedingungen aus der Maschinenrichtlinie und den relevanten Normen geht, setzt Phoenix Contact konsequent auf den Sicherheitslebenszyklus für Maschinen. In Phase 2 wird die sicherheitsbezogene Anwendungssoftware (SRASW) auf der Grundlage der Anforderungen aus der Risikobeurteilung der Phase 0 spezifiziert und dann in den folgenden Phasen erstellt, verifiziert und validiert. Zukünftig lässt sich Softema direkt in die Arbeitsweise gemäß Phasenmodell des Sicherheitslebenszyklus einbinden, wie dies heute bereits bei Sistema der Fall ist (Grafik zum Sicherheitslebenszyklus für Maschinen).

Im Rahmen seines umfangreichen Dienstleistungsspektrums für die funktionale Sicherheit bietet Phoenix Contact auch Seminare rund um die sicherheitsbezogene Software an. So findet im September die zweitägige Veranstaltung "Safety Application Software" in Herrenberg statt. Der Kurs beschäftigt sich schwerpunktmäßig mit der Gestaltung der Spezifikation und der Prüfung von Funktionsbausteinen, wobei die Inhalte steuerungsunabhängig vermittelt werden. Im eintägigen Sistema-Seminar in Bad Pyrmont, Berlin oder Herrenberg wird das optimale Arbeiten mit dem Softwareassistenten erläutert. Ab 2020 steht ebenfalls ein Softema-Lehrgang zur Verfügung. Weitere Informationen zu den Veranstaltungen finden sich unter www.phoenixcontact.de/safety.

Anzeige