RevPiDay 2019 – Präzise positionieren

Ladung vom Gabelstapler aus präzise positionieren, war das Thema von unserem Modell auf dem RevPiDay 2019 in Leipzig. Es handelt sich dabei um ein POC der Firma Willenbrock Fördertechnik GmbH & Co. KG*.

Problemstellung

Beladene Paletten , welche dem Fahrer die Sicht versperren, müssen sehr präzise einer Verarbeitungsanlage zugeführt werden. Der Fahrer bekommt auf sein Fahrzug ein Terminal installiert, auf dem er die Positionierungsanweisungen „schnurlos“ erhalten soll. Das Ausrichtungssystem der Anlage wird über ProfiNet mit unserem Revolution Pi verbunden. Über WLAN greift die Visualisierung des Terminals auf das Prozessabbild zu und kann den Fahrer leiten.

Umsetzung

Wir verwenden auf unserem RevPi RevPiPyLoad zum programmieren und um unser Prozessabbild über das Netzwerk zur Verfügung zu stellen. Dies ist wichtig für unser Terminal mit der grafischen Oberfläche und dem Raspberry Pi, der über WLAN verbunden ist.

Die Quelltexte findet ihr im Github: https://github.com/naruxde/revpi-revpiday2019
Hinweis: IP-Adressen müssen im Quelltext natürlich angepasst werden!

Unsere piCtory Konfiguration

Beachtet die symbolischen Namen, die wir später im Pythonprogramm verwenden, um auf die IOs zuzugreifen oder Diese mit anderen IOs ersetzen. Dadurch können mir mehrere Bytes zu bestimmten Datentypen zusammenfassen (inkl. Byteorder und mit/ohne Vorzeichen).

Einrichtung von RevPiPyLoad

Nach Installation und Einrichtung von RevPiPyLoad (zu sehen in unserem Schnellstart) verbinden wir uns über RevPiPyControl mit dem Revolution Pi.

Dort wählen wir unseren RevPi aus und gehen in den Entwicklermodus „PLC->PLC Entwickler“. In dem erweiterten Bereich wählen wir mit „Pfad wählen“ den Ordner aus, in dem sich die Quelltexte befinden.
In der gefüllten Liste wählen wir nun „praezipos_revpi.py“ aus und klicken auf „Nur hochladen“.

Nun gehen wir in die „PLC->PLC Optionen…“. Dort wählen wir bei „Python PLC Programmname“ einfach unsere Datei „praezipos_revpi.py“ aus. Da wir IOs in unserem Programm ersetzen werden und diese auch über das Netzwerk mit dem Terminal und dem Raspberry Pi teilen,  aktivieren wir bei „Replace IO Datei: Dynamische Datei des Steuerungsprogramms“ und setzen einen Haken bei „Schreibzugriffe in Arbeitsverzeichnis erlauben“.
Alles abspeichern und schon kann es losgehen! Das Programm sollte nun laufen.

PLC watch Modus

Da unser Programm nun ausgeführt wurde, sind die ersetzten IOs veröffentlicht. RevPiPyControl zeigt uns diese nun im „PLC watch Modus“ an.

Terminalprogramm

Wenn auf unserem Rechner Python3 und PyQt5 installiert sind (pip install PyQt5), können wir die Datei „praezipos_gui.py“ starten. Wir sehen dann unser Terminalprogramm.

Dieses Beispiel funktioniert natürlich nur, wenn die benötigte Hardware am RevPi verbaut ist und die symbolischen Namen richtig in piCtory vergeben sind. Diese findet man in dem Steuerungsprogramm „praezipos_revpi.py“.

Raspberry Pi

Der Raspberry Pi ist eine kostengünstige Alternative zum Terminal. Er zeigt über eine LED-Matrix (SenseHAT) die Positionierungsanweisungen an.

* Die Firma Willenbrock Fördertechnik GmbH & Co. KG ist Vertriebspartner der Linde Material Handling GmbH. Wir bieten unseren Kunden neben Gabelstaplern und Lagertechnikgeräten auch kundenspezifische digitale Lösungen für die gesamte Logistikwelt an.