Reconfigure Jog Frame Programmatically?

  • I use jog frames to manually program our paint robot. We have hundreds of product configurations that all hang at different orientations. Jog frames allow me to quickly orient to the part currently hanging to fix issues. When starting a new part, I create a "FRAMEXXX" procedure for that part which consists of 3 points for my teach prob (steel teach point 8" from paint gun) for Origin, X, and Y touched off on the base of the product. So when I go back and forth between my various model procedures, I can pull up this FRAME procedure and use the points to reset the jog frame for that part. Once the points have been set, it would be nice to push this data programmatically to a frame procedure, rather than having to run the FRAME programs and manually moving the robot to record the 3 points to the jog frame. Thoughts?


  • Hi Josh.Greer

    Welcome to the robot forum


    I havent done this but this is what I'm thinking


    Create a program frame97


    r1= 53.2

    r2= -46.7

    r3=123.0

    r4=180

    r5=25

    r6=93

    pr[99,1]= ri

    pr[99,2]= r2

    ''''

    ''''

    ''''

    pr[99,6]= r6


    You have to teach the jogframe and write the values on the program above. PR[99] would have the jogframe value.

    You can create (copy) as many programs as you want. You will be using only pr[99]


    The load the PR[99] into a variable that contains the jogframe

    Call the particular program when you need to change to a new jogframe

    I never done this myself but knowing Fanuc I expect this idea will work. At least try it. It's just an idea

    Retired but still helping

  • Thanks for the options folks. Unfortunately, if it isn't possible to assign the values directly to a Jog frame, my method is certainly double (and requires less manual entry....I do stupid things some times.).


    As for user frame, it isn't an option because of limited number of Frames. And if I program one program, and later change the frame values, bad things will ensue. This is why we use Jog Frames. They don't tie to the program and let me reset per program. Perhaps I'll investigate a KAREL option.

  • You can up the number of frames, depending on the controller version. If it is anything made in the last ten years, You can up it to at least 64. Probably more on newer controllers.


    It is the system variable $SCR.$MAXNUMUFRAM

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

Advertising from our partners