omron — CALIBRATE program instruction

CALIBRATE program instruction the special "calibrate" mode. Details When started, eV+ assumes that the robot is not calibrated and restricts your ability to move the robot with the pendant or an application program. NOTE: The COMP mode light on the pendant does not come on when the robot is not calibrated. Robots with incremental encoders lose start-up calibration whenever system power is switched off. As a safety measure, these robots also lose start-up calibration whenever an *Encoder quadrature error* occurs for one of the robot joints. Other servo errors that can cause the robot to lose calibration are *Unexpected zero index*, *No zero index*, and *RSC Communications Failure*.

l For the Cobra 600 and 800 robots, this instruction causes a small motion of joint 4 (theta). If this program instruction attempts to load the main calibration program, the same program, module, and file name, and search algorithm, are employed as for the CALIBRATE monitor command. If you wish to carry out a CALIBRATE instruction in task 0, one way to do so is from a program run using the /C qualifier on the EXECUTE instruction. With that qualifier specified, a program to calibrate the robot can run in task 0 even when DRY.RUN is disabled. A program running in any task other than 0 can execute the CALIBRATE instruction without special conditions.

The CALIBRATE instruction shall only be executed from one task at a time. If it might be called from multiple tasks (from a REACTE program for example) the call needs to be protected by a mutex using the TAS fonction (see example below). Example The following instruction sequence can be used by any program task to perform start-up calibration on the robot (if task #0 is used, the DRY.RUN switch must be enabled before the program is executed):

DETACH() ;Detach the robot DISABLE DRY.RUN ;Ensure DRY.RUN is disabled ENABLE POWER ;Ensure High Ppower is enabled CALIBRATE ;Calibrate the robot ATTACH() ;Reattach the robot The following instruction sequence must be used if CALIBRATE is called from more than one task: eV+Language Reference Guide, v2.x, 18319-000 Rev A Page 107