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
-
Bietet IE5-Wirkungsgrad
Induktionsmotor
WEG hat den W22 Prime auf den Markt gebracht, die nächste Generation seiner W22-Induktionsmotorenreihe.
-
Erfolgreicher Pharma Tech Talk von Pepperl+Fuchs
Am 1. und 2. Juli brachte Pepperl+Fuchs in Mannheim Experten aus der Pharma-, Life-Science- und der Automatisierungsbranche zusammen.
-
Erfolgreiche Veranstaltung von Gemü, IHK & VDMA
Gemü setzte mit der IHK Heilbronn-Franken und dem VDMA bei einer gemeinsamen Veranstaltung Impulse zu denThemen industrielle Datenräume und digitaler Produktpass.
-
Endress+Hauser eröffnet zwei neue Gebäude in den USA
Endress+Hauser hat zwei neue Vertriebsgebäude in den USA eröffnet.
-
Neue Doppelspitze am Fraunhofer FKIE
Prof. Christoph Igel ist mit Wirkung zum 15. August zum Institutsleiter des Fraunhofer-Instituts für Kommunikation, Informationsverarbeitung und Ergonomie FKIE berufen worden.
-
Für 24V-Anwendungen
Unterbrechungsfreie Stromversorgung
Weidmüller erweitert das Portfolio um die unterbrechungsfreie Stromversorgung Duramax.
-
Für Bahn-Anwendungen
Kabeldurchführungen aus TPE
Kabeldurchführungs-Systeme werden nach den strengen branchenspezifischen Normen geprüft und zertifiziert.
-
Schlüsselkomponente für IEC61800-5-2-konforme Antriebssysteme Sicherheitszertifizierte Drehgeber
Funktionale Sicherheit im Maschinenbau beginnt nicht im Antrieb, sondern am Sensor.
-
Für Rechenzentren, Edge-Umgebungen und Enterprise-IT
Gemanagte Rack-Stromverteilung
Panduit gibt den Produktlaunch der ES2P Power Distribution Unit bekannt, eine gemanagte Rack-PDU,…
-
Neue Automation-Einheit bei Siemens
Rainer Brehm übernimmt Leitung
Siemens stärkt sein Automatisierungsgeschäft und bündelt dazu die bisher vier Geschäftsbereiche in einer…
-
Ifo-Umfrage
Unternehmen erwarten eher sinkende Löhne durch KI-Einsatz
Viele Unternehmen in Deutschland erwarten durch den Einsatz von Künstlicher Intelligenz eher sinkende…
-
Zur Modernisierung von Werkzeugmaschinen
Bügelclips für Energieketten
Wollen Konstrukteure von Werkzeugmaschinen bei einer Modernisierung größere Schläuche einsetzen, erfordert das häufig…
-
Mit 8-poligem M12-Anschluss
Not-Halt-Schalter
Georg Schlegel erweitert seine Baureihe Shortron Connect um drei neue Not-Halt-Geräte mit 8-poligen…
-
… den aktiven Verteilern und Passivverteilern von Bihl+Wiedemann?
Unter dem Titel ‚Sichere Sache‘ stellte Bihl+Wiedemann in der Titelstory der Ausgabe 7/2016…
-
Geschäftsführerwechsel bei Alphitan
Alphitan gibt im 25. Jubiläumsjahr der deutschen Tochtergesellschaft Antecs einen Wechsel bekannt: Geschäftsführer…
-
Neue Fachmesse: All About Electronic Solutions
Mit der All About Electronic Solutions startet Easyfairs eine neue Messereihe.
-
Steuerungstechnik
SPS ermöglicht dezentrale Echtzeitkommunikation über CAN UDS
Die Arcon-SPS ist eine IEC61131-kompatible Steuerung für räumlich verteilte Automatisierungssysteme.
-
Inlandsbestellungen ziehen kräftig an
Elektroindustrie mit Auftragsplus zur Jahresmitte
Im Juni verzeichnete die deutsche Elektroindustrie ein Plus von 13,3% gegenüber dem Vorjahr…
-
Auch Importe gestiegen
Exporte im Juni lagen bei +0,9%
Im Juni sind die deutschen Exporte gegenüber Mai kalender- und saisonbereinigt um 0,9%…
-
Industrielle Kommunikation
Mobilfunkmodule bringen 4G und 5G auf den Raspberry Pi
Spectra erweitert mit der Calyx Embedded Modul Serie Raspberry Pi 4 und Raspberry…
-
Drehzahl- und Positionssensor
Drehgeber kombiniert Positionsmessung und Zustandsüberwachung
Lenord+Bauer erweitert sein Portfolio digitaler MiniCoder um eine Variante mit serieller Schnittstelle für…
-
Drehzahl- und Positionssensor
Drehgeber kombiniert Positionsmessung und Zustandsüberwachung
Lenord+Bauer erweitert sein Portfolio digitaler MiniCoder um eine Variante mit serieller Schnittstelle für…
-
Neuer Muttertyp sorgt für mehr Leistung
Bosch Rexroth erweitert die Performance Line seiner Kugelgewindetriebe um eine Lösung für vertikale…
-
Flexible Ethercat-Architektur
Der duale Ansatz von Dunkermotoren bei der Ethercat-Architektur ermöglicht es OEMs, die Antriebsarchitektur…
-
Physical-AI an der Edge
Das applikationsfertige Modul aReady.COM Conga-HPC/cRX1 mit AMD Ryzen AI Embedded X100 Series Prozessoren…
















