SkipJump function

  • I am working on an application using a robot for grinding, I want to be able to turn off the grinder and retract the robot from the grinding wheel then wait for an operator to recover in the event of a loss of air pressure, or other error. I currently have the robot programmed using a condition monitor looking at a DI for air pressure, the condition monitor program calls a program that turns I/O off, but I can't program any motion or call another program that has motion because the motion group is locked by the main program.


    I believe the Skip Jump function described in the programming manual might be the way to go about programming this:

    7.3.16 Skip Jump
    The SkipJump motion option is available to all tools. Its functionality is similar to the function of
    Skip Label, except that the action is the reverse of that of Skip Label motion option.
    SKIP CONDITION [I/O] = [value]
    J P[1] 50% FINE SkipJump, LBL[3]


    I have not found the correct combination of soft keys and menus to use the SKIPJUMP function, it doesn't seem to exist in my control, I have found the functions for SKIP CONDITION and SKIP LBL, but SKIPJUMP eludes me. Can somebody tell me where I should be able to find the SKIPJUMP function, or if I have to enable the function in the parameters somewhere?


    Finally, I'm not super thrilled about having to add the skipjump, LBL commands to every line of motion in the program, I really like the idea of using the condition monitor where a branch program is called, I just can't figure out how to manage the motion part. Any advice would be appreciated.

  • Most robots don't have the SkipJump function but instead have the more standard Skip function.


    Skip and SkipJump are really the same thing, just reverse logic of eachother. So there is no real need to have SKipJump.


    You can add a Skip command onto every motion and if the condition comes true then it will stop motion then skip to the next line of code. If the condition never comes true then it will finish the motion then jump to the label.


    If you prefer the system monitor then keep reading:

    There is a workaround to triggering motion with a system level condition monitor. Your action program must abort the current program then turn on a signal that starts a macro. You must use flags and UOP signals to make it work. In the example below F[1] is mapped to UI-Cstopi and F[2] is the trigger for the macro with your motion in it.


    Set these system variables:

    $TTP_MON.$LOCAL_MT = 2
    $TTP_MON.$GLOBAL_MT = 2


    Code

    Code
    :  WHEN DI[1]=ON, CALL ACTION_PROG ;


    ACTION_PROG.tp (Group Mask = *,*,*,*,*):


    Code

    Code
    :  F[1]=(ON) ;
    :  WAIT 2.00(sec) ;
    :  F[1]=(OFF) ;
    :  Wait 1.00(sec) ;
    :  F[2]=(ON) ;
    :  Wait 1.00(sec) ;
    :  F[2]=(OFF) ;
    :  Wait DI[1]=OFF ;
    :  Monitor SYSTEM_MONITOR ;
  • Is there a way to enable skipjump, it is functionally the same, but logically inverted, however that doesn't mean it is as easy to work with:


    skip condition DI1=on

    p[1] skip lbl [1]

    jump lbl [100]

    lbl[1]

    p[2] skip lbl [2]

    jump lbl [100]

    lbl [2]

    p[3] skip lbl [3]

    jump lbl [100]

    lbl [3]

    .

    .

    .

    lbl[100]


    versus


    skip condition DI1=on

    P[1] skipjump lbl[100]

    p[2] skipjump lbl[100]

    p[3] skipjump lbl[100]

    .

    .

    .

    lbl[100]


    Skip jump seems much more efficient, and easier for someone to learn, why would Fanuc remove the skipjump function?

  • SkipJump Instruction is an option (R866). The option is free of charge (at least in Europe) but one have to order it. As far as I know it is not available for every customer since it was developed for special (automotive?) customers. This is what I know from our local FANUC rep.

Advertising from our partners