Update Work Object Program Robot Ware 6.07

  • On an older robot system I’ve worked with (still IRC5 but Robot Ware 5.13.02) someone wrote a program to update the Work Object.


    I used the same script on a new robot we have that has Robot Ware 6.07. When I run through those steps it changes how the work object is displayed and my points changed considerably. See notes below.

    Work Object Data prior to Updating Script
    PERS wobjdata wobj_R3_WL_LHD:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[339.029,-535.441,1674.74],[0.0295868,-0.696639,-0.714709,0.0548686]]];

    Script to Update the work object (not sure what Origin=3 means)
    poseUpdate_R3_WL_LHD:=DefFrame(pPos_X1_R3_WL_LHD,pPos_X2_R3_WL_LHD,pPos_Y1_R3_WL_LHD\Origin:=3);
    Wobj_R3_WL_LHD.uframe:=poseUpdate_R3_WL_LHD;

    Work Object Data after Update Script
    PERS wobjdata wobj_R3_WL_LHD:=[FALSE,TRUE,"",[[339.602,-535.121,1693.12],[0.0295224,-0.696099,-0.715246,0.0547515]],[[339.029,-535.441,1674.74],[0.0295868,-0.696639,-0.714709,0.0548686]]];

    Do I have a syntax error or should I use a different variable?

    I’ve been in contact with ABB, the tech I’ve been working with is going to ask someone else there for guidance.

    Thank you.
  • A workobject consists of two frames... a user frame and an object frame.

    The code is updating the user frame and as such the code is working as it's written.


    Without seeing the same workobject / code from the original robot it's difficult to say if someone changed Wobj_R3_WL_LHD.oframe >> Wobj_R3_WL_LHD.uframe (seems unlikely since it requires a bit more knowledge than your basic operator would have) and/or how the data ended up in the oframe to begin with.


    Wobj_R3_WL_LHD.uframe:=poseUpdate_R3_WL_LHD;


    PERS wobjdata wobj_R3_WL_LHD:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[339.029,-535.441,1674.74],[0.0295868,-0.696639,-0.714709,0.0548686]]];


    PERS wobjdata wobj_R3_WL_LHD:=[FALSE,TRUE,"",[[339.602,-535.121,1693.12],[0.0295224,-0.696099,-0.715246,0.0547515]],[[339.029,-535.441,1674.74],[0.0295868,-0.696639,-0.714709,0.0548686]]];

  • Thank you SAABoholic. One of our technicians was reviewing the manual and found the information on the frames.


    I set up the Work Objects originally using an Object Frame in the Program Data page. Before doing so, I asked a more experienced programmer how he sets them up. He said Object, but I don't think my question was the clearest. I misunderstood him and picked object on the RH side of the selection in the Program Data page instead of user.


    We realized last week that the command was overwriting the user frame, this morning I changed it to oframe and it is working as expected.


    The other programmers were using the program that creates the work object for them, I don't think they had ever created one in the Program Data page before. So it was mainly a miscommunication.


    Can you provide some insight on the difference between User and Object frames? The machine integrator had written the command as uframe many years ago, we have decided to use oframe on this particular machine. It looks like the User is a child of the World Frame, and Object is the child of the User frame. We just want to make sure using Object frames will not cause a problem. The cross hairs we use to the set the object frames are what the part being cut sits on. There is no other mechanical unit or external axis that would be lower in frame order than the tool with the cross hairs on it.


    Thanks again.

  • They're both coordinate systems or references there of....

    The object frame is dependent on the user frame and the user frame references your world frame.


    So in your case, if you mistakenly referenced the object frame instead of the userframe, that means that you're basically doubling up on the position of the workobject relative to your world coordinate system.


    i.e. your user frame is 339mm away from 0 and your object frame is 339mm away from that.


Advertising from our partners