Basic Programming Concepts Once the robot has been moved to a destination that is defined relative to a belt, the robot tool will continue to track the belt until it is directed to a location that is not relative to the belt. For example, the following series of instructions would move the tool to a location relative to a belt, open the hand, track the belt for two seconds, close the hand, and finally move off the belt to a fixed location. MOVES %belt[1]:location3 OPENI DELAY 2.00 CLOSEI MOVES fixed.location If this example did not have the second MOVES statement, the robot would continue to track the belt until a belt window violation occurred.
As with motions defined relative to a belt, motions that move the tool off a belt (that is, to a fixed location) must be of the straight-line type. Motion Termination When moving the robot relative to a belt, special attention must be paid to the conditions used to determine when a motion is completed. At the conclusion of a continuous-path motion eV+ normally waits until all the joints of the manipulator have achieved their final destinations to within a tight error tolerance before proceeding to the next instruction.
In the case of motions relative to a belt, the destination is constantly changing and, depending upon the magnitude and variability of the belt speed, the robot may not always be able to achieve final positions with the default error tolerance. Therefore, if a motion does not successfully complete (that is, it is aborted due to a Time-out nulling error), or if it takes an excessive amount of time to complete, the error tolerance for the motion should be increased by preceding the motion instruction with a COARSE instruction. In extreme situations it may even be necessary to entirely disable checking of the final error tolerance.
This can be done by specifying NONULL before the start of the motion. Defining Belt-Relative Locations In order to define locations relative to a belt, belt-relative compound transformations can be used as parameters to all the standard eV+ teaching aids. For example, all the following commands define a location loc_1 relative to the current belt location: 1 HERE %belt:loc_1 In each of these cases, the instantaneous location corresponding to %belt would be determined (based upon the reading of the belt encoder associated with %belt); loc_1 would be set equal to the difference between the current tool location and the instantaneous location defined by %belt.
eV+Language User's Guide, v2.x, 18318-000 Rev A Page 197