Suchen

Sicherheitstechnik Steuerung arbeitet zykluszeitenfrei und sicher

| Autor / Redakteur: Christian Siemers, Sascha Lützel, Alfons Austerhoff* / Gerd Kucera

In komplexen Systemen ist es unmöglich, alle potenziellen Gefahren für Menschen und Maschinen völlig auszuschließen. Um dennoch den Zustand definierter Sicherheit zu erreichen, werden zielgerichtet Maßnahmen in Hard- und Software realisiert. Die im Beitrag beschriebene Steuerung ZATEGO basiert auf programmierbarer Logik, die intern diversitär redundant aufgebaut ist. Steuerung und Sicherheitstechnik sind dadurch in einem Gerät integriert.

Firmen zum Thema

Bild 1: Die zyklusfreie sicherheitsintegrierte Steuerung ZATEGO von ZANDER, die auf Basis programmierbarer Logikbausteine funktioniert und intern diversitär redundant aufgebaut ist
Bild 1: Die zyklusfreie sicherheitsintegrierte Steuerung ZATEGO von ZANDER, die auf Basis programmierbarer Logikbausteine funktioniert und intern diversitär redundant aufgebaut ist
( Archiv: Vogel Business Media )

Die industrielle Automatisierungstechnik bewegt sich in Richtung Integration der Sicherheitstechnik. Dies nicht zuletzt durch die Einführung neuer Normen. So gelten nunmehr IEC 61508, IEC 62061 und DIN EN ISO 13849-1, was die Entwicklung von industriellen Steuerungen und anderen Geräten einmal mehr deutlich verändert.

Eine neue Steuerung der Firma ZANDER trägt dem Rechnung: ZATEGO (Bild 1) arbeitet auf Basis programmierbarer Logikbausteine, ist intern diversitär redundant aufgebaut und damit in der Lage, sowohl die Steuerung als auch die Sicherheit in einem Gerät zu integrieren.

Für ZANDER ist es durchaus kein Neuland, eine Steuerung auf Basis von PLDs anstelle von Mikroprozessoren anzubieten. So liegen vielfältige Erfahrungen mit den kleineren Systemen EX-16 und der Speedy-Familie vor, die beide auf einem Complex Programmable Logic Device (CPLD) basieren. Alle Steuerungen haben eine Gemeinsamkeit: sie arbeiten prinzipbedingt zyklusfrei.

Die Steuerungsarbeit ist von Verwaltungsaufgaben getrennt

Diese Zyklusfreiheit bedeutet aber nicht, dass keine Rechenzeit benötigt wird. Denn auch ein PLD zeigt eine Laufzeit von Signalen. Diese Laufzeit ist aber sehr klein und liegt etwa in der Größenordnung 0,1 bis 1 µs (je nach Bausteintechnologie und maximaler Komplexität einer Aufgabe) und ist unabhängig von der Anzahl der quasi-parallel abzuarbeitenden Teilaufgaben.

Diese Form der Aufgaben, wie sie in Antrieben und Maschinen häufig zu finden sind, führt zu einer Ereignisdichte, für die programmierbare Logikbausteine wesentlich besser geeignet sind als Mikroprozessoren, während diese wiederum bei irregulären Abläufen, also Algorithmen mit vielfältigen Verzweigungen, punkten können.

Bild 2a: Ein 4-Bit-Zähler in strukturiertem Text (Archiv: Vogel Business Media)

ZATEGO verfügt daher über beide Komponenten, wobei aus den genannten Gründen ein PLD, in diesem Fall ein Field-Programmable Gate Array (FPGA) die Steuerungsarbeit, ein als Softcore integrierter Mikrocontroller die Verwaltungsarbeit übernimmt.

Keine teure und aufwändige Hardwareentwicklung

Der Steuerungsalgorithmus wird bei ZATEGO durch die eigens dafür entwickelte Designsoftware in einen speziell für diese Applikation angefertigten Steuerungsprozessor umgesetzt. Dies war vor einigen Jahren nur durch eine Hardwareentwicklung einschließlich Fertigung eines Chips möglich, ist nunmehr aber durch die Verwendung von PLDs auch ohne teuere und sehr zeitaufwendige Hardwareentwicklung möglich. Dies ist der tiefere Grund für die enorme Beschleunigung gegenüber Mikroprozessor-basierten Lösungen und zugleich die Parallelität in der Bearbeitung.

Während ein Mikroprozessor durch die relativ zeitintensive Abarbeitung einer Befehlsliste einen Algorithmus ausführt, dann den Nächsten und so weiter, liegt im applikationsspezifischen Prozessor alles in echter Parallelität vor.

Im Vergleich zu den bisher am Markt erhältlichen Lösungen wie EX-16 und Speedy konnte bei ZATEGO die Kapazität um mehr als den Faktor 50 gesteigert werden. Zusätzlich bieten die modernen FPGAs so viel Platz, dass ein Mikroprozessor als Softcore, d.h. als Teil der Konfiguration, mitarbeiten kann. Die Verwaltung, etwa Bedienerführung, Konfiguration von Werten sowie Netzwerkanbindung, obliegt wie erwähnt diesem Mikroprozessor.

