Modifying robtarget not updating for further use

Hi there,

I’m trying to create a procedure that can be manually used by an operator to modify and update the center position of a circle.

This is the current procedure that I have written that works extremely well for it’s intended purpose. however on the final line where the robot will move to the center of the circle it seems that any further interaction or movement of the program pointer the updated robtarget is lost/ reverts back to its original values.

the only way I can seem to rectify this by 'ModPos’ing the final position on the final step. I would like to avoid this if possible.

(All positions are persistent)

PROC EDIT_FindPistonCenter()
MoveL parkdown,v50,fine,tF4_160\WObj:=wobj0;
MoveL pCircleEdge1, v50,fine,tF4_160\WObj:=wobj0;
MoveL pCircleEdge2, v50,fine,tF4_160\WObj:=wobj0;
MoveL pCircleEdge3, v50,fine,tF4_160\WObj:=wobj0;
FindCenter pCircleEdge1, pCircleEdge2, pCircleEdge3, Piston1Origin; !Change PistonCenter when appropriate
MoveL Piston1Origin, v50,fine,tF4_160\WObj:=wobj0; !Change PistonOrigin when appropriate and ModPos

ENDPROC

PROC FindCenter(robtarget edge1, robtarget edge2, robtarget edge3, INOUT robtarget PistonCenter)
FitCircle[edge1.trans, edge2.trans, edge3.trans], TempPos, nrad, normal;
PistonCenter.trans:= TempPos;
ENDPROC

Regards,
Quin

Where is the code for FitCircle? Or is that a newer function in rapid?

fitcircle is a newer function in rapid

I looked it up in the newer manual I have. Try removing the INOUT robtarget parameter and change
PistonCenter.trans:= TempPos;
to
Piston1Origin.trans := TempPos;