Preiswerter und effizienter ist es, für Sicherheitsbelange auf eine Hardwarelösung zuzugreifen: Im Zentrum stehen hier FPGAs, die aus tausenden konfigurierbaren Logikblöcken bestehen, die sich anwenderspezifisch anpassen und miteinander vernetzen lassen. Module der funktionalen Sicherheit werden als Hardwarebausteine konfiguriert. Der aufwendige Schritt des Programmierens zusätzlicher Software entfällt. Das vereinfacht das Vorgehen, denn die Normen für die Hardware-Entwicklung funktional sicherer Systeme sind lange nicht so umfangreich wie bei der Entwicklung entsprechender Softwaremodule.
Ihre Stärken spielen auf FPGAs basierende Sicherheitssysteme auch aus, wenn es darum geht, Reaktionszeiten zu optimieren: Diese sind häufig entscheidend für die Auslegung einer Maschine. In der Prozessautomatisierung beispielsweise kollaborieren Mensch und Roboter immer häufiger Hand in Hand auf immer enger werdendem Raum. Die Arbeit wird erleichtert, die Produktion optimiert – doch für den Arbeitnehmer steigt auch die Gefahr durch einen Fehler oder Ausfall in der Programmierung des Industrieroboters. Um den Menschen zu schützen, werden Gefahrenbereiche z. B. durch Lichtgitter überwacht. Tritt der Arbeiter in den gefährdeten Bereich, muss der Roboter in kürzester Zeit reagieren und abschalten, bevor es zu einem Unglück kommen kann.
Wird der sicherheitsrelevante Signalpfad durch ein FPGA realisiert, lässt sich die benötigte Reaktionszeit im Vergleich zu Systemen mit CPUs deutlich leichter erreichen. Das liegt daran, dass der kritische Signalpfad direkt in der Hardware abgebildet wird und keine zusätzlichen Prozessortakte für die Software nötig sind. Durch die direkte Verdrahtung der Hardware kann das System schneller auf Systemausfälle oder -fehler reagieren Für Produzenten bedeutet dies in der Praxis einen klaren Gewinn: Der Schutzbereich um den Roboter kann kleiner ausgelegt werden, Mensch und Maschine können effizienter zusammenarbeiten.
Für die Sicherheit in automatisierten Prozessen ist nicht nur wichtig, im Fall eines Ausfalls oder Fehlers schnell zu reagieren. Ein System muss, um die Normen der funktionalen Sicherheit zu erfüllen, auch beim Einschalten und während der Laufzeiten immer wieder Tests und Diagnosen durchführen. Auch hier ist die besondere Architektur der FPGAs von Vorteil: Wird ein funktional sicheres System auf einem Mikroprozessor implementiert, muss dieser zumeist seine derzeitige Applikation für Diagnosezwecke unterbrechen. Die Unterbrechung wirkt sich oft negativ auf die entscheidende Reaktionszeit aus, sodass hohe Sicherheitsanforderungen schwierig zu erfüllen sind.
In FPGAs hingegen werden Funktionsblöcke als Hardwaremodule synthetisiert. Auch Selbsttest- und Diagnosefunktionen lassen sich so abbilden. Da es sich bei den Funktionsblöcken um logische Hardwareverknüpfungen handelt, erfolgt die Diagnose parallel zum laufenden Betrieb. Der sicherheitskritische Pfad wird nicht beeinträchtigt. Viele der benötigten Funktionsmodule für Safety-Anwendungen können als normkonforme IP (Intellectual Property) erworben werden. So enthält etwa das »Qualified Functional Safety Data Package« von Altera (jetzt ein Teil von Intel) umfangreiche Anwendungs- und Diagnosebibliotheken sowie unterstützende Werkzeuge und Dokumentation.
Ein zentraler Aspekt funktional sicherer Systeme ist die Zuverlässigkeit. Risiken sollen durch eine hohe Ausfallsicherheit minimiert werden. Für Entwickler gilt: Je höher der angestrebte SIL- (IEC EN 61508) oder Performance-Level, desto wichtiger werden redundante Systeme. Ein Beispiel für so ein System ist die sogenannte »One out of two«-Architektur (1oo2, »und«-Verknüpfung).
Dabei führt man den gesamten sicherheitsrelevanten Pfad bestehend aus Sensoren, Aktoren und Steuergeräten redundant aus. Fällt ein Sensor aus, so stehen weiterhin die Messdaten des Doppelgängers zur Verfügung. Der Fehler kann noch gefunden und die Anlage in einen sicheren Zustand gebracht werden. Bei einer Lösung mit FPGAs lassen sich die logischen Verknüpfungen für die Verarbeitung der redundanten Kanäle auf einfache Weise durch Funktionsmodule implementieren. Die Verkettung der redundanten Kanäle verringert die Ausfallrate des Gesamtsystems signifikant.