Programmierung von Sicherheitsfunktionen

Dr. Michael Huelke | Günter Herkommer,

Normgerecht mit Unterstützung von 'Softema'

Die Normen DIN EN ISO 13849-1 und DIN EN 62061 definieren unter anderem Anforderungen an die Software-Ent­wicklung von Sicherheitsfunktionen. Vielen ist die Umsetzung dieser neuen Anforderungen im Detail aber unklar. Das kommende Tool 'Softema' soll hier unterstützen.

© Bild: Computer&AUTOMATION, Quellen: Fotolia / Rido, 3S-Smart Solutions Software

Eine Safety-Entwicklung nach den Normen DIN EN ISO 13849-1 und DIN EN 62061 soll helfen, gefährliche systematische Fehler in der Anwendungssoftware für eine Maschine zu vermeiden. Das Problem dabei: Naturgemäß ist die Darstellung der Anforderungen in einer Norm sehr allgemein gehalten. Erschwerend hinzu kommt, dass es bislang kaum publizierte Realisierungsbeispiele gab. Aus dieser Situation heraus wurden von der Deutschen Gesetzlichen Unfallversicherung (DGUV) – auf Initiative des Institutes für Arbeitsschutz (IFA) und der Berufsgenossenschaften – diverse Projekte gefördert.

Eines davon ist das Projekt FP0319 „Normgerechte Entwicklung und Dokumentation von sicherheitsbezogener Anwendersoftware im Maschinenbau“. In dessen Rahmen wurden von Prof. Norbert Becker und seinen Mitarbeitern der Hochschule Bonn-Rhein-Sieg mehrere konkrete Vorgehensweisen für die Umsetzung der in den neuen Normen enthaltenen Anforderungen an die Software-Entwicklung von Sicherheitsfunktionen für Maschinen erarbeitet und anhand von industriellen Beispielen evaluiert und dokumentiert.

Konkret wurde im Verlauf des Projektes eine matrixbasierte Form der Spezifikation und Dokumentation von Sicherheitssoftware entwickelt – die sogenannte IFA-Matrixmethode. Bei der Vorstellungen in der Industrie stieß diese auf viel mehr Akzeptanz als die alternativ betrachteten Methoden ‚Beschreibung der Anwendungssoftware als Zustandsautomat‘ beziehungsweise ,Spezifikation über Checklisten‘. Dies mag unter anderem daran liegen, dass viele Unternehmen die Sicherheitssoftware bereits in Form von Tabellen dokumentieren und spezifizieren.

Anzeige

Die IFA-Matrixmethode

Bild 1: Vereinfachte Entwicklungsmodelle nach der IFA-Matrixmethode.

© IFA

Die wesentlichen Charakteristika der Matrixmethode sind:

  • Zulässige Vereinfachung und Zerlegung des V-Modells der DIN EN ISO 13849-1 in zwei kleine V-Modelle: Das eine V-Modell dient der Software-Entwicklung von Sicherheitsfunktionen, das andere der Entwicklung von projektspezifischen Funktionsbausteinen (Modulen).
  • Definition von Dokumenten zur Abarbeitung der V-Modelle.
  • Strukturierung der Software in eine Vorverarbeitungsebene, eine zu spezifizierende Ansteuerlogik und eine Nachverarbeitungsebene.
  • Dadurch kann die Ansteuerlogik durch eine C&E-Tabelle (Cause & Effect,  deutsch: Ursache & Wirkung) spezifiziert werden.
  • Die Testabdeckung lässt sich durch zusätzliche Testzeilen in der C&E-Tabelle vervollständigen.
  • Integration von Prüffeldern in die Dokumente.
  • Die spezifikationsgerechte Qualität der Software wird durch die Prüfschritte Verifikation, Code Review und Software-Validierung überwacht.

Von Projektbeginn an war beabsichtigt, die Ergebnisse des Forschungsprojektes später in einem IFA-Report (IFA-Report 2/2016; www.dguv.de/webcode/d1023063) zu diesem Thema aufzubereiten und zu veröffentlichen. Neben der Darstellung der eigentlichen Entwicklungsmethode erhält die Zielgruppe damit weitere notwendige Informationen und Interpretationen zu normativen Anforderungen an Anwendungssoftware. Dabei werden auch die Änderungen der Normenreihe DIN EN ISO 13849, Teil 1 und Teil 2, in Bezug auf Anwendungssoftware betrachtet – also zum Beispiel die Themen ‚Validierung von Software‘ und ‚Einsatz von Standardkomponenten‘. Der IFA-Report 2/2016 ergänzt somit den bekannten IFA-Report 2/2017 (Funktionale Sicherheit von Maschinensteuerungen; vorher BGIA-Report 2/2008), der sich mehr auf die Zuverlässigkeit der Steuerungshardware und der Berechnung ihrer Ausfallwahrscheinlichkeiten konzentriert.

