Virtuelle Steuerungen in der Praxis

Mehr Flexibilität durch Virtualisierung

25. November 2022, 9:04 Uhr | Roland Wagner
gorodenkoff/istockphoto.com
Augmented-Reality-3D-Visualisierung von Containern im Terminal
© gorodenkoff/istockphoto.com

Moderne Techniken abstrahieren Industriesteuerungen in zunehmendem Maße, was sie kompakter, flexibler und leichter wartbar macht. Diese Entwicklung führt schließlich zur »Steuerung 5.0«, der virtuellen SPS. Wie sehen solche virtuellen Steuerungen in der Praxis aus, und wie lassen sie sich verwenden?

Virtuelle Laufwerke und sogar virtualisierte Computer sind mittlerweile allgemein bekannt. Als Abbilder physischer Geräte, wie hier von Festplatten oder Windows-PCs, helfen sie uns, deren Funktionen zu nutzen – und zwar ohne dass die Geräte tatsächlich vorhanden sind. Erzeugt werden die Abbilder per Software von ausreichend leistungsfähigen Rechnerarchitekturen. In der IT sind solche Virtualisierungen nützlich, um die Datensicherheit von Systemen durch sinnvolle Grenzen des Zugriffs zu erhöhen und voneinander unabhängige Konfigurationen für unterschiedliche Anwender und Anwendungen möglich zu machen.

Das Gleiche gilt auch für virtuelle Steuerungen: Zunächst einmal ist eine leistungsfähige Hardware als Unterbau erforderlich. Auch wenn die SPS abstrahiert wird, muss sie natürlich irgendwo gehostet und ausgeführt werden. Insofern unterscheidet sich die virtuelle SPS zunächst nicht von einem Industriecomputer mit Betriebssystem und einer darin installierten Soft-SPS. Um aber in einer Hardware solche virtuelle Steuerungen in beliebiger Anzahl und voneinander unabhängig betreiben zu können, muss noch eine weitere Abstraktion erfolgen. Hierzu eignen sich Software-Container oder auch Hypervisor, indem sie die Hardware und das darin laufende Betriebssystem trennen.

Codesys
Bild 1: Container-Konfigurationsinformation für eine virtuelle Codesys-SPS
© Codesys

Anwender definieren vor dem Anlegen eines Containers oder einer virtuellen Maschine deren Funktionalität und Leistungsfähigkeit in Containerbeschreibungen bzw. Konfigurationsdateien – inklusive der entsprechenden Konfiguration für die Soft-SPS, wie etwa »Codesys Virtual Control SL«. Darüber hinaus wird festgelegt, auf welche Hardware-Ressourcen der Container zugreifen kann. Dies ist zwingend erforderlich, um von der Steuerung aus E/A-Zugriffe realisieren zu können. Vor allem Kommunikationsprotokolle auf Ethernet-Basis und Feldbussysteme eignen sich gut dafür. So lassen sich im Container virtuelle LAN-Ports definieren, die in der Containerbeschreibung mit physischen Ports verbunden sind. Durch die hardwaregestützte Virtualisierung ist das in modernen Systemen hochperformant möglich. Das bedeutet: Durch eine bessere Abgrenzung der Prozesse und durch die Hardware-Unterstützung sind sogar bessere Echtzeitwerte erzielbar als mit Soft-SPSen, die nativ im Host-System laufen.

Codesys
Bild 2: Deployment dreier virtueller Steuerungen und eines Gateways per Linux-Script
© Codesys

Deployment bzw. Orchestrierung

Liegt die Konfigurationsdatei vor, so können daraus beliebig viele virtuelle Steuerungen angelegt, »deployt« werden. Im Gegensatz zur vorher genannten Soft-SPS wird jetzt allerdings nicht eine Software installiert, sondern ein komplettes Image einer physischen Komponente erzeugt. Das kann auf unterschiedliche Arten erfolgen:

