Erschienen am: 30.10.2017, Ausgabe SPS-MAGAZIN 11 2017

Engineering-Daten mit AutomationML austauschen

Erleichterte Implementierung

Bei der Planung einer Anlage kommen Engineering-Tools für unterschiedliche Disziplinen zum Einsatz, z.B. für elektrisches Design, mechanisches Design, Software-Design oder für verschiedene Simulationen. Da ein wesentlicher Anteil des Entwicklungsaufwandes im Austausch von Daten zwischen diesen Tools besteht, gibt es einen Bedarf nach offenen und herstellerunabhängigen Formaten, welche den effizienten Datenaustausch ermöglichen. Ein solches ist AutomationML.


Layoutplanung & Materialflusssimulation
Bild: Tarakos GmbH

AutomationML speichert Engineering-Informationen objektorientiert und erlaubt die Modellierung von physikalischen und logischen Anlagenobjekten als Datenobjekte unter verschiedenen Aspekten.

XML als Basis

AutomationML basiert auf XML, kombiniert aber auch mehrere bereits vorhandene, ebenfalls XML-basierte Formate, die für die Speicherung und den Austausch von Anlagendaten verwendet werden. Für die Topologie und Struktur von AutomationML wird das Format CAEX verwendet. Es bildet die Grundstruktur, in der die Objekte hierarchisch strukturiert werden. Informationen zu Geometrie und Kinematik werden mit Collada eingebunden und für die Logik und Verhaltensbeschreibung kommt PLCopen XML zur Anwendung. Zusätzlich ist es möglich, weitere Dateiformate in AutomationML einzubinden. Deswegen eignet sich das Datenaustauschformat gut, um eine Schnittstelle zwischen verschiedenen Engineering-Tools herzustellen, schließlich kann das Datenformat alle relevanten Informationen abspeichern. Hilfreich ist dabei auch die Einbindung externer Dateiformate wie Collada und PLCopen XML. Dadurch ist es möglich, mit verschiedenen Tools Geometrie und Kinematik sowie das Verhalten einer Anlage zu beschreiben und trotzdem alle Daten aus einer Datei heraus zu referenzieren.

Entwicklung der Schnittstelle

Im Rahmen einer Bachelor-Arbeit in Kooperation zwischen der Hochschule Bochum und Mitsubishi Electric wurde der Datenaustausch zwischen Engineering-Tools in AutomationML mit einem Schnittstellenkonzept entwickelt und in einer Beispielanwendung realisiert. Die einheitliche Verknüpfung von Engineering-Software schafft die Voraussetzungen, um die genannten Ziele zu erreichen. Zu Beginn der Anlagenplanung wird die Geometrie in einem entsprechenden Tool modelliert (siehe Bild). Dabei werden den Komponenten (Ressourcen) ebenfalls die Prozesse bzw. Rollen zugeordnet. Darüber hinaus ist es für die Modellierung der Anlage hilfreich, den Materialfluss zu beschreiben. Nach dem Export aller relevanten Informationen in eine AutomationML-Datei wird automatisch Code generiert. Das erfolgt durch die Topologieinformationen der Anlage, die Funktionsbaustein-Bibliothek und die Ablaufbeschreibung der Anlage in AutomationML. In einem Engineering-Tool zur SPS-Programmierung kann der generierte Code daraufhin überprüft und ggf. angepasst werden. Nach der abschließenden Implementierung des Quellcodes zur Steuerung der Anlage kann der Quellcode als Verhaltensbeschreibung in der AutomationML-Datei gespeichert werden, in der ebenfalls die Topologie und Geometrie der Anlage beschrieben ist. Damit wären alle Informationen zur Anlage, bestehend aus Topologie-, Geometrie- und Verhaltensbeschreibung in einer Datei mit deren externen Referenzen gespeichert. Somit ist es möglich, die AutomationML-Datei erneut in ein Tool zur Simulation der Anlage einzulesen, welches ebenfalls eine Visualisierung der Kinematik unterstützt. Die Voraussetzung für eine virtuelle Inbetriebnahme ist eine genaue Abstimmung der Programme untereinander. Das Tool zur Geometrie- und Kinematikbeschreibung müsste alle in der Anlage verbauten Komponenten bis ins Detail beinhalten. AutomationML stellt hierfür ausschließlich eine einheitliche Schnittstelle zur Datenübertragung bereit.

