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
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.
Die Projektwebseite des Instituts enthält weitere Details, wie eine Fotodokumentation des Aufbaus mit verschiedenen Demovideos, darunter über den Demomodus sowie der Funktionsweise des Probekörpermagazins.
Das Projekt ist vollständig open-source, d.h. es stehen alle Ressourcen zur Verfügung, um den Praktikumgsstand weiter zu entwickeln und nachzubauen. Die relevanten Git-Repositories sind auf der Projekt-Homepage verlinkt.
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.