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
-
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…
-
Zustandsüberwachung durch intelligente Getriebe und smarte Services
Teure Schäden vermeiden
Mit dem Serviceprodukt Predictive Pack zur digitalen Überwachung von Antriebssträngen und verbundener Komponenten hat das Unternehmen Koch Pac-Systeme bei einem Kunden unlängst einen teuren Produktionsausfall vermeiden können. Die…
-
Neuer Vorstand für VDMA Elektrische Automation
Der VDMA Elektrische Automation hat im Rahmen seiner Mitgliederversammlung am 16. Juni in Bad Nauheim einen neuen Vorstand für die Amtsperiode 2026 bis 2030 gewählt.
-
Mit hohem Abschirmfaktor
EMV-Schutzschläuche
Moderne Produktionsanlagen sind auf eine störungsfreie Signal- und Datenübertragung angewiesen.
-
Vibrationssensor mit In-Sensor-KI
STMicroelectronics hat den intelligenten Vibrationssensor IIS3DWB10IS für industrielle Zustandsüberwachung vorgestellt.
-
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…
-
Flexible Planetengetriebe-Familie
Die Getriebebaureihe GPT von Faulhaber wurde für besonders hohe Drehmomente entwickelt.
-
IoT-Device-Management gemäß CRA
Die Gateways von IoTmaxx werden als gehärtete Industrieplattformen für den Einsatz in rauen…
-
Sichere industrielle Kommunikation
Robuste und sichere Routergeneration
Mit dem Moros.neo stellt Insys Icom eine neue Generation industrieller Router für Anwendungen…
-
Kompakter Embedded-PC mit Core Ultra 9
Der PicoSys 4619 ist ein kompakter, aktiv gekühlter Embedded-PC für den Einbau in…
-
Erfolgreiches erstes Messehalbjahr der All About Automation
Die All About Automation Messereihe hat im ersten Halbjahr 2026 ihre starke Entwicklung…
-
Root-Cause-Analyse thermischer Probleme
In einem gemeinsamen Projekt haben Iba und Ametek Land die Integration von Land-Wärmebildkameras…
-
Digitaler Zwilling als Integrationsplattform für Bestandsdaten
Automatisierung und Energieeffizienz intelligent vernetzt
In vielen Bestandsanlagen besteht heute eine deutliche Kluft zwischen moderner Automatisierungstechnik und der…
-
Antrieb
Für hohe Lastspitzen und Anlaufmomente
Mit den neuen Peak Power Drives erweitert KEB Automation sein Antriebsportfolio um eine…
-
Was wurde eigentlich aus…
Was wurde eigentlich aus… dem Wireless-Handbediengerät von Sigmatek?
In der Titelstory des SPS-MAGAZINs 6/2016 ging es unter dem Titel ‚Völlig losgelöst’…
-
IPC
3HE-Rack-PC für Echtzeit- und KI-Anwendungen
Mit dem Spectra Rack 3000 R7 erweitert Spectra sein Portfolio industrieller 19″-Rack-PCs um…
-
Prüfung von elektrischen Überlastsicherungen und Rutschkupplungen
Kettenzugprüfset mit neuem Handanzeiger
Wika hat sein Kettenzugprüfset FRKPS zur Prüfung von Rutschkupplungen und elektrischen Überlastsicherungen überarbeitet.
-
Bestellen wie ein Pro:
Neues Loyalitätsprogramm bei Conrad
Einfach nur Distributor zu sein, das reicht Conrad Electronic nicht.
-
Maßgeschneiderte 3D-Sensorik für die Inline-Inspektion
Präzision für die KI-Ära
Der weltweite KI-Boom bringt immer größere und schwerere Elektronikbauteile hervor, sodass Inspektionssysteme mittlerweile…
-
System zur Farbmessung von Flüssiglacken
Farbecht
Provitec und Micro-Epsilon haben gemeinsam das Messsystem Prodaisi Color Sensorsystem entwickelt. Dieses löst…
-
Cybersecurity für vernetzte Produkte
CRA-Compliance in der Praxis: So gelingt der Weg zur Cyberresilienz
Viele Unternehmen haben sich noch nicht ausreichend auf die Veränderungen eingestellt, die der…
-
Nachgefragt: Wie MVO und CRA Produkte, Prozesse und Geschäftsmodelle verändern (Teil 2)
Maschinenverordnung 2027: Jetzt wird es konkret
Die neue EU-Maschinenverordnung verändert nicht nur die Konformitätsbewertung, sondern wirkt tief in Entwicklung,…
-
CodeMeter-Ökosystem
Softwareschutz und Lizenzierung erweitert
Mit CodeMeter 9.00 und der CodeMeter Protection Suite 11.80 stellt Wibu-Systems neue Versionen…
-
Für vernetzte Fertigungslinien
Mehr Transparenz und Sicherheit in der Liniensteuerung
Mit Version 5.5 seiner Leitrechnerlösung FabEagle erweitert Kontron AIS die Funktionen für Rückverfolgbarkeit,…
















