What does "Asynchronous error" (error code -1029) mean?

What does "Asynchronous error" (error code -1029) mean?

Error signaling within the motion subsystem is a two-step process.  When an error is first detected, a signal is sent to GPL immediately so that a controlled deceleration sequence can begin.  This first signal generates a –1029 “Asynchronous error” code.  Several milliseconds later, a more specific error code is usually sent to identify the source of the error. Within the error log, the second error code overwrites the -1029 error, so the -1029 entry is no longer seen.

In GPL and the web interface, the -1029 error may be seen if the system samples the error log in the interval between the two signals.

The error "Fatal asynchronous error" (error code -1030) operates in the same way as error -1029, except that it indicates a more severe error condition.

Within a GPL program, you should handle these error codes as follows:

  1. When you first get an error exception from a robot, perform any time-critical error handling, such as turning off other equipment in your work-cell.
  2. If the error is not -1029 or -1030, report the error you received.
  3. Otherwise, wait for two trajectory cycles. For example, use the method Controller.SleepTick(2).
  4. Sample the error log using the method Controller.ErrorLog(1) to return the most recent error. Normally this is the error that corresponds to the error exception. If multiple errors have occurred, you may need to call Controller.ErrorLog multiple times to test additional entries in the error log.