Beispiel einer Implementierung

Um das Engineering mit AutomationML zu demonstrieren, erfolgte der Aufbau eines Anwendungsbeispiels im Materialfluss. Zur Veranschaulichung wurden zwei Fischertechnik-Förderbänder und eine SPS der Melsec-iQ R-Serie von Mitsubishi Electric verwendet. Mit den zwei Förderbändern ist es möglich, verschiedene Anwendungsfälle zu simulieren. Dazu erfolgte die Implementierung einer Funktionsbaustein-Bibliothek in der Programmiersprache Structured Text mit verschiedenen Funktionen eines einzelnen Förderbandes im Engineering Tool GX Works3. Um beide Förderbänder im Verbund zu verwenden, ist es möglich die Funktionsbausteine miteinander zu verknüpfen.

Layout und Visualisierung

Ein Tool zur Layoutplanung und Visualisierung einer Anlage wurde genutzt, um anhand von Bauteilbibliotheken eine Fertigungsanlage zu erstellen und die Anlagentopologie in eine AutomationML-Datei zu exportieren. Die Visualisierung zeigt zwei miteinander verbundene Förderbänder und eine Box, die transportiert wird. Nicht sichtbar, aber trotzdem virtuell vorhanden, sind die Beladestation sowie ein Roboter am Anfang der beiden Förderbänder, da dort die Bauteile von Hand aufgelegt werden können. Die Informationen zur Geometrie sind als Collada-Dokument mit den Schnittstellen in der AutomationML-Datei erstellt. Das einfachste Anwendungsbeispiel der beiden Förderbänder ist der reine Transport (Conveying). Dabei sollen beide Bänder kontinuierlich in eine Richtung laufen. Um das Anwendungsbeispiel Conveying/Conveying an den Fischertechnik-Förderbändern zu demonstrieren, wird die AutomationML-Datei in einen Prototypen der Firma Mitsubishi Electric eingelesen. Dieser Prototyp stellt die Schnittstelle zwischen AutomationML und dem Engineering Tool GX Works3 zur SPS-Programmierung her. Mit dem Prototypen ist es möglich, eine AutomationML-Datei einzulesen und über eine Schnittstelle auf das Engineering-Tool zuzugreifen, um dort Variablen zu erstellen oder Code zu generieren. In diesem Tool werden nach dem Einlesen der AutomationML-Datei die beiden Förderbänder mit ihren Rollen angezeigt.

Sortieren und aufreihen

Im Anwendungsbeispiel Sorting/Arranging sortiert das erste Förderband Bauteile nach ihrer Länge und das Zweite reiht diese Bauteile, falls sie lang genug sind, in gleichem Abstand auf. Das funktioniert so, dass die Bauteile an der linken Lichtschranke des ersten Förderbandes platziert und vermessen werden. Nachdem die Bauteile das Sortierkriterium erfüllt haben werden diese auf das zweite Förderband transportiert und dort mittels des Arranging-Algorithmus aufgereiht. Andernfalls werden die Bauteile nach links aussortiert. Um auch dieses Beispiel an den Fischertechnik-Förderbändern demonstrieren zu können, wird die AutomationML-Datei in den Prototyp von Mitsubishi Electric eingelesen. Die beiden Förderbänder erscheinen dort mit den entsprechenden Prozessrollen, da die verwendeten Rollen der Linear-Conveyor von der Standardrolle Ressource abgeleitet sind.

Zusammenfassung

Das Anwendungsbeispiel aus zwei Förderbändern und einem virtuellen Roboter demonstriert, wie die Programmierung von miteinander verbundenen Anlagenkomponenten in Zukunft unter der Verwendung von AutomationML ablaufen könnte. Der Implementierungsaufwand wird durch AutomationML deutlich erleichtert, auch wenn zurzeit die Verknüpfung der Komponenten sowie die Definition der Hardware-Adressen noch manuell erfolgen müssen.