External axis and userframe question

  • Hi all,


    If I have an external axis, track or swing. I teach 4 points in a userframe with the track at the same position.
    Now I shift my userframe for example 200mm in the direction the same as the track moves.


    Why does the track stays in the same position and the robot moves 200mm in the track direction?
    Is it not possible that the robot stays in the same configuration but the track moves 200mm?
    If it's possible how do I do that?

  • Place your Ad here!
  • Is your track a SubGroup or another Group. When it is another Group, you have to define Userframes for this group, and define this in your program.
    For example: UFRAME_NUM[GP1] = 3 or UFRAME_NUM[GP1,3] = 2


    When it's a subgroup, I don't think you'll be able to this.

  • I was actually just starting to experiment with this in roboguide. We have our extended axis set up as a subgroup which is great for jogging but causes the problem you described with user frames.
    You can apply a position register offset to each of the points in the user frame tought group and then use the PR to offset the track by the desired amount.

  • I also change the extended axis location to 0 in the thought points so I can use an absolute position for the track in the offset position register.
    What's also nice is while your teaching and have the offset active the tp will ask if you want to move the point by the offset during TouchUp.

  • Hi
    "What's also nice is while your teaching and have the offset active the tp will ask if you want to move the point by the offset during TouchUp."

    Wobblsquee: Can you explain this with more details (if there's anymore) or post a picture or part of the program ?
    How do you get the TP ask for offset ? That's intriguing me.


    I can use that in the project that i'm working right know (R2000 mounted on a slide serving shelves)

    Retired but still helping

  • Again I am just testing this now and do not have it on a production run.
    Here is a trimmed down example. This is just an example not a real program.
    You can change the first line to 1: PR[3]=P[2] to run the cycle at the second point further down the track.


    1: PR[3]=P[1] ;
    2: JMP LBL[1] ;
    3:J P[1:TEST CLAMP 1] 20% FINE ;
    4:J P[2:TEST CLAMP 2] 20% FINE ;
    5: LBL[1] ;
    6: UFRAME[1]=PR[3] ;
    7: PR[4]=PR[3] ;
    8: PR[4,1]=0 ;
    9: PR[4,2]=0 ;
    10: PR[4,3]=0 ;
    11: PR[4,4]=0 ;
    12: PR[4,5]=0 ;
    13: PR[4,6]=0 ;
    14: UFRAME_NUM=1 ;
    15:L P[3:CLAMP SPOT] 100mm/sec FINE Offset,PR[4] ;
    16:L P[4:RETRACT 1] 100mm/sec FINE Offset,PR[4] ;
    17:L P[5:RETRACT 2] 100mm/sec FINE Offset,PR[4] ;
    /POS
    P[1:"TEST CLAMP 1"]{
    GP1:
    UF : 0, UT : 2, CONFIG : 'N U T, 0, 0, 0',
    X = 731.388 mm, Y = 1485.951 mm, Z = 1566.700 mm,
    W = 180.000 deg, P = -90.000 deg, R = 0.000 deg,
    E1= 450.000 mm
    };
    P[2:"TEST CLAMP 2"]{
    GP1:
    UF : 0, UT : 2, CONFIG : 'N U T, 0, 0, 0',
    X = 2452.666 mm, Y = 1485.951 mm, Z = 1566.700 mm,
    W = 180.000 deg, P = -90.000 deg, R = 0.000 deg,
    E1= 2171.279 mm
    };
    P[3:"CLAMP SPOT"]{
    GP1:
    UF : 1, UT : 2, CONFIG : 'N U T, 0, 0, 0',
    X = -.000 mm, Y = -.000 mm, Z = 0.000 mm,
    W = .000 deg, P = -.000 deg, R = .000 deg,
    E1= 0.000 mm
    };
    P[4:"RETRACT 1"]{
    GP1:
    UF : 1, UT : 2, CONFIG : 'N U T, 0, 0, 0',
    X = 50.000 mm, Y = .000 mm, Z = 0.000 mm,
    W = .000 deg, P = -.000 deg, R = .000 deg,
    E1= 0.000 mm
    };
    P[5:"RETRACT 2"]{
    GP1:
    UF : 1, UT : 2, CONFIG : 'N U T, 0, 0, 0',
    X = 50.000 mm, Y = .000 mm, Z = -200.000 mm,
    W = -.000 deg, P = -.000 deg, R = .000 deg,

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now

Advertising from our partners