Das IFA-Tool Softema

Zur effizienten und qualitätsgesicherten Umsetzung der IFA-Matrixmethode entwickelte das IFA schließlich ein Softwaretool mit dem Namen Softema. Dieses Tool verwaltet die für die IFA-Matrixmethode notwendigen Tabellen und darüber hinaus die für das Projektmanagement notwendigen Informationen wie Projektbeschreibung, Benutzerverwaltung, Änderungsprotokolle oder auch das Dokumentenmanagement. Zudem lassen sich mit Softema die zum Download angebotenen Beispiele für die IFA-Matrixmethode betrachten. Nicht zuletzt können mittels der Software eigene Projekte neu erstellt und bearbeitet werden.

Softema kann jeweils eine Projektdatei für die Spezifikation und Dokumentation eines Anwendungsprogrammes öffnen und bearbeiten. Allerdings lässt sich die Software mehrfach ausführen, um verschiedene Projekte und Anwendungsprogramme parallel bearbeiten zu können. Die entsprechenden Projektdateien verwenden den Dateityp ‚Microsoft Excel-Arbeitsmappe‘ (*.xlsx) und können somit wahlweise mit Softema oder mit Microsoft Excel direkt bearbeitet werden. In letzterem Fall sind alle Tabellen frei editierbar, unter Softema sind die Inhalte durch die Benutzerverwaltung geschützt.

Folgende Funktionen werden zunächst von Softema  unterstützt:

  • Tabellen, Spalten und Zeilen können in der Projektdatei benutzungsspezifisch ergänzt und angepasst werden.
  • Automatische Aktualisierung von Tabellen bei Modifikation von Eingabedaten.
  • Formale Verifikation von Tabellen auf fehlende, widersprüchliche oder doppelte Einträge.
  • Verwaltung der Mitarbeitenden im Projekt.
  • Rollenbasierte Benutzungsberechtigungen.
  • Unterstützung bei der Verifikation, Validierung und Prüfung.
  • Unterstützung bei Modifikationen.
  • Spezifische Editoren für die verschiedenen Zelleninhalte.
  • Verwaltung von Dokumenten und Änderungen.
  • Undo/Redo-Funktionen, Suchen/Ersetzen-Funktionen.
  • Spezifische Druckfunktionen und -reports.

Der Projektierungsablauf

Bild 2: Liste der Sicherheitsfunktionen in Softema.

© IFA

Der typische Projektierungsablauf mit Softema ist wie folgt: Für ein neues Projekt öffnet man eine leere, aber schon vorformatierte Projektvorlage. Nach Ausfüllen der Projektbeschreibung (Tabelle ‚Projekt‘) sind in der Tabelle ‚A1 Sicherheitsfunktionen‘ (siehe Bild 2) die Sicherheitsfunktionen mit ihren Eigenschaften wie PLr, Betriebsart, Priorität usw. einzu­tragen. In Tabelle ‚A2.4 IO-Liste‘ werden die Eingangs- und Ausgangssignale ein­getragen beziehungsweise importiert, jeweils mit Variablennamen und Hardware/Netzwerk-Adressen. In sämtliche Tabellen lassen sich auch externe Inhalte über die Zwischenablage kopieren und einfügen.

Der Katalog fehlervermeidender Maßnahmen und die Programmierregeln können in Tabelle ‚A3 Maßnahmen‘ ausgewählt und angepasst werden. Anhand der Sicherheitsfunktionen, der Peripheriehardware und der I/O-Liste ergibt sich die Liste der erforderlichen Funktionsbausteine für Vorverarbeitungs- und Nachverarbeitungsebene. Diese können in Tabelle ‚B3 Modularchitektur‘ verwaltet werden. Mit diesen Vorbereitungen kann schließlich die Tabelle ‚B4 Matrix C+E‘ ausgefüllt werden (siehe Bild 3). Dies erfolgt mit den Schaltflächen zur automatischen Aktualisierung für I/O-Signale und Sicherheitsfunktionen.

Bild 3: C&E-Matrix für die Software-Spezifikation eines Projektes in Softema.

© IFA

