Technologie-Module Parallel geht's schneller: Mit modularer Software zu mehr Effizienz

Autor / Redakteur: Malte Schlüter, Martijn Theunissen* / Reinhard Kluger

Wenn Maschinenbauer fordern: Mit modularer Software zu mehr Effizienz, dann geht das mit vorgefertigten und getesteten Technologie-Modulen. Solche Module vereinfachen die Realisierung von Maschinen-Funktionalität. Anhand des Beispiels Wickeltechnik lässt sich der praktische Nutzen verdeutlichen.

Anbieter zum Thema

FAST-Schlauchbeutelmaschine: Mit den Lenze Technologie-Modulen lässt sich eine modulare Maschinensteuerung ziemlich einfach entwickeln. Das Zusammenfügen der einzelnen Module erfolgt mit dem Applikation Template.
FAST-Schlauchbeutelmaschine: Mit den Lenze Technologie-Modulen lässt sich eine modulare Maschinensteuerung ziemlich einfach entwickeln. Das Zusammenfügen der einzelnen Module erfolgt mit dem Applikation Template.
(Lenze)

Bei den Maschinen hat sie schon Einzug genommen: die mechanische und elektronische Modularisierung. Software liegt dagegen häufig als wenig strukturierter und schwer verständlicher „Spagetti-Code“ vor. Bei der Neuentwicklung einer Maschine versuchen Entwickler möglichst große Teile dieses Codes zu kopieren, um den Programmieraufwand zu reduzieren. Bei kleinen und übersichtlichen Projekten hat sich dieses Vorgehen bewährt. Anders verhält es sich allerdings, wenn die Software über die Jahre gewachsen ist und zehn- oder sogar hunderttausende Codezeilen umfasst. Hier wirkt sich das schlichte Kopieren von Code nachteilig auf die Qualität und Wartungsfreundlichkeit der Software und nicht zuletzt auf die Produktivität der Entwickler aus.

Bildergalerie

Fehler aus Code nicht übernehmen

Die Gefahr dabei ist, dass Fehler oder nicht (mehr) genutzter Code aus alten Projekten in das neue Projekt übernommen werden. Selbst wenn der ursprüngliche Code fehlerfrei ist, so behindert doch die beschränkte Verständlichkeit des Spagetti-Codes die Wartung und Erweiterung bzw. Modifikation der Applikation erheblich. Programmweiterentwicklungen können zudem unerwartete Fehler in bereits geprüften Programmteilen auslösen. Jede Programmerweiterung wird so zum Risiko und kann zeitaufwändige Tests der kompletten Maschine nach sich ziehen und so das geplante Time-to-Market gefährden. Nicht zuletzt lassen sich solche Projekte schlecht team- oder unternehmensübergreifend auf mehrere Programmierer verteilen und abstimmen. Kostspielige Mehrfachentwicklungen sind die Folge.

Der Aufwand sinkt

Die mechanische Konstruktion zeigt, dass und vor allem wie es anders geht: Hier hat es sich längst etabliert, die Maschine aus Modulen mit definierter mechanischer Schnittstelle aufzubauen. Die so gekapselten Funktionsmodule bilden einen (zentral verwalteten) Baukasten, aus dem sich Konstrukteure bedienen, um neue Maschinenlösungen schnell und effizient aus erprobten Modulen zusammen zu stellen. Dadurch sinkt der Aufwand für den Bau und Test einer Maschine. Die Konstrukteure können sich ganz auf die Entwicklung neuer Funktionen und Alleinstellungsmerkmale konzentrieren, die ggf. den bestehenden Baukasten erweitern. Zudem kann eine umfangreichere Entwicklungsaufgabe wegen der (vorab) klar definierten Schnittstellen der Module leichter auf mehrere Konstrukteure verteilt werden. Dadurch lassen sich Entwicklungs- und Testaufgaben parallel durchführen und damit das Time-to-Market weiter verkürzen. Es ist daher zielführend, auch in der Softwareentwicklung die Modularisierung weiter voranzutreiben.

Realisierungsbeispiel Wickler veranschaulicht den Nutzen

Die Umsetzung und der Aufbau eines umfassenden modularen Softwarefunktionsbaukastens in Eigenregie übersteigen oft die Möglichkeiten der Maschinenbauer. Ein Beispiel verdeutlicht dabei das Problem: bei einem OEM, der 30 bis 70 Mitarbeiter beschäftigt, sind im Durchschnitt gerade einmal 1,6 Mitarbeiter für die Automation zuständig. Ein solcher Mitarbeiterstab würde Jahre für die Entwicklung eines Baukastens benötigen, bevor das Unternehmen damit spürbare Wettbewerbsvorteile realisieren könnte. Lenze als System- und Technologiepartner des Maschinenbaus hat daher schon vor Jahren damit begonnen, Anwender mit der Bereitstellung vorgefertigter und wiederverwendbarer Standardfunktionsbausteine für intelligente Antriebe zu unterstützen.

