Während in der IT-Welt objektorientierte Programmierung etabliert und seit Jahren eingesetzt wird, ist sie im Maschinen- und Anlagenbau noch kaum verbreitet. Grund dafür ist die Dominanz der prozeduralen Sprachen, deren Möglichkeiten oft völlig ausreichen. Die objektorientierte Programmierung bietet jedoch weiterreichende Ansatzpunkte zur Effizienzsteigerung im Engineering. Anhand der beispielhaften Applikation eines Wicklers sollen die Möglichkeiten und Vorteile dieser Programmierweise konkret aufgezeigt werden. Selbstverständlich dient der Wickler nur als Anschauungsbeispiel und setzt nicht zwingend objektorientierte Programmierung voraus. Der Wickler in Bild 2 besteht aus zwei Achsen. Die erste Achse, der Einzug, ist eine Rollenbahn für die Materialzufuhr. Die zweite Achse, der eigentliche Wickler, ist eine Rundachse. Um den Wickler zu starten, ist wie bei jeder Achse zuerst ein Referenzieren notwendig. Dies unterscheidet sich aber von der Linearachse des Einzugs. So wird in unserem Beispiel gefordert, dass eine bestimmte Position am Ende des Referenziervorgangs angefahren wird. Zusätzlich erfordert das Aufwickeln eine Zugspannungsregelung. Entscheidend dabei ist, dass beide Achsen zwar über dieselben Basisfunktionen verfügen, Teile davon aber abgeändert bzw. um Funktionen ergänzt werden müssen. Grenzen prozeduraler Programmierung Die obige Aufgabenstellung lässt sich mit prozeduralen Programmiersprachen wie z.B. Strukturierten Text auf zwei Arten lösen: Die erste Möglichkeit besteht darin, beide Achsen in einem Programm auszuprogrammieren. Dabei stehen dem Programmierer alle Möglichkeiten offen. Jede einzelne Achse wird individuell im Code berücksichtigt. Dies bewirkt aber, dass dieser Code nicht einfach wiederverwendet werden kann: Es fehlt eine Kapselung, mit der die \’Antriebstechnologie\‘ so transportiert werden kann, dass alle benötigten Variablen mittransportiert werden und der Code vor unbewusster Manipulation geschützt wird. Der Einsatz von Bibliotheken unterstützt die einfache Wiederverwendung der Antriebstechnologie. So werden Programme zu Funktionsblöcken mit definierten Schnittstellen und Variablen zu internen Datenpunkten der Funktionsblöcke. Dadurch entsteht eine Kapselung von Code und Daten. Die einmal programmierte \’Antriebstechnologie\‘ kann auf sehr einfache Weise durch Weitergabe der Bibliothek transportiert werden. Die obige Aufgabenstellung besteht aber aus zwei Antrieben mit geringfügig unterschiedlichen Funktionen. Um die eben erstellte Bibliothek für beide Antriebe verwenden zu können, müsste der maximale Umfang beider Achsen fix implementiert werden. Also mit Zugspannungsregelung und dem Referenzieren in zwei unterschiedlichen Funktionen. Es ist daher festzuhalten, dass eine Abänderung einer Funktion bzw. die Erweiterung der Bibliothek nur durch Anpassung der Bibliothek selbst erfolgen kann, was mitunter einen erheblichen Programmieraufwand bedeutet. Ein Fall für OOP Um diesen skizzierten Mehraufwand zu vermeiden, lohnt sich ein Blick in Richtung Objektorientierte Programmierung. Im Gegensatz zu den bekannten Programmiersprachen werden bei der OOP Funktionen und Daten in Objekte gekapselt. Jedes Objekt ist völlig eigenverantwortlich für die Erledigung einer bestimmten Aufgabe zuständig. Daher gehört es im Zuge von OOP zu den besonderen Herausforderungen, die Aufgaben einer Maschine zu identifizieren und in weiterer Folge ein Objektmodell (Modell aller Aufgaben) zu erstellen. Werden nun wie im skizzierten Fall des Wicklers ähnliche Aufgaben mit gleichen Grundfunktionen oder unterschiedlichen Erweiterungen erkannt, spielt die OOP ihre volle Stärke aus. Der Bauplan eines Objektes (Klasse) kann in einem anderen Bauplan auf einfache und effiziente Weise wiederverwendet werden. Dabei handelt es sich weniger um eine Kopie sondern mehr um eine Art Verweis, der Ableitung genannt wird. Bei der Ableitung werden sämtliche Funktionen und Daten weitervererbt. Hier zeigt sich ein entscheidender Vorteil der OOP: Im abgeleiteten Bauplan können Funktionen abgeändert (Polymorphie) und neue Funktionen bzw. neue Daten hinzugefügt werden, was eine ideale Anpassung an den Einzelfall erlaubt. Ein Objekt, das auf Basis des abgeleiteten Bauplans erstellt wurde, besitzt damit die (angepassten) Grundfunktionen und alle notwendigen neuen Funktionen. Ein Objekt kann somit an seine Aufgabe optimal angepasst werden, ohne dabei die Grundfunktionen zu verlieren. Einführung von OOP im Unternehmen Bei der Objektorientierung steht die Programmiersprache nicht mehr an erster Stelle. Sie ist lediglich Ausdruck der objektorientierten Denkweise. Wie zuvor erwähnt, steht bei der OOP das Objekt- oder Aufgabenmodell der Maschine oder Anlage im Vordergrund. Eine erfolgreiche Umstellung auf OOP beginnt daher mit dem Aufbau von OOP Know-how im Unternehmen. Erst danach ist das Entwicklungsteam in der Lage, anfängliche Erfahrungen mit Beispielprogrammen erfolgreich auf komplexe Maschinen- und Anlagenabläufe in der Praxis umzulegen. Auch wenn zu Beginn nur Teile der Maschine auf OOP umgestellt werden, sind eine gesamtheitliche Betrachtung der Maschine sowie die Berücksichtigung aller Varianten und Optionen bei Entwurf des Objektmodells notwendig. Auf diese Weise bildet das Objektmodell das Fundament der Software. Wie bei jedem Fundament steht und fällt die darauf aufbauende Konstruktion mit der Sorgfalt und Weitsicht während seiner Erstellung. Im Lebenszyklus der Software erhöhen Erweiterungen, wie z. B. zusätzliche Optionen oder die Wartung in Folge von Fehlerbehebungen, die Komplexität. Bild 4 zeigt, dass der Initialaufwand, aufgrund der Modellierung der Maschine, typischerweise höher ist als bei der prozeduralen Programmierung. Wenn es nun gelingt, die Aufgaben der Maschine oder Anlage im Objektmodell richtig zu kapseln, entsteht bei steigender Komplexität ein vergleichsweise geringerer Programmieraufwand. Hohe Investitionssicherheit Wie bereits erwähnt kapselt durchgängige OOP die Maschinensoftware in überschaubare funktionale Einheiten. Diese Einheiten ermöglichen eine Wiederverwendung des Codes auf sehr einfache Weise. Sämtliche Funktionen und Daten, die für die eigenverantwortliche Erledigung einer Aufgabe notwendig sind, sind im Objekt enthalten. Die Kapselung in überschaubare Einheiten erlaubt gezielte Tests der Aufgaben und eine einfache Wartung. So ermöglicht die Ableitung der zugrunde liegenden Klasse eine Modifikation der Aufgabe des Objekts, ohne dass dabei bestehendes Know-how verloren geht. Dadurch steigt die Investitionssicherheit in die aufgewendete Zeit bei der Erstellung der Objekte. Effizientes Software-Engineering Die feine Kapselung der Aufgaben ermöglicht eine weitere Verfeinerung in der Aufteilung der Projektarbeit. Die Klassen der Objekte werden üblicherweise in eigenen Dateien abgelegt. Dabei hat jedes Objekt definierte Schnittstellen in das Objektmodell. Mit der integrierten Versionskontrolle unterstützt Automation Studio die Teamarbeit in der Objektorientierung. Die zuvor diskutierte Wiederverwendung von Objekten verkürzt die Entwicklungszeiten. Gezielte Eingriffe lassen sich in überschaubaren Einheiten einfacher testen und steigern so zusätzlich die Effizienz im Software-Engineering. Software maßgeschneidert Neben dem Anlagenbau, bei dem endkundenspezifische Ausprägungen üblich sind, verlangen zunehmend auch Kunden des Maschinenbaus nach immer individuelleren und auf ihre Bedürfnisse zugeschnittenen Maschinenlösungen. Diese Vielfalt an Optionen muss jedoch letztlich auch in der Software abgebildet und gewartet werden. Die OOP bietet mit Ableiten, Vererben und Erweitern, Möglichkeiten, diesen Anforderungen bestens gerecht zu werden. Ein vollumfängliches Objektmodell der Maschine erlaubt Erweiterungen an Maschinenfunktionen, ohne dass dabei bestehende Funktionsschnittstellen umfassend geändert werden müssen. C++ ist etabliert und anerkannt Die wohl bekannteste Sprache der OOP ist C++. Das hat seine Gründe: C++ existiert praktisch seit die Softwareindustrie begonnen hat, objektorientiert zu denken. Sie wurde mit dem Anspruch geschaffen, vollständig kompatibel zur Sprache \’C\‘ zu sein. Dadurch hat sie in die gesamte Welt der Embedded-Geräte Einzug gehalten. Für die Kunden von B&R ergibt sich daher die Möglichkeit, Know-how in bestehendem C++ Code auf einfache Weise auf den B&R Steuerungen wiederzuverwenden. Durch die Verfügbarkeit über Jahrzehnte haben sich neben der Sprachsyntax eine Unmenge an vorgefertigten Funktionen etabliert. Diese sind in der sogenannten Standardbibliothek zusammengefasst und stehen in Automation Studio zur Verfügung. Umfangreiche Standardbibliothek Die Standardbibliothek bietet viele praktische Funktionspakete. So gibt es beispielsweise ein mächtiges Funktionspaket zur Datenverwaltung mit Listen. Ein Listenelement kann dabei – OOP-like – ein ganzes Objekt sein. Doppeltverkettete Listen müssen nicht selbst programmiert werden, sondern stehen bereits fertig zur Verfügung. Produktverfolgungen in Maschinen und Anlagen lassen sich so mit geringem Aufwand implementieren. Weitere Pakete bieten hocheffiziente Suchfunktionen und Sortieralgorithmen, Numerik und Mengenoperationen. Die lange Verfügbarkeit der Sprache bietet aber auch noch einen weiteren entscheidenden Vorteil: Für fast jede erdenkliche Problemstellung gibt es sogenannte Design Patterns. Design Patterns zeigen in einer Art \’Best Practices\‘, Lösungen zur Problemstellung in Form eines fertigen Programmcodes. Zusätzlich gibt es für die Standard-Bibliothek und Design Patterns eine Unmenge an Literatur und freie Communities in diversen Foren. C++ in Echtzeit nahtlos integriert Bei der Einführung einer neuen Sprache wird in Automation Studio verstärktes Augenmerk auf größtmögliche Durchgängigkeit gelegt. C++ ist daher voll in das Echtzeit-Multitasking Betriebssystem der B&R Steuerungen integriert. Wie in jeder bei B&R integrierten Programmiersprache besteht uneingeschränkter Zugriff auf die Prozessvariablen der Maschine. Diese können neben einer Deklaration in C-Dateien auch in IEC-Syntax deklariert werden. C++ lässt sich in Kombination mit allen anderen Sprachen im Projekt verwenden. Dabei besteht Zugriff auf alle B&R-Bibliotheken. Es ist aber auch möglich, Bibliotheken in C++ zu schreiben und diese anschließend in den IEC-Sprachen (z.B. Kontaktplan) wiederzuverwenden. Für die volle Entfaltung in der objektorientierten Welt gibt es zusätzlich statische C/C++ Bibliotheken. Mit der C++ Unterstützung von Automation Studio steht damit das Tor zur objektorientierten Welt weit offen. Fazit Die Objektorientierung in der Automatisierung bietet elegante aber effektive Mittel, die steigende Modularität von Maschinen und Anlagen durch Wiederverwendung von Software zu beherrschen. Bei B&R ist die Integration von C++ klar definiert: C++ ist wie jede andere Programmiersprache nahtlos in das Echtzeitsystem integriert und kombiniert mit anderen Sprachen verwendbar. Der Zugriff auf die gesamte Infrastruktur im Echtzeitsystem gibt dem Anwender große Flexibilität in der Gestaltung seiner Maschinen- und Anlagensoftware.
Software effizient nutzen mit OOP
-
Mehr Speed mit IO-Link: 5 Praxistipps für Ingenieure
Wie Anwender das volle Potenzial smarter Sensoren ausschöpfen
IO-Link hat deutlich mehr zu bieten als die bekannten Vorzüge. Dieser Fachartikel zeigt mit Beispielen aus der Praxis, wie Anwender sämtliche Vorteile der digitalen Schnittstelle nutzen. Das funktioniert…
-
Deutsche Elektro- und Digitalindustrie: Erneutes Auftragsplus dank starker Auslandsnachfrage
Im April sind die wertmäßigen Auftragseingänge in der deutschen Elektro- und Digitalindustrie laut ZVEI weiter gestiegen.
-
Ulrich Leidecker in engeren ZVEI-Vorstand gewählt
Mit der Wahl auf der Mitgliederversammlung des ZVEI e.V., dem Verband der Elektro- und Digitalindustrie, am 21. Mai wirkt Ulrich Leidecker, COO von Phoenix Contact, jetzt im engeren…
-
Wirtschaftsleistung um 0,3% höher als im Vorquartal
Das Bruttoinlandsprodukt ist im 1. Quartal 2026 gegenüber dem 4. Quartal 2025 – preis-, saison- und kalenderbereinigt – um 0,3% gestiegen.
-
Produktion im April: +0,4% zum Vormonat
Die reale (preisbereinigte) Produktion im Produzierenden Gewerbe ist nach vorläufigen Angaben des Statistischen Bundesamtes (Destatis) im April gegenüber März saison- und kalenderbereinigt um 0,4% gestiegen.
-
Anzeige
Mehr Speed mit IO-Link: 5 Praxistipps für IngenieureWie Anwender das volle Potenzial smarter Sensoren ausschöpfen
IO-Link hat deutlich mehr zu bieten als die bekannten Vorzüge. Dieser Fachartikel zeigt…
-
Dezentrale Sicherheitsrelais in IP65
Weiterentwicklung in vollem Gange
Mit der Tethys IP65-Familie positioniert sich Zander Aachen als Brückenbauer zwischen bewährter, klassischer…
-
Auftragseingang im Verarbeitenden Gewerbe im April: -3,8% zum Vormonat
Der reale (preisbereinigte) Auftragseingang im Verarbeitenden Gewerbe ist nach vorläufigen Angaben des Statistischen…
-
Studie von Fluke: Digitale Reife deutscher Hersteller stagniert
Die Fluke Corporation hat Ergebnisse einer neuen Untersuchung zur digitalen Reife der Instandhaltung…
-
Erfolgreiche Österreich-Premiere
Ausstellerstarke All About Automation in Wels
Die erste Ausgabe der Messereihe All About Automation in Österreich war mit 268…
-
EBM-Papst eröffnet neuen Hightech-Standort in Rumänien
Am 2. Juni hat EBM-Papst einen neuen Standort im rumänischen Oradea offiziell eröffnet.
-
Ziehl-Abegg trauert um langjährigen Aufsichtsratsvorsitzenden
Ziehl-Abegg trauert um Uwe Ziehl. Der Unternehmer und langjährige Aufsichtsratsvorsitzende ist am 6.…
-
Importpreise im April: +5,3% gegenüber April 2025
Die Importpreise waren im April 2026 um 5,3% höher als im April 2025.
-
Neuer CEO bei Siemens Electrical Products
Siemens hat Markus Grabmeier mit Wirkung zum 1. Juni zum neuen CEO der…
-
Kontron präsentiert das High-End-3U-VPX-Board VX30101
Kontron hat das neue Kontron VX30101 angekündigt. Dieses 3U-VPX-High-End-Computing-Board der nächsten Generation wurde…
-
Neue Axia-Antriebsfamilie bei Bonfiglioli
Bonfiglioli hat die neue Axia-Antriebsfamilie, bestehend aus AxiaVert und AxiaAgile, vorgestellt. AxiaVert wurde…
-
Von der OT-Risikobewertung bis zum operativen Schutz
TXOne Networks stellt die Sennin-Produktfamilie vor.
-
Nach Land aufgeschlüsselte Elektroexporte im März
Die Exporte der deutschen Elektro- und Digitalindustrie sind im März erneut gestiegen.
-
Erfolgreiche Premiere von Eplan Next2026
Eplan Next2026 – das waren zwei Tage geballter Informationen rund um das Thema…
-
Neue Vorstandsvorsitzende der ABB in Deutschland
Der ABB-Aufsichtsrat hat Rosa Meckseper (Bild) zur neuen Vorstandsvorsitzenden der ABB AG bestellt.
-
Elektroexporte: Deutlicher Anstieg im ersten Quartal um 10,3%
Die Exporte der deutschen Elektro- und Digitalindustrie sind im März erneut gestiegen: Mit…
-
Wie ein Copilot die Wartung von S5- und S7-Steuerungen vereinfacht
KI für Bestandsanlagen
In vielen Fabriken laufen ältere Maschinen mit S5- oder klassischen S7-Steuerungen nach wie…
-
Auftragseingang im Maschinen- und Anlagenbau im Inland schwach
Für den Maschinen- und Anlagenbau aus Deutschland war der April ein Monat mit…
-
Strukturwandel im Mittelstand: Industriesektor schrumpft
Der deutsche Mittelstand hat sich in den Jahren seit 2010 tiefgreifend verändert.
das könnte sie auch interessieren
-
Künstliche Intelligenz
KI-Agent unterstützt weltweiten technischen Service
-
Zentrale Überwachung von Profibus- und Profinet-Netzwerken in einer einzigen Anwendung
Monitoringlösung unterstützt jetzt auch Profinet
