Das Programmieren der Anwendung

Andererseits erzeugt so viel (Hardware-)Licht auch meist viel (Software-)Schatten, denn gerade die enorme Parallelität, die die Zyklusfreiheit ergibt, muss in der Applikation auch formuliert werden. Aus dem Bereich der Multicore-Prozessoren und der parallelen Rechner weiß man schließlich, dass mit der Parallelisierung der Algorithmen die Geschwindigkeit und die Ausnutzung steht und fällt. ZATEGO bietet auch hier sehr viel.

Bild 2b: Der 4-Bit-Zähler in Funktionsbausteinsprache (Archiv: Vogel Business Media)

Das Standard-Interface zur Eingabe einer Applikation besteht aus den in der SPS-Welt bekannten Sprachen Funktionsbausteinsprache (FUP, Function Unit Plan) und Strukturierter Text (ST, Structured Text). Beide waren auch schon bei den bisherigen Steuerungen vertreten, konnten aber nun noch weiter optimiert werden. FUP ist bereits durch die Konzeption der ideale Kandidat für die Beschreibung von Algorithmen in paralleler Form.

Bei ST ist eine Grundregel (in Abweichung von der Norm IEC 61131-3) zu beachten: Einem Signal bzw. einer Variablen darf nur an einer Stelle im Programm ein Wert zugewiesen werden, wobei eine verzweigte IF/ELSE-IF/ELSE-Struktur (oder auch CASE) als insgesamt eine Stelle gilt. Dies Konzept wird Single Assignment genannt, und die Beachtung dieser Regel genügt bereits, um das Programm optimal für den FPGA übersetzen zu können.

Die Bilder 2 a und 2b zeigen ein einfaches Beispiel in ST (Bild 2a) und FUP (Bild 2b), in diesem Fall auf binärer Ebene formuliert. Der/die Entwickler(in) hat die Struktur eines Zählers auf Boolescher Ebene direkt in diesen beiden Sprachen implementiert, sodass für den Compiler wenig Arbeit bleibt. Dies ist direkt für den FPGA übersetzbar.

Bild 3: Strukturierter Text mit Arithmetik (Archiv: Vogel Business Media)

In Bild 3 ist eine höhere Version von ST dargestellt, hier für arithmetische Operationen. Durch eine Analyse des Codes kann der Compiler ersehen, dass die Integervariable B nur Werte von 0 bis 15 annimmt und somit also als 4-Bit-Variable im FPGA implementiert werden kann (mit dem gleichen Ergebnis der Übersetzung wie in Bild 2a).

Sicherheit durch diversitäre Redundanz

Soweit zur Geschwindigkeit, Gleichzeitigkeit der Steuerungsvorgänge und dem Softwareinterface in ZATEGO, deren Kapazität die der bisherigen zykluszeitenfreien Steuerungen von ZANDER um mehr als den Faktor 50 übertrifft. Eine frei programmierbare Hardware hat aber noch einen weiteren Vorteil: Ohne Leistungseinbuße kann etwa eine Fehlertoleranz eingefügt werden, nur der Platzbedarf steigt. Um aber auch Sicherheit gemäß den einschlägigen Normen zu erhalten, muss wesentlich mehr vorbereitet werden.

Bild 4: Diversitär redundante Steuerung auf PLD-Basis mit Integration von Steuerungs- und Sicherheitsteil (Archiv: Vogel Business Media)

Die notwendige diversitäre Redundanz wird in ZATEGO durch zwei verschiedene PLDs mitsamt eigener Spannungsversorgung erreicht. Beide PLDs, der bereits erwähnte FPGA sowie ein CPLD, erhalten einen Sicherheitsteil aus dem Programmcode und überwachen sich gegenseitig. Bild 4 zeigt den grundsätzlichen Aufbau der Steuerung.

Die Programmentwicklung muss nun auch zweiteilig erfolgen, denn neben dem Steuerungsteil muss auch die Sicherheitsfunktionalität beschrieben werden. Letztere wird in ZATEGO zwingend in einer FUP-ähnlichen Programmierumgebung erstellt. Zusammen mit der Entwicklungssoftware ist also ein System gegeben, das sowohl für harte Echtzeitanwendungen mit höchsten Geschwindigkeitsanforderungen als auch für sichere Anwendungen geeignet ist und dies gleichzeitig.

*Prof. Dr. Christian Siemers lehrt Technische Informatik an der FH Nordhausen und der TU Clausthal. Sascha Lützel ist wissenschaftlicher Mitarbeiter am Lehrstuhl für Prozessortechnik der FH Nordhausen. Alfons Austerhoff ist Leiter der Entwicklungsabteilung bei ZANDER, Aachen.

(ID:281368)