The reason is that the robot don’t now witch way to go to archive the configuration, so it is limit to reorient more than 90 degrees to keep the robot on a liner path.
You can turn off the configuration check whit ConfLoff ; and on ConfLon;
divide the reorientation in more points…
MoveL RelTool (p1, 0, 0, 0 Rx:=0Ry:=0Rz:= 90), v100, fine, tool1;
!! ok if fine is use before !!
P2:=CrobT();
MoveL RelTool (p2, 0, 0, 0 Rx:=0Ry:=0Rz:= 90), v100, fine, tool1;
or use MoveJ
MoveJ RelTool (p2, 0, 0, 0 Rx:=0Ry:=0Rz:= 90), v100, fine, tool1;
or
p2::=CalcJointT(RelTool (p1, 0, 0, 0 Rx:=0Ry:=0Rz:= 180),tool1);
MoveABSJ p2, v100, fine, tool1;
or
P2:=CalcJointT(RelTool (p1, 0, 0, 0 Rx:=0Ry:=0Rz:= 180),tool1);
p1:=CalcRobT(p2,tool1);
MoveL p1, v100, fine, tool1; !more than 90 deggres
or I think you change the value of the recorded configuration to be betwen the 2 points. coresponding in your case to real position RelTool (p1, 0, 0, 0 Rx:=0Ry:=0Rz:= 90)
like
p1.confdata.cf1:=??
p1.confdata.cf4:=??
p1.confdata.cf6:=??
p1.confdata.cfx:=??
PS. if the reorientation is more than 90 confdata will change by +/- 1
MoveL instrucktion will give alarm if change by +/- 2 equals more than 180 degrees. if not ConfLoff ..!
or if confdata is set to [0,0,0,0] no configdata is used
IS THIS CORRECT ??