Engineering im Team

Mit Automation Studio 4 stellt B&R Maschinenbauern ein zentrales Werkzeug zur Verfügung, mit dem drei entscheidende Vorteile erzielt werden: hohe Qualität trotz zunehmender Produktkomplexität, niedrige Engineeringkosten und kurzes Time-to-Market. Mit der Möglichkeit, Entwicklungsaufgaben aufzuteilen und so zu parallelisieren sowie bewährte Funktionen durch Modularisierung der Software wiederzuverwenden, trägt die B&R-Lösung wesentlich dazu bei, Entwicklungsziele schnell und sicher zu erfüllen.

Autor: Peter Kemptner, freier Journalist aus Salzburg


Mit Automation Studio hat B&R 1992 erstmals ein integriertes Entwicklungswerkzeug für die industrielle Automatisierung eingeführt, das die trennenden Mauern zwischen den einzelnen Disziplinen der Softwareentwicklung abbaute. Ob für die Ablaufsteuerung, Bedienung und Visualisierung, die Antriebe oder die Sicherheitstechnik: Die Programme für B&R-Automatisierungslösungen werden innerhalb einer durchgängig einheitlichen Entwicklungsumgebung erstellt. Seitdem haben sich die Marktansprüche an Maschinen und Anlagen gewandelt: Gefordert sind heute auf den individuellen Nutzer zugeschnittene Maschinen mit großer Komplexität, Flexibilität und Optionenvielfalt sowie der Fähigkeit zur Integration in Gesamtanlagen. Zum Preis und mit der Stabilität eines Großserienproduktes, kurzfristig verfügbar, ohne lange Inbetriebnahmezeiten und selbstverständlich allen Normen und Dokumentationsvorschriften entsprechend. Nicht zuletzt möchten Käufer auch noch später durch Nach- oder Umrüstung und durch eigene Eingriffe in die Software auf veränderten Bedarf reagieren können.

Produktkomplexität beherrschen


Zur Bewältigung der gestiegenen Produktkomplexität in überschaubarer Zeit und zu beherrschbaren Kosten bedient sich die Maschinenbau-Konstruktion der Standardisierung und Modularisierung. Sie schafft Normteile und Einheitsbaugruppen für einzelne Funktionen, die mittels wohldefinierter Anschlüsse baukastenartig in unterschiedlichen Kombinationen zu verschiedenen Gesamtmaschinen oder -anlagen zusammengestellt werden können. In vielen Konstruktionsbüros gibt es darüber hinaus eine Arbeitsteilung zwischen Spezialisten in unterschiedlichen Unterbereichen des Engineering. "Was in der mechanischen Entwicklung längst selbstverständlich ist, sollte in der Softwareentwicklung ebenso einfach möglich sein", sagt Dr. Hans Egermeier, Business Unit Manager Automation Software bei B&R. "In der IT-Welt ist das auch längst gängige Praxis, lediglich im Maschinenbau halten sich hartnäckig Methoden aus der Frühzeit der SPS-Programmierung. Sie machen die Softwareentwicklung für komplexe mechatronische Systeme zur herkulischen Aufgabe." Das liegt nicht zuletzt an der trotz immer komplexer werdender, parallel stattfindender Abläufe innerhalb von Maschinen und Anlagen weit verbreiteten Vorstellung von Produktionsvorgängen als strikt sequentielle Vorgänge. Die Themen SPS, CNC, Robotik, intelligente Achsregelung, Visualisierung und Kommunikation wachsen immer weiter zusammen. Um die zunehmende Komplexität funktionaler Abläufe, das Steuerungsverhalten ganzer Maschinen und von Regelungsalgorithmen beherrschbar zu halten, muss die Software modular aufgebaut sein. In Analogie zur Mechanik mit ihren Normteilen funktioniert das über Baukästen in Form von Bibliotheken mit einzelnen Funktionen, Abläufen und Reglern.

Größere Programme übersichtlich halten


Die Möglichkeit, einzelne Unterprogramme als Funktionsblöcke in Bibliotheken abzuspeichern und durch Aufruf im Hauptprogramm zur Wirkung zu bringen, existiert bereits seit längerer Zeit und wird von Programmierern fleißig genutzt. Ebenso ist in bereits existierenden Versionen von Automation Studio die Möglichkeit zur objektorientierten Programmierung in C++ vollständig integriert. 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 z.B. 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. 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. 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.

Anzeige