GPL programs that include conveyor tracking are created, loaded and executed in the same manner as standard GPL program. However, once they begin execution, there is some special behavior that must be considered.
- When you execute a motion that is relative to a conveyor belt, the system tests if the destination is already within the conveyor's limits. If the destination is upstream of the limits but headed downstream, the system will pause the execution of the GPL thread until the position comes within range. However, if the destination is downstream of the limits at any time, an error is immediately generated and conveyor tracking is terminated. Note, for some systems where the conveyor belt is occasionally stopped, the dynamic determination of which is the upstream and which is the downstream limit can incorrectly switch the limits due to small changes in the belt encoder position. If this is occurs, the "Unidirectional conveyor travel" bit of the "Conveyor Tracking mode bits" (DataID 2110) should be turned on. This will force the system to always assume that the conveyor belt is traveling in the direction of the positive X-axis of the conveyor's nominal transformation when the conveyor limit checking is performed.
- If a motion moves the robot from a stationary position to a conveyor tracking Location, the system automatically accelerates the robot up to the speed of the belt. Conversely, if a motion moves from a conveyor tracking position to a stationary position, the system automatically decelerates the robot down from the speed of the belt.
- In general, conveyor tracking is utilized to perform material transfer operations such as placing objects on a moving conveyor or unloading them from a moving conveyor. So, it is normally desirable to move the robot as fast a possible. By default, for straight-line motions that are relative to a conveyor belt, the maximum specified speed and acceleration of the robot is computed relative to the ground (the fixed World reference frame) instead of relative to the conveyor’s moving frame of reference. However, when the “Conveyor motion times fixed” bit of the "Conveyor Tracking mode bits" (DataID 2110) is turned on, circular interpolated motions and straight-line motion have their times computed based upon the maximum specified robot speed and acceleration relative to the conveyor’s moving frame of reference.