12.07.2015 Views

RAPID reference manual - Technology

RAPID reference manual - Technology

RAPID reference manual - Technology

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

InstructionProcerrRecoveryAdvanced <strong>RAPID</strong>PROC proc_move (robtarget ToPoint, speeddata Speed, zonedata Zone,PERS tooldata Tool)MoveL ToPoint, Speed, Zone, Tool;ERRORIF ERRNO = ERR_PATH_STOP THENtry_no := try_no + 1;IF try_no < 4THENproc_on;StartMoveRetry;ELSERaiseToUser \Continue;ENDIFENDPROCENDMODULEAsynchronously raised errors generated by ProcerrRecovery with switch\SyncLastMoveInst can in this example be treated in the routine proc_move,because all move instructions are always created in the routine proc_move.When program pointer is in routine do_process, the transfer to ERROR handlerwill be delayed until running next MoveL in routine proc_move. Note that themovements are always stopped at once.A process flow is started by setting the signal do_myproc to 1. The signaldi_proc_sup supervise the process, and an asynchronous error is raised ifdi_proc_sup becomes 1. In this simple example, the error is resolved by settingdo_myproc to 1 again before resuming the movement.When using predefined NOSTEPIN routine, we recommended to use the optionswitch parameter \SyncLastMoveInst, because then the predefined routine cantake the decision to handle some error situation within the routine, while othermust be handle by the end user.LimitationsSee <strong>RAPID</strong> kernel <strong>reference</strong>/Error recovery/Asynchronously raised errors.SyntaxProcerrRecovery[’\’SyncOrgMoveInst] | [’\’SyncLastMoveInst] ’;’<strong>RAPID</strong> <strong>reference</strong> <strong>manual</strong> - part 1a, Instructions A-R 361

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!