Programmierung komplexer Sicherheitsfunktionen

Programmierbare Sicherheitsgeräte erhöhen die Sicherheit in Maschinen und Anlagen. Der folgende Beitrag stellt drei effiziente Methoden der Programmierung von Sicherheitssteuerungen vor: Die Analyse von sicheren Signalpfaden im Programmeditor, den grafischen Projektvergleich und den Einsatz von Strukturiertem Text.

Programmierbare Sicherheitsgeräte nehmen eine immer stärker werdende Rolle bei der Risikoreduzierung von Maschinen und Anlagen ein. Mit programmierbaren Sicherheitsgeräten lassen sich mehrere Sicherheitsfunktionen auf engem Raum realisieren. Die zunehmende Komplexität von Anlagen und Maschinen und somit der zu realisierenden Sicherheitsfunktionen ist nur schwer mittels Relaistechnik abbildbar. Dieser Trend spiegelt sich auch in der Norm EN ISO13849-1 wider, die im Gegensatz zu ihrer Vorgängerversion, der EN954-1, das Thema \’programmierbare elektronische Systeme mit Sicherheitsfunktion\‘ weitreichend behandelt. Das sichere Programmiersystem Safeprog von KW-Software GmbH wird seit mehreren Jahren für die Programmierung von Sicherheitssteuerungen namhafter Hersteller wie Baumüller, B&R, Kuka Roboter und Phoenix Contact eingesetzt. Der folgende Artikel beschreibt Konzepte für eine bestmögliche Unterstützung des Anwenders durch eine sicherheitsgerichtete Programmierumgebung. Es werden drei Methoden im Detail vorgestellt:

  • die Analyse von sicheren Signalpfaden im Programmeditor,
  • der grafische Projektvergleich für die Unterstützung eines Konfigurations- und Änderungsmanagements,
  • 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 (z.B. sicherer Ventile oder Antriebe) 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. Konkret bedeutet dies, 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 seit jeher 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 Programm- editor in Form von sicheren Signalpfaden dargestellt. Das heißt, sichere Signalpfade sind grafisch hervorgehoben (Bilder 1 bis 3). Programmierfehler werden durch eine visuelle Rückmeldung unmittelbar erkannt.

Grafischer Projektvergleich

Das Konfigurationsmanagement spielt im Lebenszyklus einer Anlage bzw. Maschine und seiner Sicherheitsfunktionen eine zentrale Rolle. Safeprog 3.00 enthält einen grafischen Projektvergleich. Mit diesem Projektvergleich können unterschiedliche Versionsstände eines Sicherheitsprogramms miteinander verglichen werden, und die Unterschiede werden visuell aufbereitet dargestellt. 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 (Bild 4):

  • Neue Objekte
  • Gelöschte Objekte
  • Geänderte Objekte
  • 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 ISO13849, die IEC62061 oder die IEC61511, schreiben den Einsatz einer LVL vor. Einfache binäre Verknüpfungen lassen sich leicht mit grafischen Programmiersprachen realisieren. Die zunehmende Komplexität von Sicherheitsfunktionen, speziell in den Bereichen Motion Control oder Prozesstechnik, 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. Das Beispiel (Bild 5) zeigt einen einfachen Dreisatz jeweils in einer textuellen und einer grafischen Programmiersprache umgesetzt. Für den Einsatz von Strukturiertem Text in der Sicherheitstechnik wurde der in Safeprog 3.00 unterstützte Sprach- und Funktionsumfang reduziert. Die Reduzierung des Sprach- und Funktionsumfangs 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 hochperformanten 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.

Fazit

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. Das Programm sowie der darin enthaltene sichere Parametrierungseditor Safegrid sind gemäß IEC61508:2010 (second Edition) bis SIL3 zertifiziert. Die Zertifizierung erfolgte sowohl durch das Institut für Arbeitsschutz (IFA) sowie durch den TÜV Rheinland.

Phoenix Contact Software GmbH
http://www.kw-software.de

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Ceratizit Deutschland GmbH
Bild: Ceratizit Deutschland GmbH
Werkzeuge – immer passend

Werkzeuge – immer passend

Eine digitalisierte Fertigung hat viele Gesichter… und Recker Technik aus Eschweiler setzt ihr auf jeden Fall einen Smiley auf. Dort bringt die Produktion mit digitalen Zwillingen mehr Effizienz in den Alltag sowie gleichzeitig mehr Überblick über das Toolmanagement und die Werkzeugkosten. Mit dabei: Zwei Tool-O-Maten, die intelligenten Werkzeugausgabesysteme von Ceratizit – dank denen immer das passende Werkzeug für den Job zur Hand ist.

mehr lesen
Bild: Hainbuch GmbH
Bild: Hainbuch GmbH
„Wie passende Spanntechnik die Automation voranbringt“

„Wie passende Spanntechnik die Automation voranbringt“

Zunehmend individuellere Kundenanforderungen, mehr Schwankungen im Auftragseingang und weniger Fachkräfte – diese Faktoren beeinflussen die Fertigungsplanung zunehmend. Gerade bei kleinen Herstellungschargen mit Losgrößen unter 100 macht in diesem Spannungsfeld die Automatisierung, etwa von Hainbuch, den Unterschied. Ein entscheidender Ansatzpunkt in der Umsetzung ist neben Maschine, Roboter und Bediener der Rüst- und Spannprozess.

mehr lesen
Bild: Schunk SE & Co. KG Spanntechnik
Bild: Schunk SE & Co. KG Spanntechnik
Futter für die Ewigkeit

Futter für die Ewigkeit

Siemens Energy setzt für die Präzisionsbearbeitung an einer Horizontaldrehmaschine Magnos Elektropermanent-Magnetspannfutter von Schunk ein. Dank der gleichmäßig dauerhaft wirkenden Magnetspannkraft erfolgt das Spannen der Werkstücke deformations- und vibrationsarm – für eine ausgezeichnete Bearbeitungs- und Oberflächenqualität. Mit der zugehörigen App lässt sich die Spannsituation simulieren und sicher parametrieren.

mehr lesen