In der funktionalen Sicherheit werden Gefahren für Menschen und Umwelt durch Maschinen mit Hilfe zusätzlicher Schutzmaßnahmen auf ein vertretbares Maß reduziert. Zentraler Punkt der Maschine ist hierbei ihre Steuerung, in der Regel ein Embedded-Controller. Welche Maßnahmen angemessen sind, hängt vom Anwendungsfall ab. Bei einer Rolltreppe genügt meist ein Notausschalter, der den Antrieb stoppt. In einem Flugzeug genügt eine solche Maßnahme nicht. Es muss mehr dafür getan werden, dass weiter geflogen werden kann. Bei Fahrzeugen können höhere Einschränkungen hingenommen werden. Jedoch muss sichergestellt werden, dass Grenzen nicht überschritten werden. Ebenso gibt es in der industriellen Automatisierung Grenzen, die von Mensch und Maschine eingehalten werden müssen. Die Konzepte zur Erhaltung der Funktion sind ähnlich, die technischen Maßnahmen jedoch unterschiedlich. Ziel der für die funktionale Sicherheit erforderlichen Zertifizierung ist der Nachweis der Wirksamkeit der spezifizierten Maßnahmen für die angenommenen Fehlerfälle.
* Kontron
* Kontron
* Kontron
* Kontron
* Kontron
* Kontron
* Kontron
* Kontron
Stand der Technik ist die Verwendung eines Feldbusses sowohl für die Steuerung als auch für die Sicherheitsfunktionen. In älteren Systemen wurde die Sicherheitsabschaltung mit Relaistechnik an die Steuerung angebaut: In diesem Fall unterbricht der Notausschalter den Stromkreis des Antriebs. Ob die Notausschaltung wirklich funktioniert, bleibt dabei ungewiss, da die Schaltung üblicherweise nur im vorgesehenen Wartungsintervall überprüft wird. Nach Stand der Technik ist der Notausschalter ebenfalls am Feldbus angeschaltet und kommuniziert über Nachrichten mit der Sicherheitssteuerung. Die Diagnoseabdeckung dieser Lösung ist deutlich höher, da die Funktion der Schaltung ständig überwacht wird. Während im einfachsten Fall der sichere Teil der Steuerung den sicheren Controller und die zugehörigen Sicherheitsschalter umfasst, geht der Umfang der sicheren Steuerung beispielsweise bei Fahrzeugen oder Fertigungsmaschinen weiter: Der sichere Controller überwacht die nicht sichere Steuerung auf Überschreitung von Grenzen. Solche Grenzen wären beispielsweise bei einem Fahrzeug das Überfahren von Signalen. Bei einer Fertigungsmaschine oder einem Roboter wären die Grenzen beispielweise Flächen im Raum, die in der Nähe von Menschen oder Gegenständen im Sinne virtueller Gitter nicht überschritten werden dürfen. Im Falle der Überschreitung führt der sichere Controller die Steuerung in einen definierten sicheren Zustand über.
Der Vorteil dieser Lösungsansätze liegt in der Reduktion des kostenaufwändigen sicherheitsrelevanten Teils der Steuerung. Die Steuerung selber ist nicht sicher und erfordert keine Sicherheitsabnahme. Steuerung und Sicherheitssteuerung verwenden den gleichen Feldbus, somit entfällt ein gesonderter Aufwand für die Verschaltung. Die Sicherheitsfunktionen sind auf einfache Funktionen reduziert, die sich auf einem gesonderten, sicheren Controller implementieren lassen. Stand der Technik sind Ethernet-basierende Feldbusse für Flugzeuge, Fahrzeuge und in der industriellen Fertigung. Hierbei sind unterschiedliche Verfahren für die Steuerung und das Sicherheitsprotokoll im Einsatz, die Funktionsweise ist jedoch grundsätzlich ähnlich. Das Sicherheitsprotokoll kann viele Fehlerfälle aufdecken und korrigieren. Die hierfür benötigten Maßnahmen bestehen aus Sequenznummern für Nachrichten, Laufzeitüberwachung (Watchdog Timer), Verbindungskennungen und Prüfsummen (wie beispielsweise CRC für die zyklische Redundanzprüfung). Hiermit lassen sich wiederholte Nachrichten, Verlust von Nachrichten, eingefügte Nachrichten, falsche Sequenzen, Übertragungsfehler, außerhalb des Zyklusintervalls gesendete Nachrichten sowie fehlgeleitete und falsche Nachrichten erkennen.
Realisierungsbeispiele
Die zur Steuerung eines Fahrzeuges bzw. einer Fertigungsanlage benötigten Controller umfassen in der Regel Bedienterminals und Anzeigen (HMI, Human Machine Interface), Steuerungseinheiten (Bordcomputer, Vital Control Unit, PLC bzw. IPC), sowie Router und Switches für das Feldbusprotokoll. Für die Sicherheitsfunktionen werden sichere Ausführungen dieser Geräte benötigt. Zu den generellen Anforderungen an sichere Controller gehört, dass alle Komponenten auf einen erweiterten Temperaturbereich von beispielsweise –25 bis 70 Grad Celsius ausgelegt werden, zumindest der sichere Teil. Diese Maßnahme ist erforderlich, damit der sichere Controller überwachen kann, ob die Steuerung innerhalb des spezifizierten Bereiches arbeitet. Zu diesem Zweck überwacht der Sicherheitsschaltkreis außerdem elektrische Spannungen und verfügt über eine gesonderte Stromversorgung und isolierte Schnittstellen in die Umgebung. Die Überwachung von Temperaturen, Spannungen und des Systemzustandes ist für eingebettete Controller in vielen Anwendungsbereichen üblich. Hierfür gibt es spezielle Protokolle wie IPMI, und Schnittstellen wie I2C, in Kombination mit einem eigenen Mikroprozessor, der parallel zum Prozessor zur unabhängigen Überwachung und für die Administration eingesetzt wird. Der Aufbau eines sicheren Controllers ist dieser Systemüberwachung ähnlich und erfüllt den gleichen Zweck. Allerdings muss der sichere Controller zertifiziert werden und erfordert daher eine schlanke Implementierung der Sicherheitsfunktionen. Ein sicherer Controller ist außerdem abgesichert durch eine Laufzeitüberwachung, die feststellt, ob der Prozessor des sicheren Controllers arbeitet. Ein weiterer Schaltkreis überwacht die Funktion der Laufzeitüberwachung und aller relevanten Schnittstellen. Durch eine Kombination von Software- und Hardware-Maßnahmen erkennt der sichere Controller Fehler und führt die Schaltung in einen sicheren Zustand über. Diese für die Implementierung benötigten Bausteine sind in allen Realisierungen gleich. Ein Hersteller kann auf erprobte Schaltungen und Software zurückgreifen. Für die Sicherheitsfunktionen enthält eine Hardware-Plattform eine Bibliothek von Funktionen, für den Endanwender steht eine Programmierschnittstelle (API) zur Verfügung, auf deren Basis die Sicherheitszertifizierung zusammen mit der kundenspezifischen Anwendung erfolgen kann. Auch auf Anwendungsebene lassen sich für sowohl für die Steuerung als auch für die Sicherheitsfunktionen vorgefertigte Software-Komponenten einsetzen, beispielweise basierend auf IEC 61131. Erheblichen Einfluss auf den Aufwand für die Anwendungsentwicklung und Sicherheitszertifizierung haben die eingesetzten Entwicklungswerkzeuge.
Sichere Bedienterminals und Anzeigeinstrumente
Ein sicheres Anzeigeinstrument gewährleistet, dass ein vom Feldbus gemeldeter Wert stets korrekt dargestellt wird. Während bei einem analogen Anzeigeinstrument, beispielsweise bei einen Tachometer, die Fehlermöglichkeiten begrenzt sind, kann auf einem digitalen Bildschirm durchaus ein Prozess des Betriebssystem stecken bleiben oder ein Puffer auf dem Weg zur Anzeige eingefroren sein. Weiterhin muss an einem sicheren Bedienterminal eine Eingabe des Benutzers auf einer Taste beziehungsweise auf dem berührungsempfindlichen Schirm in eine korrekte Nachricht auf dem Feldbus umgesetzt werden. Das Versuch, das komplette Bedienterminal beziehungsweise Anzeigeinstrument inklusive aller Hardware, Betriebssystem und Anwendung zu zertifizieren, scheidet aus. Jedoch lässt sich das Terminal durch einen Sicherheitsschaltkreis mit einem sicheren Controller erweitern, der die korrekte Umsetzung einer Nachricht in die Anzeige beziehungsweise die korrekte Umsetzung einer Eingabe in eine Nachricht überwacht. Im Fehlerfall schaltet der Sicherheitsschaltkreis die Anzeige dunkel oder trennt das Gerät vom Feldbus. Bei redundanter Auslegung auf Systemebene kann der Betrieb bei Ausfall einer Systemkomponente durchaus fortgeführt werden. Die beschriebene Sicherheitsfunktion betrifft nur das Einzelsystem. Die Implementierung der Sicherheitsfunktion beruht auf dem Rücklesen der angezeigten Information. Da man die korrekte Funktion jedes Speichers oder Puffers auf dem Weg zur Anzeige nicht voraussetzen kann, wird diese Information direkt von den Leitungen zur Anzeige mitgelesen und in eine Prüfsumme umgeformt. Der Sicherheitsprozessor kann diese Prüfsumme auf Übereinstimmung mit der Meldung vom Feldbus prüfen. Diese einfache und schlanke Methode funktioniert deshalb, da die angezeigten Werte bekannt sind. Sicherheitsrelevante Bereiche auf der Anzeige lassen sich vorher definieren. Die zugehörigen Werte für die Prüfsummen lassen sich trainieren. Auf diese Weise bleibt der Zustandsraum für den Sicherheitsprozessor begrenzt. Auf die gleiche Weise lassen sich Eingabewerte abbilden und mit den vom Feldbus zurück gelesenen Werten mit Hilfe von Prüfsummen und Tabellen im Sicherheitsprozessor vergleichen. Diese Anwendungen sind spezifisch für Bedienterminals und Anzeigeinstrumente. Die übrigen Komponenten für Hardware und Software sind für sichere Controller universell verwendbar. Die sicherheitsrelevanten Erweiterungen lassen sich im Design des Terminals von Anfang an berücksichtigen und als Option ergänzen.
Sichere Steuerungsrechner
Die Implementierung des beschriebenen Konzepts beruht auf einem nicht sicheren Controller, der durch eine Sicherheitsfunktion auf Überschreitung von Grenzen überprüft wird. Solche Lösungen lassen sich für Steuerungen für Maschinen in der Fertigung oder für Fahrzeuge verwenden. Je nach Anwendung müssen zunächst die Grenzen definiert werden, die überwacht werden sollen. Diese Grenzen sind außerdem abhängig vom Betriebszustand: Im Fahrbetrieb eines Bahnfahrzeugs gelten andere Regeln als beim Stand am Bahnhof. Für Maschinen oder Roboter gelten sinngemäß ähnliche Regeln und Grenzen für Wartungsbetrieb, Zuführung von Material, während eines Verarbeitungsschrittes oder bei Annäherung eines Menschen. Die Einhaltung dieser Regeln kann der sichere Controller durch Rücklesen der Nachrichten vom Feldbus überprüfen. Wie beim Bedienterminal werden hierzu im Vorfeld Sollwerte und der Systemzustand definiert und mit Hilfe von Prüfsummen und Tabellen für einen begrenzten Zustandsraum abgebildet. Die Software-Ausstattung ist anwendungsspezifisch, die Hardware-Plattform jedoch universell. Die sichere Schaltung hat Zugriff auf den Feldbus und besteht aus dem Safety-Prozessor sowie den zusätzlichen Schaltungen zur Laufzeitüberwachung, Fehlererkennung und Übergang in den sicheren Bereich. Der Hauptprozessor befindet sich im nicht sicheren Bereich. Wie auch beim Bedienterminal werden nur Fehler in der Funktion der Steuerung erkannt. Im Fehlerfall wird die Steuerung vom Feldbus getrennt. Ob ein Einzelfehler Auswirkungen auf den Betrieb hat, ist abhängig von der Konzeption auf Systemebene, also davon, ob eine andere Einheit die Funktion übernehmen kann.
Sichere Switches und Router
Auf dem Weg zwischen Steuerung und Bedienterminal befinden sich bei Ethernet-basierenden Feldbusse in aller Regel Ethernet-Switches und gegebenenfalls auch Router, sofern mehrere IP-Subnetze miteinander verschaltet sind. Sicherheitsrelevant sind alle Knoten im Netzwerk, die Informationen erzeugen. Damit besteht für Ethernet-Switches keine Sicherheitsrelevanz. Gegen Verfälschung oder Manipulation von Nachrichten beziehungsweise nicht konforme Laufzeiten schützt die Sicherheitsschicht des verwendeten Feldbusprotokolls. Auch Router, die beispielsweise lokale IP-Adressen zwischen den Netzsegmenten übersetzen, sind im Sinne der funktionalen Sicherheit unkritisch. Auch hierfür greifen die Mechanismen der Sicherheitsschicht des Feldbusprotokolls. Sofern der Router allerdings einen DHCP-Server bereitstellt beziehungsweise URLs als globale Adressen verwendet und per DNS in Netzwerkadressen umsetzt und auf diese Weise das Netzwerk dynamisch aufspannt und konfiguriert, können solche Funktionen durchaus sicherheitsrelevant sein.
Testumgebung
Bei Ethernet-basierenden Feldbussen sind neben der funktionalen Sicherheit auch das Echtzeitverhalten sowie die Konformität mit dem verwendeten Feldbusprotokoll relevant. Für die beschriebenen Bedienterminals und Steuerungen ist eine Testumgebung als Prüfstand erforderlich. Eine weitere wünschenswerte Eigenschaft wäre die Möglichkeit von Tests auf Systemebene in einem realitätsnahen, jedoch kontrollierten Umfeld. Die im Folgenden beschriebene Testumgebung ist für Produkte zur Steuerung von Bahnfahrzeugen im Aufbau. Kern der Testumgebung ist das Kommunikationsnetzwerk. Für die Steuerung von Bahnfahrzeugen ist eine realistische Anzahl von Switches und Routern für die einzelnen Zugabschnitte erforderlich. An diese Testumgebung lassen sich reale Produkte für Bedienterminals, Steuerungen bzw. Sensoren und Aktuatoren für abgesetzte Einheiten anschließen.
Aufbau der Testumgebung
Wenn man das Kommunikationssystem mit einigen Produkten verschaltet, erhält man eine Umgebung, mit der man innerhalb des Kommunikationssystems an beliebigen Stellen Nachrichten abgreifen und erfassen kann. Dieser Zugriff ist durch Abzweigungen (Wire Taps) direkt an den Ethernet-Leitungen realisiert. Mit diesem Aufbau lassen sich Nachrichten verschicken und Laufzeiten messen. Der gesamte Aufbau ist allerdings leblos, es fehlt eben das reale Umfeld wie hier in einem Zug. Welche Geschwindigkeiten sollen beispielsweise angezeigt oder eingestellt werden? Welche Tür wird freigegeben? Zur Abbildung einer realitätsnahen Umgebung ist ein Fahrzeugsimulator eingebaut. Das verwendete Produkt ZuSi verfügt über Schnittstellen, die den Zugriff auf die Prozessdaten ermöglicht. Die Prozessdaten lassen sich in das für den TCN-Feldbus gegebene Format übersetzen. Somit erhält die Testumgebung eine Datenquelle für Prozessdaten wie Geschwindigkeit, Bremsdruck, Türzustand etc. In umgekehrter Richtung lässt sich der virtuelle Zug auch über echte Bedienelemente am Terminal steuern. Die Testumgebung erhält eine Aktuator-Schnittstelle als Senke für Prozessdaten. Zusammen mit den Messpunkten im Kommunikationssystem ermöglichen diese Schnittstellen die globale Erfassung des Systemzustandes, sowie das Stimulieren von Systemzuständen einschließlich der Einspielung von Fehlern. Alle Ethernet-Leitungen werden an einen leistungsfähigen Switch geführt, und dort mit einer VLAN-Kennung versehen, die es gestattet, den Ursprung der Messwerte im System zu lokalisieren. Für echtzeitfähige Messungen werden außerdem angemessen exakte Zeitstempel benötigt. Beim aktuellen Aufbau geschieht das mit Hilfe der Netzwerkkarten an einem Rechner, der die Daten aufnimmt und sammelt. Der bisher beschriebene Aufbau ermöglicht die Off-Line Analyse der gesammelten Daten. Zur Analyse wird der quelloffene Netzwerkanalysator Wireshark eingesetzt. Daten werden im pcap-Format abgelegt und anwendungsspezifisch ausgewertet. Als weiterer Ausbau ist eine On-line-Visualisierung der Prozessdaten im laufenden Betrieb möglich, beispielsweise in Kooperation mit einem Hersteller oder Partner.
Stand der Testumgebung aus dem Projekt ZugKOM
Die beschriebene Testumgebung für den TCN-Feldbus ist Teil eines gemeinsamen Projektes zwischen der Hochschule Landshut und der Firma Kontron. Das Projekt ist mit Mitteln der bayerischen Landesregierung im Programm Informations- und Kommunikationstechnik unter dem Namen ZugKOM über einen Zeitraum von zwei Jahren bis Ende 2011 gefördert. Wegen des öffentlichen Charakters steht die Testumgebung auch für weitere Partner aus Lehre, Forschung und Industrie zur Verfügung und kann anwendungsspezifisch weiter ausgebaut werden.
• more@click-Code: EE711501
