Hi, I have a problem with my robot ABB IRB 1600-8/1.2 1600-100605:
This robot is used to apply the glue on a shap.
The shap is presented in front of the robot: so the robot searsh for the hostlift (X position by SearshL horizontalyDi_10_4, store Xpoint ) then go over the shape (MoveL Offs(xpoint,172,0,-60)) and searsh the right distance by SearshL Di10_5 go down until Di10_5 , Store Xpoint. as soon as DI10_5 is enable. then he have to go to (xpoint,0,0,0), thus it stay. and start drawing http://www.dailymotion.com/video/x54tiv3
But sometime when he have to go to (xpoint, 0,0,0,) then he move from -5mmx to -25mmx instead of staying. Because when the DI10_1 is enable at 20milimeters away from the target point aimed by previously MoveL Offs(xpoint,172,0,-60), the next Xpoint is recorded at anywhere on previously segment instead of the future segment witch is SearchL\Stop, DI10_5, xpoint, p_final, v20, tool1; and whole draw is wrong about 20mm in X direction http://www.dailymotion.com/video/x54tiv3
In concequence, when the shap is too up than expected, and instead to register Xpoint exactely at 172,0,-60, it register Xpoint at 152, 0, -xx.
Or do the args: “T_ROB1”, “DI10_5”, “/MainModule/Routine22/SearchL/1193”, “ERR_SIGSUPSEARCH” instead of following the “WHILE DI10_5 = 1 DO”
How can I prevent the PP to jump more than 1, 2, or 3 MAX lines while the robot is not at all at 1 milimeter from the final point (since I used z1 for previously MoveL)
I would like to prevent to add the wait-time please. On other ABB robot we are using for painting, even on very short segments, we have never seen he PP more than 3 lines in advance from last MoveL/MoveC even if there are 20 lines of comments.
Here is the sample of runtime.
Thank you.
Cheers.
PROC Routine4()
!** SEARSH POSITION X **
MoveL p430, v400, z1, tool1;
WaitTime 1;
SearchL\Stop, DI10_4, xpoint, p420, v20, tool1;
MoveL Offs(xpoint,172,0,-60), v400, z1, tool1; !(robot 20mm away from target instead of 1)
p_final:=xpoint;
p_finalsup:=xpoint; !(I would like the PP stay here while robot is more than 1mm from last robtarget because I used Z1 arg)
p_final.trans.x:=p_final.trans.x+172;
p_final.trans.z:=p_final.trans.z-90;
p_finalsup.trans.x:=p_finalsup.trans.x+172;
p_finalsup.trans.z:=p_finalsup.trans.z-60;
!** check if robot too many near the shap
WHILE DI10_5 = 1 DO
!** memory to alert **
mem_rebut := TRUE;
!** put robot away 5mm
p_finalsup.trans.z:=p_finalsup.trans.z+5;
MoveL Offs(p_finalsup,0,0,0), v20, z1, tool1;
WaitTime 0.10;
ENDWHILE
!** SEARSH POSITION Z **
SearchL\Stop, DI10_5, xpoint, p_final, v20, tool1; !(the PP is here (17 lines in advance) while robtarget is not reashed: thus bug if DI10_5 is enabling, or supsearsherror if DI10_5 albready enable)
!** start GUN**
MoveL Offs(xpoint,0,0,0), v_collage, z10, tool1;
MoveL Offs(xpoint,20,0,0), v200, z20, tool1;
!** TIME START GUN**
WaitTime 0.5;
SetDO DO10_1, 1;
!** DRAWING **
MoveL Offs(xpoint,0,0,0), v200, z20, tool1;
!**MoveL Offs(xpoint,5,170,0), v_collage, z10, tool1;
!MoveL Offs(xpoint,5,230,0), v_collage, z10, tool1;
MoveL Offs(xpoint,0,265,0), v_collage, z1, tool1;
MoveC Offs(xpoint,20,305,0), Offs(xpoint,55,320,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,100,340,0), Offs(xpoint,130,380,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,150,410,0), Offs(xpoint,180,423,0), v_collage1, z10, tool1;
MoveL Offs(xpoint,250,423,0), v_collage, z1, tool1;
MoveC Offs(xpoint,278,410,0), Offs(xpoint,290,390,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,320,345,0), Offs(xpoint,350,325,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,380,304,0), Offs(xpoint,390,270,0), v_collage1, z10, tool1;
MoveL Offs(xpoint,390,-265,0), v_collage, z10, tool1;
MoveC Offs(xpoint,370,-305,0), Offs(xpoint,335,-320,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,290,-340,0), Offs(xpoint,260,-380,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,240,-410,0), Offs(xpoint,210,-423,0), v_collage1, z10, tool1;
MoveL Offs(xpoint,140,-423,0), v_collage, z10, tool1;
MoveC Offs(xpoint,120,-415,0), Offs(xpoint,100,-390,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,80,-350,0), Offs(xpoint,40,-325,0), v_collage1, z10, tool1;
MoveC Offs(xpoint,15,-310,0), Offs(xpoint,0,-275,0), v_collage1, z10, tool1;
!MoveL Offs(xpoint,6,-260,0), v_collage, z10, tool1;
!MoveL Offs(xpoint,6,-160,0), v_collage, z10, tool1;
MoveL Offs(xpoint,0,0,0), v_collage, z1, tool1;
_! TIME STOP GUN _
WaitTime 0.47;
_! STOP GUN_
SetDO DO10_1, 0;
_! END TO PARK **_
MoveJ p30, v500, z10, tool1;
MoveL p40, v500, z10, tool1;
MoveL p50, v500, z10, tool1;
! MoveL p60, v500, z10, tool1;
ENDPROC