Codesys
Die virtuelle Safety-Steuerung
In einer zweiteiligen Artikelserie beleuchten wir den Weg der SPS hin zur virtuellen Steuerung. In diesem nun zweiten Teil der Artikelserie rücken funktional sichere Steuerungen - also Safety-Steuerungen - in den Fokus. Lassen auch sie sich virtualisieren?
Die Abstraktion von Maschinensteuerungen ergibt Sinn: Die konsequente Weiterentwicklung der Steuerungstechnik hin zu virtuellen Steuerungen reduziert den Aufwand für Anschaffung, Inbetriebnahme, Erweiterung, Wartung sowie Außerbetriebnahme ganz erheblich. Mit virtuellen Steuerungen auf Basis von Container- oder Hypervisor-Technologien bestimmt ausschließlich die Software die Funktion – die Hardware liefert den abstrahierten Unterbau dafür. Weil die Abhängigkeit von bestimmten Geräten aufgebrochen ist, lassen sich moderne Steuerungsarchitekturen mit Security-by-Design und dynamischen Microservices einfach realisieren. Aber wie sieht es mit funktional sicheren Anwendungen aus?
EU-Verordnungen und nationale Gesetze schreiben zum Schutz des Menschen vor: Maschinen mit Gefährdungspotenzial aller Art müssen für den gesamten Lebenszyklus abgesichert sein – entweder durch konstruktive Maßnahmen oder sichere Steuerungstechnik gemäß dem Stand der Technik. Die IEC 61508 definiert diesen Stand mit Grundbegriffen, Gestaltungsleitsätzen und allgemeinen Aspekten für den Einsatz von elektronischen Steuerungen in Maschinen und Anlagen. So werden unter anderem die Sicherheitsanforderungsstufen SIL (Safety Integrity Level) 1 bis 4 beschrieben, ausgehend von der Gefährdungslage unter anderem in der Schwere und Expositionshäufigkeit. Eine Maschine oder Anlage muss aufgrund der Gesetzeslage vor der Inbetriebnahme von einem akkreditierten Institut freigegeben werden – inklusive aller eingesetzten Komponenten für die Erreichung der Anforderungsstufe sowie der implementierten Steuerungsapplikation.
| Lesetipp: Den vorhergehenden Artikel über den Weg der SPS hin zu einer virtuellen SPS, lesen Sie hier |
|---|
Bereits ab SIL2 ist die Mehrkanaligkeit von eingesetzten Steuerungen zum Schutz vor Systemfehlern zwingend vorgeschrieben. Und spätestens für den in der Industrie in vielen Applikationen geforderten SIL3 muss zumindest eine Instanz, in der Regel eine Hardware, die korrekte Abarbeitung der Sicherheitsfunktion überwachen. Um die diskrete Zweikanaligkeit mit doppeltem Hardwareaufwand zu reduzieren, haben CPU-Hersteller spezielle Prozessoren mit unterschiedlichen Architekturen entwickelt, wie Lock-Step-CPU oder Safety-Island als Überwachungsschicht. Dieser begrüßenswerte Ansatz erhöht leider gleichzeitig die Abhängigkeit von bestimmten Bauelementen massiv. Gerade in der bestehenden Situation mit gestörten Lieferketten und Bauteilemangel kann so eine Abhängigkeit zu schmerzhaften Problemen führen. Zumal die angesprochenen Prozessoren für die erforderliche Zertifizierung nicht ohne weiteres ersetzbar sind.
Zweikanaligkeit per Software
Abarbeitung der Sicherheitsapplikation in zwei getrennten Softwarekanälen mit Coded Processing.
© CodesysBei virtuellen Steuerungen entfällt die Möglichkeit der Abstützung auf weitere Hardware zum Erreichen der Zweikanaligkeit. Schließlich wird die Hardware komplett abstrahiert. Dennoch lässt sich auch hier eine Zweikanaligkeit erzeugen, und zwar per Software durch Diversified Encoding. Was steckt hinter diesem Begriff? Die Technologie basiert auf dem Verfahren des Coded Processing. Dieses Verfahren kann durch eine redundante Betrachtung der Steuerungsinformationen Fehler im Daten- und Kontrollfluss von Programmen erkennen und ist seit mehr als 30 Jahren bekannt. Es teilt die Abarbeitung der Applikationssoftware in zwei logische Softwarekanäle auf, und zwar ohne besondere Anforderungen an die darunterliegende Hardware. Der erste Kanal führt die realisierte Sicherheitsapplikation im Original aus. Der zweite Kanal nutzt dieselbe Applikation, führt sie aber mit den Algorithmen des Coded Processing aus und kann so für sich bereits Fehler erkennen. Beide Kanäle laufen in einem Prozess sequenziell hintereinander auf einem CPU-Kern. Sie werden permanent verglichen, wie das auch bei den Hardwarelösungen zur funktionalen Sicherheit gemacht wird.
Dadurch werden aufgetretene Fehler deutlich häufiger erkannt. Durch Diversified Encoding werden auf dieselbe Weise die sicheren Eingaben an beide Kanäle verteilt und umgekehrt die Ausgaben beider Kanäle zu sicheren Ausgaben zusammengeführt. Eingeschlossen sind Datenströme, die durch sichere Netzwerk- beziehungsweise Feldbusprotokolle erzeugt wurden. Eine zur Laufzeit der Sicherheitsapplikation durchgeführte zusätzliche feingranulare Überwachung des Kontrollflusses im kodierten Kanal bringt ein weiteres Sicherheitskriterium. Das derart gestaltete Sicherheitskonzept der Firma SIListra Systems wurde vom TÜV SÜD abgenommen, erste Produktzertifizierungen bis hin zu SIL3 sind erfolgt.
Das Verfahren im Detail betrachtet
Screenshot Codesys Development System mit SIL3-Applikation (rechts) auf einer virtueller Sicherheitssteuerung (links im Baum).
© CodesysBei der Batrachtung des Verfahrens stellen sich folgende Fragen:
Frage 1: Warum wird dieses Verfahren erst jetzt genutzt, wenn es doch schon lange bekannt ist?
Tatsächlich wurden bereits Anfang der 2000er Jahre erste Produkte mit Coded Processing freigegeben. Sie haben sich allerdings nicht auf breiter Front durchgesetzt. Die rechenintensiven Algorithmen aus dieser Zeit führten zu einer bis zu 1000-fachen Laufzeitverlängerung! So erzeugter Code, ausgeführt auf den damals aktuellen CPUs, war für reale Anwendungen schlicht unbrauchbar. Mittlerweile sind nicht nur die Prozessoren erheblich leistungsfähiger, auch die Software-Algorithmen hinter dem Coded Processing sind grundlegend optimiert. Der per Coded Processing erzeugte Applikationscode zusammen mit den erforderlichen Diagnosefunktionen ist mittlerweile nur noch um den Faktor 5 bis 15 langsamer als der rein funktionale Code. Gleichzeitig entfallen die bei diskreten Sicherheitssteuerungen erforderlichen Synchronisationspunkte sowie CPU- und Speichertests, die für eine nicht unerhebliche Entlastung der CPU sorgen. Angesichts der Performance moderner Prozessoren steht der Nutzung von Soft-Safety-Lösungen in Industrieapplikationen nun nichts mehr im Weg.
Screenshot einer Visualisierungsoberfläche mit Messergebnissen von vier virtuellen Safety-Steuerungen und unterschiedlichen E/A-Systemen.
© CodesysFrage 2: Wie lässt sich Coded Processing mit virtuellen Steuerungen kombinieren?
Anstatt wie bisher die Zweikanaligkeit durch redundante Hardware zu erzeugen, bieten sich jetzt die Möglichkeiten der Virtualisierung an: Beide Kanäle laufen jetzt nicht mehr parallel auf getrennten physischen Systemen, sondern sequenziell in einer virtualisierten Maschine, etwa im Container oder Hypervisor. Einer der beiden Kanäle wird per Coded Processing transformiert und ausgeführt. Über Diversified Encoding werden die Ergebnisse vor und nach der Ausführung verglichen. Damit steht dem Anwender eine gleichwertige Lösung zur Verfügung, wie man sie von physischen Sicherheitssteuerungen kennt. Jetzt aber mit dem riesigen Vorteil, dass er nicht mehr an eine dedizierte Hardware gebunden ist. Er kann sogar funktional sichere Steuerungen beliebig oft oder feingranular aufsetzen und auf den Plattformen abarbeiten lassen, die ihm zur Verfügung stehen – sei es Industriehardware im Schaltschrank oder IT-Hardware irgendwo im Serverraum. Wie bereits im zweiten Teil der Artikelserie beschrieben, lassen sich E/As über virtualisierte LAN-Ports in Echtzeit ansprechen. Das gilt in gleicher Weise für Industrial Ethernet-Protokolle mit Zulassung für sicherheitskritische Anwendungen, wie etwa FSoE (Fail Safe over EtherCAT) oder PROFIsafe (F-Host / F-Client).
Frage 3: Wie können Anwender davon profitieren?
Am Beispiel von Codesys lässt sich die Frage folgendermaßen beantworten: Der Anwender deployed beziehungsweise orchestriert seine Steuerung auf der verfügbaren Hardware und entscheidet dabei, ob funktional sichere Applikationen ablaufen sollen. Ist das der Fall, so wird bei dem Deployment der virtuellen Steuerung ein zweiter paralleler Container angelegt. Die Applikation im Safety-Container wird dabei zusätzlich per Coded Processing abgearbeitet. Die codierte und die originale Applikation überwachen sich im Betrieb gegenseitig und können bei erkannten Fehlern sofort den sicheren Zustand einnehmen. Zur Projektierung verwendet der Anwender ein und dasselbe Tool: das Codesys Development System. Für die Projektierung der sicheren Applikation nutzt er die zertifizierten Add-on-Module, die den rein funktionalen Teil erweitern. Sie ermöglichen ihm die Programmierung im sicheren IEC-61131-3-Editor und sowie den Download des Applikationscodes mit abgenommenen Verfahren auf die virtuelle Sicherheitssteuerung. Dass es sich dabei um virtualisierte Geräte handelt, merkt er nur bei der Anbindung der Safety-E/A-Module in der Applikation. Natürlich ist die Projektierung einer Safety-Applikation prinzipbedingt aufwendiger als der rein funktionale Teil – diesbezüglich unterscheiden sich physikalische und virtuelle Safety-Steuerungen nicht. Bei Installation, Wartung, Updates und weiteren Aspekten gibt es jedoch beträchtliche Unterschiede.
| Lesetipp: Den vorhergehenden Artikel über den Weg der SPS hin zu einer virtuellen SPS, lesen Sie hier |
|---|
Die Orchestrierung der virtuellen Steuerung ist für die funktionale oder Sicherheitsapplikation identisch – es gibt nur noch betriebswirtschaftliche Aspekte bei den Lizenzkosten. Wichtig ist: Der Anwender kann sich für die Sicherheitsabnahme seiner Maschine oder Anlage mit virtualisierter Safety-SPS genauso vorbereiten, wie er das mit dedizierten Geräten gemacht hätte. Mit dem patentierten Verfahren von SIListra Systems in der virtuellen Sicherheitssteuerung ‚Codesys Virtual Safe Control SL’ erfolgt eine Freigabe des Gesamtsystems nach der Maschinenrichtlinie wie immer, wobei dafür jetzt keine zertifizierte Safety-Hardware mehr erforderlich ist. Die Abstraktion der Sicherheitssteuerung ist somit der konsequente nächste Schritt. Dabei profitieren Gerätehersteller gleichermaßen wie Anwender. Denn durch die Integration der Technologie können sie jetzt Sicherheitssteuerungen ohne zweikanaligen Hardwareaufbau realisieren. Alles, was sie bereitstellen müssen, um eine Safety-SPS zu implementieren: eine geeignete Rechnerarchitektur mit industriellen Eigenschaften sowie die Hardware-abstraktion per Container und optional darunter liegendem Hypervisor. Die Reduktion von Aufwand und Kosten kommt allen zugute. Natürlich werden solche virtualisierten Steuerungen nicht alle bisherigen Steuerungsarchitekturen ersetzen. Aber Maschinen- und Anlagenbauer und vor allem die Betreiber solcher Systeme erhalten mit einer solchen virtuellen
Sicherheitssteuerung zusätzliche Freiheitsgrade.
Die Stimme der Anwender
Die virtuelle Steuerung – sie prägte, als das Top-Thema, den Austausch zwischen Anwendern und Herstellern auf dem eintägigen Techday 2023.
© CodesysDie virtuelle SPS war das herausstechende Thema auf dem Technology Day der Firma Codesys am 10. Mai in Kempten. Keynote-Speaker Dr. Henning Löser aus dem Audi Production Lab formulierte gleich zu Beginn vor 500 Besuchern seine Vision: „Ich hätte gerne, dass sämtliche Hardware am Shopfloor verschwindet. Ich hätte gerne Funktionalität vor Ort… und Funktionalität ist Software.“ Zur Veranschaulichung stellt er die Frage: „Wie sollen wir denn 15.000 Windows-PC-Umstellungen in unseren Werken bewerkstelligen, wenn das in der 20-Minuten-Schichtpause geschehen muss.“ Mit einem Blick auf die Rechenzentren sagt er: „Dort wird die Problematik anders gelöst als bislang bei uns in der Fabrik.“ Ihm ist es deshalb wichtig, zukünftig Software-Applikationen von der Hardware zu trennen, mit dem großen Vorteil: „allen Applikationen kann dann die 100-prozentig gleiche Hardware zur Verfügung gestellt werden.“ Ob diese Applikationen zukünftig alle in der Cloud ablaufen können, ist sich Löser nicht sicher: „Wir haben ein komplettes Zeitspektrum von 8 ms von Steuerung zu Roboter und Retour“, sagt er. Audi plant deshalb zunächst die Etablierung von Edge-Landschaften innerhalb der jeweiligen Fabrik. Eine neu gegründete interne Abteilung – die EC4P (Edge Cloud For Production) – soll dieses Vorhaben forcieren.
Dass Codesys bereits was im Köcher hat, was diesen Kundenwünschen entgegenkommt, bekam das Publikum im nächsten Vortragsblock live zu sehen: Codesys Virtual Control SL, orchestriert und administriert von der Industrie-4.0-Plattform Automation Server aus. Die Produktmanager führten die aktuellen Performance-Daten anhand eines Demonstrators mit Profinet- und EtherCAT-Modulen vor. Zum ersten Mal zeigten sie auch den Entwicklungsstand der virtuellen Sicherheitssteuerung und erläuterten, wie eine zweikanalige Ausführung ohne Hardwarebindung möglich ist. Ebenfalls eine Premiere war die Vorstellung von Codesys Go!, einer neuen IEC-61131-3-Entwicklungsoberfläche mit Bedienung im Browser, gehostet auf Servern, PCs oder sogar dedizierter Steuerungshardware.


















