Softwaretools Wie programmiert man CPS?

Bild: venimo, iStock
30.11.2015

Die moderne Fertigung erzielt ihre Flexibilisierung aus der Modularisierung. Auf Seiten der Hardware ist das Aufspalten von Funktionen vergleichsweise unproblematisch, bei der Software fehlt es dagegen an geeigneten Werkzeugen. Auf der SPS IPC Drives wurde eine Programmierumgebung für Steuerungen vorgestellt, die der zunehmenden Modularisierung Rechnung trägt.

Maschinen oder Anlagen bestehen zunehmend aus einer Vielzahl von mechatronisichen Komponenten, den cyber-physischen Systemen (CPS). Eine konsequente Gliederung in abgrenzbare Systemteile mit einer definierten Funktion schafft eine sauberere Architektur und vermeidet Mehrfachaufwand bei Entwicklung, Test, Dokumentation und Prozesserfahrung in der Programmierung. Im Idealfall lassen sich Codeteile vollständig ohne Veränderung wiederverwenden.

Vom monolithischen Ansatz ...

In klassischen Automatisierungslösungen verschwindet diese Zerlegung in autonome Teilsysteme spätestens bei der Programmierung. Vielfach wird versucht, in einem einzelnen Hauptprogramm mit Ausgliederung von Funktionalität in Bibliotheken alle Varianten abzudecken. Jede Änderung oder Ergänzung führt dazu, dass das Hauptprogramm neu kompiliert werden muss und in einer weiteren Variante vorliegt. Verifikation und Wartung aller bisherigen Varianten wird zunehmend zeitaufwändig und risikobehaftet. Die Dokumentation der Variationen erfolgt selten übergreifend, sondern mitunter nur mehr in Form von Kommentaren im Quellcode – die Gesamtprozess-Sicht geht verloren.

Um die Vorteile der Maschinen-Modularisierung vollständig zu nutzen, muss das Automatisierungssystem das Denken und Arbeiten in unabhängigen Produktionsmodulen beziehungsweise mechatronischen Komponenten unterstützen. Das Automatisierungssystem von Bachmann Electronic erlaubt bereits einen modularen Aufbau der Software mit voneinander unabhängigen Zyklen. Allerdings ist die Verwendung für viele Anwendergruppen nur über die Programmierung zugänglich und war daher ebenfalls aufwändig.

... zum Komponenten-Ansatz

Ziel der aktualisierten Programmierumgebung ist es, automatisierungsstechnische Systeme aus mechatronischen Komponenten zu erstellen. Dabei muss die Modularisierung der Hardware ihre Entsprechung in der Software finden. Ein autonomes Software-Modul beschreibt sich vollständig durch seine definierten Schnittstellen und Eigenschaften. Über die Schnittstellen erfolgt der Austausch von Daten und Signalen mit anderen Modulen. Sie werden jeweils einzeln kompiliert, versioniert und getestet, gegebenenfalls auch dokumentiert und visualisiert. Ergänzungen und Änderungen bleiben auf das betroffene Modul beschränkt. Das Gesamtprogramm entsteht durch die Verknüpfung der Software-Module zu einem Gesamtsystem. Bachmann Electronics stellt dazu im Rahmen seines SolutionCenters eine Reihe von Entwicklerwerkzeugen bereit, die diese Herangehensweise unterstützen.

Der Komponenten-Designer ermöglicht die Definition des inneren Aufbaus und der Schnitttstellen unabhängig von der Programmiersprache. Daraus lassen sich Templates für die gewählte Programmiersprache generieren. Zurzeit stehen Templates für den C/C++-Developer zur Verfügung.

Der PLC-Developer unterstützt die Erstellung von Komponenten in IEC61131-3. Er verbindet die Unterstützung der gewohnten Features bei der Code-Erstellung im Debugging mit der Stabilität und den Möglichkeiten der M1-Steuerungsplattform.

Im Applikations-Developer können die erstellten Komponenten aus einer Bibliothek entnommen, grafisch verschaltet und anschließend auf einer Steuerung installiert werden. Die Verschaltung ist sowohl zwischen Komponenten, die mit dem Komponenten-Designer erstellt wurden, als auch zu schon vorhandenen Modulen, SVI-Variablen oder der I/O-Ebene möglich. Bis zu 25 Module können so zusammengefügt werden.

Für den Appliaktionsentwickler bedeutet diese Art der Software-Erstellung ein erhebliches Umdenken. Mit der Aufspaltung von Aufgaben und Funktionen in einzelne Module ist der Maschinenbau nicht mehr das führende Element – nun gilt es, die Anlage als Gesamtsystem zu begreifen und alle beteiligten Gewerke im Blick zu haben.

Firmen zu diesem Artikel
Verwandte Artikel