Anbieter zum Thema
Bei dieser Art der Softwareerstellung bedient sich der Entwickler einer Struktur aus Programmklassen, die als funktionale Behälter für kleine und kleinste Funktionsprogramme dienen. Durch Zuweisung von Werten werden sie zu Programmobjekten, die wie Bausteine zusammengesetzt, aber auch ineinander geschachtelt werden können.
„Diese objektorientierte Programmierung ist die Schlüsseltechnologie zur Modularisierung von Software“, sagt Wolfgang Portugaller, Leiter Systemarchitekten bei B&R. „Sie hilft, größere Programme übersichtlich zu halten und dadurch ihre Wartbarkeit nachhaltig zu erhöhen.“ Allerdings ist die Granularität trotz der Möglichkeiten zu hierarchischer Verkettung von Objekten recht fein. Trotz objektorientierter Programmierung müssen die Softwareentwickler zuletzt alle Teile einer Maschinenprogrammierung in einem Gesamtprogramm zusammenführen, um sie als Ganzes für die Maschine oder Anlage zu übersetzen, zu testen und in Betrieb zu nehmen.
Eine der wesentlichsten Neuerungen von Automation Studio 4 ist die Modularisierung auf einer höheren Ebene durch autonom lauffähige Applikationsmodule. Diese können unterschiedlich groß sein und einzelne Funktionen, aber auch ganze Maschinenteile oder Teilmaschinen repräsentieren. In ihrem Inneren können sie hierarchisch aus einzelnen Funktionsblöcken, ganzen Programmen oder beliebigen Mischungen davon bestehen.
Entwicklungsaufgaben effizient verteilen
Neben einer erleichterten Abbildung modularer Maschinenkonzepte erlaubt die Modularisierung mittels Applikationsmodulen eine Verteilung der gesamten Entwicklungsaufgabe auf mehrere Entwickler, die nicht notwendigerweise im selben Haus sitzen müssen.
So ist es zum Beispiel ohne großen Aufwand möglich, externe Automatisierungsdienstleister beizuziehen oder Teile der Programmierung vom Kunden vornehmen zu lassen. Dabei können nicht nur funktional unterschiedliche Teilprogramme auf die jeweiligen Spezialisten aufgeteilt, sondern auch große Einzelaufgaben auf mehrere Entwickler verteilt werden.
Das beschleunigt die Softwareentwicklung wesentlich: Auf der Grundlage vereinbarter Schnittstellen können diese Applikationsmodule gleichzeitig entwickelt und durch Simulation der Umgebung ausführlich getestet werden, ohne dass dies gleichzeitig erfolgen muss.
Vorgefertigte Bibliotheken und Funktionsmodule machen’s einfach
Darüber hinaus stellt B&R in Automation Studio 4 eine ganze Reihe vorgefertigter Bibliotheken und Funktionsmodule - etwa für die Ansteuerung von Antriebsachsen - zur Verfügung. Diese Bibliotheken und Module müssen nur noch in das eigene Projekt integriert werden.
Der Austausch von Daten zwischen den einzelnen Applikationsmodulen erfolgt dabei mithilfe des Mappings von Prozessvariablen, ein bereits heute bewährter Mechanismus. Die Variablen müssen nicht global von außen definiert werden.
Der Grund: Innerhalb des Applikationsmoduls wird definiert, welches andere Modul zu welchen Bereichen des eigenen Adressraums Zugriff erhält. Auf diese Weise muss nicht im ersten Projektierungsschritt an alles gedacht sein. Auch im Lauf der Entwicklung kann die Definition von Schnittstellen zum Datenaustausch erfolgen.
Schnellere und leichtere Fehlersuche
Das Kompilieren der Applikationsmodule erfolgt einzeln. Sie können daher für Tests und zur sukzessiven Inbetriebnahme nach und nach in die Zielhardware geladen werden, was die Fehlersuche und -behebung stark erleichtert und beschleunigt. Als Gemeinsamkeit ist für die weitgehend voneinander getrennten Komponenten lediglich eine Software-Konfiguration und eine Hardware-Konfiguration als Information über die Laufzeitumgebung erforderlich, in der sie im Endeffekt arbeiten müssen.
Änderungen erfolgen sowohl in der Prototypenphase als auch im Fall späterer Weiterentwicklungen in klar umrissenen Teilen der Gesamtanlage, was das Risiko von Qualitätsverlust durch schnelle Änderungen minimiert. Auch kann der Zertifizierungsaufwand nach einer Änderung gering gehalten werden, da nur die von der Änderung direkt betroffenen Module einer erneuten Prüfung unterzogen werden müssen.
Einzelne Funktionsteile sukzessive weiterentwickeln
Daraus ergibt sich für Maschinenbau-Unternehmen eine weitere Möglichkeit zur wirtschaftlicheren Gestaltung der Softwareentwicklung: Die bisher meist übliche Entwicklung ganzer Maschinengenerationen kann durch eine sukzessive Weiterentwicklung der einzelnen funktionalen Teile der Gesamtanlage ersetzt werden. Das sorgt für eine kontinuierliche Auslastung der Entwicklungsteams und für eine Verminderung des Drucks, der durch notorisch knappe Fertigstellungstermine entsteht.
„Tendenziell steigt dadurch die Softwarequalität“, ist Portugaller überzeugt. „Der durch die einfache Wiederverwendung bereits fertig entwickelter Applikationsmodule in unterschiedlichen Maschinenprojekten eingesparte Zeitbedarf kann in umfangreichere Tests investiert werden und rechnet sich rasch durch stark verkürzte Inbetriebnahmezeiten.“ Das ist nicht nur im Sinne von optimaler Nachhaltigkeit und maximaler Entwicklungseffizienz, das ist vor allem im Interesse des Kunden.
* Peter Kemptner, freier Journalist, Salzburg
(ID:42272842)