Auch wenn die Hauptversionsnummer 3.5 gleich bleibt, hat der Kemptener Softwarehersteller Codesys in sein aktuelles Softwareupdate „Service Pack 17“ einiges an Neuerungen gepackt. Mit der Modularisierung seiner Software und der Einbindung von Git als Versionsverwaltung schreitet die Annäherung der Automations-OT-Programmierung an klassische IT-Prozesse weiter voran. Dass auch OPC UA nun nativ ansprechbar ist, ist daher nur logisch. Aber der Reihe nach.
Modularisierung und Einzel-Updates
Codesys ließ sich schon seit Version 3 durch Add-on-Komponenten erweitern. In Service Pack 17 wird diese Modularisierung konsequent fortgesetzt: Viele bisher fest integrierte Module sind ab sofort ebenfalls in Add-on-Komponenten mit eigener Versionierung ausgelagert. Dazu gehören u.a. Programmiereditoren für Ablaufsprache und Kontaktplan, Visualisierungstools, Motion Control sowie die Unterstützung unterschiedlicher Feldbussysteme. Übrig bleibt ein schlankes Kernprodukt mit den Basiskomponenten, genannt Codesys Essentials. Weil beim ersten Setup standardmäßig dennoch alle Komponenten installiert werden, bemerken Anwender zunächst einmal keinen Unterschied. Jedoch können diese Komponenten jetzt separat aktualisiert und auf Wunsch auch deinstalliert werden. Sobald neue Versionen einzelner Komponenten freigegeben sind, erhalten die User direkt im Tool eine Information per Push-Nachricht. Gewünschte Einzel-Updates lassen sich dann sofort installieren, ohne die Basisversion zu verändern.
Damit profitieren Anwender schneller als bisher von Verbesserungen. Beispielsweise muss ein Applikationsentwickler nicht mehr auf die Freigabe eines vollständigen Service Packs warten, um bei der Logikprogrammierung die neuen Funktionen des CFC-Editors zu nutzen und schneller arbeiten zu können. Mit dem Codesys Installer, der gleichzeitig mit dem Setup installiert wird, können Anwender sämtliche Installationen auf einem PC verwalten und anpassen. Er erlaubt unter anderem, ein und dieselbe Version des Basissystems mehrfach zu installieren – in unterschiedlichen Kombinationen der Add-on-Komponenten. Experimentelle Testinstallationen und produktiv genutzte Installationen lassen sich dadurch leicht und sicher voneinander trennen und parallel nutzen. Zusätzlich können sich Power-User individualisierte Versionen zusammenstellen, dabei z.B. auf ungenutzte Komponenten verzichten und damit den Ressourcenverbrauch sowie die Installationszeit optimieren. Alle Add-on-Komponenten lassen sich bei Bedarf von einem Online-Server nachladen. Die Integrität wird durch X.509-Zertifikate abgesichert.
Flüssige Visualisierung und integrierter Git-Client
Mit der im Codesys Development System integrierten Visualisierung erstellen Anwender im Editor grafische Bedienoberflächen – und zwar in einer einzigen Oberfläche parallel zur SPS-Applikation. Mit der neuen Version geht das einfacher: Über eine einzige Option lässt sich die Unterstützung von Client-Animationen und Overlay-Funktionen aktivieren. Verfügt das Zielgerät über einen grafischen Coprozessor (GPU), wird dieser aktiviert und die CPU der Steuerung für grafische Operationen nicht mehr belastet. Animationen wie das Einfliegen von Dialogen, das Wischen zur nächsten Bedienseite oder Ein- bzw. Ausblenden grafischer Elemente erfolgen mit der neuen Version erkennbar geschmeidiger. Mit dem Update ist es darüber hinaus möglich, aus verschiedenen Basiselementen zusammengestellte Visualisierungselemente gemeinsam zu rotieren – ebenfalls gerechnet in der GPU. Selbst die Nutzung animierter Grafikelemente wie Animated-Gif-Dateien ist möglich.
Zur Quellcodeverwaltung wurde bislang Apache Subversion unterstützt. Nun ergänzt ein integrierter Client für die beliebte Open-Source-Versionsverwaltung Git das Tool. Der Quellcode von Steuerungsapplikationen kann so in verteilten Datenbanken verwaltet werden, den Repositories. Werden im Entwicklungsprozess Änderungen am Quellcode vorgenommen, protokolliert das System diese automatisch. Bei Bedarf lassen sich ältere Stände der Applikation problemlos wiederherstellen. Wird ein Projekt aufgrund der Größe, Komplexität oder des Zeitdrucks mit mehreren Applikationsentwicklern gleichzeitig umgesetzt, dann lassen sich sie Aufgaben mit einem Tool wie Git sicher koordinieren. Dabei nutzen Anwender die Versionsverwaltung in einem logischen Workflow, der sich kaum von der Arbeit ohne Git-Anbindung unterscheidet.
Einfache OPC-UA-Unterstützung
In Codesys sind zahlreiche Kommunikationsprotokolle implementiert: Zum Beispiel für Download und Debugging der Applikation, zur Nutzung von E/A-Modulen per Feldbus, zum Auslesen von peripheren Modulen über proprietäre Schnittstellen oder zur Kommunikation zwischen anderen Steuerungen. Mit einem integrierten OPC-UA-Server unterstützt das Tool bereits seit einigen Jahren das wichtigste Protokoll für Industrie-4.0-Anwendungen. Mit dem neuen Service Pack wurde das OPC-UA-Angebot nun in mehrere Richtungen erweitert: Im Development-System können Anwender XML-basierte Informationsmodelle in ein entsprechendes Repository importieren. Über das Objekt „Kommunikationsverwalter“ lassen sich OPC-UA-Informationsmodelle ins Projekt einfügen. Die für zahlreiche Branchen getroffenen Vereinbarungen von Datenmodellen, insbesondere die OPC-UA-Companion-Specifications, lassen sich somit flexibel einbinden. Welche der verfügbaren Datenstrukturen oder -typen dabei verwendet werden sollen, kann der Anwender selbst auswählen. Per Knopfdruck erzeugt er IEC-61131-3-Deklarationen bzw. -Programmbausteine und instanziiert diese entweder manuell oder automatisch per Befehl. Diese Variablen kann er im SPS-Code sofort nutzen und über den OPC-UA-Server veröffentlichen. Enthält ein Informationsmodell OPC-UA-Methoden, so kann der Anwender deren Funktion im generierten Baustein selbst auskodieren. Davon profitieren verbundene OPC-UA-Clients: Sie können diese Methoden und damit Funktionen des Servers aufrufen. So führt der Server speziellen Applikationscode aus, auf Zuruf vom Client.
Ein OPC-UA-Client, realisiert als Bibliothek, ermöglicht den Datenaustausch über den Aufruf von Funktionsbausteinen innerhalb der Applikation in beide Richtungen. Noch einfacher geht es mit dem neuen Datenquellenverwalter: Zusätzlich zu proprietären Protokollen enthält der Mechanismus jetzt einen OPC-UA-Client. Anwender können sich damit an beliebige OPC-UA-Server andocken, deren Daten browsen und ins Projekt einbinden. Damit stehen diese Daten im Entwicklungssystem genauso bereit, als wenn sie im lokalen Projekt deklariert worden wären. Um die Kommunikation kümmert sich die bereits erwähnte Bibliothek im Hintergrund. Der Client ist sowohl in der PC-basierten Visualisierung Codesys HMI als auch in normalen Steuerungsprojekten einsetzbar.
Ist der Leistungsbedarf für einen Datenaustausch per Server/Client-Kommunikation zu hoch, bietet Codesys eine Lösung in Form einer Bibliothek für OPC UA Pub Sub. Durch Funktionsbausteine lassen sich sowohl Sender als auch Empfänger in der Applikation konfigurieren und mit Daten füttern. Der Datenaustausch erfolgt derzeit auf Basis von UDP. Jedoch ist die Bibliothek so angelegt, dass zeitsynchronisierte Kommunikationsprotokolle jederzeit ergänzt werden können.
Neues aus der Cloud
Neuerungen gib es auch bei der cloudbasierten Industrie-4.0-Plattform Codesys Automation Server. Im Gegensatz zu den anderen Produkten gilt hier allerdings ein 6-wöchiger Releasezyklus. Alle Neuerungen stehen den Nutzern sofort nach Freigabe zur Verfügung. Mit der Plattform lassen sich angebundene Steuerungen in einer neuen Listenansicht einfach überblicken, zudem können Anwender mit einem einzigen Mausklick Lizenzen an viele Geräte gleichzeitig ausrollen und damit Zeit einsparen. (wok)n