Auf dem Weg hin zu Industrie 4.0 hat sich die Steuerungstechnik parallel weiterentwickelt. Ausgehend von Maschinen mit rein mechanischen Steuerungen über Wellen und Nocken der ersten industriellen Revolution konnten Materialaufwand und Komplexität der Steuerungstechnik später mit elektromechanischen Komponenten wie Motoren, Schütze oder Relais deutlich reduziert werden. Halbleiter und Mikroprozessoren machten den Weg frei für die SPS, wie man sie heute findet. Die Applikation kann flexibel geladen und geändert werden. Durch die Entkoppelung der Steuerung von ihrem Einsatzgebiet werden Geräte sehr vielseitig. Seit SPSen zunehmend mit Betriebssystem ausgestattet sind, ist eine weitere Abstraktion möglich: Der Einsatz eines Geräts muss nicht mehr vom Hersteller festgelegt werden, sondern flexibel nachladbare Software in Form von Apps bestimmt die Funktion und den Einsatzbereich. Konkret: Das SPS-Laufzeitsystem wird dazugeladen, wenn es eine Logik- oder Bewegungssteuerungen abarbeiten soll. Alternativ kann das Gerät z.B. auch als Umsetzer für Feldbusse dienen, oder als Bediengerät. Der Anwender bestimmt die Funktion mit der Software, die er darauf lädt.
Nach wie vor sind die Geräte die Sonnen im System. Mit Hypervisor oder Container lässt sich die Hardware allerdings ebenfalls abstrahieren. Aber ob die Virtualisierung auf einem typischen Automatisierungsgerät mit 24VDC und Hutschienenmontage erfolgt, auf einem IPC mit integriertem Display oder auf einer beliebigen Serverplattform – für die Soft-SPS ist das nicht mehr relevant. Ist Linux mit Echtzeitkernel installiert, erben darauf aufgesetzte Container diese Eigenschaft mit. Das bedeutet: Mehrere Container können sich gleichzeitig die Hardware-Ressourcen teilen und isoliert voneinander ausführen. Ist im Container-Image ein SPS-Laufzeitsystem integriert, so wird der aufgesetzte Container sofort zur virtuellen SPS. Anwender können diese wie bisher mit einem Entwicklungssystem programmieren, z.B. dem Codesys Development System. Für sie ändert sich somit nichts bei der Projektierung der Steuerungsapplikation. Wenn Ethernet-basierte I/O-Systeme wie Profinet, Ethercat oder Ethernet/IP verwendet werden, bleibt auch deren Nutzung wie gehabt. Wenn auf der unterliegenden Hardware nicht von vornherein mehrere Ethernet-Ports verbaut wurden, ist eine weitere Virtualisierung möglich: Mittels vLAN, erzeugt durch geeignete Switches, lässt sich ein Ethernet-Port in mehrere unabhängige Feldbusse aufteilen. Setzt man virtuelle Steuerungen ein, so entfällt aufgrund der Hardware-Abstraktion die Möglichkeit, sich zum Erreichen der Zweikanaligkeit für den Einsatz nach IEC61508 SIL3 auf weitere Hardware abzustützen. Stattdessen erzeugt man sie per Software mit dem sogenannten Diversified Encoding – ohne besondere Anforderungen an die darunterliegende Hardware. Die Technologie basiert auf dem bekannten Coded Processing. Durch eine redundante Betrachtung der Steuerungsinformationen erkennt dieses Verfahren Fehler im Daten- und Kontrollfluss von Programmen. Es teilt die Abarbeitung der Applikationssoftware in zwei logische Softwarekanäle auf: Der erste führt die realisierte Sicherheitsapplikation im Original aus. Der zweite nutzt dieselbe Applikation, führt sie aber mit den Algorithmen des Coded Processing aus und kann so 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. Durch Diversified Encoding werden 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- bzw. Feldbusprotokolle erzeugt wurden. Zur Laufzeit der Sicherheitsapplikation wird der Kontrollfluss im kodierten Kanal zusätzlich feingranular überwacht.
Das derart gestaltete Sicherheitskonzept der Firma Silistra Systems wurde vom Tüv Süd abgenommen, erste Produktzertifizierungen bis hin zu SIL3 sind erfolgt. Codesys Virtual SafeControl implementiert diesen Ansatz und kann damit ab 2024 physikalische Safety-Steuerungen ersetzen. Die Safety-Applikation projektiert der Anwender im sicheren IEC61131-3-Editor als Teil des zertifizierten Add-on-Moduls, das den rein funktionalen Teil des Codesys Development System erweitert. Dass es sich dabei um virtualisierte Geräte handelt, merkt er nur bei der Anbindung der Safety-I/O-Module in der Applikation.
Virtuelle Steuerungen nutzen
Was muss ein Anwender tun, um virtuelle SPSen zu starten? Er benötigt dazu eine Konfigurationsdatei bzw. das Image einer physikalischen Komponente und deployed damit den oder die Container auf eine der folgenden Arten:
- Manuelle Ausführung von Funktionen des Betriebssystems. Vor allem Systemadministratoren haben damit volle Freiheiten. Diese Funktionen lassen sich auch als Skripte zusammenfassen und somit vereinfachen.
- Generische Softwareplattformen wie Kubernetes oder Open Shift, die eine automatisierte Konfiguration, Verwaltung und Koordinierung von Computersystemen, Anwendungen und Services ermöglichen.
- Proprietäre Plattformen mit Zusatznutzen für die Automatisierungstechnik, z.B. der Codesys Automation Server. Die Funktion zum Deployment der virtuellen SPS in der Codesys-eigenen Industrie4.0-Plattform steht kurz vor der Freigabe und bietet daneben eine Reihe von komfortablen Lösungen für typische Aufgaben von Automatisierern.
Anwendungsvorteile gegenüber dedizierten Geräten
- Kosteneinsparungen: Werden n physikalische SPSen durch eine einzige Plattform mit n virtuellen Steuerungen ersetzt, so sparen Anwender bei der Hardware-Ausstattung ihrer Steuerungslandschaft. Ob sich die Virtualisierung wirklich lohnt, muss im Einzelfall durchgerechnet werden.
- Skalierbarkeit sowie flexible Funktionalität: Bei einer physikalischen Steuerung muss der Anwender sich im Vorfeld auf die gewünschten Leistungsparameter festlegen: Kleinsteuerung für einfache Logikaufgabe? Ausgewachsener Motion-Controller? Oder irgendetwas dazwischen? Für eine virtuelle SPS kann mit der Applikation entschieden werden.
- Reduzierter Platz- und Verdrahtungsbedarf: Der Platz im Schaltschrank ist knapp und teuer. Und ist das 24VDC-Netzteil bereits ausgelastet, wird es bei Nachrüstung schnell eng. Für zusätzliche virtuelle Steuerungen auf einem zentralen Rechner werden weder neue Kabel noch zusätzliche Spannungsversorgungen benötigt. Selbst die Anbindung weiterer I/Os per Industrial Ethernet lässt sich einfach realisieren.
- Security-by-Design: Hacker bedrohen zunehmend Maschinen und Anlagen. Teilt man Applikationsteile vernünftig auf, z.B. in gekapselte funktionale Einheiten im Container, so steigt die IT-Sicherheit des Gesamtsystems. Eine Funktionseinheit lässt sich vergleichbar problemlos abschalten und neu aufsetzen. Statt eine verseuchte SPS aus- und wieder einzubauen, wird die virtuelle SPS beendet und neu gestartet. Auch Security-Updates lassen sich so deutlich leichter einspielen – und somit das Gesamtsystem härten.
- Vereinfachte Wartung: Apropos Updates: Sind viele SPSen in einem Produktionswerk z.B. von einer Security-Lücke betroffen, so müssen Firmware oder Applikation schnellstens upgedatet werden. Das kann bei physikalischen Geräten manchmal Tage, Wochen oder sogar Monate dauern! Steuern stattdessen virtuelle Systeme auf einem Zentralrechner den Prozess, dann lassen sich Updates zentral ausrollen, was wertvolle Zeit spart.
- Reduzierte Downtime: Jedes Gerät kann einmal ausfallen. Idealerweise detektiert man den drohenden Ausfall präventiv, oder man behebt ihn zumindest schnell. Bei physikalischen SPSen ist dies immer aufwändig. Schneller und stoßfrei geschieht dies mit redundant eingebauten Steuerungen. Softwareplattformen wie Codesys bieten Redundanzfunktionen für dedizierte Steuerungen an. Aber sollte deshalb jede SPS redundant aufgebaut werden? Der Mehraufwand ist beträchtlich. Viel einfacher ist es, mehrere redundante virtuelle Steuerungen auszuführen, die zentral von der IT verwaltet werden. Diese Steuerungen können wiederum mit echter Redundanzfunktion realisiert und damit stoßfrei umgeschaltet werden, oder zumindest durch IT-Boardmittel. Das Resultat: Der Ausfall von Produktionsprozessen wird deutlich reduziert.
Fazit: Zunächst ist es eine betriebswirtschaftliche Betrachtung, in welchen Anwendungen virtuelle Steuerungen sinnvoll sind. In jedem Fall ergeben sich jedoch aufgrund der Virtualisierung neue Möglichkeiten für Anwender und Betreiber von komplexen Steuerungssystemen. Daher werden sich virtuelle Steuerungen ganz sicher bald neben physikalischen Steuerungen und Soft-SPSen etablieren.