Codesys Automation Server
Verteilte Steuerungen effizient administrieren
Bei einer Vielzahl im Feld befindlicher Steuerungen fällt es nicht selten schwer, den Überblick zu behalten. Hier setzt der 'Codesys Automation Server' an: Er ermöglicht über das digitale Abbild einer jeden SPS im Netzwerk eine bequeme Administration sämtlicher Controller.
Sie wollen wissen, wie viele Roboter bei Daimler in der Produktion arbeiten – dann müssen Sie schon hinfahren und selber zählen. Der Grund: Die Roboter können im Netz nicht gefunden und gezählt werden, da sie in der Regel nicht angebunden sind. Jeder Tintenstrahl-Drucker aus dem Discounter für 80 Euro erlaubt das, aber die meisten Industriekomponenten können das heute nicht. Hier liegt enormes Innovationspotenzial brach!“
Prof. Rainer Draht, Hochschule Pforzheim: „Die herstellerunabhängige Administration von Automatisierungsgeräten ist ein Thema mit enormem Zukunftspotenzial.“
© Hochschule PforzheimDiese Aussage von Prof. Rainer Drath, einem renommierten Digitalisierungsexperten der Hochschule Pforzheim, überrascht und ernüchtert zugleich. Wie kann es sein, dass teure Industriegeräte nicht mit Technologien ausgestattet sind, die wir heute im Consumer-Bereich finden? Die Frage lässt sich schnell beantworten: Bislang waren die technischen Voraussetzungen dafür einfach nicht gegeben; zumal im industriellen Umfeld meist heterogene Architekturen zum Einsatz kommen und es bislang nur wenig wirklich übergreifende Standards für unterschiedliche Gerätetypen und Einheiten gibt. Hinzu kommen noch andere Aspekte wie IT-Security und Know-how-Schutz, die hier wesentlich kritischer zu bewerten sind als im privaten Bereich.
Aber der Reihe nach: Welche Voraussetzungen müssten in der Fabrikhalle gegeben sein, um dem Betreiber schnell einen Überblick über die intelligenten Geräte in seinem Netzwerk zu geben? Das Szenario könnte folgendermaßen aussehen: Sämtliche Steuerungen sind im Firmennetzwerk eingebunden und zugänglich. Das bedeutet, dass alle SPSen, Roboter oder intelligenten Subsysteme entweder direkt über einen Ethernet-Anschluss verfügen oder sich zumindest über ein entsprechendes Gateway einbinden lassen. Diesbezüglich sind wir bereits auf einem guten Weg: Fast jede aktuelle Industriesteuerung wird heute mit mindestens einem Ethernetport ausgeliefert, viele Geräte verfügen sogar über zwei oder mehr Ports – unter anderem für Ethernet-basierte Feldbus-Anbindungen.
Das Codesys Edge Gateway ist die Kommunikationsschnittstelle vom Steuerungswerk zum Automation Server und liefert die Informationen für das digitale Abbild aller angebundenen Steuerungen.
© 3S-Smart Software SolutionsDie nächste Voraussetzung: Softwareschnittstellen für einen einheitlichen Zugriff auf die Steuerungen. Viele unterschiedliche Hersteller mit Codesys-kompatiblen Systemen verwenden dafür einen speziellen Dienst, den sogenannten ‚Codesys Gateway‘. Dieser ist ursprünglich verantwortlich für die Kommunikation zwischen dem Programmiertool und der Runtime auf dem Gerät. So stellt er wichtige Funktionen zur Verfügung, wie zum Beispiel Scannen des lokalen Netzwerks nach kompatiblen Steuerungen oder Download von Applikationen.
Klassischerweise läuft dieser Dienst auf Workstation-PCs unter Windows, er ist aber auch als Teil des Laufzeitsystems direkt auf den kompatiblen Geräten installierbar. Entsprechend ausgestattete Steuerungen werden damit zum Router zu anderen Subsystemen mit Codesys-Laufzeitsystem im Netzwerk. Erweitert man den Dienst um gängige Kommunikationsprotokolle für Industrie-4.0-Anwendungen, kann er die Informationen von verbundenen Steuerungen bereitstellen – etwa für die eingangs erwähnte Übersicht der Geräte im Firmennetzwerk. Faktisch realisiert der Dienst damit das Edge Computing, sprich er verlagert laut Wikipedia-Definition „Daten und Dienste von zentralen Knoten […] weg zu den äußeren Rändern eines Netzwerks“, sodass sie für cloudbasierte Systeme zur Verfügung stehen. Entsprechend ausgestattete Geräte werden damit zum Edge Controller und ermöglichen auf diese Weise die Anwendung von Cloud-Technologien im Bereich der industriellen Fertigung.
Die Plattform zur Industrie-4.0-Administration
Stehen die Informationen zur Steuerungslandschaft erst einmal an der ‚Grenze‘ zum Internet bereit, so bedarf es nur noch eines passenden Gegenstücks, um die Informationen zu administrieren und für die Verwendung bereitzustellen – sprich eine Serversoftware wie den kommenden ‚Codesys Automation Server‘. Installiert auf einem privaten oder öffentlichen Cloudserver, erlaubt diese Software eine Übersicht über alle Codesys-kompatiblen Steuerungen im Netzwerk. Dafür baut das Edge Gateway zunächst die Verbindung zum Server auf, wobei die Kommunikation in jedem Fall verschlüsselt und signiert wird. Das bedeutet, dass sowohl auf der Seite des Servers als auch auf dem Edge-Gerät paarweise Zertifikate erforderlich sind, um den gegenseitigen Zugriff zu ermöglichen.
Ob der Edge-Dienst dabei auf einer leistungsfähigen SPS oder einem separaten Rechner läuft, spielt für die Funktion keine Rolle. Steht die Verbindung, so legt der Automation Server für jedes gefundene Gerät einen sogenannten ‚digitalen Zwilling‘ an, der das physikalische Gerät repräsentiert: Handelt es sich um modulare SPSen, intelligente Antriebe oder Panel-Steuerungen? Sind alle Geräte störungsfrei aktiv? Welche Applikationen und Versionen führen sie aus? Darüber hinaus kann der Automation Server Steuerungsdaten lesen oder schreiben, um das Gerät oder die Applikation für eine ganz bestimmte Aufgabenstellung oder einen speziellen Nutzungsort zu parametrieren.
Beispielsweise könnte es sein, dass mehrfach die gleiche Steuerung mit einer identischen Applikation in verschiedenen Anlageneinheiten zum Einsatz kommt: Ob etwa eine Druckeinheit einer Bogenoffset-Maschine cyan oder schwarz druckt, wird nur durch die Befüllung der Farbe beziehungsweise per IP-Adresse der physikalischen Steuerung festgelegt. Dennoch können einheitenspezifische Parameter relevant sein – wie zum Beispiel die Farbfeuchte, die sich von Druckeinheit zu Druckeinheit unterscheiden kann. Genauso verhält es sich bei vielen identischen Steuerungen in einem Geschäftsgebäude: Wo diese Controller eingesetzt werden – sprich in welchem konkreten Raum oder Stockwerk – oder welche Zusatzaufgaben sie für einen Raum übernehmen sollen, ist durch entsprechende Parameter definierbar. Ein Inbetriebnehmer kann solche Parameter im besagten Codesys Automation Server für die Aufgabe vor Ort direkt einstellen – ganz ohne den IEC-61131-3-Quellcode oder das Programmiertool.
Wertschöpfung durch digitale Zwillinge
Welchen Nutzen hat ein Anlagenbetreiber vom digitalen Abbild seiner Steuerungen? Sie nicht mehr zählen zu müssen, sondern automatisch einen vollständigen Überblick zu erhalten, ist für sich schon ein Mehrwert. Aber das ist längst nicht alles! Kennt der Betreiber den Zustand aller eingebundenen Geräte, so kann er auch dann auf den Ausfall einer Steuerung reagieren, wenn die Produktion beim Ausfall nicht stoppt oder keine entsprechende Alarmmeldung erzeugt wurde.
Übersicht über verfügbare Applikationen des Codesys Automation Servers und deren Einsatz im Feld: Die Verwaltung von Applikationen, Geräten und Parametersätzen erfolgt bequem per Webbrowser.
© 3S-Smart Software SolutionsFällt beispielsweise die Steuerung für ein Aggregat einer mobilen Maschine aus, dessen Funktion nicht täglich verwendet wird, so sieht dies der Betreiber des Maschinenparks im Automation Server dennoch sofort. Das ist insbesondere dann wertvoll, wenn die entsprechende Maschine irgendwo im Feld im Einsatz ist. Per Topologie-Ansicht lässt sich nicht nur die Anzahl, sondern auch die Position der jeweiligen Geräte im Netzwerk schnell überblicken. Denn der Automation Server kennt alle eingebundenen Steuerungen und liefert – im Gegensatz zu handelsüblichen Routern – wirklich nützliche und aussagekräftige Informationen. Das heißt: Nicht nur die IP-Adresse wird angezeigt, sondern zum Beispiel auch der aktuelle Softwarestand für jedes Gerät, die jeweils aktive Applikation oder die mit dem Gerät verbundenen Applikations-Parametersätze.
Auf diese Weise erkennt der Maschinenbetreiber sofort, welche Steuerung mit einem Software-Update auf den aktuellen Stand gebracht werden sollte. Noch wird heute oft nach der Devise „Never change a running system“ verfahren – selbst dann, wenn sich über ein Update die Funktionalität, die Leistung oder der Schutz der Applikation steigern ließen. Dies ist wenig verwunderlich: Meist muss das Wartungspersonal für ein Update direkt vor Ort an der Maschine sein und das Programmiertool physikalisch mit der Steuerung verbinden. Auch hier schafft der Automation Server Abhilfe: Sämtliche Steuerungsprojekte lassen sich als sogenannte Boot-Applikationen – also als ausführbare Dateien für die jeweilige Geräteplattform – auf dem Server ablegen.
Für das irgendwann zwingende Update muss diese Boot-Applikation dann lediglich vom Server aus auf das Zielsystem übertragen werden. Der Mehrwert ist dabei umso höher wenn ein Update – wie im vorab genannten Fall – auf viele gleichartige Geräte gleichzeitig ausgerollt werden soll. Das Update erfolgt dann von einer zentralen Stelle aus an alle ausgewählten Steuerungen – auf Wunsch auch nachts und automatisch per Skript.
Die Schritte zum Anbinden von Geräten
Was ist also konkret zu tun, um Steuerungen über den Automation Server verwalten zu können? Zunächst ist ein ausreichend leistungsfähiges Edge Gateway notwendig, das die abgesicherte Verbindung zum Server per HTTPS beziehungsweise TLS aufbaut. Das kann eine performante SPS mit einem Codesys-Laufzeitsystem im Netzwerk sein oder ein dedizierter Edge Controller, der die Verschlüsselung und Signierung über X.509-Zertifikate vornimmt. Mit einem Download des Projekts auf die Zielsteuerung wird das Gerät im Anschluss automatisch im Server registriert. Darüber hinaus lässt sich jede Steuerung manuell registrieren, und zwar durch Eingabe einer entsprechenden Geräte-ID oder per Scan eines Barcodes. Ein entsprechendes Plug-in im Entwicklungssystem legt hierfür eine SPS-Applikation direkt auf dem Automation Server als Boot-Applikation ab. Diese kann dann direkt über die Web-Oberfläche des Servers ausgerollt werden, beispielsweise per Tablet oder Smartphone.
Des Weiteren kann der Anwender in der Symbolkonfiguration des Development-Systems in seinem Projekt verschiedene Parametersätze für einzelne Aufgaben wie etwa den Datenaustausch per OPC UA oder Visualisierung konfigurieren. Mit einem derartigen Datensatz kann er auch genau festlegen, welche Applikationsvariablen als Parameter im Server zur Verfügung stehen und direkt von der Serveroberfläche aus gelesen oder geschrieben werden sollen. Somit ist ein Inbetriebnehmer vor Ort in der Lage, die physikalischen Steuerungen per Browser ihrem eigentlichen Ort und ihrer spezifischen Aufgabe zuzuweisen. Weil die älteren Codesys-Geräte der Generation V2 ebenfalls per Gateway erfasst werden, können auch sie im Server registriert und verwaltet werden. Allerdings sind solche Steuerungen aufgrund der fehlenden Kommunikationsverschlüsselung nicht gleichzeitig als Edge einsetzbar.
Autor:
Roland Wagner ist Leiter Produktmarketing bei 3S-Smart Software Solutions.
Der Codesys Automation Server
Über die beschriebenen Features für eine Server-basierte Administration von Codesys-Steuerungen hinaus, wird der kommende Automation Server sukzessive diverse weitere nützliche Funktionalitäten bereitstellen – darunter etwa:
- Komfortable Verwaltung und Zuweisung von Benutzerprofilen und Security-Zertifikaten
- Backup und Restore von Steuerungsapplikationen
- Zentrale Durchführung von Continuous-Integration-Prozessen zur Steigerung der Qualität von Applikationssoftware
- Ablage und Auswertung von Steuerungsdaten















