Re-starting program using UOP

  • Hello,

    I am working with a Fanuc CRX-10iA robot with a R-30iB Mini Plus controller. I am quite a beginner with setting up the robots. What I am trying to do is as follows:

    1. Run a program in which the robot moves in a loop

    2. Once a button is pressed the robot stops the program its running and starts a new motion program.


    To implement this I have used the monitor function to monitor the DI and when it is pressed it calls another program that aborts the program. Then this is where I am stuck. I would like to use the same button to also then start a new motion program or at the very least start the first motion program from the start.


    This isn't for industrial use but for more personal use. Any ideas how I can achieve this or if its even possible?

  • If you will set your CSTOPI signal ON it will reset all programs. With next start it will start your pre-set program (depends on a way how you setup you robot). Double check that your CSTOPI is mapped to your UI/UO.

  • Thank you for that.


    Is there a way to enable the UI with hard code rather than a physical button/switch? As of now I have no way to pulse the CSTOPI (Which I think is needed)

  • If you 'hard coded' it on then your robot wouldn't function. It would constantly be aborted.


    If you have a separate start input and always used the same main program you could create a UOP start sequence where you pulse abort then pulse the production start signal UI 18. Pulsing those signals can be done with Flags in a BG Logic program or by a PLC.


    Then it would always abort and start over your main program from the beginning whenever you push the button.


    That would be how a more professional setup would be done.

  • Okay it almost worked, I got the program to stop and restart but it is restarting from where it left off. From my understanding this should restart it from the beginning? If not then how can I restart it from the beginning. Thanks for the help.

  • So what I have so far is this. I Run a motion program and it uses the Monitor function to wait for a button press. Then once that button is pressed to calls a non-motion program which pulses cycle stop then pulses prod start. At which point the robot stops then starts again at the same place it stopped. Am I using the monitor function incorrectly here to do this?


    The config settings are the same as I sent above earlier which has CSTOPI for ABORT

  • So I have selected my main program in detail section. I do get an error when I try to pulse U18 saying "Failed to run task". Then the robot continues to resume from where it left off in the Main program. The CSTOPI seems to pause the task rather than abort it, even with "CSTOPI for Abort" set to TRUE. Again thanks for the help thus far.

  • you should also set "Abort all programs by CSTOPi" to true

    "Failed to run task" means it wasn't reset when you tried to start. You Need a delay there.


    I also noticed you have PNS setup. Do you need it? If you can decide what to do in your "Main" program you can eliminate all the PNS stuff and UI6 Start works fine.

    CSTOPi, Reset, and then Start

  • Okay interesting, I dont think I need PNS Setup. Right now heres my pulse code:


    F[3] is mapped to UI[4]

    F[4] is mapped to UI[18]


    F[3] = ON

    Wait 0.25 sec

    F[3] = OFF

    Wait 0.25 sec

    F[4] = ON

    Wait 0.25 sec

    F[4] = OFF


    It sometimes gets stuck with Cycle stop on, or the program Failed to Run Task. I do also have "Abort all programs by CSTOPi" set to true.

Advertising from our partners