RobotStudio event

modify value of the point

Options

Hello,
I have robot with s4c+ controller,and I have diffrent programs with difrent points now I want to modify value (x,y,z)in automatic mode. I know this way of modify position.
I put robot in the manual mode, than I find the program and the point to modify
MoveL * v600,z10,tcp1, then I go to * and to menu edit and function 8(value), there I can change the values x,y and z. Maybe anyone know how I modify point in automatic mode without that i put the robot to manual mode.

Thanks,

Best regards

Comments

  • Knud E Lindberg
    Options

    Hi andr99

    Take a look at the Offset function

     

    Regards
    Knud Erik Lindberg
    Jorgensen Engineering
  • joaof
    Options

    Hi,

    You must have a correct workObject and the tool to change the new value for this point. If you have a workObject or a Tool diferent in the move instruction the system dont give a premission to modify the point!

     

    Best regards,

     

    Joao Fidalgo

  • claudio
    Options
    Hi andr99,

    Following the way I do that.

    You need to use robtarget variables instead of "*" in your code.
    Change the program this way:

    MoveL *,v1000,z10,tool1;

    to

    MoveL p10,v1000,z10,tool1;

    You'll still be able to modify points in the standard way (Edit-8),  but now you can write a new procedure to allow the user (or yourself) to modify the point interactively. For example:

    PROC EditRobtarget(INOUT ROBTARGET p, STRING description)

      TPWrite "Editing "+description;
      TPWrite "Current X"+NumToStr(p.x, 3);
      TPWrite "           Y"+NumToStr(p.y, 3);
      TPWrite "           Z"+NumToStr(p.z, 3);

      TPReadNum p.x, "Enter new X value";
      TPReadNum p.y, "Enter new Y value";
      TPReadNum p.z, "Enter new Z value";

    ENDPROC

    and somewhere in the program:
    ...
    EditRobtarget p10, "PICK point";

    I hope this can help you
    Claudio

  • Knud E Lindberg
    Options

    Hi claudio

    To make it work you have to use:

      TPWrite "Current X"+NumToStr(p.trans.x, 3);
      TPWrite "           Y"+NumToStr(p.trans.y, 3);
      TPWrite "           Z"+NumToStr(p.trans.z, 3);

      TPReadNum p.trans.x, "Enter new X value";
      TPReadNum p.trans.y, "Enter new Y value";
      TPReadNum p.trans.z, "Enter new Z value";

    image

    Knud E Lindberg2007-4-3 13:33:8
    Regards
    Knud Erik Lindberg
    Jorgensen Engineering
  • claudio
    Options

    Yes. I agree. Thank you very much.

    Regards
    Claudio

  • Peter_ABB
    Options

    Hi andr99,

    you may use hotedit function of S4c+ controller

    in automatic mode or even program running situation(without tpwrite instruction is recommend) it works.

    production window viewposition  you'll find robtarget variables choose your desired one, you can modify the x,y,z values.

    But 10mm is the biggest size of once modify, i'm not sure of this number  you can try it.

    Peter
  • RussG
    Options

    Hi Claudio,

    what does the "PICK point" component of the EditRobtarget p10 porceedurecall ?

    PROC EditRobtarget(INOUT ROBTARGET p, STRING description)
    should the p in the above be p10?

    Thanks, Russ

    RUSSELLgee
    Director

    1/118 Connaught St Sandgate QLD Australia 4017
    ph +61738694298
    fax +61738693284
    mob +61418116644
    email russell@manmac.com.au
  • claudio
    Options
    Sorry, I've been away for a while....

    RussG, the purpose of the EditRobtarget procedure is to allow the user to modify the value of a robtarget. Usually a robtarget has a meaning in the application; for example, in a pick-place application you will have a PICK point and a PLACE point.
    The "PICK point" string was just an example of a description. The procedure will create a screen on the TP, like:

    Editing PICK point:
    Current X 123.000
            Y 456.000
            Z 789.000

    So, the user will know which point is changing. You can also try:

    EditRobtarget p10,"p10";

    that leads:

    Editing p10:

    Current X 123.000


            Y 456.000


            Z 789.000



    Regards
    Claudio