PROC Path_10()
ConfL\off;
CONNECT err_interrupt WITH trap_err;
IError COMMON_ERR, TYPE_ALL, err_interrupt;
MoveJ Target_10, v1000, fine, tool0\WObj:=wobj0;
PathRecStart safe_id;
MoveL Target_20, v1000, fine, tool0\WObj:=wobj0;
MoveL Target_30,v1000, fine, tool0\WObj:=wobj0;!! for example during this line we have a collision.after start*
MoveL Target_40, v1000, fine, tool0\WObj:=wobj0; !*robot will continue Target_30 and after that**
MoveL Target_50, v1000, fine, tool0\WObj:=wobj0; !**interrupt routine will execute while we expect at first
MoveL Target_60, v1000, fine, tool0\WObj:=wobj0; !time interrupt routine execute
IDelete err_interrupt;
ENDPROC
TRAP trap_err
TPReadFK choice,"Go to safe?",stEmpty,stEmpty,stEmpty,stEmpty,"Yes";
IF choice=5 THEN
IF PathRecValidBwd(\ID:=safe_id) THEN
StorePath;
PathRecMoveBwd \ID:=safe_id \ToolOffs:=[0, 0 , 10];
!Fix problem
PathRecMoveFwd;
RestoPath;
StartMove;
ENDIF
ENDIF
ENDTRAP