Am Institut für Automatisierungstechnik (Lehrstuhl für Automatisierungstechnik) an der Technischen Universität Dresden ist im Rahmen der Ausbildung für Studierende der Automatisierungstechnik (Elektrotechnik) ein Praktikumsstand entwickelt worden. Im Praktikum können Inhalte der SPS-Programmierung nach IEC 61131 sowie der Bewegungssteuerung nach PLC Open vermittelt werden. Im Rahmen der Forschung diente der Praktikumsstand bereits zur Validierung der Anlagenmodellierung mittels Industrie 4.0-Verwaltungsschalen (siehe I4.0-IDE-Projekt) sowie zur Validierung des UIMDF.
Zur originalen Projektwebseite Notiz: Die Originalwebseite ist leider offline.
Kurzvorstellung
Inhaltlich besteht der Versuch darin verschiedene Probekörper, die durch ein Magazin abgegeben werden, auf einem Förderband zu transportieren, sie durch Farbsensor und Lichtschranke zu erfassen, mit einem Drei-Achs-Roboterarm aufzunehmen und auf dafür vorgesehene Ablageplätze zu sortieren. Die Schwierigkeit liegt hierbei unter anderem darin beim Aufnehmen des Probekörpers den Roboterarm in Längsrichtung des Förderbands mit dem Probekörper zu synchronisieren, sodass eine Relativgeschwindigkeit von Null vorhanden ist. Wird diese Bedingung nicht eingehalten, führt dies zum Verschieben oder Kippen der Probekörper auf dem Band sowie zum Fehlschlag des Versuchs.
Je nachdem, welche weiteren Randbedingungen bzgl. der Sortierung gewählt werden, können verschiedene Szenarien von industriell relevanten Maschinen simuliert werden: Werden auf den Ablageplätzen eine bestimmte Anzahl von Probekörpern in einer bestimmten Anzahl gefordert, entspräche dies einer Verpackungsstation. Werden bestimmte Farben in beliebiger Reihenfolge aussortiert, entspäche dies einer Station zur Qualitätssicherung, in der entweder alle Gutteile aussortiert werden und die Schlechtteile in den Ausschussbehälter transportiert werden, oder in der Schlechtteile ggf. zur Nacharbeit aussortiert werden.
Bei geeigneter didaktischer Aufbereitung können in verschiedenen Praktikumsversuchen nicht nur einfache Konzepte der Bewegungssteuerung vermittelt werden:
Aufgrund der Tatsache, dass die PLCopen-Funktionsbausteine für die Bewegungssteuerung zeitkontinuierliche Prozesse (die eigentliche Bewegung) auf ereignisdiskrete Prozesse (Events für Start und Beendigung einer Bewegung) zurückführen, lassen sich auch Konzepte deterministischer endlicher Automaten vermitteln. Weiterhin können Versuche bzgl. der Antriebsparametrierung realisiert werden, bzgl. Sicherheitsgerichteter Steuerung bzw. Hardware-orientierter Sicherheitseinrichtungen (Not-Halt/Not-Aus, Safe-Torque-Off), übergeordneter Steuerungen und Kommunikation mittels OPC UA, User Interfaces bzw. HMI, Feldbussen (Sercos 3, Profinet, CAN) uvm.
Bzgl. der bereits realisierten Steuerungssoftware, die die derzeit verfügbaren Funktionalitäten innerhalb der verbauten Steuerung realisiert, sind weitere Besonderheiten erwähnenswert:
So enthält die entwickelte 61131 Bibliothek namens MCS_lib einen Abstraktionslayer für die PLCopen Bewegungssteuerung. Hiermit ist es möglich auch Antriebe anzusteuern, die nicht von sich aus die bekannten Bewegungsprimitive des PLCopen-Standards realisieren, mittels derselben Motion-Funktionsbausteiene anzusteuern. Hierzu wurden für die in der Anlage verbauten Antriebe der Firma Bosch Rexroth (klassische Motion-Funktionalität), aber auch für den Stepper-Controller der Firma Wago ( Typnr. 750-673) sowie für CAN-Servos der Firma Hitec am Beispiel des Servomotors MD950TW-CAN, entsprechende Treiber implementiert.
Des Weiteren wird in der Steuerung eine Layer-basierte Architektur realisiert, die sich auch auf andere komplexe Anlagen übertragen lässt sowie eine Implementierung für Aktivitätsgraphen, mit der diverse Nachteile von Sequential Function Charts ausgeglichen werden können. So lassen sich mittels einer Objektstruktur Aktivitäten modellieren, die in Form einzelner Schritte folglich auch in der OPC UA API der Steuerung repräsentiert werden können sowie auch Metafunktionalitäten bereitstellen, die es bspw. ermöglichen die gesamte Aktivität zurückzusetzen.
Erstinbetriebnahme
Erstmals im März 2022 wurde die Anlage im Gesamtzusammenhang in Betrieb genommen. Dazu wurde der interaktive Demomodus konzipiert und implementiert. Dieser sieht vor, dass das Grundkonzept der Anlage umgesetzt wird, d.h. die Sortierung von Probekörpern anhand ihrer Farbe auf den Ablageplätzen durch den Roboterarm. Das Video erläutert die Funktionsweise und die möglichen Nutzerinteraktionen.
Open Source Repositories
Das Projekt ist vollständig open-source, d.h. es stehen alle Ressourcen zur Verfügung, um den Praktikumgsstand weiter zu entwickeln und nachzubauen. Folgende versionierte Projekte sind in der GitLab-Gruppe
- CAD-Modell public : Hier wird das 3D CAD (Computer Aided Engineering) Modell der Anlage gepflegt. Es basiert auf Solidworks 2020 SP3.
- Elektroplanung public : Hier finden sich neben einer Liste der elektrischen/elektronischen Betriebsmittel mitsamt einer eindeutigen Bezeichnung die Netzliste, Anschlussübersichten sowie Stromlaufpläne.
- Software public : Hier wird die Steuerungssoftware auf Basis von CodeSys v3.5 und IndraWorks 14 gepflegt. Ein großteil relevanter Funktionalitäten ist in wiederverwendbaren Bibliotheken realisiert. Außerdem wird hier der Quellcode aller steuerungsnahen Komponenten, wie angeschlossene Mikrocontroller, sowie die exportierten Konfigurationsdaten.
- Gateway Container public : Hier wird ein Docker-Image für die Bereitstellung auf dem integrierten industrial Raspberry Pi gepflegt, welcher mittels seines HDMI-Ports als lokales HMI sowie als OPC UA Gateway für extern verfügbare APIs dient.
- Human Machine Interface public : Hier wird die HMI-Anwendung versioniert, die im Gateway-Container installiert wird.
- MCS Webpage public : Dies ist das Repository für die originale Projekt-Webseite inklusive der eingebundenen Medien.
- MCS-digital-twin public : Ein digitaler Zwilling der Anlage in Form von AAS aus Basis der Werkzeuge von Lukas Baron.