Hallo liebe Roboter-Community,
leider konnte ich zu meinem Problem keine passende Lösung finden, also versuche ich es hier.
Mein ABB IRB2600 (Robotware 6.13.04.00) macht Probleme beim Abarbeiten des MoveJSync/MoveLSync.
Einer der Befehle, der Probleme macht:
MoveJSync pHome,vVorpos,fine,toGreifer\WObj:=wobj0,"MerkerHome";
PROC MerkerHome()
!
bVorposLL:=FALSE;
bVorposLR:=FALSE;
!
ENDPROC
Die Bits, die die Prozedur (in diesem Fall) auf FALSE setzt, werden im Programmablauf für die Steuerung der Abfolge der Funktionsaufrufe verwendet. Das Problem ist jedoch, dass die Bits im Automatikbetrieb definitiv nicht FALSE gesetzt werden (habe ich mehrmals verfolgt und kontrolliert). Die Bits werden ziemlich bald nach dem Aufruf der MerkerHome-Prozedur in einer IF abgefragt.
Ich habe daraufhin folgendes ins Programm hinzugefügt:
MoveJSync pHome,vVorpos,fine,toGreifer\WObj:=wobj0,"MerkerHome";
bVorposLL:=FALSE;
bVorposLR:=FALSE;
So setzt der Roboter nach der Prozedur "MerkerHome" die Bits definitiv wie gewünscht und alles läuft so wie es soll. Das Problem hatte ich bei allen MoveJSync/MoveLSync-Befehlen im Programm. Ich habe überall die Bitzuweisung darunter eingefügt und es passt.
Frage nun:
Warum funktioniert das Zuweisen mit MoveJSync (selbes Spiel mit MoveLSync) nicht? An der Funktion des Programms habe ich ja nichts geändert, nur weil ich die Zuweisung unter den MoveJSync/MoveLSync-Befehl geschrieben habe.
Danke für eure Hilfe!
LG Sebastian