Automatisierung

Effiziente Programmierung komplexer Sicherheitsfunktionen

13.05.2013 -

Programmierbare Sicherheitsgeräte­ werden bei der Risikominderung von Maschinen und Anlagen immer ­wichtiger, da sich mit ihnen Sicherheitsfunktionen auf engem Raum realisieren lassen. Hilfreich für den Anwender ist ein Programmiersystem, das ihn bei der Umsetzung von Sicherheitsanwendungen unterstützt. 

Das sichere Programmiersystem Safeprog von KW-Software wird seit Jahren für die Programmierung von Sicherheitssteuerungen eingesetzt. Der folgende Beitrag beschreibt Konzepte für eine bestmögliche Unterstützung des Anwenders durch eine sicherheitsgerichtete Programmierumgebung. Drei Methoden werden im Detail vorgestellt:

 

  • die Analyse von sicheren Signalpfaden im Programmeditor,
  • der grafische Projektvergleich für die ­Unterstützung eines Konfigurations- und Änderungsmanagements sowie
  • der Einsatz von Strukturiertem Text (ST) für Sicherheitsanwendungen konform zu Sektornormen.

 

Analyse sicherer Signalpfade

Bei der Programmierung einer Sicherheitsanwendung unterscheidet man strikt zwischen sicheren Signalen und Standard-Signalen. Die sicheren Signale dienen als Eingänge zur Abarbeitung in der Sicherheitslogik, deren Ergebnis zum sicheren Ansteuern von Aktoren dient. Sicherheitssteuerungen verarbeiten neben sicheren Signalen ebenso Standard-Signale. Beim kombinierten Einsatz von sicheren Signalen und Standard-Signalen ist bei der Programmierung darauf zu achten, dass die Standard-Signale keinen Einfluss auf die Funktionalität der Sicherheitsfunktion haben. Das bedeutet, dass die sicherheitsgerichtete Abschaltung einer Maschine nicht von einem Standard-Signal beeinflusst werden darf. Ein Standard-Signal darf ein sicheres Signal nicht überbrücken und somit die sicherheitsrelevante Abschaltung verhindern. Plausibilitätsprüfungen zur Einhaltung sicherheitsgerichteter Programmierregeln werden in Safeprog beim Kompilieren durchgeführt. Seit der Version 3.00 werden diese Programmierregeln zusätzlich bereits beim Editieren der Programmlogik angewendet. Das Analyseergebnis wird unmittelbar im grafischen Programmeditor in Form von sicheren Signalpfaden dargestellt. Das heißt, sichere Signalpfade sind grafisch hervorgehoben. Programmierfehler werden durch eine visuelle Rückmeldung unmittelbar erkannt.

Grafischer Projektvergleich

Das Konfigurationsmanagement spielt im Lebenszyklus einer Anlage beziehungsweise Maschine und seiner Sicherheitsfunktionen eine zentrale Rolle. Safeprog 3.00 enthält einen grafischen Projektvergleich, mit dem unterschiedliche Versionsstände eines Sicherheitsprogramms miteinander verglichen werden und die Unterschiede visuell aufbereitet dargestellt werden können. Der Projektvergleich beinhaltet den Vergleich der Projektstruktur, Variablendeklarationen, Parameterdefinition und vor allem der Programmquellen der Funktionsbausteinsprache und des Kontaktplans. Beim Vergleich der Programmquellen werden folgende Unterschiede erkannt: Neue Objekte, Gelöschte Objekte, Geänderte Objekte und Verschobene Objekte. Der Vergleichsmechanismus agiert direkt auf den Programmquellen (PLCopen XML) und benötigt kein gültiges Kompilat. Somit lassen sich auch Projekte miteinander vergleichen, die aufgrund von Programmierfehlern nicht übersetzbar sind oder sich mitten in der Entwicklung befinden.

Strukturierter Text

Der Entwicklungsprozess für die Realisierung von Sicherheitsfunktionen mittels programmierbarer Sicherheitssteuerungen ist dadurch geprägt, möglichst in allen Phasen Fehler zu vermeiden. Die Programmierung der Sicherheitsanwendung erfolgt deshalb in Programmiersprachen mit geringer Komplexität und eingeschränktem Funktionsumfang. Der Fachbegriff für diese Art der Programmiersprache lautet Limited Variability Language (LVL). Typische Vertreter einer LVL sind Kontaktplan und Funktionsbausteinsprache.
Textuelle Programmiersprachen wie Anweisungsliste oder C gelten als Full Variability Language (FVL). Eine FVL ist eine Programmiersprache mit vollem Funktionsumfang. Einschlägige Sektornormen, wie die ISO 13849, die IEC 62061 oder die IEC 61511, schreiben den Einsatz einer LVL vor. Einfache binäre Verknüpfungen lassen sich leicht mit grafischen Programmiersprachen realisieren. Die zunehmende Komplexität von Sicherheitsfunktionen zeigt jedoch, dass grafische Programmierung nicht immer die beste Wahl ist. Insbesondere bei numerischen Berechnungen ist die Schreibweise höherer Programmiersprachen wie Strukturiertem Text (ST) weitaus intuitiver und greifbarer als bei grafischen Programmiersprachen.
Für den Einsatz von Strukturiertem Text in der Sicherheitstechnik wurde der in Safeprog 3.00 unterstützte Sprach- und Funktionsumfang reduziert. Diese Reduzierung führt dazu, dass ST als LVL gemäß einschlägiger Sektornormen gilt. Die Einschränkungen im Sprach- und Funktionsumfang richten sich dabei nach den Vorgaben der PLCopen - Technical Committee 5 - Safety Software Technical Specification. Der Anwender kann komplexe Sicherheitsfunktionen auf Basis von ST implementieren und hält sich gleichzeitig im Geltungsbereich einschlägiger Sektornormen auf.
Eine syntaktische als auch semantische Analyse während des Editierens gewährleistet, dass Programmierfehler unmittelbar erkannt und dargestellt werden. Die Codeerzeugung basiert auf zwei divers redundanten Compilern. Die beiden Compiler erzeugen nativen und somit hoch performanten Laufzeitcode für das sichere Laufzeitsystem SafeOS. Es werden dieselben Regeln für die Codeanalyse angewendet wie bei den grafischen Programmiersprachen. Durch diese Analyse des Daten- und Kontrollflusses wird der Anwender auf eine potenziell fehleranfällige Programmierung aufmerksam gemacht.
Safeprog 3.00 bietet Funktionen zur effizienten Programmierung komplexer Sicherheitsanwendungen. Die Analyse sicherer Signalpfade hilft dem Anwender, bereits beim Editieren potenzielle Fehler zu vermeiden. Strukturierter Text führt insbesondere bei numerischen Berechnungen zu einem leicht verständlichen und wartbaren Programm. Der grafische Projektvergleich unterstützt den Anwender darin, über alle Lebensphasen einer Sicherheitsanwendung hinweg Modifikationen am Sicherheitsprogramm auf einfache Art und Weise nachvollziehen zu können.

Kontakt

Phoenix Contact Software GmbH

Campusallee 6
32657 Lemgo
Deutschland

+49 5261 9373 0
+49 5261 9373 26

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2025 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2025 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon