Postprozessoren sind ein wichtiger Schritt in der Offline-Programmierung, da sie die Flexibilität bieten, jede Robotersteuerung zu unterstützen. Ein Roboterpostprozessor definiert, wie Roboterprogramme für eine bestimmte Robotersteuerung erzeugt werden müssen.
Das Umwandeln von einer RoboDK-Simulation in ein bestimmtes Roboterprogramm erfolgt durch einen Postprozessor. Jedem Roboter ist standardmäßig ein Postprozessor zugeordnet. Der Postprozessor wird verwendet, wenn das Programm offline erstellt wird, wie im Abschnitt Programm generieren gezeigt(durch Rechtsklick auf ein Programm und anschließendes Auswählen von Roboterprogrammen).
RoboDK wird mit vielen Postprozessoren geliefert, die unterschiedliche Robotersteuerungen unterstützen, die im Abschnitt Verfügbare Postprozessorenaufgeführt sind. Alternativ ist es möglich, selbst einen angepassten Postprozessor zu erstellen oder einen vorhandenen Postprozessor zu modifizieren. Alle verfügbaren Postprozessoren befinden sich im Ordner:
C:/RoboDK/Posts/
Ein Postprozessor ist eine PY-Datei (jeder Postprozessor wird durch ein Python-Skript definiert). Es ist möglich, Dateien in den Posts Ordner von RoboDK manuell einzufügen, zu ändern oder zu löschen. Wenn Sie einen RoboDK-Postprozessor (PY-Datei) erhalten haben, sollte dieser in den Posts-Ordner abgelegt werden, um ihn aus RoboDK auswählen zu können.
In diesem Abschnitt erfahren Sie, wie Sie einen Postprozessor auswählen, bearbeiten oder erstellen können und ihn in RoboDK mit Ihren Robotern verwenden. Eine kurze Einführung ist im folgenden Video verfügbar: https://www.robodk.com/help#PostProcessor
Um einen bestimmten Postprozessor auszuwählen gehen Sie wie folgt vor:
1.Klicken Sie mit der rechten Maustaste auf einen Roboter oder ein Programm:
2.Wählen Sie Einen Postprozessor auswählen
3.Wählen Sie einen Postprozessor aus der Liste aus
4.Klicken Sie OK.
Die Änderung wird jetzt angewendet und das Programm kann erneut generiert werden, um das Ergebnis zu sehen.
Alternativ ist es auch möglich, einen Postprozessor auszuwählen, indem Sie folgende Schritte ausführen:
1.Öffnen Sie das Roboter Panel (doppelklicken Sie auf einen Roboter)
2.Wählen Sie Parameter
3.Wählen Sie den gewünschten Postprozessor im Feld Robotermarken aus, wie es in der folgenden Abbildung dargestellt ist.
Es ist möglich, vorhandene Postprozessoren zu ändern oder neue Postprozessoren zu erstellen. Postprozessoren müssen in den Ordner C:/RoboDK/Posts/ abgelegt werden, damit sie in RoboDK ausgewählt werden können. Im vorherigen Abschnitt wurde beschrieben, wie Sie einen bestimmten Roboter mit einem Postprozessor verknüpfen können.
Jeder Postprozessor ist eine PY-Datei. Es ist möglich, die Datei umzubenennen oder Dateien in den Ordner C:/RoboDK/Posts/ zu kopieren, um verschiedene Postprozessoren zu nutzen. Um ein vorhandenes Postprozessor-Skript zu löschen, löschen Sie einfach die entsprechende PY-Datei im Posts Ordner.
Postprozessoren können mit einem beliebigen Texteditor oder einem Python-Editor (Python IDLE) bearbeitet werden. Mit dem Python-Editor können Sie schnell ein Beispielprogramm Datei debuggen und auswerten.
Python sollte installiert werden, um die Postprozessoren ordnungsgemäß zu testen und zu verwenden (Python wird standardmäßig mit RoboDK installiert).
Um einen existierenden Postprozessor zu bearbeiten gehen Sie wie folgt vor:
1.Wählen Sie Programm➔ Postprozessor hinzufügen/bearbeiten
2.Wählen Sie einen bestehenden Postprozessor
3.Wählen Sie OK. Ein Texteditor und ein Programm öffnen sich.
4.Wählen Sie Ausführen➔Modul ausführen(F5) um eine Vorschau zu erhalten. Nehmen Sie gegebenenfalls Änderungen vor..
Alternativ ist es möglich, einen Postprozessor manuell zu bearbeiten:
1.Wechseln Sie zum Postprozessordner: C:/RoboDK/Posts/
2.Öffnen Sie eine PY-Datei mit Python IDLE (Rechtsklick ➔ Mit IDLE bearbeiten) oder einem anderen Texteditor
3.Nehmen Sie die gewünschten Änderungen vor
4.Führen Sie die Datei aus, um das Ergebnis zu testen: Wählen Sie Ausführen➔Modul ausführen (alternativ F5) via Python IDLE aus.
Alternativ ist es möglich, diese Datei mit einem Texteditor zu bearbeiten und mit Python durch Doppelklick auszuführen.
In diesem Abschnitt wird gezeigt, wie Sie kleine Änderungen für einen vorhandenen Postprozessor vornehmen.
Als Beispiel werden die folgenden 3 Änderungen am bestehenden KUKA KRC4 Postprozessor vorgenommen:
●Überschreiben Sie die maximale Geschwindigkeit auf 500 mm/s. Selbst wenn der Roboter so programmiert wird, dass er sich schneller bewegt, ist die Geschwindigkeit im Postprozessor somit auf 500 mm/s begrenzt.
●Generieren Sie jedes Programm als separate Datei und beschränken Sie die Programme auf maximal 3000 Codezeilen. Große Programme werden dadurch in kleinere Programme unterteilt und nacheinander aufgerufen
Der vorherige Abschnitt zeigt, wie Sie einen vorhandenen Postprozessor zur Bearbeitung öffnen:
1.Wählen Sie Program➔Postprozessor hinzufügen/ändern
2.Wählen Sie KUKA_KRC4
3.Wählen Sie OK. Der Postprozessor wird im IDLE-Editor von Python angezeigt.
In den folgenden Abschnitten wird gezeigt, wie Sie diese Änderungen im Texteditor vornehmen.
Befolgen Sie diese Schritte, um eine Geschwindigkeitsbegrenzung von 500 mm/s festzulegen und unterbinden Sie die Einstellung höherer Geschwindigkeiten in RoboDK:
1.Suchen Sie die setSpeed Funktionsdefinition (def setSpeed)
2.Fügen Sie die folgende Zeile hinzu, bevor Sie die Ausgabe $VEL.CP erzeugen, die die Geschwindigkeit in m/s ändert:
speed_mms = min(speed_mms, 500)
Machen Sie die folgenden Änderungen, um zu vermeiden, dass Sie mehr als ein Programm pro Datei hinzufügen und höchstens Programme mit 3000 Zeilen Code erstellen:
1.Setzen Sie die Variable MAX_LINES_X_PROG auf 3000
2.Setzen Sie die Variable INCLUDE_SUB_PROGRAMS auf False
Standardmäßig sind in RoboDK folgende Postprozessoren vorhanden:
●ABB_RAPID_IRC5: für ABB IRC5 Roboter Steuerungen
●ABB_RAPID_S4C: für ABB S4C Roboter Steuerungen
●Adept_Vplus: für Adept V+ Programmiersprache
●Allen_Bradley_Logix5000: für Allen Bradley Logix5000 PCL
●CLOOS: for CLOOS robot controllers
●Comau_C5G: für Comau C5G Roboter Steuerungen
●Denso_RC8: für Denso RC8 Roboter Steuerungen
●Dobot: für Ausbildungszwecke Dobot robots
●Fanuc_R30iA: für Fanuc R30iA und R30iB Roboter Steuerungen
●Fanuc_R30iA_Arc: für Fanuc Bogenschweißen
●Fanuc_RJ3: für Fanuc RJ3 Roboter Steuerungen
●GCode_BnR: für B&R Roboter Steuerungen
●GSK: für GSK Roboter
●HIWIN_HRSS: für HIWIN Roboter
●KAIRO: für Keba Kairo Roboter Steuerungen
●KUKA_IIWA: für KUKA IIWA sunrise programming in Java
●KUKA_KRC2: für KUKA KRC2 Roboter Steuerungen
●KUKA_KRC2_CamRob: für KUKA CamRob Fräsanwendungen
●KUKA_KRC2_DAT: für KUKA KRC2 Roboter Steuerungen inklusive DAT data files
●KUKA_KRC4: für KUKA KRC4 Roboter Steuerungen
●KUKA_KRC4_Config: für KUKA KRC4 Roboter Steuerungen mit Konfigurationsdaten in jeder Zeile
●KUKA_KRC4_DAT: für KUKA KRC4 Roboter Steuerungen inklusive DAT data files
●Kawasaki: für Kawasaki AS Roboter Steuerungen
●Mecademic: für Mecademic Meca500 Roboter
●Mitsubishi: für Mitsubishi Roboter Steuerungen
●Motoman/Yaskawa: für Motoman Roboter Steuerungen (Inform II & Inform III - JBI)
●Nachi_AX_FD: für Nachi AX und FD Roboter Steuerungen
●OTC: für Daihen OTC Roboter Steuerungen
●Panasonic: für Panasonic Roboter Steuerungen
●Precise: für Precise Scara Roboter
●Siemens_Sinumerik: für Siemens Sinumerik ROBX Roboter Steuerungen
●Staubli_VAL3: für Staubli VAL3 Roboter Programme (CS8 Steuerungen oder nachfolgende)
●Staubli_VAL3_InlineMove: um Stäubli VAL3 Programme mit inline Bewegungen zu erstellen
●Staubli_S6: für Staubli S6 Roboter Steuerungen
●Toshiba: für Toshiba Roboter
●Universal_Robots: für UR robots, erstellt Linearbewegungen als Pose Ziele
●Universal_Robots_RobotiQ: für UR robots inclusive Support für RobotiQ Grefer
●Universal_Robots_joints: für UR Roboter, erstellt Linearbewegungen als PTP Ziele
●Yamaha: für Yamaha Roboter
Das folgende Video zeigt eine Übersicht der RoboDK Post Prozessoren:
https://www.robodk.com/help#PostProcessor
Eine Referenzdokumentation für jede Methode ist online verfügbar unter:
http://www.robodk.com/doc/PythonAPI/postprocessor.html
Alle Post Prozessoren basieren auf dem robodk.py Modul:
https://robodk.com/doc/PythonAPI/robodk.html#robodk.Mat
Das robodk.py Modul stellt unter anderem Werkzeuge für Matrixoperationen (Multiplikationen, inverse Kinematiken,…) und Transformationen zwischen Euler Winkeln und diversen anderen Formaten.
Eine Dokumentation bezüglich der Programmierung in Python ist online verfügbar:
https://docs.python.org/3/
Sobald ein Programm erstellt wird, wir ein universelles vorverarbeitetes Python Programm generiert und in einem lokalen, temporären Verzeichnis abgelegt. Dieses Programm ist mit dem korrekten Post Prozessor (durch den Benutzer in RoboDK ausgewählt) verbunden. Der Post Prozessor bestimmt eine RobotPost Klasse, welche anschließend den gewünschten Code erstellt.
Die vorverarbeiteten Programme werden mit Python ausgeführt.