SPS-Programmierung im Browser

Neue Generation für Codesys kündigt sich an

10. März 2025, 7:30 Uhr | Von Roland Wagner, Codesys / ak
© Ilgun/stock.adobe.com

Die Codesys Group ist dabei, parallel zur bisherigen Codesys-3.x-Schiene auf Windows-Basis eine Browser-basierte Schiene der Entwicklungsumgebung als Ergänzung zu etablieren. Welche Eigenschaften hat sie, wie lässt sie sich nutzen, und für welche Anwendungen ist sie gedacht?

Diesen Artikel anhören

Mit Speicherprogrammierbaren Steuerungen (SPSen) werden industrielle Maschinen und Anlagen automatisiert und gesteuert. Per Software realisieren Applikationsentwicklerinnen und -entwickler für die Geräte Abläufe in Maschinen und Anlagen – Kenntnisse in der Hochsprachenprogrammierung sind dazu nicht erforderlich. Die Programmiertools für SPSen sind entsprechend anwendungsnah ausgelegt und nach IEC 61131-3 standardisiert.

Dieser Standard hat sich in der industriellen Automatisierungstechnik etabliert und weiterentwickelt, zum Beispiel um objektorientierte Programmierung wie in Hochsprachen. Windows-Tools wie Codesys mit einer Community von weltweit mehr als 300.000 Usern implementieren den Standard und werden täglich intensiv eingesetzt. Aber wie sieht die Zukunft solcher Tools aus? Unter der Bezeichnung »Codesys go!« befindet sich die nächste Generation in der Entwicklung, die neue Möglichkeiten verspricht. Welchen Mehrwert bietet sie? Und auf welche Konsequenzen muss man sich einstellen?

Vom traditionellen Entwicklungssystem zum Browsertool

Die erste Motivation für eine neue Toolplattform: Weg mit der Abhängigkeit von MS Windows. Windows ist zwar nach wie vor im Einsatz, aber in der Programmierung findet man heutzutage immer mehr Linux-basierte Systeme. Ein weiterer Trend geht hin zu leichtgewichtigen Benutzerschnittstellen, die zwar nicht mehr alles können, aber auf ganz spezielle Anwendungsfälle zugeschnitten sind. Genau diese Ansatzpunkte sind die Basis für Codesys go!.

Vorweg zwei Nachrichten an alle, die Codesys derzeit nutzen. Erstens: Codesys go! wird die aktuelle Programmierplattform nicht ersetzen, sondern ergänzen. Das heißt: Die volle Funktionalität des Windows-Tools wird weiterhin gepflegt und erweitert. Die zweite Nachricht: Codesys go! ist von vornherein so ausgelegt, dass sich der Arbeitsablauf der Applikationsentwicklung in bestehende Infrastrukturen einbinden lässt.

Nun aber der Reihe nach: Was zeichnet die Neuentwicklung aus? Kurz gesagt: die Kombination bewährter Funktionalität mit modernen Methoden und Trends. Konkret bedeutet das: Viele der bewährten und etablierten Funktionen sind weiterhin verfügbar. Dazu gehören:

• das Kernkonzept der Bibliotheksverwaltung

• bestehende Gerätebeschreibungen

• das Runtime-System in den Geräten

Der Umstieg auf Codesys go! ist sanft. Vorhandene Geräte mit dem kompatiblen Runtime-System ab einer bestimmten Version lassen sich problemlos weiterverwenden – und das sogar parallel zum etablierten Windows-System und der neuen Plattform. Man arbeitet einfach mit dem Tool, das gerade zur Verfügung steht und am besten für den Anwendungsfall passt.

Automatisierte Applikationsentwicklung durch textbasierte Projektablage

Der auffälligste Unterschied zwischen den beiden Plattformen ist das Projektformat beziehungsweise die Ablagestruktur. Bisher legt Codesys die gesamte Projektinformation in einer einzigen Datei ab, und das in einem proprietären Format. Im neuen System wird eine Datei pro Objekt textbasiert gespeichert, zum Beispiel in JSON- oder XML-Dateien. Diese Umstellung bringt große Vorteile: Jetzt können externe Tools diese Projektdateien und deren Ablage bearbeiten, beispielsweise der Dateiexplorer, Versionsverwaltungssysteme wie Git oder einfache Texteditoren, gegebenenfalls sogar integriert in Plattformen wie GitLab. Dadurch können Inkonsistenzen im Projekt auftreten, die Codesys go! zwar meldet, die aber manuell repariert werden müssen.

