Powerlink: Daten in Sicherheit bringen

Datenpaketen kann auf ihrem Weg zwischen Sender und Empfänger eine Menge zustoßen. Sie können sich verspäten oder an die falsche Adresse weitergeleitet werden, ihr Inhalt kann durcheinandergeraten oder Zerstörungen erleiden. Ebenso kann ein Zusammentreffen ungünstiger Faktoren dazu führen, dass sich an Gateways die Sendereihenfolge der Pakete vertauscht oder es zu unzulässigen Einfügungen von Dateninhalt kommt. Auch wenn dies nicht zwangsläufig gravierende Folgen hat, müssen solche Übertragungsfehler unter allen Umständen in Bereichen ausgeschlossen werden, wo sie zu Gefährdungen von Menschen und Maschinen führen können. Der Unterschied zwischen Standard- und sicherheitsgerichteten Feldbussen wie Powerlink Safety besteht in einer Reihe von Funktionen und Verfahren, die das Entstehen dieser Fehler zwar nicht vermeiden können, ihr Auftreten aber in jedem Fall erkennen und durch die Einleitung entsprechender Sicherheitsmaßnahmen Gefahrensituationen ausschließen. Das Höchstmaß an Sicherheit ist für eine Automationslösung mit einer durchgängigen sicherheitsgerichteten Architektur zu erreichen, die sichere Sensoren, Aktoren und Steuerungen verwendet. Sicher heißt hier immer: redundante Erzeugung und Verarbeitung der Daten. Im Folgenden wollen wir aber den Blick ausschließlich auf die softwarebasierten Maßnahmen richten, mit denen das Sicherheitsprotokoll Powerlink Safety die Datenübertragung selbst vor systematischen und stochastischen Fehlerquellen schützt, unabhängig davon, wie zuverlässig die Teilnehmer des Netzwerks arbeiten. \’Wahrscheinliche\‘ und systematische Fehler Grundsätzlich lassen sich Fehler, die bei der Datenübermittlung auftreten, in zwei Kategorien gliedern: – Systematische Fehler haben ihre Ursachen in den Strukturen des Netzwerks oder Fehlfunktionen der Komponenten. Typische Beispiele hierfür sind Verzögerung, Verlust oder die Verdopplung von Daten. Diese Fehler treten u.a. dann auf, wenn Gateways überlastet sind oder verschiedene Gateways die gleichen Daten über unterschiedliche Netzwerke weiterleiten. – Stochastische Fehler sind Bitfehler, bei denen eine 1 in eine 0 kippt oder umgekehrt. Diese Fehler können auch gehäuft als sogenannte Büschelfehler auftreten. Im Allgemeinen sind elektromagnetische Störungen die Ursache. Ein Sicherheitsprotokoll kann das Auftreten dieser Fehler nicht verhindern; es ist Aufgabe der Techniker, alle störenden Faktoren zu reduzieren, ganz beseitigen können sie die Störungen jedoch nie. Die Aufgabe eines sicherheitsgerichteten Protokolls besteht darin, Mechanismen bereitzustellen, mit denen veränderte oder beschädigte Datenpakete umgehend erkannt und ausgefiltert werden. Weil das Protokoll aber jeden Übertragungsfehler sofort erkennt, können durch den Einsatz von Powerlink Safety auch unsichere Netzwerke für sicherheitsrelevante Anwendungen genutzt werden. Die passende Medizin Bild 2 listet in der linken Spalte alle grundsätzlich denkbaren Übertragungsfehler auf. In der horizontalen Leiste finden sich die Mechanismen, über die Powerlink Safety verfügt. Die Tabelle zeigt, dass die Mechanismen das gesamte Spektrum der Fehler abdecken. Zwei der Mechanismen, Zeitstempel und Zeitüberwachung, beugen gleich mehreren Fehlermöglichkeiten vor. Fehler und ihre Ursachen An erster Stelle nennt die vertikale Liste Übertragungsfehler durch Wiederholung. Die Wiederholung – oder auch Verdoppelung von Datenpaketen – kann auftreten, wenn ein Netzwerk über zwei Gateways mit anderen Netzwerken verbunden ist. Im Fehlerfall übertragen beide Gateways die Daten, was zu einer Verdopplung führt. – Datenverlust tritt ein, wenn ein Gateway Daten entweder gar nicht oder in ein falsches Netzwerk weiterleitet. – Zu Einfügungen kann es kommen, wenn die Datenpakete aufgrund ihrer Länge nur in mehreren Teilpaketen versendet werden können. Liegt auch in diesem Fall eine Netzwerkstruktur vor, bei der mehrere Gateways die Netzwerke verbinden, kann es durch die unterschiedlichen Übermittlungswege zu Vertauschungen in der Reihenfolge der einzelnen Paketsegmente und zu Einfügungen von Segmenten in andere Pakete kommen. Auf diese Weise können Empfänger Nachrichten aufnehmen, die nicht für sie bestimmt sind. – Genauso können Gateways wegen hohem Datenaufkommen die Weiterleitung verzögern. Dann kommt es zum \’Schlange stehen\‘ der Datenpakete. Führt der Übertragungsweg auch hier über zwei Gateways, kann die chronologische Reihenfolge der Datenpakete durch die unterschiedlichen Verzögerungen durcheinandergeraten. – Verfälschungen von Daten werden, wie bereits erwähnt, meist durch elektromagnetische Störeinflüsse verursacht, die ein \’Kippen\‘ einzelner Bits oder die Zerstörungen ganzer Abschnitte zur Folge haben. – Bei gleichzeitiger Nutzung des Netzes für Standard- und Safety-Daten kann es unter ungünstigen Bedingungen dazu kommen, dass sich Standarddaten als sichere Daten darstellen. Diese \’Maskerade\‘ kann zu schweren Fehlfunktionen der Applikation führen. Wie Powerlink Safety mit den Fehlern fertig wird Powerlink ist geeignet für den Einsatz in Systemen mit SIL 3. Ein Sicherheitsintegritätslevel dieser Stufe ist gleichbedeutend mit einer Versagenswahrscheinlichkeit von 10-7 bis 10-8 Fehlern pro Stunde. Die Normen schreiben vor, dass der Bus eines Safety-Systems nur mit 1% an der Gesamtmenge der Fehler beteiligt sein darf. Das bedeutet auf Powerlink Safety bezogen, dass dem Protokoll pro Stunde nicht mehr als 10-9 gefährliche Fehler unterlaufen dürfen – also im statis-tischen Durchschnitt nur rund ein Fehler alle 115.000 Jahre. Es erreicht diese minimale Versagenswahrscheinlichkeit durch die Mechanismen, die in der Tabelle in der horizontalen Leiste aufgeführt sind und die im Folgenden erläutert werden: Zeitstempel, Zeitüberwachung, Kennung, Datensicherung, Redundanz mit Kreuzvergleich und die Identifizierbarkeit der Safetyframes durch typische Kennzeichnung. Zeitstempel: Immer der Reihe nach, Verspätung wird nicht geduldet Zu den wichtigsten Mechanismen von Powerlink Safety zählt der Time Stamp, oder auf Deutsch: der Zeitstempel. Mit diesem Mechansimus werden gleich drei Fliegen mit einer Klappe geschlagen, also drei Fehler vermieden: Wiederholung, vertauschte Reihenfolge und Verzögerung. Der Sender prägt jedem Datenpaket die Zeit seiner Absendung auf. Im Endeffekt besitzt damit jedes Datenpaket für den Empfänger ein einzigartiges Merkmal, mit der das doppelte Auslesen vermieden wird, das die zeitliche Reihenfolge des Versands kennzeichnet und an dem sich ablesen lässt, ob sein Dateninhalt noch aktuell oder wegen einer Verzögerung bereits veraltet ist. Um aber die Aktualität überprüfen zu können, benötigt der Empfänger entweder eine Uhr, die mit einer Uhr des Senders exakt synchronisiert ist, oder aber er muss die zeitliche Abweichung zwischen der Uhr des Senders und der eigenen kennen. Da Powerlink Safety keine verteilten Uhren voraussetzt, muss ein Verfahren die Zeitgeber der Microcontroller in den Teilnehmern verlässlich aufeinander synchronisieren. Dies geschieht, indem die Empfänger (Consumer) in zyk­lischen Abständen eine Zeitanfrage TReq (Time Request) an die Producer senden. Der Producer antwortet darauf mit seiner Zeitantwort TRes (Time Response). Zwar erhält der Consumer so die Uhrzeit des Producers, ganz so einfach ist die Sache allerdings nicht. Denn sowohl TRes als auch TReq können sich bei starker Auslastung des Netzwerks beliebig verzögern. Deswegen verwertet der Consumer zur Synchronisation nur Zeitantworten, die innerhalb eines sehr kurzen, definierten Antwort-Zeitraumes eintreffen, der nennenswerte Verzögerungen ausschließt. Sollte die Antwort die festgesetzte und erlaubte Verzögerung überschreiten, ignoriert der Consumer sie und sendet eine neue Anfrage. Wird der Zeitraum unterschritten, schaltet der Consumer in den sicheren Zustand, da er davon ausgehen muss, dass die Parameter nicht stimmen. Trifft die TRes innerhalb der erlaubten Verzögerung ein, ist die Synchronisation erfolgreich verlaufen. Wachhund mit Zeitgefühl Ein zentrales Prinzip sicherheitsgerichteter Netzwerke ist die Zeitüberwachung eintreffender Signale durch den Consumer. Das gilt auch für Powerlink Safety-Netzwerke. Das Prinzip erfordert von den Producern das stetige Senden von \’Lebenssignalen\‘. Durch diese Signale erfährt der Consumer auch dann, wenn der Producer gerade keine Prozessdaten zu senden hat, dass die Datenverbindung nicht unterbrochen ist und der Producer ordnungsgemäß funktioniert. Wenn die Zeitüberwachung innerhalb eines definierten Zeitraumes keine Signale bekommt, leitet sie beim Consumer den sicheren Zustand ein. Die extrem kurzen Zykluszeiten von Powerlink Safety von 100µs führen zu einer fast verzögerungsfreien Erkennung von Ausfällen. Andererseits darf nicht jede kleine, aber normale Schwankung gleich einen Wechsel des Betriebszustandes veranlassen. Solange sie sich innerhalb von einigen 100µs ereignen, toleriert Powerlink Safety den Ausfall von Datenpaketen, bevor es reagiert. Die resultierende sichere Reaktionszeit bewegt sich dabei immer noch innerhalb weniger ms und ist damit mindestens um den Faktor 10 besser als bei anderen Sicherheitsbussystemen. Die Vorrichtung zur Signalüberwachung heißt Watchdog – Wachhund – und kann sowohl als Hardwarekomponente oder wie bei Powerlink Safety als softwarebasierte Funktion umgesetzt sein. Die Zeitüberwachung verhindert also Fehler, die durch den Verlust oder übermäßige Verzögerung von Daten verursacht werden. Nur wo Safety draufsteht, ist auch Safety drin Bei unzureichender Trennung von Netzwerken oder uneindeutiger Kennzeichnung der Frames kann es zu Fehlern kommen, wenn ein Consumer Frames auswertet, die nicht für ihn bestimmt sind. Powerlink Safety Frames verfügen über eine eindeutige Kennung des Frames, den Identifier. Der Identifier ist 8Bit groß und besteht aus einem Code, der aus Teilen des Adressfeldes, des enthaltenen Telegrammtypus und des Frametyps gebildet wird. Frametypen können z.B. Anfrage- oder Antwortframe sein. Durch den Identifier werden Verwechslungen seitens des Empfängers ausgeschlossen. Prüfsummen sichern Daten Während die bisher genannten Mechanismen zeitliche Verzögerungen und den Verlust von Daten erkennen oder falsche Zuordnungen verhindern, dienen Verfahren der Datensicherung der Erkennung von Verfälschungen und Zerstörungen des Dateninhaltes. Das gebräuchlichste und zuverlässigs­te Mittel, um Veränderungen des ursprünglichen Inhaltes zu erkennen, ist das CRC-Verfahren (Cyclic Redundancy Check = Prüfsummenverfahren). Dabei wird aus jedem Datensatz durch Polynomdivision eine Prüfsumme gebildet, die gemeinsam mit dem Polynom als Bitfolge dem Datensatz angehängt wird. Die Prüfsumme codiert in unverwechselbarer Form den Datensatz. Der Empfänger errechnet aus der Bitfolge und dem Schlüssel den ursprünglichen Datensatz und vergleicht das Ergebnis mit dem uncodierten Datensatz. Bei Abweichungen geht er von einer Veränderung des ursprünglichen Dateninhaltes aus und ignoriert die Nachricht. Powerlink Safety codiert Nachrichten von einer Länge bis zu 8Byte mit Prüfsummen von 8Bit Länge. Um auch bei längeren Datensätzen noch zuverlässig Verfälschungen ersichtlich zu machen, verwendet Powerlink Safety bei größeren Nachrichten Prüfsummen mit 16Bit Länge. Doppelt ist noch sicherer: Der Powerlink Safety Frame Powerlink Safety geht bei der Datensicherung aber noch einen Schritt weiter und verwendet ein weiteres Verfahren, das unter stoch­astischen Gesichtspunkten sogar die Sicherheit steigert, je größer die Frames werden: Das Sicherheitsprotokoll dupliziert den ursprünglichen Frame und fügt die beiden identischen Frames zusammen, sodass ein Powerlink Safety Frame aus zwei Unterframes mit identischem Inhalt besteht. Jeder Unterframe wird mit einer eigenen Prüfsumme gesichert. Der Empfänger vergleicht den identischen Inhalt beider Unterframes. Die Wahrscheinlichkeit, dass in zwei Frames die gleichen Daten verändert bzw. zerstört werden, ist sehr gering und nimmt bei zunehmender Framelänge immer weiter ab. Davon abgesehen dienen selbst im Ausnahmefall immer noch die Prüfsummen als Korrektiv. Masken runter! Den letzten Punkt in der Liste möglicher Fehler bildet die Maskerade, also die \’Tarnung\‘ von Standarddaten als sichere Daten. Doch das sehr spezielle Format des Powerlink Safety Frames macht eine Verwechslung durch den Consumer extrem unwahrscheinlich. Denn wie bereits gezeigt, setzt sich das Powerlink Safety Frame aus zwei Unter­frames mit jeweils eigener Prüfsumme zusammen, die der Consumer vor jeder Anweisungsbefolgung zuerst miteinander vergleichen muss. Schon dieses Procedere schließt die irrtümliche Verarbeitung einer maskierten Standardnachricht aus. Fazit Powerlink Safety wurde bereits Ende des Jahres 2004 vom TÜV Rheinland getestet und für den Einsatz bei sicherheitskritischen Anwendungen gemäß IEC61508 SIL 3 und Kategorie 4 der Euronorm 954-1 freigegeben. Damit ist Powerlink Safety grundsätzlich und ohne Einschränkungen für alle Applikationen dieser Sicherheitsstufe geeignet. Zu den Kennzeichen des Sicherheits-Protokolls gehören flexible Konfigurationsmöglichkeiten bei einem Höchstmaß an Sicherheit: Sei es die Unterstützung von modularen Maschinenkonzepten oder die vielfältigen Möglichkeiten der Netzwerkeinrichtung, die an keine spezifische Topologie gebunden sind. Der offene Standard, Busunabhängigkeit und die große Anzahl der in der EPSG an der Entwicklung beteiligten Unternehmen garantieren dem Anwender Freiheit bei der Komponentenauswahl und Unabhängigkeit von einzelnen Herstellern.