Die eigentliche Software-Spezifikation erfolgt ebenfalls in der Tabelle ‚B4 Matrix C+E‘ durch Eintragen der logischen Verknüpfung der Signale für die Schaltvorgänge auf die Ausgangssignale (rechter Bereich im Bild 3). Letzteres ist für die Codierung der Ansteuerlogik nötig. Ein spezialisierter Editor hilft bei dieser Verknüpfung. Spätestens zu diesem Zeitpunkt sollten alle verfügbaren Funktionen zur formalen Verifikation der genannten Tabellen genutzt worden sein, um Auslassungen, Dubletten und Widersprüche aufdecken und korrigieren zu können.

Bild 4: Validierungsprotokoll in Softema.

© IFA

Nach der Verifikation aller Eingangsdokumente und der oben beschriebenen Spezifikation kann die Codierung des Programms erfolgen. Der Code wird ebenfalls verifiziert. Dieser Vorgang wird in verschiedenen Tabellen im Detail und zusammenfassend auch in Tabelle ‚C1 Codereview‘ dokumentiert. Danach wird das Programm validiert, was ebenfalls in verschiedenen Tabellen einzeln dokumentiert und in Tabelle ‚D1 Validierung‘ (siehe Bild 4) zusammengefasst wird. Personen, die anschließend das Projekt prüfen, können ihre Tätigkeit ebenfalls dokumentieren und kommentieren. 

Bei Modifikationen der Sicherheitsfunktionen oder der I/O-Signale werden die Änderungen aus diesen Tabellen wiederum in der Spezifikationstabelle automatisch aktualisiert und vom Benutzer überarbeitet.

Zusammenfassend lässt sich festhalten: Mit dem beschriebenen Tool Softema kann die Spezifikation, Validierung und Dokumentation der Anwendungssoftware von Sicherheitsfunktionen normgerecht unterstützt werden. Die Vorgehensweise ist herstellerunabhängig und auch unabhängig von der Programmiersprache und vom Performance Level. Bei Einhaltung der beispielhaft aufgezeigten Vorgehensweise kann davon ausgegangen werden, dass die für den Entwicklungsprozess relevanten Anforderungen der DIN EN ISO 13849-1 bezüglich der sicherheitsbezogenen Anwendungssoftware erfüllt sind. Neben dieser Vorgehensweise gibt es sicher auch andere Methoden, mit denen die Anforderungen ebenfalls gleichwertig zu erfüllen sind.

Seit kurzem steht Softema als Betaversion auf Anfrage beim IFA ([email protected]) zur Verfügung. Die erste Freigabeversion des Freeware-Tools ist für Mitte 2019 geplant.

Autor:
Dr. Michael Huelke leitet das Referat „Neue Tech­nologien, Mensch und Technik“ am IFA.

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige

ISW / Silistra

Wandelbare Produktionssysteme

Traditionelle Sicherheitslösungen stoßen in dynamischen Produktions-umgebungen an ihre Grenzen, das heißt, es bedarf neuer, adaptiver Sicherheitsfunktionen. Wie kann das Projekt ‚SafeFloat‘ hier helfen?

mehr...
Anzeige
Anzeige

Wireless Safety

Sicher bedienen via Funk - (wie) geht das?

Viele Maschinenbauer möchten Tablets zusätzlich zur existierenden Maschinenbedienung verwenden. Nachgefragte Features wie WLAN, Kamera, Multitouch und vieles mehr sind hier zwar gegeben – sind allerdings Sicherheitsfunktionen gefordert, stoßen diese...

mehr...
Anzeige

EN ISO 13849

Validierung stiefmütterlich behandelt

Bei der Einbindung sicherheitsgerichteter Steuerungsfunktionen in Maschinen ist die EN ISO 13849 maßgeblich. Dabei wird allerdings der die Validierung betreffende Teil der Norm in der Praxis oftmals vernachlässigt – ein großes Manko.

mehr...
Anzeige
Anzeige
Anzeige

Safety

Der intelligente Sicherheitsschalter

Auf I4.0-Niveau kommunizierende Sicherheitsmodule und Sicherheitsschalter vereinfachen die Fehlersuche. Aber auch für die vorausschauende Instandhaltung sowie den Manipulationsschutz birgt die Kommunikationsfähigkeit interessantes Potenzial.

mehr...

Funktionale Sicherheit

Sicherer Halt im Schleifring

Sicherheitsrelevante Daten über Schleifringe zu übertragen ist nicht trivial. Motion-Control-Experten von Kollmorgen haben dafür gemeinsam mit dem Schleifringhersteller Stemmann-Technik eine TÜV-zertifizierte Safety-Lösung samt UL-Zulassung...

mehr...
Jetzt Newsletter abonnieren