Codesys

Der Weg zur virtuellen SPS

28. Oktober 2022, 10:26 Uhr | Roland Wagner
Steuerungstechnik.jpg
© istockphoto.com / Berghof Automation

Industriesteuerungen werden zunehmend abstrahiert. Eine Entwicklung, die zur virtuellen SPS führt. Wie sehen solche virtuellen Steuerungen in der Praxis aus und wie lassen sie sich verwenden?

Heute gängige Steuerungen basieren auf der Hardwareplattform, dem elektronischen Unterbau, wenngleich die Software die Funktion des Prozesses bestimmt. Wenn neuerdings von virtuellen Steuerungen die Rede ist, so ist dafür ebenfalls eine Hardware zur Ausführung erforderlich. Im Gegensatz zu den softwarebasierten Steuerungen ist die Hardware jetzt aber komplett abstrahiert. Dies bedeutet, dass die ausgeführte Soft-SPS nicht mehr wissen muss, auf welchem Gerät sie läuft.

Das können nach wie vor dedizierte Steuerungsgeräte sein, wie multifunktionale Steuerungsplattformen oder Industrie-PCs, oder aber Edge-Computing-Plattformen, die immer häufiger in Steuerungsnetzwerken von Maschinen- und Anlagenbetreibern zu finden sind, oder sogar Cloud-Computing-Plattformen. Entscheidend ist die Abstraktion der Hardware durch Container oder Hypervisor. Darauf wird die Soft-SPS mit Standardmitteln »deployed« beziehungsweise per Tool orchestriert – eine Installation wie bei der softwarebasierten Steuerung entfällt.

Um Applikationen feingranular als Microservices aufzuteilen, lassen sich bei Bedarf mehrere Instanzen parallel für unterschiedliche Steuerungsaufgaben anlegen – skalierbar in Speicher- und CPU-Performance. Über virtuelle LAN-Schnittstellen lässt sich eine Anbindung an physikalische Feldbussysteme realisieren. Das Echtzeitverhalten der Steuerung realisieren Container oder Hypervisor in den Anpassungen an das Betriebssystem. Die Vorteile gegenüber den anderen Steuerungstypen: eine deutliche Reduktion von Kosten und Aufwand für Beschaffung, Verdrahtung, Instandhaltung, Ausrollen von Applikationen sowie für die Administration der Geräte.

So wird der teuerste Platz in einer Maschine, bekanntlich der Schaltschrank, nicht mehr von einer oder mehreren Steuerungen belegt. Netzteile und deren Verdrahtung entfallen, statt der Beschaffung und Montage mehrerer Steuerungen genügt es, eine verfügbare IT-Plattform im Netzwerk mit virtuellen Steuerungen zu bespielen und diese zentral zu verwalten – und das von IT-Spezialisten statt von Automatisierern. OT und IT sind damit vollständig ineinander verschmolzen.

Jeder kennt virtuelle Laufwerke und virtualisierte Computer. Diese Abbilder physikalischer Geräte, in diesem Fall Festplatten oder Windows-PCs, helfen, deren Funktion zu nutzen, ohne dass die Geräte tatsächlich vorhanden sind. Die Abbilder werden per Software auf leistungsfähigen Rechnerarchitekturen erzeugt. In der IT sind solche Virtualisierungen nützlich, um

  • die Datensicherheit von Systemen durch sinnvolle Grenzen des Zugriffs zu erhöhen
  • voneinander unabhängige Konfigurationen für unterschiedliche Anwendungen zu ermöglichen.

Das gleiche gilt für virtuelle Steuerungen: Zunächst ist eine leistungsfähige Hardware als Unterbau erforderlich. Auch wenn die SPS abstrahiert ist, muss sie irgendwo gehostet und ausgeführt werden. Insofern unterscheidet sich die virtuelle SPS zunächst nicht von einem Industriecomputer mit Betriebssystem und einer darauf installierten Soft-SPS. Um aber auf einer Hardware solche virtuellen Steuerungen in beliebiger Anzahl und voneinander unabhängig betreiben zu können, muss eine weitere Abstraktion erfolgen.

Dazu eignen sich Software-Container oder auch Hypervisor. Sie trennen die Hardware und das darauf laufende Betriebssystem. Dazu definiert der Anwender vor dem Anlegen eines Containers oder einer virtuellen Maschine deren Funktionalität und Leistungsfähigkeit in Containerbeschreibungen inklusive der entsprechenden Konfiguration für die SoftSPS, z.B. Codesys Virtual Control SL. Zudem 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.

Insbesondere Ethernet-basierte Kommunikationsprotokolle und Feldbussysteme eignen sich dafür. So lassen sich im Container virtuelle LAN-Ports definieren, die in der Containerbeschreibung mit physikalischen Ports verbunden sind. Durch die hardware-unterstützte Virtualisierung ist das auf modernen Systemen hoch performant möglich. Das bedeutet: Durch eine bessere Abgrenzung der Prozesse und durch die Hardware-Unterstützung lassen sich bessere Echtzeitwerte erzielen als mit Soft-SPSen, die nativ auf dem Host-System laufen.

Anbieter zum Thema

zu Matchmaker+
Bild-1-virtuelle-Steuerung.jpg
Bild 1. Die virtuelle Steuerung ist nicht mehr abbildbar – sie läuft in einer oder mehreren Instanzen unter anderem auf modernen Rechnerarchitekturen.
© iStockphoto

Das Deployment 

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

Durch die manuelle Ausführung von Funktionen des Betriebssystems bzw.der Virtualisierungsplattform, etwa Docker Container – das ist eine Vorgehensweise, die vor allem Systemadministratoren volle Freiheit beim Deployment geben. 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 (Plattform as a Service) für die so angelegten virtuellen Steuerungen einzuführen.
     
  • Durch proprietäre Plattformen mit Zusatznutzen für die Automatisierungstechnik, wie  dem 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 von virtuellen Steuerungen lassen sich eine Reihe typischer Aufgaben für Automatisierer noch komfortabler ausführen.

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

Bild-2-Deployment.png
Bild 2. Das Deployment von drei virtuellen Steuerungen und einem Gateway per Linux-Script.
© Codesys
  • Durch die Einbetten der SPS in einen Container bzw. Hypervisor erfolgt auch eine Abkapselung nach außen. Das bedeutet im Fall von Codesys: Das lokale Gateway als Kommunikationsdienst zwischen Projektierungs-PC und der SPS findet alle im Netzwerk befindlichen Steuerungen. Ist jedoch Hardware angeschlossen, auf 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, unautorisierter Zugriff ist von vornherein ausgeschlossen. Erst wenn neben den Containern mit den virtuellen Steuerungen auch ein Gateway deployed ist, wird der Zugriff ermöglicht. Auf dem 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 Hostname.
     
  • Hardware-spezifische Eigenschaften müssen generisch angesprochen werden, insbesondere wenn es sich um industrielle Geräte handelt, die etwa über lokale E/As verfügen. Dazu sind diese generischen Schnittstellen getrennt vom Prozess anzusprechen.

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


  1. Der Weg zur virtuellen SPS
  2. Realisierte Anwendungsfälle 

Das könnte Sie auch interessieren

Verwandte Artikel

CODESYS GmbH

SPS IPC Drives

SPS