Fanuc reset

  • I have a Fanuc R2000ia with an R30ia controller. I am creating a palletizing program that loads 40 cartons on each of two pallets. If either pallet ends up with less than that number I need to know the easiest way to reset the robot to the beginning of the program. Please help with any suggestions.

  • Not enough details to know what's going here.


    Are you writing your own palletizing routine or using Fanuc software options?

    Why would a pallet end up with less than the number of cartons you specified (ie product change over?).

  • I am using my own routine with the teach pendant. One program to wait for a box on the conveyor and another for box position on the pallet. Then I call the wait for box program and once a box is detected I call the box position program 1-40 boxes. The product change over never ends on an exact amount so I need to be able to start over at some point less than 40. The robot does not like to restart from the beginning with a program already running so I have to power the robot down and back up again to clear out the program.

  • I am using my own routine with the teach pendant. One program to wait for a box on the conveyor and another for box position on the pallet. Then I call the wait for box program and once a box is detected I call the box position program 1-40 boxes. The product change over never ends on an exact amount so I need to be able to start over at some point less than 40. The robot does not like to restart from the beginning with a program already running so I have to power the robot down and back up again to clear out the program.

    What part of your program doesn't "Like" to restart from the beginning? Do you get a "program already running fault"? Is the box count/positions not being reinitialized?


    As hermann said, you shouldn't need to power the robot off to abort a program, there is both the FCTN->Abort option as well as TP "abort" and "end" instructions you can use in a program.


    Let's say you just finished a run, what changeover steps do you take, and what does the robot do?

  • Thanks for the reply. Yes I get a "program already running" fault. I am looking for a simple solution for the robot operator like using an input from an HMI instead of the teach pendent.

    The "main" program consists of many smaller programs that are called. These are the individual box positions and a return to a conveyor.I can't get the robot to go to line 1 of the main program just to the beginning of the last call program when I try to reset it.

    The only changeover is putting a different product into the same carton with a different upc. The pallet configuration is the same.

  • Somewhere in your code the robot waits for a new box from the conveyor. That should wait for a new box or a signal from your HMI. Afterwards you can jump back if the signal from HMI was detected.

    Something like:

    Code
       1:  WAIT (DI[1:HMI] OR DI[2:new box])    ;
       2:  IF (DI[1]) THEN ;
       3:   END;
       4:  ENDIF ;
       5: ! New box;


    Only an example, may you need to set a flag and jump more levels back. Taht depends on your program structure.

  • Do you have a main program loop that could check for a signal from the HMI? (Does you waiting for the case program loop?)


    IF so you could put something like this in your program loop.


    IF (DI[1]=ON) THEN ;

    ABORT ;

    ENDIF ;

  • Thanks for the help. My program works like this:

    Conveyor program:

    Robot goes to conveyor position.

    Waits for a sensor to see a box. DI

    If there is a box it picks it up. If not it waits for one.

    Picks up box and goes to a wait by pallet position.


    Box programs 1-40.

    Robot places box on pallet.


    Main program repeats itself 40 times no loop.

    line1. Call conveyor program.

    line 2. Call box 1

    line 3. Call conveyor program

    line 4. Call box 2

    ect.

    So if I want to go back to line 1 I am already several programs away from start. Which is line 1.

  • How are you starting the robot? Are you using a PLC or just the green SOP cycle start button?


    If you are using a PLC, how is your program select mode setup? (PNS, RSR, Other...)


    Under System > Config do you have "Return to Top of Program" set to true or false?


    Are you familiar with the "Abort All" function on the teach pendant?

  • Change the program to something like that:

    in the conveyor.tp:

    Code
       1:  WAIT (DI[1:HMI] OR DI[2:new box])    ;
       2:  IF (DI[1:HMI]) THEN ;
       3:  F[1:Change]=(ON) ;
       4:  END ;
       5:  ENDIF ;
       6:  !  unload conveyor ;

    Of course at beginnig the program should wait for start, either from HMI or a DI that detects a new pallet, or whatever.

    But the principle should be clear.

Advertising from our partners