You could insert this into your user.sys:
FUNC bool rCheckPosition(
num DistanceInMM,
robtarget Position,
PERS tooldata toolUsed
\PERS wobjdata wobjUsed)
VAR robtarget CurrentPos;
VAR num nDistance:=0;
CurrentPos:=CRobT(\Tool:=toolUsed\WObj?wobjUsed);
IF rRbtToRbtDist(Position,CurrentPos)<DistanceInMM AND rRbtToRbtConfig(Position,CurrentPos) THEN
RETURN TRUE;
ENDIF
RETURN FALSE;
ENDFUNC
Than you can do for Example this in your Programm:
IF rCheckPosition(5,pHome,tGreifer) THEN
!TPErase;
!TPWrite "I am in Homeposition";
Set doHomeposition;
WaitTime 2;
!TPErase;
ELSEIF
!TPErase;
!TPWrite "I am NOT in Homeposition";
Reset doHomeposition;
WaitTime 2;
!TPErase;
ENDIF