Danaher Motion
06/2005
Error Handling
M-SS-005-03 Rev
E
157
11.
ERROR HANDLING
Error handling is the method used to react to and process fatal and non-fatal
errors that occur during the operation of the MC. You can handle non-fatal
faults, but not fatal faults. Fatal faults cause a WatchDog timer to be
triggered. All errors have corresponding default actions to be taken when
they occur.
There are three contexts in which an error can occur and be handled: task,
system, and terminal. The following definitions will help you while reading
through this chapter:
Term Definition
Internal error action
Immediate action taken by the system software when
an error occurs. This action cannot be turned off or
bypassed.
Default System error action
Action taken by the system according to the context
and severity of the error if the user does not handle the
error. All default system error actions can be bypassed
by defining error handler functions.
Synchronous error
Error caused by the user task and detected by the
interpreter. This type of error is associated with a
specific line of program code in the user-defined task.
Examples include division by zero and out of range
parameters in a MOVE command. The task that
caused the error is stopped.
Asynchronous error
An error caused by the user task not associated with a
specific line of program code. Examples include
following error and motion overspeed.
11. 1
C
ONTEXT
When an error occurs in the MC system, it occurs in one of three contexts:
task, system or terminal. It is important to recognize the differences among
these three since the action taken by the system varies, depending on the
context.
11.1.1. Task
Context
Errors occurring as a result of an executing task take place in the task
context. Asynchronous and synchronous errors occur in this context. A
specific line of code causes synchronous errors. An asynchronous error that
occurs in a task is not associated with a particular line of program code. A
good example of an asynchronous error caused by a task is a following error.
This occurs due to a difference between commanded position and actual
position. This error may occur when an element being commanded to move
comes up against a mechanical obstacle. The following figure shows the
process flow that occurs in the task context.