passend zum Thema

Codesys Group
Bild 1. Die Entwicklungsoberfläche von Codesys go! wird im Browser angezeigt und bedient.
© Codesys Group

Dieses Konzept passt exakt in aktuelle Entwicklungs-Workflows, in denen das Programmiertool sich nahtlos in eine Kette mit weiteren Tools einreihen kann. Auf diese Weise lassen sich kontinuierliche Entwicklungsprozesse realisieren, die die Qualität des Applikationscodes und den Rollout in das Zielsystem garantieren – abgekürzt CI (Continuous Integration) und CD (Continuous Delivery/Deployment). So können im Rahmen solcher Workflows unterschiedliche Checks und Tests automatisiert ausgeführt werden. Gerade bei schnellen und kurzfristigen Änderungen reduzieren solche Automatismen typische Probleme vor Ort.

Was aber passiert mit bestehendem Applikationscode aus dem Windows-Tool? Dieser Code lässt sich problemlos weiterverwenden. Ein Plug-in für Codesys V3 konvertiert den Code in das neue Format, ermöglicht aber dennoch die weitere Bearbeitung im Windows-Tool. Die Applikationsentwicklung kann dann weitgehend verlustfrei in beiden Plattformen parallel erfolgen. Damit ist der Einsatz von Codesys go! mit der ersten Freigabe sinnvoll und produktiv – selbst dann, wenn der Funktionsumfang des Windows-Tools noch lange nicht erreicht wird. Aber durch die CI/CD-Einbindung kann unter anderem die Entwicklung von Anwendungsbibliotheken mit einem automatisierten Ablauf effizient gestaltet werden. Das Projekt lässt sich später wie bisher in Codesys V3 fertigstellen und in Betrieb nehmen.

Codesys Group
Bild 2. Projektablage mit einer Textdatei pro Objekt, rechts im XML-Format.
© Codesys Group

Apropos Bibliotheksentwicklung: Das Basiskonzept der Anwendungsbibliotheken mit Versionierung, Platzhalter sowie Interface- und Containerbibliotheken bleibt unverändert. Referenzen und Abhängigkeiten von Bibliotheken werden jetzt aber in JSON-Dateien abgelegt. Somit lassen sich auch diese Informationen wieder in einer Versionsverwaltung einpflegen und dokumentieren.

Geräteunabhängige Nutzung durch Aufteilung von Bedienung und Backend-Prozess

Schon vor einigen Jahren wurde mit der Modularisierung des Windows-Tools begonnen. Sie bereitet den Weg zu einer Auftrennung von Backend-Aufgaben und Bedienung vor. Und genau davon profitiert Codesys go! jetzt: Sämtliche internen Prozesse und Dienste, die solch eine Entwicklungsumgebung benötigt, werden in einem Backend-Gerät installiert, quasi als Server des Entwicklungssystems. Aufruf und Bedienung dieser Prozesse und Dienste erfolgen über sauber definierte Schnittstellen in einem Client. Damit wird das Basissystem, sprich der Server, von Editoren und Bedienkonzepten unabhängig. Er lässt sich auf fast beliebigen Rechnerplattformen mit Linux oder Windows installieren. Dazu gehören wie bisher Desktop-PCs oder Notebooks am Arbeitsplatz. Wobei man dafür auch weiterhin das Windows-Tool verwenden könnte, sofern Windows verfügbar ist.

