Logiccloud
Die SPS in der Cloud
Lässt sich eine SPS an beliebiger Stelle im Netzwerk auf Fog- oder Cloud-Rechner verteilen und als Smart Service über ein Pay-per-Use-Abrechnungsmodell nutzen? Die Umsetzung der Technologie in ein entsprechendes Produkt ist in Arbeit.
Die Digitalisierung der Produktion wirkt sich auch sehr stark auf die Automatisierungstechnik aus. Insbesondere die Nutzung von Cloud Computing und die Anwendung des Service-Paradigmas wird die zugrundeliegende Technologie stark verändern. Klassische Automatisierungssysteme, die nach den bekannten Hierarchie-Ebenen der Produktionsautomatisierung nach ANSI/ISA-95 aufgebaut sind werden den neuen Anforderungen nicht gerecht. Betrachtet man die Anforderungen von ubiquitärer Vernetzung, Cloud Computing und Service-Paradigma, so kristallisiert sich heraus, dass insbesondere das CPS-basierte Automatisierungsmodell wie in Bild 1 dargestellt eine weitgehende Übereinstimmung mit den Anforderungen erfüllt.
Es erscheint deshalb sinnvoll, diese Architektur als Grundlage für zukünftige Entwicklungen zu nehmen. Das Modell entstand 2012/13 in einem Arbeitskreis der VDI/VDE-Gesellschaft Mess- und Automatisierungstechnik und setzt konsequent auf die Verteilung aller Funktionen auf allen Ebenen der Automatisierungspyramide als Dienste in einer domänen-orientierten Netzwerkstruktur (Cloud). Als reale Automatisierungsgeräte verbleiben lediglich die Sensoren und Aktoren als CPS-Komponenten im technischen Prozess. Die bisherigen Konzepte und Lösungen zur Umsetzung des Modells nach Bild 1 in der Echtzeit-Leitebene (Level 2) wurden bisher nur für prototypische Einzelsteuerungen nachgewiesen. Konzepte zur Umsetzung dieser Lösungen für eine hochskalierbare, zuverlässige und sichere Cloud-basierte Automatisierungsumgebung liegen noch nicht vor.
Das Konzept der Logiccloud
Bild 2. Das Modell für die Implementierung eines auf Webtechnologie basierenden Funktionssystems.
© LogiccloudDieser Beitrag befasst sich daher mit einem Konzept für eine skalierbare und sichere SPS aus der Cloud mit dynamischen Ressourcenpools, die wesentliche Steuerungsfunktionalitäten nach IEC 61131-3 unter unkritischen Echtzeitbedingungen, über 50 ms, realisieren kann.
Das Konzept einer SPS aus der Cloud geht unter dem Aspekt von Industrie 4.0 und Industrial Internet grundsätzlich davon aus, dass Webtechnologien die technische Basis bilden. Im Web, als globalem Rechnernetz, stehen prinzipiell zwei Arten von Netzwerkrechnern zur Verfügung: Server-Rechner, die IT-Einheiten (Objekte, Dienste, Programme, Daten) bereitstellen und auch ausführen können, und Client-Rechner, die IT-Entitäten lediglich ausführen.
Das Arbeitsprinzip in diesem Server/Client-Rechnernetz ist das Client-Server-Prinzip. Ein Client muss also erst eine Anfrage stellen, damit eine IT-Einheit im Server ausgeführt werden kann. Das bedeutet, dass anwendungstechnische IT-Einheiten im Server nicht (automatisch) von selbst aktiv werden können. Als Client fungiert in der Regel ein Webbrowser auf dem Client-Rechner. Dies kann aber auch eine andere Client-Komponente sein.
Betrachtet man ein beliebiges anwendungsspezifisches Funktionssystem – etwa ein Leitsystem – das mit Web-Technologie realisiert wird, so ergeben sich die in Bild 2 dargestellten Modelle für die Ausführung (RUN) dieses Systems:
a) Das funktionale System ist nur auf dem Server gespeichert und wird auch nur dort ausgeführt. Die Ausführung des Systems auf dem Server startet der
Client (Servermodus).
b) Das funktionale System ist auf dem Server gespeichert und wird über eine Anfrage in den Client geladen. Das System wird nur im Client-Modus ausgeführt (Client-Mode).
c) Das funktionale System ist auf dem Server gespeichert und Komponenten des funktionalen Systems werden ebenfalls auf dem Server ausgeführt. Weitere Komponenten werden über einen Request in den Client geladen und dort ausgeführt. Die Ausführung der Systemkomponenten im Server wird durch den Client gestartet (Mischbetrieb).
In allen drei Fällen kann das funktionale System auf mehrere Server (Cloud) oder mehrere Clients verteilt sein. Unter dem Aspekt der automatischen und einfachen Skalierbarkeit mit dynamischen Ressourcen spielt insbesondere der Servermodus nach Bild 2a eine besondere Rolle, da hierfür bereits verschiedene Werkzeuge im Webbereich – etwa Containertechnologien –existieren.
Das Konzept der Logiccloud baut auf dieser Grundstruktur auf. Daraus ergibt sich die in Bild 3 dargestellte grundlegende Komponentenstruktur einer SPS aus der Cloud.
Im Server (Cloud) befinden sich n Software-Instanzen einer SPS-Steuerung, auf denen unterschiedliche IEC 61131-3-Steuerungsprogramme ausgeführt werden können. Jede Steuerungsinstanz ist mit einem realen Automatisierungsgerät – Sensoren, Aktoren – über geeignete Netzwerkprotokolle (MQTT, OPC UA) verbunden. Die Automatisierungsgeräte sind als CPS-Komponenten nach dem Modell gemäß Bild 1 aufgebaut und enthalten einen entsprechenden IP-Connector oder ein Gateway zur Kommunikation mit der Steuerungsinstanz. Verwaltung und Bedienung der Steuerungsinstanzen erfolgen über den Webbrowser (Client).
Echtzeitbedingungen beachten
Bild 3. Die grundlegende Komponentenstruktur einer SPS aus der Cloud nach dem Server-Mode-Modell (Bild 2a)
© LogiccloudDas grundsätzliche Problem für eine praktikable und industrietaugliche Umsetzung der Struktur nach Bild 3 ist nun, eine Möglichkeit zu schaffen, dass tatsächlich n Steuerungsinstanzen mit m Automatisierungsgeräten und p Steuerungsprogrammen im Netzwerk verteilt auf verschiedenen Knoten (Fog- oder Cloud-Knoten) verwaltet und bedient werden können. Dabei gilt es, Echtzeitbedingungen, Zuverlässigkeit und Sicherheit zu berücksichtigen. Bild 4 zeigt die im Projekt entwickelte und auf der Struktur nach Bild 3 basierende Backend-Architektur für eine SPS aus der Cloud, die unter der Bezeichnung Logiccloud gerade in eine marktreife Variante weiterentwickelt wird. Die Architektur besteht aus fünf Hauptkomponenten:
Die Systemadministration: Sie beinhaltet das Identity & Access Management, das Device & Location Management und alle Funktionen für die servicebasierte Abrechnung.
Laufzeiten: Die Komponente Runtimes enthält alle Dienste, die zur Laufzeit in Logiccloud Verwendung finden, wie SPS-Laufzeitlogik, I/O-Laufzeit und I/O-Konnektoren.
Bibliotheksdienste: Diese Komponente stellt Dienste zur Verfügung, die in den Design- und Laufzeitprozessen genutzt werden, wie den IEC 61131-3 Programmcompiler oder das Funktionsbibliotheksmanagement.
Cluster-Infrastruktur: Sie ist das Rückgrat des gesamten Steuerungsclusters und stellt Werkzeuge für den Betrieb des gesamten Systems zur Verfügung. Dazu gehören die Datenbank, der Zertifikatsmanager, die Caching & Kommunikationsinfrastruktur.
System-Überwachung: Sie ist für das Sammeln von Metriken und Protokollen aus der Infrastruktur verantwortlich und stellt Mittel zur Visualisierung der Systemleistung oder des Systemzustands bereit.
Die Eigenschaften der SPS-Steuerungsinstanzen bestimmen im Wesentlichen die beiden Komponenten Runtimes und Library Services.
Die Runtimes
In einer Cloud-basierten Automatisierungsarchitektur – einem Cyber Physical Production System (CPPS) – werden Daten, Dienste und Funktionen dort gespeichert, abgerufen und ausgeführt, wo sie im Sinne einer flexiblen und effizienten Entwicklung und Produktion am vorteilhaftesten sind. Dienste, Daten und Hardwarekomponenten lassen sich auf beliebige Knoten in einem Netzwerk verteilen und bilden funktionale Module, aus denen das Automatisierungssystem aufgebaut ist. Ziel sind global vernetzte und verteilte Systeme, die prinzipiell beliebige Kommunikationswege über alle Fabrikebenen hinweg erlauben. Zu diesem Zweck umfasst die Komponente Runtimes insbesondere die in Bild 5 dargestellten Subsysteme. Das Subsystem PLC Runtime ist für die Abarbeitung des IEC 61131-Steuerungsprogramms zuständig. Es arbeitet hauptsächlich im Zyklusmodus und nutzt das Subsystem I/O Broker, um I/O-Eingangsabbilder in I/O-Ausgangsabbilder zu konvertieren. Die Kommunikation mit den physikalischen Automatisierungsgeräten erfolgt über das Subsystem I/O Connectors. Die Komponente Runtimes enthält auch ein Simulationssubsystem, mit dem sich ein SPS-Programm ohne reale E/A-Signale testen lässt. Für die Zukunft ist auch ein Digital Twin-Subsystem geplant, mit dem auf Basis der E/A-Abbilder der I/O-Runtime virtuelle Modelle als Abbild der realen physikalischen Realität verbunden werden können. Alle Subsysteme der Laufzeitkomponente sind als Dienste konzipiert.
Die Bibliotheksdienste
Die in Bild 6 dargestellten Library Services sind ebenfalls eine wichtige Komponente für die Logiccloud SPS.
Die Kernelemente der Library Services sind die SPS-Programmcompiler für verschiedene IEC 61131-3 Programmiersprachen sowie ein Function Library Management, um Funktionsbibliotheken in den Steuerungsprogrammen nutzen zu können. Geplant sind außerdem ein Digital Twin Mapper zur Anbindung von 3D-Modellen an die SPS-Laufzeit und ein Logiccloud-Marktplatz (Market Place Services) zur Integration von Fremdkomponenten. Der Backend-Architektur gemäß Bild 4 ist ein
Logiccloud-Portal überlagert, das der Anwender als Anwendungsumgebung (Frontend) für Engineering, Management und Betrieb nutzen kann.
Umsetzung und Bewertung
Das Logiccloud Konzept basiert auf modernsten Webtechnologien. Dazu gehören:
Die Containertechnologie mit Kubernetes für die automatisierte und beliebige Verteilung von Steuerungsinstanzen auf verschiedene Netzknoten; JavaScript und C/C++ für die Backend-Programmierung; HTML5 und das Responsive Design für das Frontend-Portal.
Darüber hinaus nutzt die Implementierung verschiedene Open-Source-Tools wie Keycloak für die Systemsicherheit, Grafana und Prometheus für Analytics, Logging und Metriken.
Alle Funktionalitäten im Logiccloud-System sind als Microservices implementiert und lassen sich flexibel erweitern. Das Logiccloud-Portal bietet die Erstellung von SPS-Projekten und Steuerungsprogrammen in den IEC 61131-3-Sprachen ST, LD, SFC und FBS im Rahmen einer integrierten Entwicklungsumgebung (PLC IDE).
Sicherheitsorientierte Implementierung
Neben der Echtzeitfähigkeit der SPS-Instanzen liegt ein besonderes Augenmerk bei der Implementierung auf deren Security, Reliability und Safety.
Im Hinblick auf die Sicherheitsmechanismen berücksichtigt die Implementierung, die im Open Web Application Security Project identifizierten, grundlegenden Bedrohungen und Risiken. Daher ist das Logiccloud-System von Anfang an sicherheitsorientiert konzipiert und nutzt Standardtechnologien wie Oauth2 mit 2FA, eine granulare rollen- und berechtigungsbasierte Zugriffskontrolle, verschlüsselte Kommunikation und Laufzeitisolierung innerhalb des Kubernetes-Clusters. Darüber hinaus ist eine automatische Anomalie-Erkennung integriert, mit der eine große Anzahl von Angriffen auf die Plattform identifiziert und verhindert werden kann.
Um die Zuverlässigkeit der laufenden SPS-Instanzen zu gewährleisten, stehen eine Reihe von Maßnahmen bereit. Dazu gehören Caching-Mechanismen für Laufzeit- und I/O-Images, Synchronisationsmechanismen zum schnellen Austausch einer fehlerhaften SPS-Laufzeitinstanz, die permanente Überwachung der Infrastruktur mit Hilfe von Selbstheilungsfähigkeiten sowie die Bereitstellung eines zusätzlichen Ressourcenpools, der in Notfällen als Puffer dienen kann.
Jede SPS-Instanz steuert reale physikalische Automatisierungsgeräte und muss mit diesen über das Netzwerk – Intranet oder Internet – zuverlässig verbunden sein. Netzwerkverbindungsprobleme allerdings kann das System nicht abfangen, aber es sind einige Gegenmaßnahmen vorgesehen, die insbesondere die Maschinensicherheit gewährleisten sollen. Etwa die vorgesehene Verwendung von redundanten oder hybriden Netzwerkverbindungen mit schnellem Failover; die Verlagerung der SPS-Instanzen vor Ort an den Edge; die Einführung von Watchdog- und Ping-Signalen zur Erkennung von Stromausfällen und das Generieren von Warnungen bei abnormalem Verhalten, etwa erhöhten Latenzzeiten.
Letztlich muss aber der Anwender einer solchen Steuerung eine Risikoanalyse bezogen auf den zu steuernden technischen Prozess durchführen und seine Anforderungen an diesen definieren.
Logiccloud wird im Laufe des Jahres 2022 zu einem vollständigen Steuerungsprodukt ausgebaut und ab Ende 2022 für erste industrielle Anwender zur Verfügung stehen. Interessierte können sich über den Stand der Arbeiten auf den logiccloud.com-Webseiten informieren.
Wer steckt hinter Logiccloud?
Die Wurzeln von Logiccloud gehen auf ein Forschungsprojekt von Prof. Reinhard Langmann an der Hochschule Düsseldorf aus dem Jahre 2014 zurück. Das Projekt widmete sich dem Ansatz einer virtualisierten SPS in der Cloud. An dem Projekt beteiligt war auch der ZVEI, dem Bernhard Böhrer, damaliger Geschäftsführer und Gesellschafter der Firma WEBfactory, als Vorstand der Forschungsgemeinschaft Automation angehörte. Bernhard Böhrer verfolgte die Idee der virtualisierten SPS weiter und gründete 2021 die Logiccloud AG, der er seither als CEO vorsteht. Aktuell besteht das Unternehmen aus sechs Mitarbeitern mit vielen Jahren Erfahrung in der Automatisierung und Softwareentwicklung. Ziel des jungen Unternehmens ist es, mit Logiccloud eine Cloudplattform für industrielle Steuerungen, die „SPS aus der Cloud“, bereitzustellen. Der Markteintritt mit einem serienreifen Produkt ist für November 2022 geplant.




















