omron — Basic Programming Concepts

Basic Programming Concepts 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 eV+ 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 eV+ 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 eV+, 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. eV+ 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 eV+ 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 199). Thus, the following are not valid operations: SET %new_belt = %old_belt or HERE %belt[1] Compared to other eV+ 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 eV+Language User's Guide, v2.x, 18318-000 Rev A Page 192