Universal Robots Forum

Robot always starts at beginning of program

Software version: 3.8
Robot generation: CB3UR5

Is there any reason why the robot cannot continue to run from the middle of the program
once it had been stopped.

The program is always starting at the beginning.


Hello @chris.briedenhann,

Depending on the stop condition, the robot may not be able to start from where the stop was initiated. For example, protective stops may work like a pause, but an E-Stop is seen as a violation and requires you to restart the program form the beginning.

You could build in logic to your program and have different starting points based off of flags you setup if you wish to create your own error recovery routines. You can find out more on the subject here.

It may be worth contacting your local UR rep as well to discuss the nature of the stops and the application to make sure the robot is functioning as it should and there aren’t any underlying issues.

1 Like

Thanks for the feedback.

The robot is functioning as it should, no problem there, it is just very annoying that the robot cannot run from anywhere in the program. I am doing sealer application and whenever a modification is made to the program, I need to step to every point for the rest of the program instead of just hitting the play button like any other robot.



Gotcha, that makes sense.

My best suggestions would probably be to monitor your current position, and throw some logic in place that skips through sections of your code depending on the location values you are monitoring. So if you stop in a certain x/y/z position you know you are at a certain quadrant of the part, etc…

There really isn’t a clean solution, but maybe others here have some different suggestions based off of what they have seen in the past.

I did a feature request for this topic as well, hopefully it will be solved in the next update, this is really a issue that needs to be solved.


Can you modify the logic here to fit your application?

1 Like

This code is fine for a simple pick.place application, I have a sealer application that moves into very tight spaces on the car.



I had the same problem. I still wish we could use the stop to pause and recover but it will not occur soon.

I simply managed a little more “my code” using “Switch Case” structure.

This way, I start by entering the “switch” and go to the “case” matching where is the next code I need to process or that is logical to use.

It is almost analogue to using a Grafcet to manage the high level sequence.

Find more detail on my DoF post : https://dof.robotiq.com/discussion/1606/starting-a-ur-program-where-you-want


David Gouffé

Integration Coach

Coach en intégration

Robotiq is now into packaging, palletizing and sanding applications. Learn more about our new Vacuum Grippers and the Robotiq Sanding Kit.

1-888-ROBOTIQ #275 (762-6847)
1-418-380-2788 #275 (Outside US and Canada)
1-418-655-9221 (Cell)

1 Like