RobotStudio event

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

Comments

  • lemster68
    lemster68 ✭✭✭
    Where is the code for FitCircle?  Or is that a newer function in rapid?
    Lee Justice
  • fitcircle is a newer function in rapidlemster68 said:
    Where is the code for FitCircle?  Or is that a newer function in rapid?
    fitcircle is a newer function in rapid
  • lemster68
    lemster68 ✭✭✭
    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;
    Lee Justice