Roboter mit Pick&Place programmieren
Die Beispielprojekte Robotics_PickAndPlace.project und Robotics_PickAndPlace_without_Depictor.project finden Sie im Installationsverzeichnis im Unterverzeichnis ...\\CODESYS\\Projects\\SoftMotion\\<Version>\\Examples. Das Projekt Robotics_PickAndPlace.project setzt die Installation des Packages CODESYS Depictor voraus. Dieses Projekt visualisiert die Kinematik in einer 3D-Animation. Das Projekt Robotics_PickAndPlace_without_Depictor.project zeigt den Ablauf auf einem Visualisierungsbild in vereinfachter Form.
In diesem Kapitel werden nur die Objekte behandelt, die für SoftMotion relevant sind.
Das Beispiel besteht aus einem Tripod, einem Drehtisch und einem Förderband. Die Kinematik greift einen Ring auf, der auf dem Drehtisch platziert ist. Während des Greifens bewegt sich der Greifer der Kinematik synchron mit dem Rundtisch. Danach wird der Ring auf einen Kegel aufgesetzt, der auf einem Förderband sitzt. Während des Ablegens bewegt sich die Kinematik synchron zum Förderband. Auf dem Visualisierungsbild finden Sie zwei Schaltflächen, mit denen Sie den Ablauf steuern. Wenn Sie die Schaltfläche Auto gedrückt haben, werden die Ringe automatisch aufgelegt. Andernfalls erscheint eine Schaltfläche Play, mit der Sie jeweils einen Ring auflegen können. |
|
Siehe auch
Steuerung CODESYS Softmotion
Achsgruppe Tripod: Die Achsgruppe definiert die Kinematik und die Zuordnung zu den einzelnen Achsen Tripod1, Tripod2 und Tripod3.
DepictorCalculations (PRG), Environment (PRG), Ring (FB): Programme zur Steuerung des Gesamtablaufs und der Visualisierung. Diese POUs sind für das Verständnis der PLCopen-Bausteine nicht relevant, bis auf die Definition des Produktkoordinatensystems (PCS_1 und PCS_2).
Robot (PRG): Programm zur Steuerung der Bewegungsabläufe. Eine detaillierte Beschreibung finden Sie im nachfolgendem Absatz.
Visualization: Animierte Visualisierung zur Verdeutlichung des Ablaufs.
Tripod1, Tripod2, Tripode3: Lineare Achsen des Tripod.
DriveRotaryTable: Achse für den Rundtisch.
DriveConveyorBelt: Achse für das Förderband.
Aufbau des Ablaufprogramms 'Robot (PRG)'
Das Programm Robot (PRG) wird zyklisch durchlaufen. Dabei werden abhängig vom Status state die einzelnen Schritte durchlaufen. Am Ende des Programms stehen die Aufrufe aller genutzter Funktionsbausteine zur Bewegungskommandierung.
Die Einzelachsen des Tripods werden aktiv geschaltet (Funktionsbausteine pwA1, pwA2 und pwA3 vom Typ MC_Power).
CASE 0: Warten auf die Betriebsbereitschaft der beteiligten Achsen.
CASE 10: Setzen von Referenzpositionen; in realen Applikationen würde an dieser Stelle Homing durchgeführt (Funktionsbausteine spA1, spA2 und spA3 vom Typ MC_SetPosition).
CASE 20: Platzierung des Maschinenkoordinatensystems im Weltkoordinatensystem (Funktionsbaustein setCoord vom Typ MC_SetCoordinateTransform)
CASE 30: Freigeben der Achsgruppe (Funktionsbaustein enable vom Typ MC_GroupEnable.
Warten auf Rückmeldung, dass die Achsgruppe alle Werte übernommen hat.
CASE 40 bis CASE 130: Pick & Place-Applikation: Alle Bewegungen werden mit zum Teil mehreren Instanzen von MC_MoveDirectAbsolute, MC_MoveDirectRelative und MC_MoveLinear kommandiert, die zyklisch aufgerufen werden. Eine steigende Flanke am Eingang Execute dieser Bausteine im jeweiligen Status führt zum Absetzen des neuen Bewegungsbefehls, wobei der Ausgang bCommandAccepted den Erfolg dieses Vorgangs anzeigt. Durch Abfrage dieses Ausgangs vor dem jeweils nächsten Bewegungsbefehl ergibt sich eine typische Kette von Kommandierungen.
Funktionsbausteine 'MC_TrackConveyorBelt' und 'MC_TrackRotaryTable'
Der Funktionsbaustein MC_TrackRotaryTable, der in dem Funktionsbaustein Ring aufgerufen wird, dient der Bestimmung des Teilekoordinatensystems PCS_1. Dieses Koordinatensystem wird gesetzt, sowie ein Ring auf dem Drehtisch abgelegt wird.
Der Ursprung des Drehtisch-Koordinatensystem RotaryTableOrigin liegt im Mittelpunkt des Drehtisches, die Z-Achse liegt auf der Drehachse der Drehtisches. Das PCS_1 wird um die Z-Achse des Drehtisch-Koordinatensystems gedreht, abhängig von der Eingangsvariable RotaryTable. Da sich die Achsgruppe im PCS_1 bewegt, folgt sie der Drehbewegung des Tisches.
Beim Funktionsbaustein MC_TrackConveyorBelt, der im Funktionsbaustein Cone aufgerufen wird, ist das Verhalten analog. Das PCS (PCS_2) folgt dabei der X-Achse des Koordinatensystems ConveyorBeltOrigin.