Einen echten Mehrwert bringt die Installation des Basissystems in einem On-Premises-Server im Firmennetzwerk. Denn damit können jetzt alle Firmenangehörigen auf ein und dieselbe Installation zugreifen, ohne dass sie selbst ein Setup durchlaufen oder Updates einspielen müssen. Administration und Wartung des Entwicklungssystems erfolgen zentral durch die Unternehmens-IT und entlasten so die Entwicklerinnen und Entwickler erheblich. Damit steht immer die aktuelle Version der Entwicklungsumgebung samt allen erforderlichen Zusätzen zur Verfügung, zum Beispiel Bibliotheken oder Gerätebeschreibungen – und über VPN-Tunnel nicht nur, wenn man sich im lokalen Netzwerk befindet, sondern auch vor Ort bei Inbetriebnahme oder einem Serviceeinsatz.

Codesys Group
Bild 3. Durch die Auftrennung von Backend und Bedienung ergeben sich ganz unterschiedliche Installations- und Nutzungsmöglichkeiten für Codesys go!
© Codesys Group

Das System kann überdies in Industrie-4.0-Plattformen wie dem »Codesys Automation Server« gehostet werden – sodass Entwicklungs- und Administrationsplattform in einer einzigen Weboberfläche zur Verfügung stehen. Das bietet hohen Komfort für die Arbeit mit den SPSen.

Aber wie erfolgt dann die eigentliche Bedienung, also die Programmierung der SPS-Logik? Als Client verbindet sich jeder handelsübliche Browser mit dem Backend-Server und ruft über die bereits erwähnten Dienste die erforderlichen Editoren und Konfiguratoren in einer Web-Oberfläche auf. Das bedeutet: Ob Windows- oder Linux-PC, ob Tablet oder Smartphone – alle dürfen ihren eigenen Client mitbringen und verwenden, und das komplett ohne Installationsaufwand und mit allen bereitgestellten Ressourcen. Da der Backend-Server relativ schlank ist, lässt er sich problemlos in leistungsstärkeren Industriegeräten wie Industrie-PCs oder modularen SPSen mit Mehrkern-CPUs installieren. Der Anwendungsvorteil liegt auf der Hand: Die SPS bringt ihre Entwicklungsumgebung selbst mit und kann ohne PC programmiert werden. Auch eine Installation ist nicht notwendig. Das macht die Anwendung so flexibel wie nie zuvor. Und selbst wenn nicht alle Funktionen von vornherein zur Verfügung stehen, ist die Anwendung sinnvoll, wenn vor Ort beispielsweise nur einige Logikgatter geändert werden müssen.

Wagner Roland
Roland Wagner ist Head of Product Marketing bei der Codesys Group.
© Codesys Group

Die konsequente Trennung von Bedien- und Backend-Funktionen bringt den weiteren Vorteil, dass Komponenten für Codesys go! und das Windows-Tool aufgrund ihrer gemeinsamen Codebasis gemeinsam entwickelt werden können. Der beliebte Kontaktplan-Editor wird beispielsweise als grafische Programmiersprache sofort in beiden Plattformen verwendet. Selbst die eigenen Compiler, die den textuellen oder grafischen Applikationscode in den Maschinencode des Zielgeräts übersetzen, sind auf beiden Plattformen dieselben und verfügen über identische Sprachfeatures und Semantik. Die Entwicklung gemeinsamer Komponenten erhöht nicht nur die Geschwindigkeit, mit der diese in beiden Systemen zur Verfügung stehen, sondern auch die Qualität und Zuverlässigkeit in beiden Plattformen.

Codesys go! ermöglicht die Programmierung von Industriesteuerungen in beliebigen Web-Browsern. In diesem Beitrag sind bei weitem nicht alle Funktionen des Tools beschrieben. Zudem wird es bei der ersten Freigabe im Jahr 2025 noch nicht alle Funktionen enthalten, die man vom etablierten Windows-Tool kennt. Dennoch gilt: Codesys go! bietet sofort einen Mehrwert für die Entwicklung von Bibliotheken oder die Anpassung von Applikationscode an der Maschine, der bereits von vielen Anwendern erwartet wird. 

Codesys auf der embedded world: Halle 4, Stand 307


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu CODESYS GmbH

Weitere Artikel zu Echtzeit-/Embedded Software

Weitere Artikel zu Embedded

Weitere Artikel zu Speicherprogr. Steuerung (SPS)