Immer wieder tritt das Problem auf, zwischen zwei oder mehr Bearbeitungen zu wechseln.
Ich definiere eine Fliegende Home Position, die folgende Eigenschaften besitzt.
Der Roboter klappt alle Achsen außer Achse 1 in eine fixe Position die Ache 1 wird als fix übernommen. Roboter kollidiert nicht beim Drehen um die Achse 1.
PROC FLHome()
Var num npos_AX1; ! Variable definieren für aktuellen Achse 1 Winkel
jpAktuell:=CJointT(); !Aktuelle Achswinkel abfragen und auf jpAktuell schreiben
npos_AX1:=jpAktuell.robax.rax_1; !nur Wert Achse 1 auslesen und in Variable speichen
jpAktuell:=jpHome; ! Homewinkel überschreiben Achse 1-6
jpAktuell.robax.rax_1:=npos_AX1; !mit ausgelesenem Winkel von Achse 1 überschreiben
MoveAbsj jpAktuell,vSchnell,z100,tK1_Greifer; ! Winkel anfahren
PS jpAktuell als "speichernd" deklarieren
Vorteil wenn sich der Roboter ohne Kollision um die Achse 1 drehen kann gibts keine Probleme
wenn man die Routine imme nach jeder Bearbeitung durchläuft.
mfG Burlibua