Im industriellen Umfeld sind speicherprogrammierbaren Steuerungen (SPS) zur Steuerung von Maschinen und Anlagen nicht mehr wegzudenken. Dabei wird meistens an klassische, hardwarebasierte SPSen (Hard-SPS) gedacht, wobei softwarebasierte SPSen (Soft-SPS) zunehmend im Markt überzeugen und an Bedeutung gewinnen. So prognostizieren Marktanalysen von IoT Analytics auch für die nächsten Jahre einen starken Zuwachs beim Einsatz von Soft-SPSen.
Daher zeigen wir in diesem Blogpost wie Sie mit Hilfe von AIT Smart Edge Herausforderungen meistern können, die sich für das Management von Soft-SPSen ergeben. Als Beispiel ziehen wir dazu das CODESYS Control heran, welches als Container auf einem Device ausgerollt werden kann, um dort eine Soft-SPS bereitzustellen.
Warum eine Soft-SPS?
Generell ist eine SPS “ein Gerät, das zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt und auf digitaler Basis programmiert wird” (Quelle: Wikipedia). Diese Beschreibung trifft den Kern sehr gut ist jedoch sehr abstrakt. Was verbirgt sich also dahinter?
Eine SPS verfügt über Ein- und Ausgänge, welche über Sensoren (z.B. Lichtschranken) und Aktoren (z.B. Motoren) mit einer Maschine oder Anlage verbunden sind (vgl. Abb. 1). Über die Eingänge werden die Zustände der Sensoren überwacht und anschließend durch ein SPS-Programm verarbeitet. Als Resultat werden im letzten Schritt dann Steuerungssignale über die Ausgänge gesendet, um die Aktoren anzusteuern und damit ein im Programm definiertes Verhalten zu erzielen.
Abbildung 1: Funktionsweise einer SPS
Während die klassische Hard-SPS dadurch gekennzeichnet ist, dass sie eine eigene Hardware besitzt, ist die Soft-SPS reine Software, welche auf einem PC läuft und somit dessen Hardware nutzt. Dieser grundsätzliche Unterschied resultiert in einigen Eigenschaften einer Soft-SPS, welche sich für bestimmte Anwendungsszenarien als vorteilhaft herausstellen:
- Da die Soft-SPS auf einem PC läuft ist von Haus aus eine grafische Benutzeroberfläche gegeben (zumindest unter Windows), womit ein erhöhter Bedientkomfort besteht. Im Vergleich dazu wird bei einer Hard-SPS immer ein separates Gerät benötigt, wie z.B. eine HMI, um visuelle Unterstützung zu haben.
- Die Flexibilität und der Funktionsumfang eines PCs kann genutzt werden. So können andere Applikationen auf demselben Rechner laufen und diese direkt und einfach (ohne Verkabelung wie bei der Hard-SPS) auf SPS-Operanden zugreifen und mit der SPS interagieren.
- Bei einigen Hard-SPS wird zum Aufspielen des SPS-Programms auf die Steuerung ein separates Programmiergerät benötigt. Bei einer Soft-SPS jedoch kann sich sich die Programmiersoftware und die Steuerungssoftware auf einem PC befinden, womit der Aufwand einer Programmänderung reduziert wird.
- Da die Soft-SPS sich auf einem PC befindet können Fernwartungen ermöglicht werden. Somit entfällt die Notwendigkeit sich direkt an der Steuerung zu befinden.
- Wenn für bestimmte Use Cases eine Visualisierung der Steuerungsdaten und damit ein weiteres Gerät erforderlich ist, kann zusätzliche Hardware eingespart werden, indem die Visualisierungssoftware und die Steuerung auf dem selben PC laufen.
Insbesondere mit zunehmenden Rechnerleistungen sind auch Soft-SPSen in den letzten Jahren zuverlässiger und leistungsstärker geworden und sind mit den beschriebenen Vorteilen eine ernstzunehmende Alternative zu Hard-SPSen. In der Praxis setzen sich bei sicherheitskritische Anwendungen oder bei Anwendungen, bei denen Robustheit im Fokus steht, immernoch Hard-SPSen durch. Liegt der Fokus jedoch auf großem und einfach erweiterbarem Speichermöglichkeiten, grafischen Bedienüberflächen sowie erweiterten Möglichkeiten durch Hochsprachen und der Interaktion mit anderen Anwendungen, so glänzen Soft-SPSen.
Soft-SPS Management leicht gemacht mit Smart Edge
Neben den beschriebenen Vorteilen bringt der Einsatz von Soft-SPSen gewissen Herausforderungen mit sich. Zwar werden viele Aufgaben einfacher, schlussendlich muss der PC, auf welchem die Steuerungssoftware installiert ist, aber weiterhin mit einer Maschine oder Anlage verbunden sein und sich somit im Shopfloor befinden. Um also die Vorteile einer Soft-SPS optiomal nutzen zu können – und vor allem Aufgaben aus der Ferne ausführen zu können – müssen verschiedene Fragen beantwortet werden: Wie kann die Steuerung installiert, konfiguriert und gepudatet werden? Wie können Änderungen zurückgerollt werden wenn Probleme auftreten? Wie kann ein Berechtigungskonzept für Managementaufgaben der Soft-SPS umgesetzt werden? …
Kurz zusammengefasst: Wie kann eine Soft-SPS verwaltet werden?
An dieser Stelle kommen Smart Edge und das CODESYS Control (oder andere Soft-SPS-Container) ins Spiel. AIT Smart Edge besteht aus zwei zentralen, miteinander agierenden Komponenten: Auf der einen Seite bietet das AIT Edge Framework basierend auf Azure IoT Edge den Rahmen, um auf einem Edge-Gateway eigene Workloads zu integrieren und Daten an verschiedene IIoT-Plattformen zu senden. Auf der anderen Seite bringt die Webanwendung AIT Edge Control Center die Möglichkeit, Gateways in einer Mehr-Mandanten-Umgebung zu verwalten, Edge-Workloads zu deployen und von einer bestehenden Nutzer- und Rechteverwaltung zu profitieren.
Für die gegebene Herausforderung, Soft-SPSen zu verwalten, welche als Container zur Verfügung stehen, bieten die im AIT Edge Control Center integrierten Funktionalitäten zur Containerverwaltung die Lösung. Ein erster Baustein der Containerverwaltung ist die Verwaltung von Container Registries (vgl. Abb. 2), welche später dann verwendet werden, um von dort Container-Images zu beziehen. In dieser Verwaltungsansicht können neue Registries hinzugefügt werden und bestehende Registries editiert oder gelöscht werden. Dabei werden alle Registries unterstützt, welche die Docker API V2 unterstützen.
Im Falle des CODESYS Control haben wir hier eine eigene Azure Container Registry hinzugefügt, in welchem wir das CODESYS Control Image abgelegt haben, um die volle Kontrolle und Nachvollziehbarkeit darüber zu haben.
Abbildung 2: Container Registry-Verwaltung im Edge Control Center
Der zweite Baustein der Containerverwaltung, der auf der Verwaltung von Container Registries aufsetzt, ist durch die Möglichkeit gegeben, Images über eine komfortable Konfigurations-UI aus der Ferne auf ein Edge-Gateway deployen zu können. Hiermit kann unser CODESYS Control nun also auf ein Gateway installiert werden, welches sich in der Produktion befindet. Dazu wird im ersten Schritt aus einer Registry ein Image ausgewählt, welches installiert werden soll (vgl. Abb. 3).
Abbildung 3: Image Auswahl für Module im AIT Edge Control Center
Außerdem können Moduleinstellungen gesetzt werden, die definieren wie das Modul von der IoT Edge Runtime verwaltet werden soll. Darüber hinaus können Umgebungsvariablen definiert werden, welche für die Konfiguration benötigt werden. Im gegebenen CODESYS Control-Beispiel möchten wir den SSH Server Port ändern, welches über Setzen der Umgebungsvariable SSHPORT erreicht werden kann (vgl. Abb. 4).
Abbildung 4: Umgebungsvariablen für Module im AIT Edge Control Center
Für die weitere Konfiguration können zuletzt noch Optionen für die Containererstellung als JSON definiert werden, wobei dem Nutzer durch IntelliSense Hilfestellung gegeben wird. In unserem Beispiel definieren wir hier die übrigen Einstellungen, welche in der Dokumentation für die Konfiguration des CODESYS Control beschrieben sind (vgl. Abb. 5).
Hinweis: Da der CODESYS Control Container im Network Mode Host läuft, IoT Edge jedoch in seinem eigenen Netzwerk, muss zusätzlich zu den beschriebenen Konfigurationsoptionen folgende Konfiguration definiert werden, um den Container starten zu können:
"NetworkingConfig": { "EndpointsConfig": { "host": {} } }
Abbildung 5: Optionen für die Containererstellung im Edge Control Center
Damit ist die Konfiguration vollständig. Nach dem Speichern wird das CODESYS Control auf das Gateway ausgerollt, dort gestartet und ist bereit für den Einsatz.
Über diesselbe UI im Edge Control Center können später dann auch weitere Managementaufgaben mit Hinblick auf das CODESYS Control ausgeführt werden: Änderungen an der Konfiguration sowie Updaten oder Downgraden des Soft-SPS-Containers können bequem aus der Ferne gemacht werden. Desweiteren kann der Container auch über das Edge Control Center wieder komplett vom Gateway entfernt werden, wenn er nicht mehr benötigt wird.
An dieser Stelle ist der Einsatz von Smart Edge abgeschlossen. Der Soft-SPS-Container ist erfolgreich deployed und die Soft-SPS prinzipiell einsatzbereit, jedoch führt sie aktuell noch kein Programm aus. Es stellt sich nun also abschließend die Frage, wie das SPS-Programm auf die Soft-SPS aufgespielt werden kann. Die einfachste Möglichkeit an dieser Stelle ist es, die Standardwerkzeuge zu benutzen. Im Falle des CODESYS Controls kann man sich aus dem CODESYS Development System heraus, also der zugehörigen Entwicklungsumgebung, per SSH auf den Container verbinden und das Programm einspielen (wie in der Doku beschrieben).
Alternativ könnte das SPS-Programm bereits im Container-Image mit ausgeliefert werden oder aber das SPS-Programm könnte beim Container-Deployment als Payload mitgeben werden. In beiden Fällen wäre somit das komplette Management der Soft-SPS inkl. des Programmcodes über die Bordmittel von AIT Smart Edge durchführbar.
Hinweis: Der beschriebene Weg nutzt eine unlizenzierte und damit eingeschränkte Version des CODESYS Control. Für eine dauerthafte, produktive Nutzung muss eine Lizenz erworben werden und gemäß der Dokumentation dem Container auf dem Gateway bereitgestellt werden.
Fazit
Mit nur wenigen Handgriffen haben wir das CODESYS Control als beispielhaften Soft-SPS Container auf einem Gateway aus der Ferne installiert und konfiguriert. Auch Änderungen im laufenden Betrieb an dem Soft-SPS Container sind einfach gemacht. Damit bietet AIT Smart Edge einen passenden Rahmen für die einfache Verwaltung von Soft-SPS-Containern.
Haben Sie Ideen für IoT Lösungen auf der Edge oder in der Cloud? Kontaktieren Sie uns. Wir unterstützen Sie gerne bei der Planung und Umsetzung Ihrer Lösung. Mit unserem Baukastensystem AIT Smart Edge ermöglichen wir es Ihnen, schneller zu einem ersten Produkt zu gelangen, damit Sie möglichst schnell einen Mehrwert für Ihre Kunden schaffen können.