0% found this document useful (0 votes)
11 views

ABB robot error handling

ABB Robot error handling

Uploaded by

ANDRE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

ABB robot error handling

ABB Robot error handling

Uploaded by

ANDRE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

KC 960512 Håkan Brantmark

ERROR HANDLING

1 General
The error handling offered by S4/Rapid is a convenient way to make the system automatically
recover after an error. Suppose that the robot is waiting for a digital input to get high, in a
WaitDI instruction. If the specified maxtime is exceeded, then an error will occur, and the
execution will go on in an error handler. In this error handler it is possible to let the robot check
the external equipment, which should deliver the input, and perhaps to perform a service
routine. After this the WaitDi instruction is repeated, and if the signal is OK the execution will
proceed.

An error handler is a part of an ordinary routine, which is illustrated in the figure below, where
the error handler is a part of the search routine. The error handler may be created with the
command View/Error Handler when the routine is displayed.

The error handler is automatically called, i.e. the execution will proceed with the first statement
in the error handler, when an error occurs in the program execution. Such an error might be
that the current statement cannot execute in a normal way, because of some erroneous value
in the input arguments, or that a maxtime exceeded its value while waiting for input etc. In the
execution of the ordinary statements, there is a number of anticipated errors, which will cause
a call of the error handler. These errors are listed in the User's Guide, Data Types, errnum.
Each such error will set a specific value to the system variable ERRNO, which will help identify
the error in the error handler.

It is also possible to call the error handler by using the RAISE statement with a number as an
argument. This can be used to generate “user” defined errors.

2 Handling of errors
An error may be handled on three different levels:
1. The error is handled in an error handler in the same routine where the erroneous
instructions (or RAISE statement) is programmed.
2. The error is handled in an error handler in a routine on an upper level of the calling
sequence. For instance the main routine may call a routine, which in turn call an other
routine, but only main routine has an error handler. This will then be used also for errors on
the lowest level routine. In fact the system searches upwards for the first calling routine
with an error handler, which will then be used.
3. No error handler is found, not even in the main routine. In this case a built in error handler
on system level will be used. This will always present an error message and then stop
execution.

Handling of errors in an error handler might include writing error messages to teach pendant,
setting outputs to external equipments, or any action to be taken to treat the problem. After
this there are two alternatives for the continued execution
1. The execution should be stopped. This might be done in three different ways:
· Just let the error handler execute until end (ENDPROC). Then next higher level will be
searched for an error handler and if no one is found or if also these are executing until end,
then the system error handler will be executed and the execution stopped.
· Use a RAISE statement (with no argument) to raise the error to a higher level. This will
work as described above, the next higher level will be searched for an error handler and if
no one is found or if this is executing until end, then the system error handler will be
executed and the execution stopped.
· Don’t use any error handler at all at the current level or on any higher level. Then the
system error handler will be executed and the execution stopped.

You might also like