Offset condition instruction

  • I have a question regarding offsets, specifically the offset condition instruction. I prefer to use the offset condition instruction when I want to apply the same offset to multiple motion instruction statements. However, when I was reviewing the Fanuc manual, it mentioned that you could specify a u-frame as an option at the end of the instruction (See attached snip). I do not understand how specifying the u-frame would work or change the related offset motions. It was also mentioned that if you do not specify a user frame, then the world frame is assumed. Can anyone offer any insight to clarify this option a bit? Thanks

    FYI: I have $OFFSET_CART=False




  • If you don't specify then it will use the currently active user frame, not world.


    I suppose you could use it if you wanted to offset relative to a different frame than the one that the base point is taught in, but I have never come across that situation. Instead I just teach the base point in the frame that I want both the point and offset relative to. Then make sure you set the active uframe and utool # at the top of your program.


    : UFRAME_NUM = X;

    : UTOOL_NUM = Y;

  • Yes, that makes sense to me. --> if you don't specify, then it will use the currently active user frame.

    That is what I observed when I test it in Roboguide. Thanks for confirming.


    I also noticed that initially, the resulting position was not what I expected (the sum of x,y,z,w,p,r elements). The reason was that the system variable $OFFSET_CART was set to True. Things started working as I expected after changing that value to False.


    from Fanuc manual:

    If $OFFSET_CART is TRUE, offsets for Cartesian positions are treated as frames and used to
    pre-multiply positions. If this is FALSE, offsets for XYZQPR positions are added field by field

    Thanks

  • Please excuse my ignorance on this command, but is that command global, or local to only the program its located in?


    if i have a program that calls a few sub programs, could i use that to offset 1 sub program only? I cant offset the userframe because the other sub programs use the same userframe

Advertising from our partners