Keep it Running

Filed under:

Any automated system is crippled when it requires human intervention.
One of our goals then as programmers should be to eliminate as much
human intervention as possible. I’ve found that simply changing many
check conditions to short WAIT statements results in fewer alarms and
therefore less operator intervention and more productivity.

Take for example a simple macro to ensure your gripper has correctly
gripped your part:

If those signals aren’t perfect at the exact moment you call the
program, you’re going to get a fault. You throw an alarm and call the
operator over to potentially find the issue has resolved itself. The
frustrated operator hits resume and gets back to work while the robot
does the same.

This might have been prevented by using a short WAIT statement instead
of an IF. Maybe the sensor was a little slow to update; maybe we had a
small dip in pressure that caused us to lose our signal momentarily. If
we simply add a little bit of leniency to this check, the system ends up
being more robust:

In this case the robot never stops running. If the machine is not ready
within 30 seconds we turn on the alarm to notify the operator. The robot
keeps monitoring the condition and can potentially continue and turn off
the alarm if the machine comes up. It may not be a good idea to do this
for things like part-presence checking and gripper macros, but it’s
great when other machines are frequently stalling your system.