RobotStudio event

Circular pattern

Hello,

I've been using an IRB2400 for some machining operations. Currently, I'm doing this part in attach. Since it is a circular pattern, and the path has a very large amount of points, I want to know if there's anyway to simplify my RAPID code like this, for example:

Proc main()
path_1;
<change workobject>
path_1;
<change workobjet>
path_1;
...
endproc;

If anyone could help me I would be very graceful.

The best regards,

Luis Oliveira

Comments

  • You can use the function PdispSet

    This gives an offset for all programmed points after the offset is activated.
    The rapid you have is good, just change the <change workobject> to PdispSet.

    The only thing could be that the positions we shift out of range for the configuration. Check the ConfJ and ConfL instructions for this
    RobWelding
    The Netherlands
  • I tried with that but I think this rotates around the wcs or something. How can I turn 30 degrees, for example, my workobject?
  • That is possible,

    wobj_X.oframe := wobj_X.oframe + pose_change;

    pose change:= [[x,y,z],[q1,q2,q3,q4]]

    x,y,z is the liniear offset of the origin of the frame
    the Q values are quaternions discribing the rotational offset of the frame



    Do keep in mind that your tool orientation will turn along with the wojb.

    If you need to turn the WOBJ only once an only 30 degrees, there should not be to much trouble.
    However if you want to turn the workobject six times, and each time is 30 degrees your tool orientation will be 180 degrees difference from the initial position.

    It could be that you have to use a pdispset with opposit values the for the programmed points to counter the rotational offset of the frame.

    result your points will rotate along with the frame but the tool orientation will stay the same as originaly programmed




    RobWelding
    The Netherlands
  • Thank you SjoLi, it was very helpful.

    It works fine.
  • kioog
    kioog ✭✭

    you can use in your path1 on the move points the workobject wobj_table,

    and before calling path1 you use for the first table : wobjtable:=wobjtable1, for the second table : wobjtable:=wobjtable2 and so on.

  • Could you explain a little better? What is this wobj_table?