Sicherheitssteuerungen

Sicherheitssteuerungen werden im Maschinenbau verwendet, um Benutzer der Anlagen vor Verletzungen zu schützen, z.B. ein Lichtsensor im Gefahrenbereich zum Abschalten einer Presse. Im Prinzip handelt es sich dabei um eine SPS, die speziell für Sicherheitsaufgaben ausgelegt ist. Dies erfolgt z.B. über eine zweikanalige Auslegung von CPU und Ein/Ausgängen, sowie Quervergleiche und eingeschränkte Freiheiten bei der Programmierung.

redlogix wurde von einem namhaften Hersteller beauftragt, eine Projektierungssoftware für eine solche programmierbare Sicherheitssteuerung der Sicherheitsstufe SIL3 zu entwickeln. Die Steuerung ist nach DIN EN 61508 zu zertifizieren; das Projektierungswerkzeug ist gemäß dieser Norm ein T3 Tool und wurde dementsprechend qualifiziert.

Das Projekt wurde vollständig in unserer Verantwortung durchgeführt. Zum Einsatz kamen unsere internen Standards und Tools für die Versionsverwaltung und Qualitätssicherung. Das Look & Feel der Steuerelemente wurde von einem externen Designbüro entworfen und in das Programm eingebunden.

 

Eingesetzte Technologien

  • .NET Framework
  • WPF / XAML
  • TCP/IP / Serielle Kommunikation
  • Enterprise Architect
  • Wix Toolkit
  • NUnit
  • Sikulix
  • Ranorex
  • Jython
  • DIN EN 61508
  • XML
  • Modbus

Entwicklungswerkzeuge

Die Implementierung des Projektierungswerkzeugs wurde mit Visual Studio 2012 durchgeführt. Als Framework wurde die .NET Runtime 4.0 verwendet, da das Programm unter allen Windows Versionen von XP bis zu Windows 10 lauffähig sein sollte. Als Implementierungssprache kam C# zum Einsatz. Für die Anbindung von Code aus der Sicherheitssteuerung wurden Wrapper in C/C++ implementiert.

Als Grafikfrontend wurde die Windows Presentation Foundation (WPF) inklusive ihrer Auszeichnungssprache XAML verwendet, da es vom Designer des Kunden konkrete Vorstellungen über das Aussehen der GUI gab. Für das Bugtracking wurde kundenseitig ein Mantis-System zur Verfügung gestellt. Für Fehler, die betriebsintern vom Testteam aufgedeckt wurden, wurde zusätzlich noch ein Redmine-System verwendet.

Funktionsumfang

Das Programm ermöglicht es, die verwendete Hardware zu konfigurieren und die Ein- und Ausgänge mittels eines grafischen Logikeditors zu verschalten. Die Ein- und Ausgänge können miteinander über vordefinierte Funktionsblöcke (z.B. UND/ODER etc.) verschaltet werden. Aus der grafischen Repräsentation wird eine binäre Konfiguration erzeugt, die von der Steuerung abgearbeitet wird.

Die Software umfasst im Wesentlichen folgende Komponenten:

  • Hardwarekonfiguration
  • Logikkonfiguration
  • Logiksimulation, inklusive Logikanalyse
  • Gatewaykonfiguration
  • Erstellung von Konfigurationsberichten zur Zertifizierung der projektierten Sicherheitslösung
  • Ansicht der Diagnosedaten der Steuerung

Des Weiteren wurde für den nicht-sicherheitsrelevanten Teil der Steuerung das Modbus-Protokoll implementiert.

Logikeditor

Samos Simulator

Der Logikeditor dient dazu, die konfigurierten Ein- und Ausgänge zu verschalten. Hierzu können verschiedene vorgefertigte Funktionsblöcke verwendet werden, die durch Ziehen von Verbindungen miteinander verschalten werden. Es ist nicht möglich verbotene Verbindungen (z.B. Zyklen) zu ziehen. Mehrere Funktionsblöcke können gruppiert und als benutzerdefinierte Funktionsblöcke in Bibliotheken abgelegt werden. Alle Logikelemente können dabei frei auf der Zeichenfläche platziert werden. Dazu wurde für die Verbindungen ein Autorouting-Mechanismus implementiert.

Logiksimulation

Samos Logic Analyzer

Im Logikeditor kann die konfigurierte Schaltung simuliert werden. Hierzu wird der originale C-Code der Steuerung verwendet und mittels P/Invoke aufgerufen. Eingänge können hierbei mit der Maus geschaltet werden. Des Weiteren ist es möglich, die Zustände der Ein- und Ausgänge im zeitlichen Verlauf aufzuzeichnen (Logic Analyser).

Bericht

Samos Report

Die Sicherheitssteuerung wird im Maschinenbau eingesetzt, um entsprechend der geltenden Maschinenrichtlinie die Sicherheit der Anlage zu gewährleisten. Die Sicherheitfunktionalität wird von zertifizierten Stellen überprüft. Zur Unterstützung der Zertifizierung kann mit Hilfe des Projektierungswerkzeugs ein Konfigurationsbericht erstellt werden.

Kommunikation

Die Sicherheitssteuerung hat hardwareseitig sowohl einen Kommunikationspfad via USB, als auch via Ethernet. Beide Kommunikationswege werden im Projektierungswerkzeug unterstützt. Für die Kommunikation wurde ein eigenes Protokoll implementiert, das sowohl die Segmentierung von großen Paketen als auch eine Integritätsprüfung ermöglicht.

Weitere Features

Für das Programm wurde eine Updatefunktionalität implementiert, die regelmäßig über eine Internetanbindung auf den Herstellerservern nach neuen Softwareversionen suchen kann. Im Rahmen des Projektes wurde für das Projektierungswerkzeug ein Installer mit Hilfe des Toolkits Wix erstellt. Dieser installiert ebenfalls den USB-Treiber für die Steuerung.

Qualifizierung

Für die Qualifizierung des Programms als T3-Werkzeug nach DIN EN 61508 wurde ein Sicherheitskonzept erarbeitet. Zudem wurden von redlogix die dazu geforderten Unittests und Integrationstests durchgeführt. Die Unittests wurden mit Hilfe des Unittestframeworks NUnit implementiert, zur Prüfung der Code Coverage wurde PartCover eingesetzt. Für die Integrationstests wurde auf Basis der Testframeworks SikuliX und Ranorex ein Testsystem implementiert, das automatische, halbautomatische (mit Benutzereingriff ) und manuelle/geführte Test ermöglicht. Zur Dokumentation der Tests werden dabei automatisch Testreports im PDF-Format erzeugt, die die Ergebnisse der einzelnen Testschritte aufzeichnen.