User`s guide

Basic Programming Concepts
This section describes the basic concepts of the conveyor-tracking feature. First, the data
used to describe the relationship of the conveyor belt to the robot is presented. Then a
description is given of how belt-relative motion instructions are specified. Finally, a description
is presented of how belt-relative locations are taught.
The V+ operations associated with belt tracking are disabled when the BELT system switch is
disabled. Thus, application programs that use those operations must be sure the BELT switch
is enabled.
Belt Variables
The primary mechanism for specifying motions relative to a belt is a V+ data type called a belt
variable. By defining a belt variable, the program specifies the relationship between a specific
belt encoder and the location and speed of a reference frame that maintains a fixed position
and orientation relative to the belt. Alternatively, a belt variable can be thought of as a
transformation (with a time-varying component) that defines the location of a reference
frame fixed to a moving conveyor. As a convenience, more than one belt variable can be
associated with the same physical belt and belt encoder. In this way, several work stations
can be easily referenced on the same belt.
Like other variable names in V+, the names of belt variables are assigned by the
programmer. Each name must start with a letter and can contain only letters, numbers,
periods, and underline characters. (Letters used in variable names can be entered in either
lowercase or uppercase. V+ always displays variable names in lowercase.)
To differentiate belt variables from other data types, the name of a belt variable must be
preceded by a percent sign (%). As with all other V+ data types, arrays of belt variables are
permitted. Hence the following are all valid belt-variable names:
%pallet.on.belt %base.plate %belt[1]
The DEFBELT instruction must be used to define belt variables (see Conveyor-Tracking
Programming on page 317). Thus, the following are not valid operations:
SET %new_belt = %old_belt or HERE %belt[1]
Compared to other V+ data types, the belt variable is rather complex in that it contains
several different types of information. Briefly, a belt variable contains the following
information:
1. The nominal transformation for the belt. This defines the position and direction of
travel of the belt and its approximate center.
2. The number of the encoder used for reading the instantaneous location of the belt
(from 1 to 6).
3. The belt encoder scaling factor, which is used for converting encoder counts to
Basic Programming Concepts
V+Language User's Guide, v17.0
Page 310