Is there a command to force a protective stop?

Is there something in the script language that I can use to cause a protective stop or emergency stop? Or a way to cause it to go into one of these states within a program?

These are not meant to be triggered regularly in production operation. Both are for 1) SAFETY of the operator 2) prevent excessive damage to the arm/joints.

The protective stop is meant to warn you if the program is colliding with objects, payload is off, or speeds/movements are causing issues.

The E-Stop obviously is a last resort, when triggered it pops a pin in the gearbox and de-energizes joint (x6). I’ve been told several times by UR to not use the E-Stop or protective methods to stop programs (unless you truly need it) otherwise you are potentially causing damage to the joints.

I’d recommend hooking into the safeguard stop or I/O and set it to ‘Stop Program’.

That’s correct. An e-stop initiates the mechanical brakes. On the older cb3 robots the brake spurs were in a star like pattern and excessive e-stopping would bend the spokes over long periods of time. The E-series are a much cleaner design with much more stability so I don’t see that being a problem but it’s still bad practice to tie your robot into your safety circuit in a way that a door switch or light curtain would send the robot into e-stop state.

What if someone wanted to use a line of script to force a protective stop during system validation to verify recovery sequences? Like to be able to choose exactly where the protective stop occurs and then make sure you’ve got everything set up correctly for recovery steps when restarting the program with the robot where it was left from the stop. Or maybe is there a better way to test this?

1 Like

We typically just “collide” with the robot. Pull on the arm at the moment you want it to go into a protective stop.
It is not “exactly where the stop occurs”, but I don’t see why that would be necessary. :slight_smile:

A protective stop pauses the robot program. A fault/violation will engage the brakes and stop the robot program. A paused program will resume from the same line it was paused at as long as a stop signal isn’t sent before starting again. A stopped program runs the before start section and then starts the robot program from the beginning.

An input assigned to pause the program and a signal to trigger it will have the same effect on the program as a protective stop without the minor positional deviation.

A Halt command or input assigned to stop the program can be used to check recovery when the entire program would be restarted.

Unless you have some equipment to measure the forces during an impact as part of a risk assessment, or are validating stopping time/distance, there should be no need to protective stop the robot to test recovery sequences in the program.