Von einem effizienten Software-Engineering sind nicht nur die qualitative Entwicklung von Prozessfunktionen, sondern insbesondere die einfache Umsetzung von Kundenwünschen und die schnelle Verfügbarkeit von Maschinen in den Produktionsprozessen der Endkunden abhängig. Zur Verfügbarkeit trägt die ausgelieferte Maschinensoftware durch hohe Qualität, Diagnosefähigkeit und einfache Funktionserweiterung bei, und zwar von der Steuerung über die gesamte Peripherie bis zum HMI. Programmiernorm bildet die Grundlage Die IEC 61131-3 hat sich als normativer Standard zur SPS-Programmierung weltweit durchgesetzt. Mit ihr verfügen Maschinenbauern über eine wichtige Basis für die Zukunft – die Strukturierung von Maschinensoftware mit Hilfe definierter Sprachregeln, Datenstrukturen, Schnittstellen und Bausteinen. Damit etablierten sich Grundregeln in der Praxis, um Softwareprogramme übersichtlicher zu strukturieren, einfacher zu pflegen und die Code-Qualität insgesamt zu steigern. Entwicklern auf der ganzen Welt verstehen Maschinenprogramme auf Basis der IEC 61131-3 – unabhängig von den unterschiedlichen Maschinenprozessen, Automatisierungsgraden und regionalen Sprachen. Die Normkonformität wurde zwischenzeitlich von allen wichtigen Steuerungsherstellern in ihren Steuerungsprodukten verankert. Das macht sie zu einer Grundlage für den weitergehenden Fortschritt in der Fabrikautomation, die nicht mehr wegzudenken ist. Die herstellerübergreifenden Organisation PLC-open hat auf dieser Basis in den Folgejahren funktionelle Erweiterungen erarbeitet und standardisiert. Eines der wichtigsten Ergebnisse war die Definition von grundlegenden Funktionen für Motion Control aus der Sichtweise des SPS-Programmierers. Damit trug die PLCopen der Forderung von Anwendern Rechnung, Bewegungsfunktionen in Form verständlicher Funktionsbausteine herstellerneutral und wiederverwendbar abzubilden. Mit Erfolg, denn heute wird der Begriff PLCopen mit dem weltweit einzigen Sprachstandard für Motion Control gleichgesetzt – obwohl dieser nur ein Teilaspekt vieler Standardisierungsarbeiten dieser Organisation ist. Neue Wege der modularen Programmierung Damit haben in den vergangenen Jahren die wichtigsten Elemente und das Grundverständnis für eine effizientere Entwicklung von Maschinensoftware in der Industrie Einzug gehalten. Parallel machten sich für Maschinenhersteller und Steuerungshersteller aber auch andere Einflüsse zunehmend bemerkbar: Ursprünglich aus dem IT-Bereich und höheren Automatisierungsebenen kommend, zeigten die Abstraktionsmöglichkeiten der Hochsprachenprogrammierung, die sog. \’Programmiersprachen der dritten Generation\‘, neue Wege zur kompakten Beschreibung komplexer Prozessabläufe auf. Eines ihrer wichtigsten Elemente, die Objektorientierung, wurde deshalb folgerichtig in der unlängst verabschiedeten dritten Version der IEC 61131-3 über erweiterte Sprachelemente integriert. Migration zur objektorientierten Programmierung Für den Maschinenhersteller sind Begriffe wie Methoden (Funktionsroutinen), Interface (Schnittstellendefinition eines Satzes an Methoden), Objekte (Instanzen von Funktionsbausteinen) oder Klassen (Objekttypen) zunächst fremd. Die Vorteile dieser Konstrukte zeigen sich aber schnell durch die übersichtliche Kapselung funktioneller Abläufe, der leichten Änderbarkeit und Wiederverwendung sowie des insgesamt kompakteren Projektcodes. In Kombination mit den weltweiten Programmierstandards IEC 61131-3 erhielten Anwendern damit eine ideale Basis, um von der bisherigen funktionalen SPS-Programmierung zur objektorientierten Programmierung zu migrieren. Bewährtes Know-how als bestehender IEC-Code lässt sich weiter verwenden und schrittweise in eine modulare, objektorientierte Softwarearchitektur überführen. Heute stehen für die nächste Generation hochautomatisierter Produktionsanlagen und ihrer komplexen Software mächtige Engineering-Werkzeuge zur Verfügung, die alle wesentlichen Eigenschaften zur modernen Anwendungsprogrammierung enthalten. Maschinenhersteller können sich nun der Herausforderung stellen, das in Jahrzehnten entwickelte Prozess-Know-how in eine zukunftsfähige Softwarearchitektur zu überführen. Diese muss heute folgende Anforderungen erfüllen: – Einheitliche Projekt- und Programmstruktur – Hohe Modularität des Programmcodes zur Abstraktion und vereinfachten Abbildung komplexer Prozesse – Durchgängige Verwendung der heutigen Pro grammierstandards IEC 61131-3 (3rd Edition) und PLCopen als Basis – Hohe Wiederverwendbarkeit vorhandener Softwaremodule, bspw. zur Erstellung von Maschinenvarianten – Problemlose Anpassung und Erweiterbarkeit Template-basierte Projekterstellung Das \’Generic Application Template\‘ (GAT) von Bosch Rexroth steht Anwendern als Template-basierte Toolbox-Lösung zur Verfügung. Damit lassen sich die genannten Anforderungen an eine Softwarearchitektur, die auch für künftige Weiterentwicklung tragend ist, mit erheblich reduziertem Initialaufwand umzusetzen. Zu den Vorteilen von GAT zählt die geringe Einarbeitungszeit, die schnelle Verfügbarkeit eines direkt anwendbaren Maschinencodes für Motion-Logic-Anwendungen und die Flexibilität, um den unterschiedlichen Anforderungen an eine skalierbare Softwarestruktur Rechnung tragen zu können. GAT verfolgt den Grundgedanken, dass das Maschinenprogramm ein Modul oder mehrere funktionale Module zentral koordiniert. Das über Benutzervorgaben erstellte Projekt enthält alle elementaren Bestandteile für eine Maschinensteuerung. Sämtliche Code-Teile des Projekts sind offen zugänglich und über definierte Schnittstellen einfach zu ergänzen oder anzupassen. (Abb. 1) Zu den Grundfunktionen und Eigenschaften von GAT zählen insbesondere: – Initialisierung der Softwaremodule beim Pro- grammhochlauf und Herstellen der Betriebs- bereitschaft von Steuerung und angebunde- ner Peripherie – zentrale Statusmaschine zur Steuerung einer Maschine mit den bereits hinterlegten Betriebsarten \’Automatik\‘ oder \’Manual\‘ – alternative Verwendung dezentraler Status- maschinen für modulare Anlagenkonzepte – intelligente Aufteilung der verfügbaren Ressourcen in Form von Tasks und einstellbarer Zykluszeiten – durchgängiges Diagnosekonzept von der Er- kennung, über Reaktion und Diagnose bis zur Quittierung von Fehlern – Visualisierung zur Anzeige und Steuerung der Maschinenzustände Gemeingültige Basisfunktionen stehen dabei als geprüfter und vollständiger Software-Code zur Verfügung. Als eine der wesentlichen Eigenschaften sind Template- und Anwender-Code strikt voneinander getrennt. Zur Sicherstellung der Projekt- und Datenkonsistenz bei Änderungen in Programmen werden Betriebsarten, Zustandsmaschinen, Module und Antriebs-peripherie über eine zugriffsgeschützte Funktionsbibliothek ML_TechTemplate organisiert. Integrierte Motion Control Eine Besonderheit von GAT ist, dass die Motion Control-Funktionalität homogen integriert ist. Deshalb erfolgt der Zugriff auf Antriebsdaten über die offene Funktionsbibliothek ML_TechInterface, die unabhängig von GAT einsetzbar ist. Sie basiert auf den standardisierten Motion-Bausteinen der PLC-open und bündelt diese zu einer einfach zu verwendenden Datenschnittstelle in Form von Bausteinen und Strukturen. Gegenüber der Verwendung der Basis-Bausteine der PLCopen erfolgen Initialisierung, Kommandierung und Diagnosen eines Antriebs übersichtlich über ein Datenobjekt. Darüber hinaus stellt ML_TechInterface verwendungsfertige Visualisierungsmasken bereit, über die sich Anwender den entsprechenden Status von System und Achsen anzeigen lassen und Achskommandierungen ausführen können. Diese eignen sich insbesondere bei Erstimplementierung und Inbetriebnahme. (vgl. Abb. 2) GAT-Funktionen im Detail Um die Vorteile des modularen Software-Engineerings mit GAT vollständig zu nutzen, ist eine strukturelle Aufteilung der zu projektierenden Gesamtmaschine in funktionelle Teilmodule sinnvoll. Die projektspezifischen Eingaben nimmt der Anwender mit GAT über einen dialoggestützten Wizard vor, der die Projektelemente für Erstellung und Bearbeitung in übersichtlicher Form darstellt. Gleichzeitig führt der Wizard den Programmierer an die jeweiligen Stellen im Programmcode. (vgl. Abb. 3) Jedes Teilmodul im Projekt wird dabei als funktionale Einheit betrachtet, das über eine vordefinierte Moduldatenschnittstelle für Steuerung- und Statusinformationen mit anderen Modulen kommuniziert. Abhängig von der Zielanwendung können Anwender bei Projektierungsbeginn neben den vordefinierten Betriebsarten \’Automatik\‘ und \’Manual\‘ weitere Betriebsarten der zentralen Statusmaschine definieren. Auch hierbei erfolgen \’Hinzufügen\‘, \’Umbenennen\‘ oder \’Löschen\‘ über einen Dialog, der Programmcode wird entsprechend der in GAT hinterlegten Regeln automatisch nachgeführt. Jedes Teilmodul folgt dabei zunächst defaultmäßig der zentralen Statusmaschine, der Anwender kann die modulabhängige Zuordnung ändern. Die modulspezifischen Abläufe codiert der Anwender anschließend im vorbereiteten Applikationsrahmen. Zur Strukturierung und für mehr Transparenz lassen sich zudem bei komplexeren Prozessen hinter jeder Betriebsart Zustände hinterlegen. Auch dabei unterstützt GAT durch dialoggestütztes Hinzufügen von Zuständen und Bedingungen zwischen Zuständen (sogenannte Transitionen). (vgl. Abb. 4) In jedem Teilmodul des Projekts ist ein sogenannter Achs-Container \’Axes\‘ enthalten, über den alle in dem Modul verwendeten Achsen als Datenstrukturen organisiert sind. Über diese erfolgt die Adressierung zum Zugriff auf die im Projekt benötigten Achsinformationen. Hinzufügen, Umbenennen oder Bearbeiten einer Achse nimmt der Anwender auf Knopfdruck über einen Dialog im GAT-Wizard vor. Damit entfällt das zeitraubende und fehleranfällige Ausprogrammieren. Auf diese Weise ist es möglich, in der Anwendung entsprechende Eingangsvariablen des Bibliothekbausteins MB_AxisInterface einfach zu ändern und bspw. von Positionierung auf Synchronisation umzuschalten. Diagnose- und Statusinformationen stellt der Baustein über die vordefinierten Datenstrukturen bereit, um sie z.B. mit angebundenen Visualisierungen verwenden zu können. Das automatisierte Hinzufügen eines neuen Teilmoduls wird durch entsprechende Interaktion im Wizard-Dialog angestoßen. Dabei ist es möglich, auch neue Instanzen bestehender Module zu erstellen. Verwaltung und Aufruf der Teilmodule im Anwendungsprogramm erfolgen mit GAT automatisch über die Funktionsbibliothek ML_TechTemplate. Einzelne Module lassen sich dabei über ein einziges Bit deaktivieren. Das stellt bspw. für Inbetriebnahmen oder Maschinenvarianten einen sehr wertvollen Mechanismus dar. Zentrale Funktionen für Diagnose und Behandlung von Fehlern sind in GAT bereits integriert. Die aus unterschiedlichen Quellen stammenden Fehlerinformationen werden über die vernetzten Teilmodule an einem Funktionsbaustein im Projekt zusammengeführt. Über das entsprechende Status-Strukturelement stehen diese Informationen in der Anwendung bereit. Gleichzeitig veranlasst der GAT-basierte Programmcode bei auftretenden Fehlern entsprechend ihrer Kategorisierung eine automatische Behandlung und gegebenenfalls eine definierte Fehlerreaktion. Die geforderte Wiederverwendbarkeit entwickelter Module ist durch einfaches Exportieren und Importieren des Codes über den Projektexplorer im Engineering-Tool gewährleistet. Die Einbindung eigener GAT-basierter Maschinenprojekte als Template in den GAT-Wizard ermöglicht anwendungsspezifische Projekte auf Basis dieser Toolbox-Lösung. Zur Maschinenbedienung auf externen HMI-Geräten steht eine mehrsprachige Visualisierungsmaske zur Verfügung, die über \’Visualisierungen\‘ im GAT-Wizard eingebunden wird. Diese Maske besteht aus den Bereichen Kopfzeile mit Statusinformationen, Hauptbildbereich mit menüabhängigen Anzeigen und Funktionstasten sowie einer Fußzeile mit Tasten zur Bedienbildumschaltung. Änderungen und Erweiterungen können Anwender über das entsprechende HMI-Tool durchführen. Fazit Die heute verfügbaren Programmierstandards IEC 61131-3 3rd-Edition und PLCopen schaffen die optimalen Voraussetzungen zur Entwicklung modularer Maschinensoftware. Die damit gemachten Erfahrungen in der Automatisierung unterschiedlicher Anwendungen sind frühzeitig in die Entwicklung von GAT eingeflossen. Auf dieser Grundlage leistet die Template-basierende Projekterstellung einen wertvollen Beitrag für das zeit- und kostensparende Software-Engineering in der Fabrikautomation. Basierend auf definierten Schnittstellen und klarer Strukturierung des mit GAT erstellten Projektcodes gewinnen Anwendungsprogramme an Kompaktheit und Übersichtlichkeit. Zusätzlich erhöhen sich Transparenz und Qualität während der Codierung, um die Pflege umfangreicher Anwendungssoftware z.B. in Projektteams sicherzustellen. Zudem können Hersteller Maschinenvarianten flexibler und einfacher erstellen sowie kundenspezifische Anforderungen schneller umsetzen.
Effizient Programmieren mit automatischer Codegenerierung
-
Workshop ebnet produzierenden Unternehmen den Weg zur Smart Factory
KI in der Praxis
Smart Manufacturing verlangt nach konkreten Projekten. Ein Workshop zeigt praxisnahe Wege zur Smart Factory auf.
-
Vorsprung im Packaging
Automatisierungstechnik von Beckhoff ermöglicht die effiziente Entwicklung ressourcenschonender Verpackungsmaschinen, verkürzt Konstruktionszeiten und senkt Kosten – für innovative Lösungen und nachhaltige Produktionsprozesse.
-
Bomag standardisiert die Elektrokonstruktion von mobilen Arbeitsmaschinen
Der Kabelbaum als digitaler Zwilling
Kabelbäume zählen zu den aufwendigsten Baugruppen mobiler Maschinen – und entstehen in vielen Unternehmen noch immer erst spät im Entwicklungsprozess. Bomag hat diesen Ablauf grundlegend verändert: Mit Eplan…
-
Modulare I/O-Systeme werden zur Architektur hinter moderner Produktion
Vom Anschlusspunkt zur Dateninfrastruktur
Industrielle Steuerungssysteme werden nicht mehr durch zentralisierte Logik und starre Architekturen bestimmt, sondern entwickeln sich zu dezentralen, datengesteuerten Systemen, die zunehmend davon abhängen, wie Informationen durch das System…
-
Führungswechsel bei der OI4 Alliance
Die Open Industry 4.0 Alliance stellt seine Führung um: Ab Juli übernimmt Michael Riester (l.), Industrieexperte und seit 2019 Mitglied der OI4 Alliance, die Position des Managing Directors.
-
Platzsparende Antriebstechnik für die Verpackungsindustrie
Effizient, robust und kompakt
In der Lebensmittel- und Getränkeproduktion ist der Platz meist begrenzt. Daher ist bei…
-
Anzeige
Vorsprung im Packaging
Automatisierungstechnik von Beckhoff ermöglicht die effiziente Entwicklung ressourcenschonender Verpackungsmaschinen, verkürzt Konstruktionszeiten und senkt…
-
Sensorbasierte Echtzeitüberwachung des Schmierungszustands
Das Lager wird zum Sensor
Lagerschäden werden mit klassischer Sensortechnologie typischerweise erst in einem bereits fortgeschrittenen Stadium erkannt,…
-
Nachgefragt: Wie weit die Industrie bei Umsetzung, Security und Compliance ist – Teil 1
Maschinenverordnung 2027: Die Zeit läuft
Der Countdown läuft: Am 20. Januar 2027 wird die EU-Maschinenverordnung 2023/1230 verbindlich. Doch…
-
Cobots bringen mehr Effizienz in die EMS-Fertigung
Bestückung neu gedacht
Mit Cobots lassen sich auch komplizierte Prozesse teilautomatisieren, etwa die Bestückung von Leiterplatten…
-
Neue Ansätze und Geschäftsmodelle für zirkuläre Fluidtechnik
Mehr als nur nachhaltig
> Neue Ansätze & Geschäftsmodelle für zirkuläre Fluidtechnik. Bürkert unterstützt Transformationsprozess mit Lösungen…
-
Assistenz für reproduzierbare Fertigungsschritte
Digitale Ordnung statt Papierstapel
Auch wenn viele Produktionen hochautomatisiert sind, spielt sich ein entscheidender Teil der Wertschöpfung…
-
Messevorschau Sensor+Test 2026
Starkes Rahmenprogramm auf dem Branchentreffpunkt
Die Sensor+Test 2026 bietet ein umfassendes Rahmenprogramm mit Fachforen und Kongressen. Besucher erhalten…
-
Erfassung analoger Signale
Analoges Mixmodul
Das analoge Mixmodul AM 821 aus der S?Dias?Serie von Sigmatek kombiniert acht analoge…
-
Was wurde eigentlich aus …
SafetyBridge Technology von Phoenix Contact?
In der Titelstory des SPS-MAGAZINs 5/2016 ging es unter dem Titel: ‚Die SafetyBridge…
-
Rovema macht mit ctrlX Automation seine Maschinen zukunftssicher
Technologisch flexibel und strategisch unabhängig
Automatisierung bedeutet heute mehr als präzise Bewegungsabläufe. Um zukunftsfähige Maschinen zu entwickeln und…
-
Kompakte S7-Steuerung mit Touchpanel
Die Jedermanns-SPS
Kompakte Panel-SPS-Lösungen mit integrierter Steuerung und I/Os ermöglichen den wirtschaftlichen Ersatz klassischer Handbedienelemente,…
-
Webbasiertes Engineering-Tool als Designer für die schaltschranklose Automatisierung
„Wir vereinfachen die Umsetzung drastisch“
Der neue MX-System Designer von Beckhoff ermöglicht strukturierte und technisch validierte elektrische Auslegung…
-
Integrierte Kompaktantriebe ermöglichen schaltschranklose Maschinen
Es geht auch ohne Einspeisemodul
Dezentrale Servomotoren kommen häufig bei räumlich verteilten Einzelachsen zum Einsatz. Die im Motor…
-
Embedded-PC für Edge Computing
Der Embedded-PC DX-1300 von Spectra wurde entwickelt um den steigenden Bedarf an Echtzeitdatenverarbeitung…
-
Einsatz des digitalen Zwillings steigt
Das Industrie-4.0-Barometer von MHP und der LMU zeigt: Industrieunternehmen setzen immer mehr Industrie-4.0-Technologien…
-
Über 200 Artikel
Bedienen und Signalisieren
Mit einem umfangreichen Systembaukasten präsentiert Phoenix Contact neue Lösungen für das Bedienen und…
-
Für Ex-Bereiche
Magnetfreier IE6-Motor
ABB bietet einen IE6 Hyper-Efficiency-Motor anbietet, der nach Atex- und IECEx-Anforderungen für den…
-
Für Rechenzentren
Direct-to-Chip-Flüssigkühlung
Der steigende Einsatz von Künstlicher Intelligenz (KI), High-Performance-Computing (HPC) und beschleunigten Workloads führt…
-
Hohe Untersetzungen und Präzision
Kombinationsgetriebe
Dunkermotoren stellt mit den neuen WG-Kombinationsgetrieben eine wirtschaftliche Lösung für Anwendungen vor, die…
















