Parker HannifinError HandlingThis section on error handling addresses error checking andrecovery, which is to be programmed into each application. Errorhandling is then done automatically as the application runs, and ishelpful in diagnosing problems.Sample Program (ACR90x0)The following is an example error handling routine for the ACR90x0with firmware revision 1.18.15 and above. It was written to handlepossible axis, CANopen, and Motion Enable Input error conditions.Parker does not intend this to be an actual application solution. Usethis program as an example for error handling, and tailor the routinesfor your specific needs.This program is modular to illustrate the use of subroutines whichdecrease programming and debugging time.Program Notes:► This program checks for errors in program 0 (PROG0) and master0. It does not attempt to recover from the fault; it only printserror messages to a terminal (using string variables).► This code can be used in any unused program from PROG1 toPROG7.► When an Axis Kill All Motion Request is set, this program clearsrelated error conditions, such as Software and Hardware End-of-Travel (EOT) flags, because they are not self-clearing.► Each application will have different requirements, and codeshould be created specifically for individual applications.This example program uses four parameters for storing error codes(arbitrarily assigned to P50, P51, P52 and P53) that can be retrievedfrom an operator interface.This error program can be started from the "main" or startup programusing the RUN command, or by setting the appropriate Program RunRequest flag (for example, Bit 1032 for program 0). It can also bestarted by putting PBOOT in the first line of the example program(remove REM from the line with PBOOT in it).REM Generic Two-axis Error Checking and Recovery Routine for ACR9000' ****************************DISCLAIMER***************************' While precautions have been taken in the preparation of this note,' Parker and the author assume no responsibility for errors or' omissions. Neither is any liability assumed for damages resulting' from the use of the information contained herein.158 Programmer’s Guide