Check Position after Stop

Good Morning,
I should like to check the Stop Position of the robot before to restart him in Auto ( After Emergency or if I switch in manual when the robot cycle running and someone move the robot in manual ). How can I do ?
Thanks

Moved to RobotWare forum.

I’m also interested in this. Maybe this thread [1] can help you (and me :-D) but I haven’t tried yet.

[1] http://forums.robotstudio.com/forum_posts.asp?TID=6995

Good morning to Everybody,
I have tried this procedure inserted in the Main:

PROC StopCiclo()
!-------------------------------------------------------------
!— ROUTINE DI STOP CICLO TRAMITE EVENT -----
!-------- Gestito con Event STOP Controller --------
!-------------------------------------------------------------
! Memorizza Posizione in Giunti
! Solo in ModalitA? AUTO
TEST OpMode()
CASE OP_Auto:
StopMove;
jStop := CJointT();
ENDTEST
!
ENDPROC

Recalling from “Control panel Configuration Controller Event Routine Stop & QStop” the aforesaid Routine, succeeds in memorizing the position of the robot in the moment in which he stops.
To check to the I Start or Reboot of the robot that the position has remained the same one to the moment in which is stopped, call from “Control panel Configuration Controller Event Routine Start & Restart” the following procedure:

PROC RestartCiclo()
VAR jointtarget jActPos;
!-------------------------------------------------------------
!-- ROUTINE DI RESTART CICLO TRAMITE EVENT –
!------ Gestito con Event RESTART Controller ------
!-------------------------------------------------------------
!
Evento := TRUE;
CheckActualPos;
!
IF DI_PLC_Richiesta_Aborto_Ciclo = 1 THEN
!
StopMove;
ClearPath;
StartMove;
ExitCycle;
!
ELSE
StartMove;
ENDIF
!
ENDPROC

where the routine “CheckActualPos” it is the following

PROC CheckActualPos()
VAR jointtarget jActPos;
!
IF DOutput(DO10_1) = 0 AND DOutput(DO10_2) = 0 THEN
!
! Solo in ModalitA? AUTO
TEST OpMode()
CASE OP_Auto:
! Recupera posizione attuale in Giunti
jActPos:= CJointT();
!
TPWrite “entra”;
!
IF (Abs(jActPos.robax.rax_1) - Abs(jStop.robax.rax_1)) > 0.2 THEN
GOTO ErroreAsse;
ENDIF
IF (Abs(jActPos.robax.rax_2) - Abs(jStop.robax.rax_2)) > 0.2 THEN
GOTO ErroreAsse;
ENDIF
IF (Abs(jActPos.robax.rax_3) - Abs(jStop.robax.rax_3)) > 0.2 THEN
GOTO ErroreAsse;
ENDIF
IF Abs(jActPos.robax.rax_4) - Abs(jStop.robax.rax_4) > 0.2 THEN
GOTO ErroreAsse;
ENDIF
IF Abs(jActPos.robax.rax_5) - Abs(jStop.robax.rax_5) > 0.2 THEN
GOTO ErroreAsse;
ENDIF
IF Abs(jActPos.robax.rax_6) - Abs(jStop.robax.rax_6) > 0.2 THEN
GOTO ErroreAsse;
ELSE
GOTO NoErrore;
ENDIF
ErroreAsse:
!
Esito := GestioneErrori(6);
ExitCycle;
NoErrore:
!
ENDTEST
!
ENDIF
!
ENDPROC

Verifying to move only also in manual after the Stop an axle more of 0.2, doesn’t go to error!!!
Does someone know how to tell me where I am being wrong?
Thanks to Everybody.