Durch die manuelle Ausführung von Funktionen des Betriebssystems bzw. der Virtualisierungsplattform wie etwa Docker Container – eine Vorgehensweise, die vor allem Systemadministratoren volle Freiheiten beim Deployment gibt. Diese Funktionen lassen sich auch als Skripte zusammenfassen und somit erheblich vereinfachen.

Durch generische Softwareplattformen wie Kubernetes oder Open Shift, die eine automatisierte Konfiguration, Verwaltung und Koordinierung von Computersystemen, Anwendungen und Services ermöglichen, kurz: Orchestrierung – sie sind als Produkte verfügbar und bieten die Möglichkeit, nutzungsbasierte Abrechnungsmodelle (Platform as a Service) für die so angelegten virtuellen Steuerungen einzuführen.

Durch proprietäre Plattformen mit Zusatznutzen für die Automatisierungstechnik wie etwa den »Codesys Automation Server« – auch wenn die Funktion zum Deployment der virtuellen SPS in der Codesys-eigenen Industrie-4.0-Plattform derzeit noch in der Entwicklung ist, so bietet sie sich dennoch dafür an. Denn neben dem Deployment virtueller Steuerungen lassen sich viele typische Aufgaben für Automatisierer noch komfortabler ausführen.

Codesys
Bild 3: Auswahl des Gateways im Container der Basisplattform
© Codesys

Im SPS-Programmiersystem stellen sich die so erzeugten Steuerungen genauso dar wie jede dedizierte, physisch verfügbare SPS. Das heißt: Sobald die gewünschte Gerätebeschreibung in einem SPS-Projekt eingestellt ist, können Anwender nach geeigneten Systemen im Netzwerk suchen. Zwei Unterschiede zur dedizierten Steuerung gibt es jedoch:

Durch die Einbettung der SPS in einen Container oder Hypervisor erfolgt auch eine Abkapselung nach außen. Das bedeutet im Fall von Codesys: Das lokale Gateway als Kommunikationsdienst zwischen dem Projektierungs-PC und der SPS findet alle im Netzwerk befindlichen Steuerungen. Ist jedoch Hardware angeschlossen, in der virtuelle SPSen per Container oder virtueller Maschine laufen, so werden diese Steuerungen nicht gefunden. »It‘s not a bug – it‘s a feature«: Ein unerwünschter bzw. unautorisierter Zugriff ist von vornherein ausgeschlossen. Erst wenn neben den Containern mit den virtuellen Steuerungen auch ein Gateway installiert wurde, ist der Zugriff möglich (Bild 2). Am Projektierungs-PC wird statt des lokalen dann eben dieses Remote Gateway für den Zugriff auf die Zielsystemplattform ausgewählt – entweder über deren IP-Adresse oder über deren Hostname (Bild 3).

Hardware-spezifische Eigenschaften müssen generisch angesprochen werden, besonders wenn es sich um industrielle Geräte handelt, die beispielsweise über lokale E/As verfügen. Dazu müssen diese generischen Schnittstellen getrennt vom Prozess angesprochen werden.

Das war es aber auch schon mit den Unterschieden. Mit »Geräte-Suche« werden wie bisher alle verfügbaren virtuellen Steuerungen gefunden. Dem Codesys Development System ist es dabei vollkommen gleichgültig, für welche Steuerung gerade programmiert bzw. projektiert wird. Wurden in der Konfigurationsdatei virtuelle Ethernet-Ports angelegt bzw. mit physisch verfügbaren Ports verbunden, so lassen sie sich auch im Codesys-Projekt einbinden und beispielsweise als EtherCAT, Profinet oder EtherNet/IP konfigurieren und verwenden. Der Container oder Hypervisor schleift diese virtuellen Ports problemlos durch und sorgt für die deterministische Ausführung der Buszyklen – genauso wie bei einer "echten" SPS.


  1. Mehr Flexibilität durch Virtualisierung
  2. Typische Anwendungsfälle für virtuelle Steuerungen

Verwandte Artikel

CODESYS GmbH