Branchenspezifische Bausteine

In diesen Bausteinen ist Lenzes Applikationswissen z.B. vom Wickeln oder von der fliegenden Säge gebündelt. Nun hat der Experte für Motion Centric Automation die Technologie- und Funktionsmodule für Controller-basierte Automatisierungslösungen portiert und gleichzeitig um branchenspezifische Bausteine für die Konsumgüterindustrie wie ‚No gap – no Seal‘ erweitert. Je nach Anwendungsfall und Anforderungsprofil kann der Entwickler damit Funktionsbausteine unterschiedlichen Abstraktionsgrads nutzen und bis zu 80% seiner Software auf Basis bereits getesteter und vielfach erprobter Standardfunktionen aufbauen. Das führt zu kürzeren Entwicklungszeiten, mehr Sicherheit, weniger Fehlern, und schafft Zeit für die Ausprägungen der Maschinen, die den eigenen Wettbewerbsvorteil ausmachen.

Unterschiedliche Anforderungen

Wickeln gehört seit mehr als 65 Jahren zu Lenzes Kernkompetenz. Das umfassende Erfahrungswissen aus der Realisierung tausender Wickelapplikationen hat das Unternehmen im FAST Technologie-Modul Wickeln gebündelt und stellt es dem Anwender für die Nutzung bereit. Da die verschiedenen Wickelapplikationen unterschiedlichste Anforderungen an die Funktionalitäten stellen, wie z.B. bei der Durchmesser-Berechnung, Massenträgheits-Identifikation, Reibungskompensation oder der Zugkraftkennlinie, stellt Lenze seine Technologiemodule in skaliertem Funktionsumfang zur Verfügung.

Für relativ einfache Anwendungen, die beispielsweise keine Massenträgheits-Identifikation erfordern, für die wohl aber eine konstante Zugkraft vorgegeben werden muss, bietet Lenze einen passenden Baustein, der nur wenige Parameter und Schnittstellen hat und dadurch sehr schnell und einfach in eine Applikation zu integrieren ist. Ebenso gibt es Bausteine für hochkomplexe Anwendungen, bei denen beispielsweise eine Zugkraftgenauigkeit bis auf das letzte Prozent gefordert ist. Hier stehen eine Vielzahl an Parametern sowie Zusatzfunktionen wie z.B. Reibungs-Identifikation und Beschleunigungskompensation zur Verfügung.

Auf die Erstellung konzentrieren

Damit Anwender auch kundenspezifische Funktionsbausteine, ggf. unter zu Hilfenahme einfacher Standardfunktionsblöcke schnell erstellen und in das restliche Projekt einbinden können, bietet sich der Einsatz von Templates an: vorgefertigte Softwarestrukturen, wie Fehlerbehandlungsroutinen, Schnittstellen, Datenbanken und Zustandsmaschinen. Wie bei Word-Vorlagen kann man sich ganz auf die Erstellung der eigentlichen Funktionen oder Inhalte konzentrieren. Das Lenze FAST ApplicationTemplate bietet solch eine Software-Struktur für die Realisierung modularer Applikationssoftware, die eine optimale Wiederverwendung ermöglicht.

Effizient realisieren

Objektorientierte Programmiersprachen unterstützen die Modularisierung von Software optimal, weil die Grundidee dieser Sprachen das Kapseln von Funktionen und Daten in ‚Objekten‘ ist. Methoden wie die Vererbung erlauben es, schnell neue Objekte auf Basis bestehender zu erzeugen und so neue Funktionalitäten und Varianten besonders effizient zu realisieren. Ein weiterer Vorteil: im Vergleich zu zur EC 61131 ein größerer Verbreitungsgrad in Ausbildung und Unternehmen. Offene und leistungsfähige Programmierumgebungen wie der PLC-Designer V3 von Lenze unterstützen daher nicht nur die Programmierung in objektorientierten Hochsprachen, sondern erlauben auch die Kombination von C-Code-ähnlichem Strukturierten Text oder z.B. in KOP erstellten Code und vorgefertigten Funktionsbausteinen in einem Projekt.

* *Malte Schlüter, Head of Consumer Goods und Martijn Theunissen, Head of Application & Support Europe, Lenze

*

(ID:42397391)