Hello all,
Using robot ware 5.16, path recovery option available.
Trying to program the robot to go to Service_pos after E-stop was pressed and reset, and automatically go back and continue work where he left off.
Tried:
Configuration - I/O:
doEStopTriggered, digital output.
MODULE MainModule
…
VAR errnum ERR_MY_ERR:=-1;
VAR robtarget p1;
PROC Path_10()
Bookerrno Err_MY_err;
IF DOutput(doEStopTriggered)=1 RAISE ERR_MY_ERR;
ArcLStart Target_10,v1000,seam1,weld1,fine,Weldgun\WObj:=Workobject_1;
ArcL Target_20,v1000,seam1,weld1,z10,Weldgun\WObj:=Workobject_1;
ArcL Target_30,v1000,seam1,weld1,z10,Weldgun\WObj:=Workobject_1;
ArcL Target_40,v1000,seam1,weld1,z10,Weldgun\WObj:=Workobject_1;
ArcL Target_50,v1000,seam1,weld1,z10,Weldgun\WObj:=Workobject_1;
ArcLEnd Target_50,v1000,seam1,weld1,fine,Weldgun\WObj:=Workobject_1;
ERROR
IF ERRNO=ERR_MY_ERR THEN
StopMove;
StorePath;
SetDO doEStopTriggered,0;
p1:=CRobT(\Tool:=weldgun\WObj:=Workobject_1);
MoveL Service_Pos,V1000,z20,Weldgun\Wobj:=Workobject_1;
MoveL p1,v1000,fine,Weldgun\Wobj:=Workobject_1;
RestoPath;
StartMoveRetry;
ENDIF
ENDPROC
System Modules (for the digital output)
MODULE Events(SYSMODULE)
PROC QStopTriggered()
SetDO doEStopTriggered,1;
Exitcycle;
ENDPROC
ENDMODULE
When i reset the E-stop, and press play the robot does the error correction but loops over and over inside off the error handler.
If instead of StartMoveRetry i use Return the robot starts welding from the beginning, and not where he left off.
Can you please help me, i am doing something wrong.