Professional Documents
Culture Documents
6X
EZ PROGRAMMING
ENVIRONMENT
SAFETY REGULATIONS
RESPONSIBILITY
• The “integrator” shall be responsible for introducing the robot system into a manufacturing
or research environment, issuing the declaration of conformity and applying the EC label to
the system in accordance with the safety standards referred to in the “Machines Directive”.
• COMAU S.p.A. disclaims all responsibility for injury or damage arising from the incorrect or
improper use of the robot system, from the use of any unspecified spare parts and from tam-
pering with circuits, components and system software.
• The foremen who manage / supervise the operations specified in point 3 are responsible for
ensuring that these safety rules are enforced. They must make sure that all authorized per-
sonnel have been instructed as regards the rules contained in this document and the general
safety rules applicable to the robot system and that the aforesaid personnel comply with all
these rules.
• Failure to observe safety standards may cause personal injury and damage to control system
components.
SAFETY REGULATIONS
1. PURPOSE
1.1 The purpose of these safety regulations is to define a series of behaviour rules and duties to be observed
when performing the activities listed in point 3, to ensure the safety of personnel, equipment and the sur-
rounding environment.
2. DEFINITIONS
2.1 Robot System
The term Robot System refers to the functional assembly consisting of: control unit, robot, portable pro-
gramming and/or emergency terminal and any options.
2.2 Protected Area
Protected Area is the area that is enclosed by protective barriers, in which the robot is to be installed and
operated.
2.3 Authorised Personnel
Authorised Personnel is the group of persons that have been appropriately trained and delegated to per-
form the activities listed in point 3.
2.4 Foremen
Foremen are personnel who direct or supervise the activities assigned to subordinate workers as defined
in the previous paragraph.
2.5 Installation and commissioning
The term installation refers to the integration of the robot system mechanics and electrics into a manufac-
turing situation or research environment in accordance with the safety requirements laid down in the Ma-
chines Directive.
The term commissioning refers to the operations involved in verifying system operation once the system
has been installed.
2.6 Operation during Programming
Operating mode under operator control. This mode excludes automatic operation and permits the follow-
ing activities: manual movement in the various different modes, programming of work cycles at reduced
speed, programmed cycle testing at reduced speed and when permitted, at working speed.
02/1299 1
SAFETY REGULATIONS
3. FIELD OF APPLICATION
3.1 These regulations must be complied with when performing the following activities:
• installation and commissioning;
• operation during programming;
• automatic operation;
• emergency manual operation;
• maintenance and repairs;
• removal from service and dismantling;
4. OPERATING MODES
4.1 Installation and Commissioning
4.1.1 Commissioning is allowed only when the robot system is incorporated in a manufacturing system or in a
research environment that guarantees the use of safety conditions.
4.1.2 Installation and commissioning of the system must be performed by authorized personnel only.
4.1.3 The system must only be installed and commissioned inside a protected area of a suitable size to house
the robot and its relative dressing, without any part of these being outside the safety guards. Also, make
sure that during normal robot movements this does not collide with other parts inside the protected area
(for instance, structural pillars, mains, etc.). If necessary, restrict the robot work area by means of me-
chanical stops.
4.1.4 The robot installation area must be kept free, as far as possible, from any materials that may obstruct or
limit visibility.
4.1.5 During installation, handle the robot and control unit as specified in the Product User Manual; if they must
be lifted, check that the eyebolts are secured correctly and use only suitable slings and equipment.
4.1.6 Secure the robot to the support with all the bolts provided.
4.1.7 Remove any anchoring brackets from the axes and check that the robot fixtures are secured correctly.
2 02/1299
SAFETY REGULATIONS
02/1299 3
SAFETY REGULATIONS
4 02/1299
SAFETY REGULATIONS
02/1299 5
SAFETY REGULATIONS
6 02/1299
SAFETY REGULATIONS
02/1299 7
SAFETY REGULATIONS
8 02/1299
PROGRAMMING ENVIRONMENT SUMMARY
SUMMARY
This manual comprises:
Page
CHAPTER 1: BASIC CONTROLLER OPERATIONS
INTRODUCTION 1-1
SYSTEM START-UP AND EZ ACTIVATION 1-1
TEACH PENDANT 1-2
SYSTEM STATUS WINDOW 1-2
EZ ENVIRONMENT STATUS WINDOW 1-3
SCROLLING WINDOW 1-3
COMMAND WINDOW 1-3
FUNCTION OF PTU4 KEYS 1-3
ENTRY OF COMMANDS 1-5
00/0702 i
SUMMARY PROGRAMMING ENVIRONMENT
Page
ii 00/0702
PROGRAMMING ENVIRONMENT SUMMARY
Page
CHAPTER 4: PERIPHERAL DEVICE CONTROL
INTRODUCTION 4-1
OUTPUT SIGNALS 4-1
INPUT SIGNALS 4-1
SIGNAL DESCRIPTION 4-1
DIGITAL INPUTS 4-1
DIGITAL OUTPUTS 4-2
ANALOG OUTPUTS 4-2
DIGITAL INPUT GROUPS 4-3
DIGITAL OUTPUT GROUPS 4-3
USE OF SIGNALS 4-3
HAND COMMAND 4-3
HAND CONTROL COMMANDS 4-4
DOUT COMMAND 4-6
DIGITAL OUTPUT CONTROL 4-6
GOUT COMMAND 4-9
CONTROL OF OUTPUT GROUPS 4-9
AOUT COMMAND 4-12
ANALOG OUTPUT CONTROL 4-12
00/0702 iii
SUMMARY PROGRAMMING ENVIRONMENT
Page
iv 00/0702
PROGRAMMING ENVIRONMENT SUMMARY
Page
CHAPTER 7: MANUAL CONTROL OF THE SYSTEM
INTRODUCTION 7-1
EDITING OPERATIONS 7-1
VIEWING PROGRAMS HELD IN THE MEMORY 7-1
DELETING PROGRAMS HELD IN THE MEMORY 7-1
DELETING OF UNUSED VARIABLES FROM A PROGRAM 7-2
STATEMENT COMMENT 7-2
STATEMENT MODIFICATION 7-3
INSERTION OF COMMENTS OR STATEMENTS NOT PRESENT IN THE MENU 7-4
PROGRAM RESET 7-4
HOW TO POSITION ON A LINE OF THE PROGRAM 7-5
ACCESS TO THE SYSTEM PROGRAMMING ENVIRONMENT 7-6
MANUAL CONTROL OF SIGNALS AND MEMORIES 7-7
DIGITAL OUTPUT 7-7
BIT MEMORY 7-8
GROUPS OF DIGITAL OUTPUTS 7-8
ANALOG OUTPUTS 7-9
WORD MEMORY 7-9
VIDEO EMULATOR 7-10
EMULATOR CONTROL COMMANDS 7-10
EZ COMMAND ENABLE BY EMULATOR 7-11
00/0702 v
SUMMARY PROGRAMMING ENVIRONMENT
Page
CHAPTER 9: PROGRAM TESTING
INTRODUCTION 9-1
DISPLAY ELEMENTS 9-1
CURSOR 9-1
MOTION COUNTER 9-1
LINE 9-2
OPERATION DURING PROGRAMMING 9-2
NON CONTINUOUS MOTION 9-2
CONTINUOUS MOTION 9-3
COMMANDS AVAILABLE DURING FLY MOTION 9-4
OPERATION IN AUTOMATIC MODE 9-4
NON CONTINUOUS MOTION 9-4
CONTINUOUS MOTION 9-4
RESTART OF THE INTERRUPTED PROGRAM 9-5
PROGRAM EXECUTION MODE 9-6
STATEMENT MODE 9-6
DISABLE MODE 9-6
MOVE MODE 9-6
MOVEFLY MODE 9-6
ROUTINE MODE 9-6
SETTING OF THE TYPE OF EXECUTION STEP 9-6
SKIP COMMAND 9-8
DISPLAY OF CURRENT STATEMENTS 9-8
vi 00/0702
PROGRAMMING ENVIRONMENT SUMMARY
Page
APPENDIX B: ERROR MESSAGES
INTRODUCTION B-1
LIST OF ERROR MESSAGES AND INFORMATION MESSAGES B-1
INSTALLATION ERRORS B-4
ACTIVATION ERRORS B-5
APPENDIX C: NODAL EZ
GENERAL D-1
NODAL EZ ROUTINE D-1
REC KEY SET UP D-2
OPERATION OF THE MOD KEY D-3
MODIFICATION OF A MOVE D-4
OPERATION OF THE MOD KEY D-4
STARTUP PROGRAM D-4
FRAME TOUCH-UP D-4
00/0702 vii
SUMMARY PROGRAMMING ENVIRONMENT
viii 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
INTRODUCTION 1-1
SYSTEM START-UP AND EZ ACTIVATION 1-1
TEACH PENDANT 1-2
SYSTEM STATUS WINDOW 1-2
EZ ENVIRONMENT STATUS WINDOW 1-3
SCROLLING WINDOW 1-3
COMMAND WINDOW 1-3
FUNCTION OF PTU4 KEYS 1-3
ENTRY OF COMMANDS 1-5
Programming
Environment EZ-PDL2
INTRODUCTION
This chapter describes the procedures to be carried out step-by-step to assure correct operation of the C3G
controller. Each procedure is self-contained and should be used as follows:
1. Read the Purpose to be sure that this is the procedure required.
2. Check Beginning Status to be sure the controller is ready.
3. Follow each numbered step of the Procedure in the order indicated.
Use of the controller by untrained operators may cause injury to nearby personnel and damage to the
machine. All personnel operating the controller must be specifically trained and aware of the risks in-
volved in use of the machine. They must also know and comply with the safety regulations of a partic-
ular application or installation.
Beginning Status:
Procedure:
1. Enable power to the control system.
Refer to the Comau ‘OPERATION AND MAINTENANCE MANUAL’ for a complete description of the system
activation procedure.
System status, the system command menu and the following message are displayed at the end of the power
on procedure:
The percentage value, which is constantly updated by the message, indicates the portion of the EZ environ-
ment initialization procedure that has been executed.
System status, the system command menu and the following message are displayed at the end of the EZ envi-
ronment initialization procedure:
00/0702 1-1
BASIC CONTROLLER OPERATIONS EZ-PDL2
System status, EZ status and the command menu of the EZ environment are displayed at the end of the EZ en-
vironment start-up procedure.
TEACH PENDANT
For further information, refer to the manual of the cell controller Operation and Maintenance.
1-2 00/0702
EZ-PDL2 BASIC CONTROLLER OPERATIONS
SCROLLING WINDOW
This is the central part of the screen, used for editing and data/command display functions.
COMMAND WINDOW
This consists of the two bottom lines of the display and is used to display the commands available to the opera-
tor. The upper line of the command window is reserved for user messages.
SRCH
5
If pressed together with the SHIFT key, the cursor moves to the line number specified.
HELP
-
If pressed together with the SHIFT key, it provides a comment on the statement on which the
cursor is positioned. To exit the HELP function, press the key again.
00/0702 1-3
BASIC CONTROLLER OPERATIONS EZ-PDL2
JNT
Selects JOINT trajectory for the REC key
CIRC
Selects CIRCULAR trajectory for the REC key
STEP
DISB Enables or disables the active program STEP.
Emergency stop
Auto/Manual switch mushroom
button
1-4 00/0702
EZ-PDL2 BASIC CONTROLLER OPERATIONS
ENTRY OF COMMANDS
Commands may be entered in one of the following ways:
1. Use the arrow keys to move the selector bar to the command required and press the ENTER key. Selec-
tion of this command displays the next level command menu or a short description of the command in
the line above the original menu. The command selected is executed only after pressing the ENTER key.
2. Press the function keys (F1 - F8) located below the display of the teach pendant according to the com-
mand required.
If additional information is requested after command entry, use the numeric keys of the keypad and press the
ENTER key to confirm the command.
To interrupt activation or execution of the current command, press the PREV key. To return to the upper level
command menu press the SHIFT key together with the PREV key or press the TOP key on the PTU4.
00/0702 1-5
BASIC CONTROLLER OPERATIONS EZ-PDL2
1-6 00/0702
Programming
EZ-PDL2 Environment
PROGRAMMING PRINCIPLES
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 2-1
ACCESS TO PROGRAMS 2-1
RECORDING POINTS 2-2
SINGLE STEP EXECUTION OF THE PROGRAM 2-3
MODIFICATION OF RECORDED POINTS 2-4
SAVING THE PROGRAM 2-5
AUTOMATIC EXECUTION OF THE PROGRAM 2-6
Programming
Environment EZ-PDL2
PROGRAMMING PRINCIPLES
INTRODUCTION
This section describes the basic procedures used to create and test a simple motion program. The procedures
described below refer to:
• Access to programs.
• Recording points.
• Single-step execution of the program.
• Modification of recorded points.
• Saving of the edited program
• Automatic execution of the program.
ACCESS TO PROGRAMS
Purpose:
• Open a program.
Beginning status:
Procedure:
1. Enter the ‘Program Open’ command.
Prog Open
F1 F1
To open a program above 99, refer to the paragraphe on ‘EXTENSION OF THE EZ PROGRAM
NUMBER UP TO 999’ in chapter 8 of this manual.
00/0702 2-1
PROGRAMMING PRINCIPLES EZ-PDL2
RECORDING POINTS
Purpose:
Beginning status:
Procedure:
1. Position the cursor on the line below that on which the Move command is to be entered.
2. Jog the Robot to the position to be recorded.
REC
2-2 00/0702
EZ-PDL2 PROGRAMMING PRINCIPLES
Purpose:
Beginning status:
Procedure:
1. Move the cursor to the MOVE statement to be executed.
2. Use the +% and -% keys to set the speed override value.
3. Press and hold the enable pushbutton (HOLD_TO_RUN).
00/0702 2-3
PROGRAMMING PRINCIPLES EZ-PDL2
START
The arm moves towards the point selected. During execution of the motion, the cursor flashes to indicate that
the MOVE statement is being performed.
The enable pushbutton (HOLD_TO_RUN) and the START key act as safety switches. Motion is interrupted if
either of the two switches is released.
If the enable pushbutton (HOLD_TO_RUN) is released, the START key must also be released. To restart mo-
tion, press the HOLD_TO_RUN switch and the START key again. The HOLD_TO_RUN switch must always be
pressed before the START key.
Motion stops when the Robot has reached the position selected.
A message is displayed to inform the operator that the arm has reached the final position. The cursor flashes to
indicate that the MOVE statement highlighted, which specifies the position reached, is still active.
To deactivate the MOVE statement highlighted, release the START key and then press it again. The cursor
stops flashing and moves to the next line.
The line number referring to the last MOVE statement executed remains highlighted. This means that
the position specified in the MOVE statement, whose line number is highlighted, was the last state-
ment executed.
Beginning status:
2-4 00/0702
EZ-PDL2 PROGRAMMING PRINCIPLES
Procedure:
1. Move the cursor to the MOVE statement to be modified.
MOD
Check that the position specified by the message corresponds to the point to be modified.
4. Press the right arrow key to select the letter Y (Yes) and press ENTER.
The point modification is only effective in the working memory. To save the point value in the Ram
Disk, in the extension file .VAR, the program must be stored. This means that each time a system Re-
start is executed and the point modification has not been stored, this modification is lost.
00/0702 2-5
PROGRAMMING PRINCIPLES EZ-PDL2
Procedure:
1. Enter the ‘Program Save’ command.
Prog Save
F1 F3
One
F2
3. Enter the number of the program to be saved (e.g. 1) and press ENTER.
4. Press the right arrow key to select the letter Y (Yes) and press ENTER.
At this point, the program can be run automatically. The programmer must return the teach pendant to its sup-
port and move to the operator panel.
Purpose:
Beginning status:
2-6 00/0702
EZ-PDL2 PROGRAMMING PRINCIPLES
Procedure:
1. Before execution of programs in automatic mode, always check that:
1.1. The program must have been thoroughly tested and validated as operating correctly.
1.2. The work area is clear of personnel and obstructions.
1.3. All safeguards have been installed and function correctly.
1.4. All other specific conditions, referring to the application and installation, have been thoroughly
checked and validated as operating correctly.
2. Set the system to HOLD status.
HOLD
Prog Open
4.
F1 F1
%
- +
HOLD
START
00/0702 2-7
PROGRAMMING PRINCIPLES EZ-PDL2
2-8 00/0702
Programming
EZ-PDL2 Environment
MOTION CONTROL
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 3-1
ARM MOTION 3-1
MOVE STATEMENT 3-1
POSITION TYPES 3-1
POSITION 3-1
JOINTPOS 3-3
XTNDPOS 3-3
USE OF POSITION TYPES IN THE PROGRAM 3-4
CONFIGURATION OF THE REC KEY 3-4
CALCULATION OF THE TOOL MOUNTED ON THE FLANGE 3-5
DEFINITION OF TCP OFFSET 3-6
USE OF TOOLS IN THE PROGRAM 3-8
TOOL ASSIGNMENT IN THE PROGRAM 3-8
TOOL ACTIVATION DURING PROGRAMMING 3-9
USE OF THE FRAME IN THE PROGRAM 3-10
ASSIGNMENT OF THE FRAME IN THE PROGRAM 3-10
USE OF THE REMOTE TOOL/FRAME IN THE PROGRAM 3-11
ASSIGMENT OF REMOTE TOOL AND FRAME 3-11
MOTION CHARACTERISTICS 3-12
MODAL METHOD 3-13
Programming
Environment EZ-PDL2
SUMMARY (cont.d)
Paragraphe Page
MOTION CONTROL
SUMMARY (cont.d)
Paragraphe Page
MOTION CONTROL
INTRODUCTION
This chapter describes EZ statements for arm motion control and definition of tool offset.
ARM MOTION
The Robot path consists of a set of points stored. The movement from one point of the path to the next gener-
ates arm motion.
The various ways in which the positions in space are stored and the characteristics that control arm motion are
described below.
MOVE STATEMENT
The MOVE statement initiates arm motion. Statement syntax is as follows
POSITION TYPES
Positions may be recorded in various ways according to data storage format. The various formats define the
data type to which the position belongs.
The C3G recognizes three types of position data:
• POSITION data type
• JOINTPOS data type
• XTNDPOS data type
POSITION
The POSITION data type stores the distance in millimeters between the theoretical ‘Robot Origin’ position and
the ‘Tool Center Point’.
This distance is obtained using a system of Cartesian coordinates whose ‘Origin’ corresponds to the theoretical
‘Robot Origin’ position.
00/0702 3-1
MOTION CONTROL EZ-PDL2
Example: In the case of anthropomorphic robots, the origin position is at the center of the supporting base.
The Tool Center Point (TCP) predefined by the system corresponds to the center of the flange which is the end
part of the robot and is identified as TOOL 0.
When a tool is mounted on the flange, TCP is defined according to a significant point of the tool. In this case,
the system asks the operator to specify the distance of the selected point from TOOL 0 (refer to the ‘DEFINI-
TION OF TCP OFFSET’ paragraph of this chapter).
3-2 00/0702
EZ-PDL2 MOTION CONTROL
EXAMPLE OF POSITION
POSITION stores tool orientation and TCP distance from the origin of the BASE Cartesian coordinate system
along three dimensions of the system: X, Y and Z.
JOINTPOS
The JOINTPOS data type stores the positions of arm joints, expressed in degrees, without considering TCP po-
sition.
For each joint of the arm there is a component of the JOINTPOS data item which is the distance that the joint
has travelled from its own ‘zero position’.
XTNDPOS
The XTNDPOS data type is used to store the position of an arm that includes more than six axes. For example,
a robot mounted on a sliding axis. In this case, the system sees the robot and the slide as a single arm.
When the Robot is asked to execute a move statement to a position stored with type XTNDPOS, both the arm
and the auxiliary axes will reach the destination position, starting and ending motion at the same time.
00/0702 3-3
MOTION CONTROL EZ-PDL2
• Configure the REC key in order to define the data type to which the new positions will belong.
Procedure:
1. Enter the ‘Setup Variable’ command.
sEtp Var
F4 F6
Pos
F1
The REC key will record POSITIONs. The following statements are obtained:
The letter ‘p’ at the end of the position name indicates the POSITION data type.
Jntp
F2
The REC key will record JOINTPOS. The following statements are obtained:
The letter ‘j’ at the end of the position name indicates the JOINTPOS data type.
Xtnd
F3
The REC key will record XTNDPOS. The following statements are obtained:
The letter ‘x’ at the end of the position name indicates the XTNDPOS data type.
3-4 00/0702
EZ-PDL2 MOTION CONTROL
sEtp vIew
F4 F7
The current setup of the REC key is displayed on the first line of the scroll window.
Press the PREV or ENTER key to continue.
The REC key can be configured using the dedicated keys of the PTU4. (For further information, refer
to the ‘Function of PTU4 keys’ in chapter 1).
As the parameters are defined according to the Cartesian coordinate system of the TOOL, they may vary ac-
cording to tool assembly position.
00/0702 3-5
MOTION CONTROL EZ-PDL2
Procedure:
1. Identify the direction of the Tool X, Y and Z axes.
3-6 00/0702
EZ-PDL2 MOTION CONTROL
4. Enter the Tool number required and press ENTER. Permissible values are -1 to 18, excluding 0.
X
F1
Y
F2
Z
F3
00/0702 3-7
MOTION CONTROL EZ-PDL2
7. To view current Tool parameters, enter the ‘Table Tool View’ command.
Current Tool parameters are displayed in the scroll window. Use the arrow keys to scroll data in the window.
The statement step that assigns the Tool must be executed during programming before re-
cording any new position or modifying those already stored.
This operation is required to activate Tool for the tool mounted on the flange; operations on the posi-
tions executed during programming will refer to this.
• Insert the assignment statement for the Tool required in the program.
Procedure:
1. Position the cursor to insert the Tool statement.
3-8 00/0702
EZ-PDL2 MOTION CONTROL
Procedure:
1. Position the cursor on the a_tool statement.
At the end of statement execution, the cursor moves to the line following the a_tool statement. The Tool speci-
fied in the a_tool statement is activated.
The Tool cannot be activated if all three tool components are set to zero and, in the case of dynamic
model enabled, if the mass is zero or the three components of the Tool center are zero.
The values of the Tool, of the Tool center and mass can be modified activating Tool 0.
00/0702 3-9
MOTION CONTROL EZ-PDL2
During programming, the statement step that specifies assignment of the Frame must be car-
ried out before recording any new position or modifying those already stored.
This operation is necessary to activate the values of the Frame to which the position operations car-
ried out during programming refer.
Procedure:
1. Position the cursor to insert the Frame statement.
The procedure to activate the Frame being programmed is identical to that described for the Tool.
3-10 00/0702
EZ-PDL2 MOTION CONTROL
The dimension of the part must also be calculated, and saved in the Remote Frame table by means of the ‘Tbl
rfrM Edit’ command.
• It enters the Remote Tool and Frame assignment instruction in the program.
Procedure:
1. Position the cursor to enter the instruction RTF.
3. Stroke the number of the Remote Tool (e.g. 1) and press ENTER.
By means of the new “TF” routine a local tool and frame can be activated simultaneously in the same
way as the RTF routine is activated. In order to assign this routine the command ‘Insert Call Tbl Tf’
must be sent and the Tool and Frame numbers must be stroked.
00/0702 3-11
MOTION CONTROL EZ-PDL2
MOTION CHARACTERISTICS
A motion begins with acceleration of the arm along a specified trajectory, continues at a specified speed along
the trajectory and ends with deceleration until the final position is reached. The way the final position is reached
is known as ‘motion termination’.
C3G motion control characteristics are described in the sections below, referring to:
• Trajectory.
• Speed.
• Acceleration/Deceleration.
• Motion termination.
• Continuous motion.
There is a ‘System Predefined Variable’ for each of the above characteristics (excluding continuous motion). This vari-
able is the parameter that can be accessed by the operator using the commands in order to modify execution of a mo-
tion.
Values may be assigned to predefined variables in two ways:
• Assignment using the MODAL Method.
• Assignment using the NODAL Method.
MODAL METHOD
Acts on the parameters referring to arm motion characteristics. For this reason, assignment of a value to a vari-
able using the modal method affects all MOVE statements executed after assignment, also outside the program
that executes the statement. A new assignment must be made to return to the original values.
The assignment statement occupies a program line and has the following syntax:
$ARM_SPD_OVR := value
The $ symbol before the variable name indicates that this is a System Variable with a Predefined function. (The
ARM_SPD_OVR identifier refers to arm speed override.)
Example: The ‘prog_1’ and ‘prog_2’ programs are run in sequence. The last value assigned to the vari-
able in the first program (20) is valid until the next assignment in the second program (100).
PROGRAM Prog_1
...
$ARM_SPD_OVR := 80
MOVE JOINT TO pnt0001p — current speed 80%
MOVE JOINT TO pnt0002p — current speed 80%
$ARM_SPD_OVR := 20
MOVE JOINT TO pnt0003p — current speed 20%
MOVE JOINT TO pnt0004p — current speed 20%
...
END prog_1
PROGRAM Prog_2
...
MOVE JOINT TO pnt0001p — current speed 20%
MOVE JOINT TO pnt0002p — current speed 20%
$ARM_SPD_OVR := 100
MOVE JOINT TO pnt0003p — current speed 100%
MOVE JOINT TO pnt0004p — current speed 100%
...
END prog_2
3-12 00/0702
EZ-PDL2 MOTION CONTROL
NODAL METHOD
Assigns temporary values to predefined variables. These values are effective only during the motion performed
by the MOVE statement which specifies the assignment. On completion of the motion, the values assigned with
the modal method are restored. The syntax of the MOVE statement which specifies a nodal assignment is as
follows:
MOVE trajectory TO destination,
WITH $ARM_SPD_OVR = value,
ENDMOVE
Example: In the ‘prog_1’ program, the value assigned with the temporary method (40) acts only on the
motion performed to reach the following position: pnt0002p.
PROGRAM Prog_1
...
$ARM_SPD_OVR := 100
MOVE JOINT TO pnt0001p — current value 100%
MOVE JOINT TO pnt0002p, — temporary value 40%
WITH $ARM_SPD_OVR = 40,
ENDMOVE
MOVE JOINT TO pnt0003p — current value 100%
...
END prog_1
00/0702 3-13
MOTION CONTROL EZ-PDL2
TRAJECTORY
This is the trajectory of the arm during a motion. The C3G controller defines the following trajectories:
• Linear Trajectory: LINEAR
• Joint Trajectory: JOINT
• Circular Trajectory: CIRCULAR
LINEAR TRAJECTORY
During linear trajectory, the tool center point (TCP) moves in a straight line from the initial position to the final
position and tool orientation varies gradually from initial to final position.
JOINT TRAJECTORY
In the case of joint trajectory, the angles of each joint of the arm are interpolated from their initial to final values.
All the axes start moving at the same time, each from its own initial position and all arrive at the same time,
each at its own final position. Although the path followed by the TCP is repeatable, it is not predictable. Motions
between two positions through joint interpolation are always possible and usually represent the fastest way of
moving from one position to another.
• Set the REC key for automatic insertion of the trajectory required for the new MOVE statements.
Procedure:
1. Enter the `Setup’ command.
sEtp
F4
3-14 00/0702
EZ-PDL2 MOTION CONTROL
Sets the Joint trajectory. The REC key inserts the following statement:
Jnt
MOVE JOINT TO pnt0001p
F1
Sets the Linear trajectory. The REC key inserts the following statement:
MOVE LINEAR TO pnt0001p
Lin
Sets the Circular trajectory. The REC key inserts the following statement:
F2
Circ
TRAJECTORY SETTING
F3
This method is used when recording a sequence of several positions requiring the same motion characteristics.
Example 1: Store the path shown in the figure setting the REC key so as to define the trajectory required
for the MOVE statements, before recording new positions.
00/0702 3-15
MOTION CONTROL EZ-PDL2
PROGRAM prog_1
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE JOINT TO pnt0002p
MOVE JOINT TO pnt0003p
MOVE JOINT TO pnt0004p
MOVE LINEAR TO pnt0005p
MOVE LINEAR TO pnt0006p
MOVE LINEAR TO pnt0007p
MOVE LINEAR TO pnt0008p
...
...
END prog_1
Procedure:
1. Enter the `Setup Joint’ command to set Joint trajectory or press the JNT key of the PTU4.
sEtp Jnt
F4 F1 JNT
5. Starting from point 3. record subsequent positions in which JOINT trajectory is required.
6. Enter the `Setup Linear’ command to set Linear trajectory or press the LIN key of the PTU4.
sEtp Lin
F4 F2 LIN
3-16 00/0702
EZ-PDL2 MOTION CONTROL
REC
9. Starting from point 7. record subsequent positions in which LINEAR trajectory is required.
TRAJECTORY ASSIGNMENT
This method is used when a sequence of several positions requiring different motion characteristics is to be
stored.
Example 2: Store the path shown in the figure assigning the trajectory required for each MOVE statement,
after recording the positions.
PROGRAM prog_2
...
...
BEGIN
a_tool(1)
MOVE LINEAR TO pnt0001p
MOVE JOINT TO pnt0002p
MOVE LINEAR TO pnt0003p
MOVE JOINT TO pnt0004p
MOVE LINEAR TO pnt0005p
MOVE JOINT TO pnt0006p
MOVE LINEAR TO pnt0007p
MOVE JOINT TO pnt0008p
...
...
END prog_2
00/0702 3-17
MOTION CONTROL EZ-PDL2
Procedure:
1. Enter the `Setup Joint’ command or press the JNT key of the PTU4.
sEtp Jnt
F4 F1 JNT
REC
3. Select the `Lin’ command to assign Linear trajectory to the MOVE statement recorded.
Lin
Enter Y (Yes) to the confirmation prompt.
F2
3-18 00/0702
EZ-PDL2 MOTION CONTROL
TRAJECTORY MODIFICATION
Example 3: Modify the trajectory of the motion to the pnt0002p position from LINEAR to JOINT.
PROGRAM prog_3
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE LINEAR TO pnt0002p
MOVE LINEAR TO pnt0003p
MOVE LINEAR TO pnt0004p
MOVE JOINT TO pnt0005p
MOVE LINEAR TO pnt0006p
MOVE JOINT TO pnt0007p
MOVE LINEAR TO pnt0008p
...
...
END prog_3
Procedure:
1. Position the cursor on the MOVE statement to be modified.
00/0702 3-19
MOTION CONTROL EZ-PDL2
CIRCULAR INTERPOLATION
In the case of circular interpolation, the tool center point follows a circular arc from the initial to the final position.
An intermediate position, known as the VIA position, must be specified to define the arc.
Only the location component of the VIA position is used; its orientation has no effect on the position of the tool
during the circular motion.
PROGRAM prog_4
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE CIRCULAR TO pnt0003p VIA pnt0002p
...
...
END prog_4
3-20 00/0702
EZ-PDL2 MOTION CONTROL
Procedure:
1. Record the first position of the path.
REC
2. Enter the `Setup Circular’ command or press the CIRC key of PTU4.
sEtp Circ
F4 F3 CIRC
When recording the MOVE CIRCULAR statement, the VIA position only is assigned. The destination
position is without data.
5. Jog the arm to the destination position (pnt0003p).
6. Press the MOD key.
MOD
A message is displayed showing the position that will be modified and a confirmation prompt is displayed on
the next line.
The MOVE CIRCULAR statement highlighted by the cursor includes two positions that appear on the
same line. The message always shows the destination position of the circular motion first.
00/0702 3-21
MOTION CONTROL EZ-PDL2
PROGRAM prog_5
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE CIRCULAR TO pnt0003p VIA pnt0002p
...
...
END prog_5
Procedure:
1. Position the cursor on the MOVE CIRCULAR statement to be modified.
3-22 00/0702
EZ-PDL2 MOTION CONTROL
CONTINUOUS MOTION
Continuous motion makes it possible to run the program without stopping the arm at the positions stored.
The MOVEFLY statement is used, instead of the MOVE statement, to indicate continuous motion. If MOVEFLY
is followed by another motion, the arm does not stop at the first destination but moves from the starting point of
the first motion to the final point of the second motion without stopping on the point common to the two motions.
Example: In component handling applications, continuous motion reduces cycle time and mechanical
stress as the robot does not stop at the positions which define the trajectories between equip-
ment.
Example: During extrusion processes, continuous motion avoids even short stops of the robot which
would create excessive accumulation of material at the positions on the workpiece.
00/0702 3-23
MOTION CONTROL EZ-PDL2
• Set the REC key for automatic insertion of the TYPE OF MOTION required for the new MOVE statements.
Procedure:
1. Enter the `Setup’ command.
sEtp
2.
F4
Fly
F4
Sets continuous motion. The REC key inserts the following instruction:
MOVEFLY trajectory TO pnt0001p ADVANCE
Nfly
F5
Sets non-continuous motion. The REC key inserts the following instruction:
MOVE trajectory TO pnt0001p
3-24 00/0702
EZ-PDL2 MOTION CONTROL
PROGRAM prog_6
...
...
BEGIN
a_tool(1)
MOVEFLY LINEAR TO pnt0001p ADVANCE
MOVEFLY LINEAR TO pnt0002p ADVANCE
MOVEFLY LINEAR TO pnt0003p ADVANCE
MOVEFLY LINEAR TO pnt0004p ADVANCE
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVEFLY LINEAR TO pnt0006p ADVANCE
MOVEFLY LINEAR TO pnt0007p ADVANCE
MOVE LINEAR TO pnt0008p
...
...
END prog_6
Procedure:
1. Enter the `Setup Linear’ command then `Fly’ or press the LIN and FLY keys of the PTU4 to set Linear
trajectory and continuous motion.
00/0702 3-25
MOTION CONTROL EZ-PDL2
PROGRAM prog_7
...
...
BEGIN
a_tool(1)
MOVEFLY LINEAR TO pnt0001p ADVANCE
MOVE LINEAR TO pnt0002p
MOVEFLY LINEAR TO pnt0003p ADVANCE
MOVE LINEAR TO pnt0004p
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVE LINEAR TO pnt0006p
MOVEFLY LINEAR TO pnt0007p ADVANCE
MOVE LINEAR TO pnt0008p
...
...
END prog_7
3-26 00/0702
EZ-PDL2 MOTION CONTROL
Procedure:
1. Enter the `Setup Linear’ and `Nofly’ commands or press the LIN and NFLY keys of the PTU4.
3. Select the `Fly’ command to assign continuous motion to the MOVE statement recorded.
Fly
F4
4. Starting from point 2, record subsequent positions with the same method.
00/0702 3-27
MOTION CONTROL EZ-PDL2
PROGRAM prog_8
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVEFLY LINEAR TO pnt0002p ADVANCE
MOVE LINEAR TO pnt0003p
MOVE LINEAR TO pnt0004p
MOVE LINEAR TO pnt0005p
MOVEFLY LINEAR TO pnt0006p ADVANCE
MOVE LINEAR TO pnt0007p
MOVE LINEAR TO pnt0008p
...
...
END prog_8
Procedure:
1. Position the cursor on the MOVE statement to be modified.
VARIABLE SPEED
The robot speed may decrease slightly during FLY motion.
Example: In handling applications, constant arm speed is not required during FLY motion.
The variable speed assignment statement occupies a program line and has the following syntax:
$FLY_TYPE := FLY_NORM
3-28 00/0702
EZ-PDL2 MOTION CONTROL
CONSTANT SPEED
Arm speed will remain constant during the FLY motion.
Example: In extrusion applications, constant arm speed during FLY motion assures even accumulation
of the product deposited.
The constant speed assignment statement occupies a program line and has the following syntax:
$FLY_TYPE := FLY_HIGH
PROGRAM prog_9
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
$FLY_TYPE := FLY_NORM
MOVEFLY LINEAR TO pnt0001p ADVANCE
MOVEFLY LINEAR TO pnt0002p ADVANCE
MOVEFLY LINEAR TO pnt0003p ADVANCE
MOVEFLY LINEAR TO pnt0004p ADVANCE
$FLY_TYPE := FLY_HIGH
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVEFLY LINEAR TO pnt0006p ADVANCE
MOVEFLY LINEAR TO pnt0007p ADVANCE
MOVE LINEAR TO pnt0008p
...
...
END prog_9
00/0702 3-29
MOTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor to insert variable speed for FLY motion.
Norm
F2
All MOVEFLY type statements inserted after this statement will be executed at a variable speed until a different
type of speed is assigned (FLY_HIGH).
4. Use the same method to insert the statement that assigns constant speed to the fly motion segment in
which this is required.
The trajectory shape of the continuous motion applies only to motions for which variable speed
($FLY_TIPE := FLY_NORM) has been specified.
3-30 00/0702
EZ-PDL2 MOTION CONTROL
PROGRAM prog_10
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
$FLY_TYPE := FLY_NORM
$FLY_PER := 50%
MOVEFLY LINEAR TO pnt0001p ADVANCE
MOVEFLY LINEAR TO pnt0002p ADVANCE
MOVEFLY LINEAR TO pnt0003p ADVANCE
MOVEFLY LINEAR TO pnt0004p ADVANCE
$FLY_TYPE := FLY_HIGH
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVEFLY LINEAR TO pnt0006p ADVANCE
MOVEFLY LINEAR TO pnt0007p ADVANCE
MOVE LINEAR TO pnt0008p
...
...
END prog_10
00/0702 3-31
MOTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor to insert a FLY execution delay.
3. Enter the percentage value required (e.g. 50) and press ENTER.
All MOVEFLY statements inserted after this statement will be executed with a percentage delay on execution of
FLY motions equal to the value entered until a different value is assigned.
MOTION TERMINATION
When the tool center point or joints are close to the destination position, the system starts to slow arm motion.
If, for example, a motion statement is followed by a wait statement, the arm has time to stop accurately at the
destination position.
3-32 00/0702
EZ-PDL2 MOTION CONTROL
If the motion statement is followed by another motion statement, the controller moves the arm to the new desti-
nation position before this has time to stop completely on the previous position.
The controller moves the arm to a new destination point when it detects that the arm has reached the destina-
tion position.
ACCURACY THRESHOLD
The C3G controller makes it possible to define the accuracy with which arm motion must be terminated at the
destination position, i.e. how `close’ it must be to the position before this can be considered as reached.
There are two ways of selecting motion termination:
1. Specifying the accuracy with which the tool center point (TCP) must reach the destination position.
2. Defining the tolerance with which the joints must position the arm.
To specify the accuracy required, the system defines spherical areas around the destination point.
00/0702 3-33
MOTION CONTROL EZ-PDL2
NOSETTLE
This value indicates that the motion must be terminated as soon as the robot has completed the deceleration
ramp. It defines the coarsest level of accuracy and does not specify any tolerance. The NOSETTLE termination
assignment statement occupies a program line and has the following syntax:
$TERM_TYPE := NOSETTLE
COARSE
This value defines a spherical area with a radius of 1.5 mm around the destination point. The tool center point
(TCP) must terminate motion inside this area when Coarse accuracy is specified. The COARSE termination
assignment statement occupies a program line and has the following syntax:
$TERM_TYPE := COARSE
FINE
This value defines a spherical area with a radius of 0.5 mm around the destination point. The tool center point
(TCP) must terminate motion inside this area when Fine accuracy is specified. The FINE termination assign-
ment statement occupies a program line and has the following syntax:
$TERM_TYPE := FINE
To specify the accuracy required, the system also defines positioning tolerances for arm joints.
Two different parameters can be selected for assignment of motion termination positioning tolerance:
• Termination: JNT_COARSE
• Termination: JNT_FINE
JNT_COARSE
This value defines a positioning tolerance expressed in degrees within which each joint must complete the mo-
tion when Jnt_coarse accuracy is specified. The JNT_COARSE tolerance assignment statement occupies a
program line and has the following syntax:
$TERM_TYPE := JNT_COARSE
JNT_FINE
This value defines a more accurate positioning tolerance, expressed in degrees, than that described above
within which each joint must complete the motion when Jnt_fine accuracy is specified. The JNT_FINE tolerance
assignment statement occupies a program line and has the following syntax:
$TERM_TYPE := JNT_FINE
3-34 00/0702
EZ-PDL2 MOTION CONTROL
PROGRAM prog_11
...
...
BEGIN
a_tool(1)
$TERM_TYPE := JNT_COARSE
MOVE JOINT TO pnt0001p
MOVE JOINT TO pnt0002p
MOVE JOINT TO pnt0003p
MOVE JOINT TO pnt0004p
$TERM_TYPE := FINE
MOVE LINEAR TO pnt0005p
MOVE LINEAR TO pnt0006p
MOVE LINEAR TO pnt0007p
MOVE LINEAR TO pnt0008p
...
...
END prog_11
00/0702 3-35
MOTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor to insert JNT_COARSE termination.
Jcos
F4
All non-continuous motion statements (MOVE) inserted after this statement will be executed with
JNT_COARSE accuracy until a different type of accuracy is assigned.
4. Use the same method to insert the statement that assigns FINE termination for the motion segment in
which this is required.
3-36 00/0702
EZ-PDL2 MOTION CONTROL
By default, the controller exploits arm acceleration and deceleration to the full to reach maximum speed in the
shortest time possible and to stop the arm as quickly as possible.
The C3G controller allows the user to act on the Acceleration and Deceleration profile, introducing a percent-
age reduction parameter that acts on the specific maximum Acceleration and Deceleration values of each type
of arm.
If an acceleration reduction value is assigned to a motion, this increases the time taken by the arm to reach the
speed required.
Similarly, when deceleration is reduced, arm speed will be reduced earlier in relation to the destination position.
Arm motion will be smoother but, as the motion segment performed at maximum speed is shorter, the time
taken to complete the entire motion is longer.
Generally, arm acceleration or deceleration is adjusted in order to avoid excessive stress on the wrist during
motions; when, for example, an element inserted with a precise fit is to be removed from a fixture or when the
arm performs very fast motions in limited spaces and the tool installed on the flange is very close to obstacles.
The percentage value required may be assigned with the nodal or modal method (see description in the `MOVE
STATEMENT’ paragraph).
When modal method assignment is used, a statement line with the following syntax is inserted in the program:
Acceleration:
$ARM_ACC_OVR := value
Deceleration:
$ARM_DEC_OVR := value
Nodal assignment is specified in the MOVE statement with the following syntax:
Acceleration:
MOVE trajectory TO destination,
WITH $ARM_ACC_OVR = value,
ENDMOVE
Deceleration:
MOVE trajectory TO destination,
WITH $ARM_DEC_OVR = value,
ENDMOVE
00/0702 3-37
MOTION CONTROL EZ-PDL2
PROGRAM prog_12
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE JOINT TO pnt0002p
$ARM_ACC_OVR := 60
MOVE LINEAR TO pnt0003p
MOVE LINEAR TO pnt0004p
MOVE LINEAR TO pnt0005p
MOVE LINEAR TO pnt0006p
MOVE LINEAR TO pnt0007p
$ARM_ACC_OVR := 100
MOVE JOINT TO pnt0008p
...
...
END prog_12
In the `prog_12’ example program, the path includes a sequence of motions in which the same reduction of ac-
celeration is required.
In these cases, reduction of acceleration should be assigned using the modal method.
3-38 00/0702
EZ-PDL2 MOTION CONTROL
Procedure:
1. Position the cursor to insert arm acceleration.
3. Enter the percentage value required (e.g. 60) and press ENTER.
4. Use the same method to insert the statement that returns acceleration to 100% for the motion segment
where this is required.
Example 13: Using the previous `prog_12’ example program reduce deceleration of the move to position
pnt0005p.
PROGRAM prog_13
...
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
MOVE JOINT TO pnt0002p
$ARM_ACC_OVR := 50
MOVE LINEAR TO pnt0003p
MOVE LINEAR TO pnt0004p
MOVE LINEAR TO pnt0005p,
WITH $ARM_DEC_OVR = 40,
ENDMOVE
MOVE LINEAR TO pnt0006p
MOVE LINEAR TO pnt0007p
$ARM_ACC_OVR := 100
MOVE JOINT TO pnt0008p
...
...
END prog_13
In the `prog_13’ example program, reduction of deceleration is required for a single MOVE statement. In these
cases, the temporary assignment method is certainly the most suitable.
00/0702 3-39
MOTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor on the MOVE statement which requires specificatIon of deceleration.
Dec
F3
3-40 00/0702
EZ-PDL2 MOTION CONTROL
SPEED CONTROL
By default, arm motions are always performed at the maximum possible speed. To assure maximum arm per-
formance, the C3G controller makes it possible to adjust speed characteristics in two ways:
1. Entering a speed override value (percentage) referring to the maximum speed values of each type of
arm.
2. Specifying the speed at which the tool center point must travel in order to move from point to point, using
speed units expressed in meters per second.
The method used to assign percentage speed affects Cartesian motions, with linear (LINEAR) or circular (CIR-
CULAR) trajectory, and also motions performed with joint interpolation (JOINT).
The most accurate method of speed control, which causes the tool center point to move at the meters per sec-
ond required, acts only on Cartesian motion.
SPEED OVERRIDE
The speed override assignment method is normally used to control motions performed with joint interpolation
where definition of the exact speed of the arm is not particularly important.
The value specified corresponds to the percentage of arm maximum speed that will be used during motion.
00/0702 3-41
MOTION CONTROL EZ-PDL2
OVR COMMAND
When the speed override value is assigned with the OVR command, the acceleration and deceleration profile is
modified. The arm moves at the override speed required.
$ARM_OVR := value
SPD COMMAND
When the speed override value is asisgned with the SPD command, the acceleration and deceleration profile
remains unchanged while the arm moves at the override speed required.
3-42 00/0702
EZ-PDL2 MOTION CONTROL
PROGRAM Prog_1
$ARM_SPD_OVR := 50
MOVE trajectory TO pnt0001p current speed 50%
MOVE trajectory TO pnt0002p, temporary value 10%
WITH $ARM_SPD_OVR = 10,
ENDMOVE
MOVE trajectory TO pnt0003p current speed 50%
END prog_1
PROGRAM prog_14
...
...
BEGIN
a_tool(1)
$ARM_SPD_OVR := 80
MOVEFLY JOINT TO pnt0001p ADVANCE
MOVEFLY JOINT TO pnt0002p ADVANCE
MOVE JOINT TO pnt0003p
MOVEFLY LINEAR TO pnt0004p ADVANCE
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVE LINEAR TO pnt0006p
MOVEFLY JOINT TO pnt0007p ADVANCE
MOVE JOINT TO pnt0008p
$ARM_SPD_OVR := 100
...
...
END prog_14
In the `prog_14’ example program, the arm performs a sequence of motions in which the same percentage
speed reduction is required. In these cases, use of the modal method is preferable.
00/0702 3-43
MOTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor to insert override speed.
4. Use the same method to insert the statement that returns speed override to 100% for the motion seg-
ments in which this is required.
Example 15: Using the previous `prog_14’ example program, reduce motion speed on position pnt0002p.
3-44 00/0702
EZ-PDL2 MOTION CONTROL
PROGRAM prog_15
...
...
BEGIN
a_tool(1)
$ARM_SPD_OVR := 80
MOVEFLY JOINT TO pnt0001p ADVANCE
MOVEFLY JOINT TO pnt0002p ADVANCE
MOVE JOINT TO pnt0003p,
WITH $ARM_SPD_OVR = 50,
ENDMOVE
MOVEFLY LINEAR TO pnt0004p ADVANCE
MOVEFLY LINEAR TO pnt0005p ADVANCE
MOVE LINEAR TO pnt0006p
MOVEFLY JOINT TO pnt0007p ADVANCE
MOVE JOINT TO pnt0008p
$ARM_SPD_OVR := 100
...
...
END prog_15
In the `prog_15’ example program, reduction of speed is required for a single MOVE statement. In these cases,
the temporary assignment method is the most suitable.
Procedure:
1. Position the cursor on the MOVE statement which requires specification of override speed.
00/0702 3-45
MOTION CONTROL EZ-PDL2
CARTESIAN SPEED
When the exact speed of arm motion is to be established, Cartesian speed control makes it possible to assign
a value expressed in m/sec to the tool center point.
Cartesian speed control affects only motions performed with linear or circular interpolation.
CONSTANT SPEED
This is the predefined value. Arm speed is kept at a constant value which corresponds to the maximum allowed
by the type of motion performed.
When constant speed is assigned, a statement line with the following syntax is inserted in the program:
$SPD_OPT := SPD_CONST
MAXIMUM SPEED
The joints move at maximum speed making it possible to obtain faster travel for Cartesian motion. Arm speed is
not constant.
When maximum speed is assigned, a statement line with the following syntax is inserted in the program:
$SPD_OPT := SPD_JNT
3-46 00/0702
EZ-PDL2 MOTION CONTROL
LINEAR SPEED
Assigns the tool center point travel speed required; this will remain constant during the entire motion.
When linear speed is assigned, a statement line with the following syntax is inserted in the program:
$SPD_OPT := SPD_LIN
When the linear speed option is selected, the travel speed required during motion must be specified. The value
is entered in meters per second.
When travel speed is assigned, a statement line with the following syntax is inserted in the program:
$LIN_SPD := value
If the travel speed required is not assigned, the control uses the specific predefined speed value for each type
of arm.
PROGRAM Prog_1
$ARM_OVR := 100
$ARM_SPD_OVR := 100
$SPD_OPT := SPD_LIN
$LIN_SPD := 1
MOVE LINEAR TO pnt0001p current speed 1 m/sec
MOVE LINEAR TO pnt0002p, temporary value 0.5 m/sec
WITH $LIN_SPD = 0.5,
ENDMOVE
MOVE LINEAR TO pnt0003p current speed 1 m/sec
END prog_1
Percentage speed reduction also acts on Cartesian speed. If, for example, the Cartesian speed set for the arm
is 1 m/sec and the speed override is equal to 50%, the arm will move at a speed corresponding to 50% of 1
m/sec, that is to say 0.5 m/sec.
PROGRAM Prog_1
$ARM_OVR := 100
$ARM_SPD_OVR := 50
$SPD_OPT := SPD_LIN
$LIN_SPD := 1
MOVE LINEAR TO pnt0001p current speed 0.5 m/sec
MOVE LINEAR TO pnt0002p, temporary value 0.25 m/sec
WITH $LIN_SPD = 0.5,
ENDMOVE
MOVE LINEAR TO pnt0003p, temporary value 0.5 m/sec
WITH $ARM_SPD_OVR = 100,
WITH $LIN_SPD = 0.5,
ENDMOVE
MOVE LINEAR TO pnt0004p current speed 0.5 m/sec
END prog_1
00/0702 3-47
MOTION CONTROL EZ-PDL2
PROGRAM prog_16
...
...
BEGIN
a_tool(1)
MOVEFLY JOINT TO pnt0001p ADVANCE
$SPD_OPT := SPD_LIN
$LIN_SPD := 0.1
MOVEFLY LINEAR TO pnt0002p ADVANCE
MOVE LINEAR TO pnt0003p,
WITH $LIN_SPD = 0.5,
ENDMOVE
MOVE LINEAR TO pnt0004p
MOVE LINEAR TO pnt0005p
MOVE LINEAR TO pnt0006p
MOVEFLY LINEAR TO pnt0007p ADVANCE
MOVE LINEAR TO pnt0008p
...
...
END prog_16
Procedure:
1. Position the cursor to insert the Cartesian speed option.
3-48 00/0702
EZ-PDL2 MOTION CONTROL
3. Select the `Lin’ command to assign the `LINEAR SPEED’ option for Cartesian motion.
Lin
F3
7. Position the cursor on the MOVE statement which requires specification of Cartesian speed.
00/0702 3-49
MOTION CONTROL EZ-PDL2
PROGRAM prog_1
...
...
BEGIN
MOVE CIRCULAR TO xtn0002x VIA xtn0001x
MOVE CIRCULAR TO xtn0004x VIA xtn0003x
...
...
END prog_1
Procedure:
1. Position the cursor on the statement that precedes the line in which the enable cooperation with auxiliary
axes statement is to be inserted.
2. Select the `Insert Call Cooperation On’ command from the upper level command menu.
Ins Call Coop On
F2 F5 F7 F1
In the case of several auxiliary axes, the last must always be inserted because it is the last axis that
permits cooperation.
3-50 00/0702
EZ-PDL2 MOTION CONTROL
Procedure:
1. Position the cursor on the statement that precedes the line in which the disable cooperation with auxiliary
axes statement is to be inserted.
2. Select the `Insert Call Cooperation Off’ command from the upper level command menu.
Ins Call Coop oFf
F2 F5 F7 F2
00/0702 3-51
MOTION CONTROL EZ-PDL2
3-52 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
INTRODUCTION 4-1
OUTPUT SIGNALS 4-1
INPUT SIGNALS 4-1
SIGNAL DESCRIPTION 4-1
DIGITAL INPUTS 4-1
DIGITAL OUTPUTS 4-2
ANALOG OUTPUTS 4-2
DIGITAL INPUT GROUPS 4-3
DIGITAL OUTPUT GROUPS 4-3
USE OF SIGNALS 4-3
HAND COMMAND 4-3
HAND CONTROL COMMANDS 4-4
DOUT COMMAND 4-6
DIGITAL OUTPUT CONTROL 4-6
GOUT COMMAND 4-9
CONTROL OF OUTPUT GROUPS 4-9
AOUT COMMAND 4-12
ANALOG OUTPUT CONTROL 4-12
Programming
Environment EZ-PDL2
INTRODUCTION
The Robot controller and peripheral equipment communicate by exchanging input and output signals.
OUTPUT SIGNALS
The robot program uses the output signals, known as OUTPUTS, to control peripheral equipment.
INPUT SIGNALS
External events may affect running of the robot program through input signals, known as INPUTS.
SIGNAL DESCRIPTION
DIGITAL INPUTS
A Digital Input signal corresponds to a constant voltage level input coming from peripheral devices (e.g. +24 Volts).
The term digital refers to a dual state or condition device.
For the C3G controller, digital input state may be ON and OFF.
Taking a voltage level of +24 Volt as an example, the states assumed by the signal are as follows:
00/0702 4-1
PERIPHERAL DEVICE CONTROL EZ-PDL2
DIGITAL OUTPUTS
A Digital Output signal corresponds to a constant voltage level output towards peripheral devices (e.g. +24
Volt). The term Digital refers to a dual state or condition device.
For the C3G controller, digital output state may be ON and OFF.
Taking a voltage level of 24 Volt as an example, the states assumed by the signal are as follows:
ANALOG OUTPUTS
An Analog Output signal corresponds to a variable voltage level output towards peripheral devices. The term
Analog refers to a variable state device.
The voltage level of an analog output may be between 0V and maximum 10V which for the C3G controller cor-
responds to a 16-bit binary number.
The program interprets the data as a decimal number which is converted into an analog output signal. (The
value 32767 in the decimal system, assigned to the analog output, is converted into an output voltage level of
+10V).
Assigning the decimal value 32767 to the analog output means having an output voltage of +10 Volt from the
module.
4-2 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
USE OF SIGNALS
Input signals act on program execution and are used together with flow control statements. Refer to the `EXE-
CUTION CONTROL’ chapter for further information on use of signals.
Output signals are used to control peripheral equipment and devices installed on the arm.
HAND COMMAND
Devices known as Grippers or Hands are installed on the arm for component handling applications. The HAND
command inserts statements in the program to set the outputs that control hand open/close motions.
Each arm can control two separate hands, corresponding to the T1 and T2 keys on the teach pendant.
An identification number is inserted in the HAND statement in the program to define which hand the statement
refers to.
00/0702 4-3
PERIPHERAL DEVICE CONTROL EZ-PDL2
The T1 and T2 keys on the teach pendant and the HAND statement in the program set the state of one or two
outputs connected to the hand.
The following HAND statements can be inserted in the program:
COMAU provides a configuration program for selection of the outputs controlled by the HAND com-
mand and configuration of operating mode. This program is easy to install and is entirely
menu-driven. For further information, refer to the Comau `PROGRAMMING GUIDE’.
4-4 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
PROGRAM prog_17
...
BEGIN
a_tool(1)
RELAX HAND 1 Relax hand
MOVE JOINT TO pnt0001p Rest position
MOVEFLY JOINT TO pnt0002p ADVANCE Above pick-up
MOVE LINEAR TO pnt0003p Pick-up position
CLOSE HAND 1 Close hand
MOVEFLY LINEAR TO pnt0004p ADVANCE Pick part
MOVEFLY LINEAR TO pnt0005p ADVANCE Above drop-off
MOVE LINEAR TO pnt0006p Drop-off position
OPEN HAND 1 Open hand
MOVEFLY LINEAR TO pnt0007p ADVANCE Retraction
MOVE JOINT TO pnt0001p Rest position
...
END prog_17
Procedure:
1. Position the cursor to insert the HAND statement.
Rlax
F3
5. Using the same method, enter all the hand commands required by the application.
00/0702 4-5
PERIPHERAL DEVICE CONTROL EZ-PDL2
DOUT COMMAND
The DOUT, Digital Output command inserts program statements for control of peripheral equipment connected
to robot digital output ports. The outputs are numbered in sequence and various types of signal state setting
can be programmed:
• ON Activates output voltage.
• PULSE Inverts the current state of the output signal for a specified time.On expiry of the time, signal .
PROGRAM prog_18
...
BEGIN
a_tool(1)
RELAX HAND 1 Relax hand
MOVE JOINT TO pnt0001p Rest position
$DOUT[19] := OFF Robot interference
MOVEFLY JOINT TO pnt0002p ADVANCE Above pick-up
MOVE LINEAR TO pnt0003p Pick-up position
CLOSE HAND 1 Close hand
MOVEFLY LINEAR TO pnt0004p ADVANCE Pick part
MOVEFLY LINEAR TO pnt0005p ADVANCE Above drop-off
MOVE LINEAR TO pnt0006p Drop-off position
OPEN HAND 1 Open hand
MOVEFLY LINEAR TO pnt0007p ADVANCE Retraction
MOVE JOINT TO pnt0001p Rest position
$DOUT[19] := ON Robot out of interference
PULSE $DOUT[20] FOR 500 Evacuation command
...
END prog_18
4-6 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
Procedure:
1. Position the cursor to insert the Output statement.
3. Enter the number of the Output (e.g. 19) and press ENTER.
oN
F1
4.1. Enables the output voltage on the channel corresponding to the selected Output. Inserts the fol-
lowing statement in the program:
$DOUT[19] := ON
oFf
F2
4.2. Disables the output voltage on the channel corresponding to the Output selected. Inserts the fol-
lowing statement in the program:
$DOUT[19] := OFF
Puls
F3
00/0702 4-7
PERIPHERAL DEVICE CONTROL EZ-PDL2
4.3. Pulses the output voltage on the channel corresponding to the Output selected.
4.3.1. Enter the pulse time (e.g. 500) and press ENTER.
Advc
F1
4.3.2.1. Selects ADVANCE mode. The program does not wait for the pulse time expiry and contin-
ues executing subsequent statements. Inserts the following statement in the program:
Nadv
F2
4.3.2.2. Selects NOT ADVANCE mode. The program waits until the pulse time expires before con-
tinuing execution of subsequent statements. Inserts the following statement in the program:
4.4. Inverts the state of the output voltage on the channel corresponding to the Output selected. Inserts
the following statement in the program:
4.5. Assigns the state defined by a user library Routine to the output signal on the channel correspond-
ing to the Output selected.
4.5.1. Enter the number of the Boolean function required (e.g. 1) and press the ENTER key. Inserts
the following statement in the program:
$DOUT[19] := bfunct_1
5. Using the same method, insert the subsequent output control statements.
4-8 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
GOUT COMMAND
The GOUT, Group of Outputs command, inserts program statements to send signal codes to the peripheral
equipment connected to the digital output ports of the robot. The code may have various functions.
In a general type application, assuming that the robot processes parts having different characteristics, part rec-
ognition may be necessary in order to select the matching program. In this case, it is possible to proceed as de-
scribed briefly below:
• The robot receives the part present code acquired as a group of inputs (GIN).
• Using a group of outputs, the robot sends the feedback of the code received.
• The station control device checks that the code sent to the robot and that received from this match.
• If the codes match, the station controlling device sends the cycle execution enable signal to the robot.
Using the groups of signals, it is possible to control several signals at the same time using a single program
statement; furthermore, a limited number of signals is used compared with the number of codes that can be
generated (it is possible to generate 32767 codes with 16 signals).
A more complete example, also including input signal code acquisition and processing, is given in the
`EXECUTION CONTROL’ chapter.
00/0702 4-9
PERIPHERAL DEVICE CONTROL EZ-PDL2
PROGRAM prog_19
...
BEGIN
a_tool(1)
RELAX HAND 1 Relax hand
MOVE JOINT TO pnt0001p Rest position
$DOUT[19] := OFF Robot interference
MOVEFLY JOINT TO pnt0002p ADVANCE Above pick-up
MOVE LINEAR TO pnt0003p Pick-up position
CLOSE HAND 1 Close hand
ireg[3] := $GIN[1] Code acquisition
MOVEFLY LINEAR TO pnt0004p ADVANCE Pick up part
MOVEFLY LINEAR TO pnt0005p ADVANCE Above drop-off
MOVE LINEAR TO pnt0006p Drop-off position
OPEN HAND 1 Open hand
$GOUT[1] := 10 Send workpiece code
MOVEFLY LINEAR TO pnt0007p ADVANCE Retraction
MOVE JOINT TO pnt0001p Rest position
$DOUT[19] := ON Robot out of interference
PULSE $DOUT[20] FOR 500 Evacuation command
...
END prog_19
Procedure:
1. Position the cursor to insert the GOUT statement.
Num
F1
4-10 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
4.1.1. Enter the value (e.g. 10) and press ENTER. The following statement is inserted in the program:
$GOUT[1] := 10
Ireg
F1
4.2. Assigns the current value of a register of integers to the Output Group selected.
4.2.1. Enter the number of the register (e.g. 1) and press ENTER. The following statement is inserted
in the program:
$GOUT[1] := ireg[1]
See the description of Integer Registers in the `EXECUTION CONTROL’ chapter.
Word
F3
4.3. Assigns the current value of a WORD to the Output Group selected.
4.3.1. Enter the number of the WORD (e.g. 1) and press ENTER. The following statement is inserted
in the program:
$GOUT[1] := $WORD[1]
iFun
F4
4.4. Assigns the value defined by a user library Routine to the Output Group selected.
4.4.1. Enter the number of the Routine required (e.g. 1) and press the ENTER key. The following
statement is inserted in the program:
$GOUT[1] := ifunct_1
00/0702 4-11
PERIPHERAL DEVICE CONTROL EZ-PDL2
AOUT COMMAND
The AOUT, Analog Output command inserts program statements used to control variable effect devices con-
nected to robot analog output ports.
In a general type application, for example polishing of a metal component, it may be necessary to change the
pressure of the abrasive tool on component surfaces.
In these cases, it is possible to vary the air pressure which determines the force applied to the tool by control-
ling an analog output connected to a pressure regulator.
The robot program uses the AOUT statement to set the output voltage level of the analog signal connected to
the pressure regulator.
PROGRAM prog_20
...
BEGIN
a_tool(1)
MOVE JOINT TO pnt0001p
$AOUT[41] := 25000 Pressure Adjustment
$DOUT[21] := ON Start Spindle
MOVEFLY JOINT TO pnt0002p ADVANCE
MOVEFLY LINEAR TO pnt0003p ADVANCE
MOVE JOINT TO pnt0004p
$AOUT[41] := 20000 Pressure Adjustment
MOVEFLY JOINT TO pnt0005p ADVANCE
MOVEFLY LINEAR TO pnt0006p ADVANCE
MOVE JOINT TO pnt0008p
$AOUT[41] := 30000 Pressure Adjustment
MOVEFLY JOINT TO pnt0008p ADVANCE
MOVEFLY LINEAR TO pnt0009p ADVANCE
MOVE JOINT TO pnt0010p
$AOUT[41] := 15000 Pressure Adjustment
MOVEFLY JOINT TO pnt0011p ADVANCE
MOVEFLY LINEAR TO pnt0012p ADVANCE
MOVE JOINT TO pnt0001p
$DOUT[21] := OFF Stop Spindle
$AOUT[41] := 0 Pressure Adjustment
...
END prog_20
4-12 00/0702
EZ-PDL2 PERIPHERAL DEVICE CONTROL
Procedure:
1. Position the cursor to insert the AOUT statement.
3. Enter the number of the analog output (e.g. 41) and press ENTER.
Num
F1
4.1.1. Enter the value (e.g. 25000) and press ENTER. The following statement is inserted in the program:
$AOUT[41] := 25000
Ireg
F2
4.2. Assigns the current value of a register of integers to the Analog Output.
4.2.1. Enter the number of the register (e.g. 1) and press ENTER. The following statement is inserted
in the program:
$AOUT[41] := ireg[1]
00/0702 4-13
PERIPHERAL DEVICE CONTROL EZ-PDL2
Word
F3
4.3.1. Enter the number of the WORD (e.g. 1) and press ENTER. The following statement is inserted
in the program:
$AOUT[4] := $WORD[1]
iFun
F4
4.4. Assigns the value defined by a user library Routine to the Analog Output.
4.4.1. Enter the number of the Routine (e.g. 1) and press ENTER. The following statement is inserted
in the program:
$AOUT[41] := ifunct_1
5. Use the same method to insert the subsequent analog output control statements.
4-14 00/0702
Programming
EZ-PDL2 Environment
EXECUTION CONTROL
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 5-1
PROGRAM STRUCTURE 5-1
EXECUTION CONTROL 5-2
RTRN COMMAND 5-2
CALL COMMAND 5-2
PROGRAM CONTROL 5-4
STATION OPERATION 5-4
SIGNALS USED 5-4
PROGRAM ORGANIZATION 5-4
PROGRAM STRUCTURE 5-5
FLOW CONTROL 5-6
IF COMMAND 5-6
GOTO COMMAND 5-7
LABL COMMAND 5-7
PROGRAM FLOW CONTROL 5-8
STATION OPERATION 5-8
SIGNALS USED 5-8
PROGRAM STRUCTURE 5-9
PROGRAM CONTROL 5-11
WAIT COMMAND 5-11
Programming
Environment EZ-PDL2
SUMMARY (cont.d)
Paragraphe Page
EXECUTION CONTROL
INTRODUCTION
This chapter describes the EZ statements that control program execution. These are divided into:
`Execution Control’ statements: control the sequence in which programs are executed.
`Program Control’ statements: control program status.
`Flow Control’ statements: determine the order in which program statements are executed.
`Register and Program Memory Control’ statements: store program events.
PROGRAM STRUCTURE
A general type application may include several operations to complete the entire `Work Cycle’.
In these cases, the robot program comprises the statements required to organize the sequence in which the
operations are carried out and the statements that perform the individual operations.
The work cycle can be simplified by isolating the operation control statements in a single program and dividing
the statements referring to the individual operations into several programs
In this way, a block of programs organized as follows is obtained:
• Single control program: `Main Program’.
This contains the statements required to control the sequence in which work cycle operations are per-
formed.
• Group of complementary programs: `Subprograms’.
These contain statements referring to the individual operations.
00/0702 5-1
EXECUTION CONTROL EZ-PDL2
EXECUTION CONTROL
EZ contains commands to control program and routine execution as follows:
• RTRN Command: Closes execution of programs or routines or returns to the calling program.
• CALL Command: Invokes execution of complementary programs and routines.
RTRN COMMAND
The RTRN command inserts the RETURN statement in the program.
In automatic mode, the RETURN statement inserted in the main program deactivates execution of this.
When used in a subprogram, the RETURN statement returns control to the calling program at the line following
the CALL statement.
CALL COMMAND
The CALL command inserts program statements to start execution of complementary programs and routines. (For a
detailed description of the routines, refer to the `ROUTINES’ paragraph in this chapter).
When one program calls another, the latter takes control of cycle execution and the statements it contains are
executed. The RETURN statement of the called program returns control to the calling program at the line fol-
lowing the CALL statement.
5-2 00/0702
EZ-PDL2 EXECUTION CONTROL
The same program may be called several times or several complementary programs can be called in se-
quence. The program called always returns control to the calling program with the RETURN statement.
00/0702 5-3
EXECUTION CONTROL EZ-PDL2
PROGRAM CONTROL
Example 21: The robot is to process two parts having different characteristics both present at the work station.
STATION OPERATION
1. The robot programs are started when the pallet carrying the parts reaches the work station.
2. After completing the work cycle, the pallet must be evacuated.
SIGNALS USED
$DOUT[19]: ROBOT OUT OF INTERFERENCE
$DOUT[20]: PALLET EVACUATION COMMAND
$DOUT[21]: START SPINDLE COMMAND
PROGRAM ORGANIZATION
The program statements required to perform a complete work cycle are divided into several programs orga-
nized as follows:
• PROGRAM 0
Control of program execution sequence and of certain peripheral equipment control signals.
• PROGRAM 1
Execution of part No.1 processing operations. Includes motion statements, those to control the tooling in-
stalled on the robot arm and statements to control signals indicating interference in shared work envelope.
5-4 00/0702
EZ-PDL2 EXECUTION CONTROL
• PROGRAM 2
Execution of part No.2 processing operations. Includes motion statements, those to control the tooling in-
stalled on the robot arm and statements to control signals indicating interference in shared work envelope.
• PROGRAM 10
Initialization of the control signals of peripheral equipment, of arm motion characteristics and of the coun-
ters used in the programs.
• PROGRAM 11
Moves the robot to the start of cycle position and sends the ROBOT OUT OF INTERFERENCE signal.
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
call_prog_10 Initialization
call_prog_11 Robot at rest Out of Interference
call_prog_1 Part No. 1 program
call_prog_2 Part No. 2 program
PULSE $DOUT[20] FOR 500 End of cycle
...
END prog_0
PROGRAM prog_10
...
BEGIN
$DOUT[19] := OFF
$DOUT[20] := OFF
$DOUT[21] := OFF
$AOUT[1] := 0
$ARM_OVR := 100
$ARM_SPD_OVR := 100
$ARM_ACC_OVR := 100
$ARM_DEC_OVR := 100
$SPD_OPT := SPD_LIN
$LIN_SPD := 1
$FLY_PER := 100
$FLY_TYPE := FLY_NORM
$TERM_TYPE := NOSETTLE
...
END prog_10
PROGRAM prog_11
...
BEGIN
MOVE JOINT TO pnt0001j,
WITH $ARM_SPD_OVR = 20,
ENDMOVE
$DOUT[19] := ON
...
END prog_11
00/0702 5-5
EXECUTION CONTROL EZ-PDL2
Procedure:
1. Position the cursor to insert the CALL PROG statement.
3. Enter the number of the program (e.g. 10) and press ENTER.
FLOW CONTROL
Program execution normally starts with the first statement following the BEGIN statement and proceeds until
the RETURN statement is encountered. EZ provides commands to insert statements that alter the order in
which statements are executed as follows:
• IF Command: Selection of alternatives.
IF COMMAND
The IF command inserts statements that allow the program to choose between two possible courses of action
according to the result of an expression specified in the statement. If the result of the expression is `TRUE’
(ON), the program executes the statements following the IF clause and then continues with the statements after
ENDIF. If the result is `FALSE’ (OFF), the statements following the IF clause are skipped and the program con-
tinues from the statement following ENDIF.
The following expressions are allowed in the IF statement:
• $DIN[n]: State of a Digital Input.
5-6 00/0702
EZ-PDL2 EXECUTION CONTROL
GOTO COMMAND
The GOTO command inserts unconditional branch statements which make it possible to alter the sequence in
which program statements are usually executed. In most cases in which non-sequential program flow is re-
quired, this statement can be used together with other execution control statements (e.g. IF statement).
With the GOTO statement, the program skips to a point specified using a statement label.
LABL COMMAND
The LABL command inserts statement labels in the program.
00/0702 5-7
EXECUTION CONTROL EZ-PDL2
STATION OPERATION
1. The two infeed belts carry pallets containing components with different characteristics.
2. The pallets arrive at the workstation one at a time and are fed in random order.
3. When the pallet is positioned correctly at the work station, the part present code is sent to the robot.
4. The robot selects and starts the work program corresponding to the code received and carries out the
operations required by the application.
5. On completion of the cycle, the pallet carrying the part must be evacuated.
SIGNALS USED
$DIN[8]: PART No.1 CODE
$DIN[9]: PART No. 2 CODE
5-8 00/0702
EZ-PDL2 EXECUTION CONTROL
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
call_prog_10 Initialization
l_1::
call_prog_11 Robot at rest Out of interference
l_10::
call_prog_1 Part No. 1 program
GOTO l_100
l_20::
call_prog_2 Part No. 2 program
GOTO l_100
l_100::
PULSE $DOUT[20] FOR 500 End of Cycle
GOTO l_1
...
END prog_0
Procedure:
1. Position the cursor to insert the LABEL statement.
00/0702 5-9
EXECUTION CONTROL EZ-PDL2
10. Complete the `prog_0’ program inserting all the known statements.
5-10 00/0702
EZ-PDL2 EXECUTION CONTROL
PROGRAM CONTROL
Program control statements alter the state of a program. They can suspend execution of the statements by in-
troducing a time or event-driven wait or stop execution of the entire program. EZ provides commands to insert
statements that modify program state as follows:
• WAIT command: Event-driven wait.
WAIT COMMAND
The WAIT command inserts program statements that suspend program execution until the condition specified by an ex-
pression is satisfied. When the condition specified in the expression is satisfied, program execution is restarted automati-
cally.
The following expressions can be used in the WAIT statement:
• $DIN[n]: Digital input state.
DELAY COMMAND
The DLAY command inserts program statements that suspend program execution for a specified period of
time, expressed in milliseconds. During this time, execution of the following operations continues:
• Testing of signals performed by the PULSE statement.
HOLD COMMAND
The HOLD command inserts program statements that stop program execution. Arm motion is gradually re-
duced until complete stop. This statement has the same effect as pressing the HOLD button on the Teach Pen-
dant or on the Control Panel.
00/0702 5-11
EXECUTION CONTROL EZ-PDL2
STATION OPERATION
Operation differences compared with the previous cycle.
1. The cycle is started by a signal indicating the pallet is present at the work station.
2. The robot waits for the pallet present at work station signal before acquiring the part present code.
3. If the code of the part present is not recognized, execution of the program is interrupted.
4. A pallet evacuation enable signal is provided to avoid collisions between outfeed pallets.
5. The robot tests the pallet evacuation enable signal before evacuating the pallet present.
SIGNALS USED
$DIN[3]: PALLET PRESENT AT WORK
STATION
$DIN[4]: PALLET EVACUATION ENABLE
$DIN[8]: PART No.1 CODE
$DIN[9]: PART No.2 CODE
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
call_prog_10 Initialization
l_1::
call_prog_11 Robot at rest Out of Interference
WAIT FOR $DIN[3] = ON Pallet present at work station
l_10::
call_prog_1 Part No. 1 program
GOTO l_100
l_20::
call_prog_2 Part No. 2 program
GOTO l_100
l_100::
WAIT FOR $DIN[4] = ON Pallet present at evacuation station
PULSE $DOUT[20] FOR 500 End of Cycle
GOTO l_1
...
END prog_0
5-12 00/0702
EZ-PDL2 EXECUTION CONTROL
Procedure:
1. Position the cursor to insert the WAIT statement.
oN
F1
00/0702 5-13
EXECUTION CONTROL EZ-PDL2
BIT COMMAND
The BIT command inserts program statements for control of Bit type memories. A $BIT variable is a temporary
dual state or condition memory.
The number of Bit memories available depends on system configuration; each memory may be in the following
states: ON and OFF.
They are generally used inside a program to store or check whether a particular event has occurred. The fol-
lowing operations can be performed on the Bit memories using the BIT command:
• Assign ON state to the Bit memory.
• Assign OFF state to the Bit memory.
• Pulse Bit memory state.
• Invert Bit memory state.
• Assign the state defined by a User Routine to the Bit memory.
IREG COMMAND
The IREG command inserts program statements to perform operations on integer registers. A register is a tem-
porary memory device that can be used to store a numeric value.
The C3G system has 100 registers, numbered from 1 to 100, each of which can store numeric values between
- 2147483647 and + 2147483647.
The are generally used inside a program to count the number of times a particular event has occurred. The fol-
lowing operations can be performed on the registers using the IREG command:
• Assign a value to the register.
• Increase the register by a value.
• Decrease the register by a value.
• Assign the value of a system variable to the register.
• Assign the value defined by a User Routine to the register.
TIMR COMMAND
The TIMR command inserts program statements to carry out operations on timers. A $TIMER variable is a sys-
tem timer that runs continually.
The number of timers available depends on system configuration; each timer stores the time that has lapsed
using numeric values measured in milliseconds. (The value 1000 of the Timer corresponds to 1 second of time
lapsed).
To record the cycle time of a particular operation, the Timer must be reset at the start of the operation and the
current value of the Timer must be recorded on completion of the operation.
The following operations can be performed on Timers using the TIMER statement:
• Assign a value to the Timer.
• Assign the current value of a register to the Timer.
• Assign the current value of a Word memory to the Timer.
• Assign the value defined by a User Routine to the Timer.
5-14 00/0702
EZ-PDL2 EXECUTION CONTROL
WORD COMMAND
The WORD command inserts program statements that control Word type memories. A $WORD variable is a
temporary memory that can be used to store a numeric value.
The number of Word memories available depends on system configuration; each memory corresponds to a
16-bit word that can store numeric values between - 32768 and + 32767.
They are generally used inside a program to count the number of times a particular event has occurred. The
following operations can be carried out on Word memories using the WORD statement:
• Assign a value to the Word memory.
• Increase the Word memory by a value.
• Decrease the Word memory by a value.
• Assign the value of a system variable to the Word memory.
• Assign the value defined by a User Routine to the Word memory.
• Set or reset a bit of a WORD.
00/0702 5-15
EXECUTION CONTROL EZ-PDL2
SIGNALS USED
$DIN[1]: TOOL CHANGE HAND - CLOSE
$DIN[2]: TOOL CHANGE HAND - OPEN
$DIN[3]: PALLET PRESENT AT WORK STATION
$DIN[4]: PALLET EVACUATION ENABLE
$DIN[5]: TOOL CHANGE REQUEST
$DIN[6]: MAGAZINE No.1 AVAILABLE
$DIN[7]: MAGAZINE No.2 AVAILABLE
$DIN[8]: PART No.1 CODE
$DIN[9]: PART No.2 CODE
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
Call_prog_10 Initialization
l_1::
Call_prog_11 Robot at rest Out of interference
l_10::
Call_prog_1 Part No.1 program
GOTO l_100
l_20::
5-16 00/0702
EZ-PDL2 EXECUTION CONTROL
l_100::
PULSE $DOUT[20] FOR 500 End of cycle
ireg[1] := ireg[1] + 1
IF ireg[1] 10 THEN Check number of work cycles
GOTO l_1
ENDIF
call_prog_21
GOTO l_1
l_30::
call_prog_22
GOTO l_1
...
END prog_0
Procedure:
1. Position the cursor to insert the IREG statement
00/0702 5-17
EXECUTION CONTROL EZ-PDL2
Inv
F4
ROUTINES
Each work cycle may include activities that are repeated several times during the same operation or others that
are shared by several different operations.
Statements belonging to activities repeated several times in the same program or activities common to several
programs can be isolated in single Routines in order to simplify program creation and subsequent access to
this.
5-18 00/0702
EZ-PDL2 EXECUTION CONTROL
ROUTINE STRUCTURE
Routines have a similar structure to that of programs; they may contain any type of statement and be called
several times during the cycle. They are written inside programs which, for this reason, have exclusive control
of them. Routines may be organized as follows according to requirements:
• Routines belonging to single programs:
These are called `SUBROUTINES’ and can be called only by the program to which they belong; they are
written in the initial part of the program which controls them.
• Routines shared by all programs:
These are known as `ROUTINES’ and can be called by any program; they are written in a program called
`ez_ulib’ (user library).
00/0702 5-19
EXECUTION CONTROL EZ-PDL2
ROUTINE DEVELOPMENT
Routines are written inside the `ez_ulib’ program which is an EZ user library; they can contain any type of state-
ment in the PDL2 system programming language.
The user library can be accessed from the system programming environment. (See `MANUAL CONTROL OF
THE SYSTEM’ chapter).
SUBROUTINE DEVELOPMENT
Subroutines are written inside the complementary programs and can contain any type of EZ statement.
The statement calling execution of the subroutine required must be inserted in order to access subroutines and
the subroutine access procedure described below must be carried out.
SHIFT
HELP
-
5-20 00/0702
EZ-PDL2 EXECUTION CONTROL
SUBROUTINE ACCESS
Procedure:
1. Position the cursor on the subroutine execution call statement (e.g.: `sub_1’ ).
4.1. Position the cursor on the END statement of the subroutine and execute this by pressing START.
The cursor repositions inside the program, on the line following the `sub_1’ statement.
00/0702 5-21
EXECUTION CONTROL EZ-PDL2
5-22 00/0702
Programming
EZ-PDL2 Environment
DISK OPERATIONS
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 6-1
INTERNAL STORAGE DEVICES 6-1
EXECUTION MEMORY 6-1
RAM DISK 6-2
EXTERNAL STORAGE DEVICES 6-2
PERSONAL COMPUTER 6-2
EXTERNAL FLOPPY DISK UNIT 6-3
COMMUNICATION DEVICES 6-3
COMMUNICATION PORTS 6-3
DISK OPERATIONS 6-4
SAVE PROGRAMS ON RAM DISK 6-4
TRANSFER OF PROGRAMS TO FLOPPY DISK 6-5
TRANSFER OF A USER PROGRAM 6-5
TRANSFER OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM 6-6
TRANSFER OF PROGRAMS TO PERSONAL COMPUTER 6-6
TRANSFER OF A USER PROGRAM 6-6
TRANSFER OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM 6-7
LOAD PROGRAMS FROM PERSONAL COMPUTER 6-8
LOAD OF A USER PROGRAM 6-8
LOADING OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM 6-8
Programming
Environment EZ-PDL2
SUMMARY (cont.d)
Paragraphe Page
DISK OPERATIONS
INTRODUCTION
This chapter describes the Storage Devices of the C3G controller and the procedures used to save or load
User Programs and Tool Parameters.
The storage devices consist of Internal devices, i.e. system memories, and External devices which may be an
Integrated Floppy Disk Unit or a Personal Computer connected to the communication devices of the controller.
EXECUTION MEMORY
The Execution Memory contains the programs created by means of the command `Prog Open‘ and the
parameters of the Tool created by means of the command `Tbl Tool Edit’, the Remote Tool created by means
of the command `Tbl Rmtt Edit’, the Frame created by means of the command `Tbl Frm Edit’ and the Remote
Frame created by means of the command `Tbl rfrM Edit’.Every time there is a Tool/Frame modification, the
Edit control asks whether the modified Tool/Frame is to be saved. If the answer given is No the modifications
are lost, with Yes the data is saved in Ram Disk.
Likewise, any Tool/Frame or program modification operates on the execution memory.
Warning: in order to render the Tool parameters operational, the instruction `A_TOOL’ must be executed, and
as regards the Frame, the `A_FRAME’ must be executed. Should the operator wish to activate a Remote Tool
or Frame the routine `RTF’ must be executed, while the routine `TF’ executes a local Tool/Frame.
The programs to be executed in automatic mode must also be loaded in execution memory (command `Prog
Load’) as well as the Tool/Frames to be utilized in them, (commands `Tbl Tool Load’, `Tbl Rmtt Load’, `Tbl Frm
Load’ or `Tbl rfrM Load’).
00/0702 6-1
DISK OPERATIONS EZ-PDL2
RAM DISK
Data held in the Execution Memory may be lost in the case of system re-start in particular conditions.
To save the data held in the Execution Memory, these must be transferred to the Ram Disk, the contents of
which are protected as long as the memory circuits are powered.
Programs that have been created or modified must be saved using the `Prog Save’ command.
PERSONAL COMPUTER
A Personal Computer can be connected to the C3G Controller using a serial cable inserted in one of the avail-
able communication ports. Data are transferred on an RS232 serial line using a standard communication proto-
col installed on the C3G Controller and on the Personal Computer.
(The procedure for installation of the communication protocol on the Personal Computer is described in the
`APPLICATION PROGRAM INSTALLATION’ chapter of this manual).
In this way, a back-up copy of user programs, Tool parameters and Frame parameters held on the Ram Disk
can be created on the floppy disk of the computer.
6-2 00/0702
EZ-PDL2 DISK OPERATIONS
COMMUNICATION DEVICES
These allow communication between the C3G internal storage devices (Ram Disk) and external storage de-
vices (Personal Computer).
COMMUNICATION PORTS
COMP: Serial communication port located on the outside of the control unit, to which the PCINT is
connected (C3G video emulator).
00/0702 6-3
DISK OPERATIONS EZ-PDL2
DISK OPERATIONS
The procedures used to save or load User Programs and Tool Parameters to/from storage devices are de-
scribed below with a list of the operations to be performed in sequence in order to:
Prog Save
F1 F3
6-4 00/0702
EZ-PDL2 DISK OPERATIONS
All
F1
2.1. All the user programs contained in the Execution memory that have been modified are saved in
the Ram Disk (from ProgView control, the programs TO_SAVE);
Enter Y (Yes) in reply to the operation confirmation prompt.
One
F2
2.2. Saves a single program held in the Execution memory on the Ram Disk.
2.2.1. Enter the number of the program to be saved and press ENTER.
2.2.2. Enter Y (Yes) in reply to the confirmation prompt.
As
F3
2.3. Saves a single program held in the Execution memory on the Ram Disk, changing its name.
2.3.1. Enter the number of the source program and press ENTER.
2.3.2. Enter the number of the destination program and press ENTER.
00/0702 6-5
DISK OPERATIONS EZ-PDL2
5. Select the `To’ and `Fd’ commands to route transfer of programs towards the External Floppy Disk Unit.
To Fd
F1 F1
4. Select the “To” command and then the “Fd” command to transfer the programs to the External Floppy
Disk Unity.
To Fd
F1 F1
6-6 00/0702
EZ-PDL2 DISK OPERATIONS
5.1. Select the `To’ and `Net’ commands to direct the transfer to the EIM card via port NET1 or NET2.
To Net
F1 F3
5.1.1. Enter the number of the port NET (1..2) and press ENTER.
5.2. Select the `To’ and then `Comp’ commands to route transfer of programs towards a Personal
Computer via the COMP serial port using the PCINT.
To Net
F1 F3
4.1.1. Enter the number of the port NET (1..2) and press ENTER.
4.2. Select the `To’ and `Comp’ commands to route transfer of programs towards a Personal Computer
via the COMP serial port using the PCINT.
00/0702 6-7
DISK OPERATIONS EZ-PDL2
4.1.1. Enter the number of the port NET (1..2) and press ENTER.
4.2. Select the `From’ then `Comp’ commands to route transfer of programs from Personal Computer
via the COMP serial port using the PCINT.
6-8 00/0702
EZ-PDL2 DISK OPERATIONS
From Net
F2 F3
3.1.1. Enter the number of the port NET (1..2) to which the Personal Computer is connected (0..4)
and press ENTER.
3.2. Select the `From’ then `Comp’ commands to route transfer of programs from Personal Computer
via the COMP serial port using the PCINT.
4. Select the `From’ and `Fd’ commands to route program loading from the External Floppy Unit.
From Fd
F2 F1
00/0702 6-9
DISK OPERATIONS EZ-PDL2
3. Select the `From’ command and then the `Fd’ command to load the programs from the External Floppy
Disk Unit.
From Fd
F2 F1
Prog Load
F1 F4
All
F1
2.1. Loads all the programs held on the Ram Disk into the Execution Memory.
One
F2
2.2. Loads a single program from the Ram Disk into the Execution Memory.
2.2.1. Enter the number of the program to be loaded and press the ENTER key.
2.2.2. Enter Y (Yes) in reply to the confirmation prompt.
6-10 00/0702
EZ-PDL2 DISK OPERATIONS
2.1.1. Enter the number of the port NET (1..2) and press ENTER.
2.2. Send the `Table Tool Copy To Comp’ command to transfer the Tool parameters via the COMP se-
rial port using the PCINT.
2.1.1. Enter the number of the port NET (1..2) and press ENTER.
2.2. Enter the `Table Tool Copy From Comp’ command to copy the Tool parameters via the COMP se-
rial port using the PCINT.
00/0702 6-11
DISK OPERATIONS EZ-PDL2
As regards the Remote Tool, the Frame and the Remote Frame, the parameter transfer and load op-
erations are similar to those described for the Tools.
6-12 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
INTRODUCTION 7-1
EDITING OPERATIONS 7-1
VIEWING PROGRAMS HELD IN THE MEMORY 7-1
DELETING PROGRAMS HELD IN THE MEMORY 7-1
DELETING OF UNUSED VARIABLES FROM A PROGRAM 7-2
STATEMENT COMMENT 7-2
STATEMENT MODIFICATION 7-3
INSERTION OF COMMENTS OR STATEMENTS NOT PRESENT IN THE MENU 7-4
PROGRAM RESET 7-4
HOW TO POSITION ON A LINE OF THE PROGRAM 7-5
ACCESS TO THE SYSTEM PROGRAMMING ENVIRONMENT 7-6
MANUAL CONTROL OF SIGNALS AND MEMORIES 7-7
DIGITAL OUTPUT 7-7
BIT MEMORY 7-8
GROUPS OF DIGITAL OUTPUTS 7-8
ANALOG OUTPUTS 7-9
WORD MEMORY 7-9
VIDEO EMULATOR 7-10
EMULATOR CONTROL COMMANDS 7-10
EZ COMMAND ENABLE BY EMULATOR 7-11
Programming
Environment EZ-PDL2
INTRODUCTION
This chapter describes EZ utility procedures for management and manual control of the system, such as delet-
ing programs held in the memory, reset of programs, control of outputs, management of the video emulator and
others.
EDITING OPERATIONS
VIEWING PROGRAMS HELD IN THE MEMORY
Purpose:
Procedure:
1. Enter the `Program View’ command.
Prog View
F1 F7
• NOT LOADED: The program is stored on the Ram Disk but is not loaded in the Execution Memory.
• TO LOAD: The copy of the program present on the Ram Disk is more recent than that loaded in the
Execution Memory.
• 100: Memory bytes occupied.
• Delete a program from the Ram Disk and from the Execution memory. Program data will be lost.
00/0702 7-1
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
Procedure:
1. Enter the `Program Delete One’ command.
Prog Del One
F1 F5 F1
2. Enter the number of the program to be deleted and press the ENTER key.
• Remove any unused variables of a program from the Ram Disk and from the Execution memory. The pro-
gram must be open.
Procedure:
1. Enter the `Program Delete Unused’ command.
STATEMENT COMMENT
Purpose:
• Attach a comment to program statements inserting two hyphens at the start of the line selected. Com-
mented statements will not be executed.
Insertion of comments may be useful when testing the program if execution of one or more state-
ments is to be skipped without deleting these.
Procedure:
1. Position the cursor on the statement to which the comment is to be attached.
7-2 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM
Chng Comm
F3 F2
The system inserts two hyphens at the start of the line highlighted by the cursor.
To remove a comment, position the cursor on the relative statement and perform the same procedure.
STATEMENT MODIFICATION
Purpose:
Procedure:
1. Position the cursor on the statement to be modified.
Chng Line
F3 F5
The operation is interrupted and the modifications are deleted in the case of a syntax error.
00/0702 7-3
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
Procedure:
1. Use the arrow keys to position the cursor on the line immediately above that in which the new statement
or comment is to be inserted.
Ins Line
F2 F6
3. Enter the statement (for example `WRITE ($TIMER[1]’) or the comment (for example `—comment line’)
and press ENTER.
(Alphanumeric characters can be entered by pressing the CHAR key of the PTU).
The operation is interrupted and the insertion is deleted in the case of syntax error.
PROGRAM RESET
Purpose:
• Reset the cursor and the Line to the first line of the program.
Procedure:
1. Enter the `Program Reset’ command.
Prog Rset
F1 F2
7-4 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM
Line
F1
Rout
F2
lAbel
F3
Pnt
F4
Jnt
F5
Xtn
F6
At this point, you must decided whether to make a search forwards (`Forw’ command) or back (`Back’ command) in
relation to the position of the cursor.
00/0702 7-5
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
Pressing the S.NXT key of the PTU4, it is possible to perform the search set with the SRCH key forwards
(`Forw’ command) or back (`Back’ command) in relation to the position of the cursor.
S.NXT
4
The system programming environment must be accessed in order to enter the EZ user library. This
operation makes it possible to access the `ez_ulib’ program and to develop user routines in the sys-
tem programming language.
Procedure:
1. Enter the `Change Environment’ command or press the EZ key of the new PTU.
Chng Envm
F3 F3 EZ
2. If the programs have been modified, a prompt is displayed requesting whether the modifications are to
be saved.
Answer Y (YES) to align the Line with the cursor or return the cursor to the row of the Line and repeat the oper-
ation.
4. A prompt is displayed requesting confirmation of change to the system programming environment.
Util Appl
F8 F1 EZ
7-6 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM
DIGITAL OUTPUT
Procedure:
1. Enter the `Execute Dout’ command.
Exec Dout
F7 F1
2. Enter the number of the Output (e.g. 19) and press ENTER.
3.1. Enables output voltage on the channel corresponding to the Output selected.
oFf
F2
3.2. Disables output voltage on the channel corresponding to the Output selected.
00/0702 7-7
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
BIT MEMORY
Procedure:
1. Enter the `Execute Bit’ command.
Exec Bit
F7 F2
oFf
F2
2. Enter the number of the Group required (e.g. 1) and press ENTER.
7-8 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM
ANALOG OUTPUTS
Procedure:
1. Enter the `Execute Aout’ command.
Exec Aout
F7 F4
2. Enter the number of the Output required (e.g. 49) and press ENTER.
WORD MEMORY
Procedure:
1. Select the `Execute Word’ command.
Exec Word
F7 F5
00/0702 7-9
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
VIDEO EMULATOR
An emulator that reproduces all the functions of the EZ environment available on the Teach Pendant Display is
provided for C3G Plus.
It suffices to make a connection between the serial port of a PC and the COMP port and install the PCINT (see
the `Programming Guide’ manual).
In industrial environments, the controller often operates in automatic mode with the Teach Pendant discon-
nected. In these cases, transmission of EZ commands from the controller or the external PC keyboard can be
enabled when fast action on the commands is required.
Procedure:
1. Enter the `Chng cRt’ command.
Chng cRt
F3 F4
Deac
F1
Act
F2
7-10 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM
Paus
F3
The system disables sending of messages to the window that reproduces the teach pendant dis-
play.
Unps
F4
The system reactivates sending of messages to the window that reproduces the teach pendant
display.
Procedure:
1. Put the Teach Pendant back on its support on the cabinet and make sure that the switches on the rear
part of the pendant are pressed.
2. When the `EZ on CRT ===== Active’ message is displayed in the emulator window, keyboard com-
mands are available.
00/0702 7-11
MANUAL CONTROL OF THE SYSTEM EZ-PDL2
7-12 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
INTRODUCTION 8-1
MOVE COMMAND 8-1
SHFT COMMAND 8-1
SHIFTING OF POSITIONS OF THE ORIGINAL PATH 8-2
SHIFTED PATH EXECUTION 8-2
ASGN COMMAND 8-2
ORIGINAL PATH POSITION RECORDING 8-3
ORIGINAL PATH REGISTER SHIFT 8-3
SELECTION OF THE PATH TO BE EXECUTED 8-3
PALLETIZATION ON SINGLE ROW 8-4
PROGRAM ORGANIZATION 8-4
PROGRAM STRUCTURE 8-4
PALLETIZATION ON ROWS AND COLUMNS 8-5
PROGRAM ORGANIZATION 8-6
PROGRAM STRUCTURE 8-6
MOTION CLAUSES 8-8
TIL CLAUSE 8-8
USE OF TIL CLAUSE 8-9
CONDITION CLAUSE 8-11
USE OF CONDITIONS 8-11
Programming
Environment EZ-PDL2
SUMMARY (cont.d)
Paragraphe Page
INTRODUCTION
The EZ environment provides a number of high level functions useful to perform operations on motions and
which are designed to simplify programming of particular applications. The procedures to be carried out to use
these functions are described in this chapter.
MOVE COMMAND
The MOVE command inserts motion statements towards positions already stored.
If, for example, execution of a path must terminate at the exact point at which it started, positioning towards the first
position of the path can be inserted as last motion statement. For example:
...
MOVE LINEAR TO pnt0001p — first position
MOVE LINEAR TO pnt0002p — intermediate position
MOVE LINEAR TO pnt0003p — intermediate position
MOVE LINEAR TO pnt0004p — intermediate position
MOVE LINEAR TO pnt0001p — first position
...
SHFT COMMAND
The SHFT command is used to `shift’ points which have already been stored, modifying their coordinates.
When, for example, execution of a path already stored is to be shifted, statements to shift the positions belong-
ing to the path can be inserted.
The values entered express millimeters of shift along the three directions of the BASE Cartesian coordinates
system: X, Y and Z. For example:
00/0702 8-1
HIGH LEVEL FUNCTIONS EZ-PDL2
ASGN COMMAND
The ASGN command copies positions already stored in `Position Registers’.
The various position types: Position, Jointpos and Xtndpos are described in the `MOTION CONTROL’ chapter
of this manual.
For each of these types, EZ has 100 `Position Registers’ in which the value of positions already stored can be
recorded. The registers are identified as follows:
The operations that can be carried out on positions using the MOVE and SHFT commands can also be carried
out on the position registers. (The SHFT command acts only on POSITION type position registers).
8-2 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
The position registers belong to the user library and, for this reason, are shared by all programs. To save the
contents of the registers, the program that assigns these must be saved.
Using the ASGN command, it is possible, for example, to maintain the original position of a path and to shift ex-
ecution of this using the position registers. For example:
00/0702 8-3
HIGH LEVEL FUNCTIONS EZ-PDL2
PROGRAM ORGANIZATION
• PROGRAM 0
Controls the execution sequence of the part pick-up and drop-off programs.
• PROGRAM 1
Depalletization.
• PROGRAM 2
Drop part on the evacuation belt.
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
ireg[1] := 0
l_1::
call_prog_1 — Pick up workpiece
call_prog_2 — Drop workpiece
GOTO l_1
...
END prog_0
8-4 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
PROGRAM prog_1
...
BEGIN
IF ireg[1] = 0 THEN —1st workpiece to be picked up
preg[1] := pnt0001p — Records 1st workpiece position
preg[2] := pnt0002p — Records position above 1st
workpiece
ENDIF
MOVEFLY JOINT TO preg[2] ADVANCE — Position above workpiece
MOVE LINEAR TO preg[1] — Workpiece pick-up position
CLOSE HAND 1 — Close hand
MOVEFLY LINEAR TO preg[2] ADVANCE — Workpiece picked up
ireg[1] := ireg[1] + 1 — Workpieces picked up count
IF ireg[1] <3 THEN — Workpieces picked up check
POS_SHIFT(preg[1],VEC(0,100,0)) — Pos. above 1st workpiece
POS_SHIFT(preg[2],VEC(0,100,0)) — 1st Workpiece pick-up position
RETURN
ENDIF
ireg[1] := 0 — Workpiece counter reset
...
END prog_1
PROGRAM prog_2
...
BEGIN
MOVE JOINT TO pnt0001p — Position above drop-off
MOVE LINEAR TO pnt0002p — Workpiece drop-off position
OPEN HAND 1 — Open hand
MOVE LINEAR TO pnt0001p — Workpiece dropped
...
END prog_2
00/0702 8-5
HIGH LEVEL FUNCTIONS EZ-PDL2
PROGRAM ORGANIZATION
• PROGRAM 0
Controls the execution sequence of the part pick-up and drop-off programs.
• PROGRAM 1
Depalletization.
• PROGRAM 2
Drop part on the evacuation belt.
PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
ireg[1] := 0
l_1::
call_prog_1 — Pick up workpiece
call_prog_2 — Drop workpiece
GOTO l_1
...
END prog_0
PROGRAM prog_1
...
BEGIN
IF ireg[1] = 0 THEN — 1st workpiece to be picked up
preg[1] := pnt0001p — 1st workpiece position column
preg
preg[2] := pnt0002p — Position above 1st workpiece
preg
preg[3] := pnt0001p — 1st workpiece position row preg
preg[4] := pnt0002p — 1st workpiece position row preg
ireg[2] := 0 — Column counter reset
ireg[3] := 0 — Row counter reset
ENDIF
MOVEFLY JOINT TO (preg[2]) ADVANCE — Position above workpiece
MOVE LINEAR TO (preg[1]), — Workpiece pick-up position
CLOSE HAND 1 — Close hand
MOVEFLY LINEAR TO (preg[2]) ADVANCE — Workpiece picked up
ireg[1] := ireg[1] + 1 — Workpieces picked up count
ireg[2] := ireg[2] + 1 — Column count
IF ireg[2] = 5 THEN — Column picked up check
POS_SHIFT(preg[1], VEC(0, 100, 0)) — Column offset
POS_SHIFT(preg[2], VEC(0, 100, 0)) — Position above workpiece offset
RETURN
ENDIF
ireg[2] := 0 — Column reset
ireg[3] := ireg[3] + 1 — Row count
IF ireg[3] = 5 THEN — Row picked up check
POS_SHIFT(preg[3], VEC(100, 0, 0)) — Row offset
POS_SHIFT(preg[4], VEC(100, 0, 0)) — Position above workpiece offset
preg[1] := preg[3]
preg[2] := preg[4]
RETURN
ENDIF
ireg[1] := 0
...
8-6 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
END prog_1
PROGRAM prog_2
...
BEGIN
MOVE JOINT TO pnt0001p — Position above drop-off
MOVE LINEAR TO pnt0002p — Workpiece drop-off position
OPEN HAND 1 — Open hand
MOVE LINEAR TO pnt0001p — Workpiece dropped
...
END prog_2
Procedure:
1. Position the cursor to insert the ASSIGN preg statement.
3. Enter the number of the position register (e.g. 1) and press ENTER.
4. Enter the number of the position to be recorded (e.g. 1) and press ENTER.
00/0702 8-7
HIGH LEVEL FUNCTIONS EZ-PDL2
10. Enter the number of the register (e.g. 1) and press ENTER.
11. Enter the shift required along the three base axes (e.g. X:0, Y:100 and Z:0).
MOTION CLAUSES
`Motion Clauses’ make it possible to check the state of a signal or to verify that particular conditions or events
have occurred during the execution of a motion.
Clauses are part of the MOVE statement and act only during the motion started by the statement to which they
refer.
TIL CLAUSE
The optional TIL clause makes it possible to test the state of a digital input or of a BIT during execution of a mo-
tion. Change of state of a signal causes the motion to be cancelled and program execution continues from the
next statement.
The MOVE statement that specifies the TIL motion clause has the following syntax:
8-8 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
Example 27: The Robot must pick up parts aligned in random fashion on a pallet.
PROGRAM prog_27
...
BEGIN
a_tool(1)
...
...
MOVE JOINT TO pnt0003p — search start position
MOVE LINEAR TO pnt0004p, — search end position
TIL $DIN[1]+, — signal generated by sensor
ENDMOVE
IF $DIN[1] = ON THEN — part detected
call_prog_10 — part pick-up program
call_prog_20 — part drop-off program
ENDIF
...
...
...
END prog_27
00/0702 8-9
HIGH LEVEL FUNCTIONS EZ-PDL2
Procedure:
1. Position the cursor on the MOVE statement requiring the TIL motion clause.
Din
F1
oN
F1
6.1. The change of signal status from OFF to ON (rising edge `+’) causes stopping of the motion.
oFf
F2
6.2. The change of signal status from ON to OFF (falling edge `-’) causes stopping of the motion.
8-10 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
If the signal is already in the programmed state at the start of motion, the TIL clause will have no ef-
fect and the motion cannot be interrupted.
CONDITION CLAUSE
CONDITIONs make it possible to monitor certain cycle conditions or external events during execution of a mo-
tion. Predefined actions are performed according to whether or not the conditions or events specified have oc-
curred.
The MOVE statement that specifies a CONDITION has the following syntax:
USE OF CONDITIONS
Refer to the Comau `PROGRAMMING LANGUAGE’ manual for the characteristics and operation of CONDI-
TIONs.
CONDITIONS are `defined’ inside a Routine belonging to the user library. For this reason, the routine contain-
ing the CONDITIONs must be executed by the program before starting a motion that specifies a CONDITION.
To define a CONDITION inside the user library, the system programming environment must be accessed (see
the `MANUAL CONTROL OF THE SYSTEM’ chapter of this manual).
Example 28: During a general type of motion, the system must check that the program has not been put in
HOLD status.
00/0702 8-11
HIGH LEVEL FUNCTIONS EZ-PDL2
PROGRAM ez_ulib
...
ROUTINE rout_1 EXPORTED FROM ez_ulib
ROUTINE rout_1
BEGIN
CONDITION[1]:
WHEN HOLD DO
$DOUT[20] := ON —fault indication
WRITE(`PROGRAM IN HOLD STATE’,NL)
ENABLE CONDITION[2]
ENDCONDITION
CONDITION[2]:
WHEN START DO
$DOUT[20] := OFF —fault reset
WRITE(`PROGRAM RESTORED’,NL)
ENABLE CONDITION[1]
ENDCONDITION
ENABLE CONDITION[1]
END rout_1
...
BEGIN
END ez_ulib
PROGRAM prog_28
...
BEGIN
a_tool(1)
rout_1 —definition of CONDITIONs
MOVE LINEAR TO pnt0002p
MOVE LINEAR TO pnt0003p
MOVE LINEAR TO pnt0004p,
WITH CONDITION[1], —test on HOLD status
ENDMOVE
MOVE LINEAR TO pnt0005p
...
END prog_28
Procedure:
1. Position the cursor on the MOVE statement requiring the CONDITION
8-12 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
00/0702 8-13
HIGH LEVEL FUNCTIONS EZ-PDL2
Example:
The following points have been defined in the `PROG_1’ program:
The robot is to make the movements between point pnt0001p and point pnt0002p which is two millimeters higher.
The controller is in AUTO_L mode and the PROG_1 program is being executed.
Procedure:
1. Select the `Exec Shft User Position’ from the upper level command menu.
4. Select the `New’ command to set and execute the new values.
New
F1
8-14 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS
9. Select the `Last’ command to execute the last values inserted using the `New’ command.
Last
F2
00/0702 8-15
HIGH LEVEL FUNCTIONS EZ-PDL2
8-16 00/0702
Programming
EZ-PDL2 Environment
PROGRAM TESTING
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 9-1
DISPLAY ELEMENTS 9-1
CURSOR 9-1
MOTION COUNTER 9-1
LINE 9-2
OPERATION DURING PROGRAMMING 9-2
NON CONTINUOUS MOTION 9-2
CONTINUOUS MOTION 9-3
COMMANDS AVAILABLE DURING FLY MOTION 9-4
OPERATION IN AUTOMATIC MODE 9-4
NON CONTINUOUS MOTION 9-4
CONTINUOUS MOTION 9-4
RESTART OF THE INTERRUPTED PROGRAM 9-5
PROGRAM EXECUTION MODE 9-6
STATEMENT MODE 9-6
DISABLE MODE 9-6
MOVE MODE 9-6
MOVEFLY MODE 9-6
ROUTINE MODE 9-6
Programming
Environment EZ-PDL2
SUMMARY (cont.d)
Paragraphe Page
PROGRAM TESTING
INTRODUCTION
To facilitate testing of programs and of the data taught, EZ features certain capabilities that make it possible to
`view’ information referring to the current program and to `set’ the various ways in which the statements are exe-
cuted.
DISPLAY ELEMENTS
Display elements allow the operator to monitor the status of the current program and provide visual information
referring to the sequence in which statements are executed. These elements are known as the Cursor, Line
and Motion Counter.
CURSOR
Highlights the statement line on which the commands of the editor (F1..F8) and the execution commands
(START and RUN) act.
During programming, commands relative to the program editor and to modification of points act on the state-
ment highlighted by the cursor. The START and RUN keys start execution of the statement on which the cursor
is positioned.
During operation in automatic mode, the START key starts execution of the program from the statement on
which the cursor is positioned.
When the cursor flashes, this means that the statement on which it is positioned is being executed.
In the example given above, the editor commands F1...F8, the MOD position modification command and the
START and RUN statement execution commands act on the `MOVE JOINT TO pnt0001p’ statement.
MOTION COUNTER
Highlights the line number of the last motion statement executed.
When the Motion Counter flashes, this means that the MOVE statement on the statement line highlighted is be-
ing executed and the position specified by the statement has not yet been reached.
When the Motion Counter is displayed in reverse video and does not flash, this means that the position speci-
fied by the MOVE statement highlighted was the last position performed.
In the example given above, the cursor has been moved manually to line 9 but the motion counter shows that
the last motion statement to be executed was that of line 7: `MOVE JOINT TO pnt0001p’.
00/0702 9-1
PROGRAM TESTING EZ-PDL2
LINE
Displays the line number of the statement waiting to be executed.
If the Line is equal, for example, to - LN8 -, this means that the last statement completed was that on line 7 and
next statement line to be executed is line 8.
If the Line is positioned on the BEGIN line, the program will start from the beginning.
In the example given above, the Line is on line 8, aligned with the cursor. This means that the statement of line 7
`$DOUT[21] := ON’ was the last statement completed and the statement on line 8 `MOVE JOINT TO pnt0002p’
will be the next statement to be executed. The last motion statement to be executed was that on line 6.
6 BEGIN
7 Ireg[1]:=0
8 MOVE JOINT TO pnt0001p
9 MOVE JOINT TO pnt0002p
10 Ireg[1]:=Ireg[1]+1
11 $DOUT[21]:=on
9-2 00/0702
EZ-PDL2 PROGRAM TESTING
In this case the arm IS NOT in the position shown by the MOTION COUNTER.
CONTINUOUS MOTION
Statement mode execution of a program containing MOVEFLY motions in programming status is described be-
low. The sample program is as follows:
6 BEGIN
7 Ireg[1]:=0
8 MOVEFLY JOINT TO pnt0001p ADVANCE
9 MOVEFLY JOINT TO pnt0002p ADVANCE
10 Ireg[1]:=Ireg[1]+1
11 $DOUT[21]:=on
00/0702 9-3
PROGRAM TESTING EZ-PDL2
When the RUN key is pressed, the statement on which the cursor is positioned is executed.
START
When the START key is pressed, the current motion statement is completed.
The current program is displayed at the point in which this was interrupted.
Display Elements:
The CURSOR is positioned on the statement of line `8’ and flashes. This means that the statement high-
lighted by the cursor is being executed.
The MOTION COUNTER is positioned on the statement of line `8’ and flashes. This means that the
MOVE statement highlighted is being executed.
The LINE is positioned on the statement of line `8’ and flashes (LN8). This means that the statement of
line 8 is waiting to be completed.
CONTINUOUS MOTION
Taking, for example, a simple motion program that includes continuous motion (MOVEFLY), the operation of
the display elements is described below.
1. During execution of a program in automatic mode, press the HOLD key when the arm is moving.
Display Elements:
The CURSOR is positioned on the statement of line `8’ and flashes.
The MOTION COUNTER is positioned on the statement of line `7’ and flashes.
The LINE is positioned on the statement of line `8’ and flashes (LN8).
9-4 00/0702
EZ-PDL2 PROGRAM TESTING
2. If the motion is cancelled with the ^C command before completion of the current statement, the following
condition occurs:
Display Elements:
The CURSOR is positioned on the statement of line `8’ and does not flash.
The MOTION COUNTER is positioned on the statement of line `7’ and does not flash.
The LINE is positioned on the statement of line `9’ and does not flash (LN9).
Procedure:
1. Remove `HOLD’ status by pressing the HOLD key.
1.1. If the following message is displayed:
This means that, after stopping the program, the cursor has been moved to a different line from
that of the Line.
1.2. If the following message is displayed:
This means that, after stopping of the program, a motion in progress has been cancelled before
this has been completed.
IN THIS CASE THE ARM IS NOT IN THE POSITION SHOWN BY THE MOTION COUNTER.
Answering Y (Yes), the program will be started from the statement on which the cursor is positioned.
00/0702 9-5
PROGRAM TESTING EZ-PDL2
STATEMENT MODE
When the START key is pressed, a single program statement is executed. To execute the next statement, the
START key must be pressed again.
DISABLE MODE
When the START key is pressed, all the statements of the program are executed continuously. This is the exe-
cution mode used for automatic running of the program. To stop program execution, press the HOLD key.
MOVE MODE
When the START key is pressed, all the statements that are not motion statements are executed starting from
the one on which the cursor is positioned, plus the first motion statement encountered. Continuous motions
(MOVEFLY) are performed as non-continuous motions (MOVE). The START key must be pressed again to ex-
ecute the following statements.
MOVEFLY MODE
When the START key is pressed, all the statements that are not motion statements are executed, starting from
that on which the cursor is positioned, plus the first motion statement encountered. If the motion statement is of
the MOVEFLY type, all the MOVEFLY statements that follow will be executed continuously. The arm will stop
only after execution of the first non-continuous motion statement encountered.
ROUTINE MODE
When the START key is pressed, a single program statement is executed. ROUTINEs are run as if they were a
single statement pressing the START key once only.
• Defines the type of `step’ with which program statements will be executed.
Beginning Status:
• During programming, with the PROG/AUTO switch set to PROG, the commands used to set the type of
step are always enabled.
• During operation in automatic mode, with the PROG/AUTO switch set to AUTO-L, the program being exe-
cuted must be set to HOLD status in order to enable the commands that set the type of step.
9-6 00/0702
EZ-PDL2 PROGRAM TESTING
Procedure:
1. Enter the `Step’ command.
Step
F6
The program executes a single statement each time the START key is pressed: step-by-step execution.
The first time the START key is pressed, the program executes the statements of lines 10, 11 and 12; the arm
is in the pnt0004p position. The second time the START key is pressed, the program executes the statement of
line 13; the arm is in the pnt0005p position.
00/0702 9-7
PROGRAM TESTING EZ-PDL2
Rout
F5
1° START 10 OPEN HAND 1
2° START 11 Sub_1
3° START 12 CLOSE HAND 1
Each time START is pressed, the program performs a single statement including the sub_1 ROUTINE.
VIEW
Displays current execution mode.
F7
SKIP COMMAND
This command is enabled during operation in automatic mode only and makes it possible to skip execution of
the statement on which the program is waiting.
Procedure:
The program is `waiting’ on the `WAIT FOR $DIN[1] = ON’ statement during execution in automatic mode.
1. Select the `Step skIp’ command.
Step skIp
F6 F6
Procedure:
1. Enter the `View Line’ command.
View Line
F8 F1
9-8 00/0702
Programming
EZ-PDL2 Environment
MULTIARM
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION 10-1
MULTIARM EZ CONFIGURATION 10-1
Programming
Environment EZ-PDL2
MULTIARM
INTRODUCTION
In the case of multiarm configuration of the system, that is to say when a single C3G controller governs several
arms, a version of EZ is available which permits program and variable allocation according to the number of
arms configured in the system.
MULTIARM EZ CONFIGURATION
The tables below show possible EZ configurations with a list of the programs and variables that can be ac-
cessed by the various arms in the system.
Each ARM has 18 Tools available. A Tool table is defined for each ARM. EZ automatically works on the correct
Tool table.
00/0702 10-1
MULTIARM EZ-PDL2
10-2 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
INTRODUCTION 11-1
EZ SUPPLY 11-1
INSTALLATION REQUIREMENTS 11-1
INSTALLATION PROCEDURE 11-1
CONTROLLER SET-UP 11-2
EZ INSTALLATION 11-3
INTEGRATED FLOPPY DISK UNIT NOT PRESENT 11-3
INTEGRATED FLOPPY DISK UNIT PRESENT 11-4
ACTIVATION OF EZ INSTALLTION 11-4
SYSTEM COLD START 11-5
‘START-UP’ PROGRAM 11-6
Programming
Environment EZ-PDL2
INTRODUCTION
The EZ Programming Environment, Version 5.6x is fully compatible with all Comau Application Programs, ex-
cept for the Interpress Robot Application program, and can be installed on any controller with operating system
version not prior to 5.6x.
There is a customized version of EZ for each Comau Application Program; this differs from the other versions
only as regards the commands used to insert the functions of the specific applications in the programs (weld-
ing, glueing, etc.).
The customized versions of EZ therefore include the additional `Insert Application’ command to which the
sub-commands referring to application program functions belong.
The standard version of EZ does not include the `Insert Application’ command.
EZ SUPPLY
The EZ environment files are provided on a single diskette. There is a different diskette for each version.
INSTALLATION REQUIREMENTS
Standard EZ:
• The standard version of EZ is universal and can therefore be installed regardless of controller configura-
tion.
EZ for application programs:
• The application program compatible with the version of EZ to be installed must be present in the robot
memory.
For all versions:
• There must be at least 160Kb free in the user memory (Ram Disk) and approx. 450Kb in the work memory
(Execution Memory). When EZ is activated, there must be a free area of 60Kb in Ram Disk.
• If the memory contains a previous version of EZ, this will be automatically replaced with the new version.
User programs will not be deleted.
INSTALLATION PROCEDURE
The procedures described in this section refer to:
• Controller set-up.
• EZ installation.
• Activation of EZ installation.
• `Start-up’ program.
00/0702 11-1
APPLICATION PROGRAM INSTALLATION EZ-PDL2
CONTROLLER SET-UP
Purpose:
• Check the amount of user memory available on the C3G (Ram Disk) and deactivate all programs that may
have been activated.
Procedure:
1. Check that there are at least 121000 bytes free in the user memory.
1.1. Select the `Filer View’ (FV) command from the upper level command menu. Press the F4 (Filr) key
and then the F8 (View) key.
Filr View
F4 F8
Once all the data have been scrolled, the number of files used and the amount of free memory
space are displayed on the screen.
If there is not enough space in the memory, go to point 3; otherwise, continue from point 2 to delete,
where possible, all the back-up files held in the memory.
2. Delete all the back-up copies of files held in the user memory.
2.1. Select the `Filer Delete’ (FD) command from the upper level command menu. Press the F4 (Filr)
key and then the F2 (Del) key.
Filr Del
F4 F2
When the files have been deleted, the number of files deleted and the amount of free memory
space are displayed.
If there is still not enough space in the memory, the EZ application program cannot be installed.
11-2 00/0702
EZ-PDL2 APPLICATION PROGRAM INSTALLATION
Prog Deac
F6 F2
EZ INSTALLATION
INTEGRATED FLOPPY DISK UNIT NOT PRESENT
If the integrated floppy disk unit is no present, a Personal Computer must be connected to the C3G.
The Personal Computer and C3G must be connected using a serial cable and the `communication protocol’ for
data transfer must be installed on both devices.
Refer to the Comau `OPERATIONS AND MAINTENANCE MANUAL’ for the cable connection diagram and to
the `DISK OPERATIONS’ chapter of this manual for the characteristics of the C3G communication devices (se-
rial ports) and the external memory devices (personal computer).
Either the video emulation program (PCINT) or the Kermit protocol can be used to install EZ.
The Kermit protocol is available on the diskette containing the EZ applicant program files.
00/0702 11-3
APPLICATION PROGRAM INSTALLATION EZ-PDL2
Choose 1, 2 or 3, [default: 3]
Number of packets:
Packet length:
Number of retries:
Last error:
Last message:
After a few seconds, a message is displayed to indicate that the computer is operating in `server’ mode and the
communication protocol has been installed and is operating.
ACTIVATION OF EZ INSTALLATION
Procedure:
1. From the upper level system command menu, send the “Filer Utility Install” (FUI) command. Press keys
F4 (Filr), F7 (Util) and then F5 (Inst).
11-4 00/0702
EZ-PDL2 APPLICATION PROGRAM INSTALLATION
Do not interrupt the connection between the C3G and the personal computer throughout the installa-
tion procedure as all the files referring to EZ environment are loaded from the diskette inserted in the
personal computer.
When the name of the installation file is requested, it is possible to specify the device from which the
application program is to be installed (COM0: via Kermit; COMP: via PCINT or FD). If the device is
not specified, this is defined automatically selecting COMP; if the PCINT is connected or FD:. If the
floppy disk is not present, COM0: is selected using Kermit.
Procedure:
1. Select the `Configure Controller Restart Cold’ (CCRC) command from the upper level system command
menu. Press the F1 (Conf), F2 (Cntl), F2 (Rstr) and then the F2 (Cold) keys.
00/0702 11-5
APPLICATION PROGRAM INSTALLATION EZ-PDL2
At restart, the EZ environment is activated automatically and a message is displayed to indicate that EZ has
been activated. Wait for the following message:
2. Select the `Utility Application’ (UA) command from the upper level system command menu or press the
EZ key.
Util Appl
F8 F1 EZ
`START-UP’ PROGRAM
The memory must contain an initialization program configured as system STARTUP program in order to assure
automatic activation of the EZ environment each time the controller is powered on.
By default, the initialization program is called `STARTUP.COD’ and is also used to activate any user programs.
— activation of EZ
SYS_CALL(`PG’,`EZE’)
REPEAT
DELAY 1000
UNTIL PROG_STATE(`EZE’) < 0
END startup
11-6 00/0702
Programming
EZ-PDL2 Environment
COMMAND SUMMARY
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION A-1
COMMAND TREE A-1
COMMAND SUMMARY A-4
Programming
Environment EZ-PDL2
COMMAND SUMMARY
INTRODUCTION
From the Teach Pendant, the operator selects the commands available in the menu to indicate which opera-
tions are to be performed.
The figures below show the tree of EZ commands.
00/0702 A-1
COMMAND SUMMARY EZ-PDL2
A-2 00/0702
EZ-PDL2 COMMAND SUMMARY
00/0702 A-3
COMMAND SUMMARY EZ-PDL2
COMMAND SUMMARY
PROGRAM COMMAND
Prog Copy One From Comp Copies a program from PC via port Comp.
Prog Copy One From Net Copies a program from the EIM card via port NET.
Prog Copy All To Fd Copies all the programs and the EZ_ULIB program from
Robot to Personal Computer.
Prog Copy All To Comp Copies all the programs to PC via port Comp.
Prog Copy All To Net Copies all the programs on the EIM card via port NET.
Prog Copy All From Fd Copies all the programs and the EZ_ULIB program from
Floppy Disk to Personal Computer.
Prog Copy All From Comp Copies all the programs form PC via port Comp.
Prog Copy All From Net Copies all the programs from the EIM card via port NET.
Prog View Displays the EZ programs held in the memory.
INSERT Command
INSERT SET DOUT
Ins Set Dout bfUn Assigns the state defined by a user routine to a
digital output.
A-4 00/0702
EZ-PDL2 COMMAND SUMMARY
Ins Set Bit Puls Advc Pulses the state of a BIT. The program continues
without waiting for pulse time to expire.
Ins Set Bit Puls Nadv Pulses the state of a BIT. The program does not
continue but waits until pulse time has expired.
Ins Set Bit Inv Inverts the state of a BIT.
Ins Set Bit bfUn Assigns the state defined by a user routine to a BIT.
00/0702 A-5
COMMAND SUMMARY EZ-PDL2
INSERT FLOW
Ins Flow Wait Din oN The program waits for ON (True) state of a digital
input before continuing.
Ins Flow Wait Din oFf The program waits for OFF (False) state of a digital
input before continuing.
Ins Flow Wait Bit oN The program waits for ON (True) state of a BIT before continuing.
Ins Flow Wait Bit oFf The program waits for OFF (False) state of a BIT before continuing.
Ins Flow If Din oN The program executes a set of statements if a digital
input is in ON (True) state.
Ins Flow If Din oFf The program executes a set of statements if a digital
input is in OFF (False) state.
Ins Flow If Bit oN The program executes a set of statements if a
BIT is in ON (True) state.
Ins Flow If Bit oFf The program executes a set of statements if a
BIT is in OFF (False) state.
Ins Flow If bFun The program executes a set of statements according
to the result of the test of a user routine.
A-6 00/0702
EZ-PDL2 COMMAND SUMMARY
Ins pOs Move Pos Moves the arm to an already stored POSITION
type position.
Ins pOs Move pReg Moves the arm towards a POSITION type position register.
Ins pOs Move Jntp Moves the arm towards an already stored JOINTPOS
type position.
Ins pOs Move jrEg Moves the arm towards a JOINTPOS type position register.
Ins pOs Move Xtnd Moves the arm towards an already stored XTNDPOS
type position.
Ins pOs Move xreG Moves the arm towards a XTNDPOS type position register.
Ins pOs Asgn Pos Assigns the current value of a POSITION type
position register to a position of the same type.
Ins pOs Asgn pReg Assigns the current value of a POSITION type
position to a position register of the same type.
Ins pOs Asgn Jntp Assigns the current value of a JOINTPOS type
position register to a position of the same type.
Ins pOs Asgn jrEg Assigns the current value of a JOINTPOS type
position to a position register of the same type.
Ins pOs Asgn Xtnd Assigns the current value of a XTNDPOS type
position register to a position of the same type.
Ins pOs Asgn xreG Assigns the current value of a XTNDPOS type
position to a position register of the same type.
Ins Var Armo Ovr Assigns an arm speed override value that also
affects acceleration and deceleration ($ARM_OVR).
Ins Var Armo Spd Assigns an arm speed override that does not affect
acceleration and deceleration ($ARM_SPD_OVR).
Ins Var Armo Acc Assigns arm percentage acceleration
($ARM_ACC_OVR).
00/0702 A-7
COMMAND SUMMARY EZ-PDL2
Ins Var Spd Opt Cnst Assigns the ‘CONSTANT SPEED’ Cartesian speed
option (SPD_CONST).
Ins Var Spd Opt Jnt Assigns the ‘MAXIMUM SPEED’ Cartesian speed
option (SPD_JNT).
Ins Var Spd Opt Lin Assigns the ‘LINEAR SPEED’ Cartesian speed
option (SPD_LIN).
Ins Var Spd Lin Assigns linear speed for Cartesian motion ($LIN_SPD).
Ins Var Fly Typ High Defines continuous motion at constant speed.
Ins Var Fly Typ Norm Defines continuous motion at variable speed.
Ins Var Fly Typ Cart Assigns Cartesian FLY.
Ins Var Fly Npar Assigns percentage delay on FLY execution.
Ins Var Fly Cpar Strs Assigns percentage stress.
Ins Var Fly Cpar Dist Assigns FLY execution distance from the position.
INSERT APPLICATION
INSERT CALL
A-8 00/0702
EZ-PDL2 COMMAND SUMMARY
INSERT LINE
CHANGE Command
00/0702 A-9
COMMAND SUMMARY EZ-PDL2
Chng Motn With Til Din Trs On Inserts the test on positive transition of a digital
Input during a single movement.
Chng Motn With Til Din Trs oFf Inserts the test on negative transition of a digital
Input during a single movement.
Chng Motn With Til Bit Sts On Inserts test on positive transition of a BIT
during a single motion.
Chng Motn With Til Bit Sts oFf Inserts test on negative transition of a BIT
during a single motion.
Chng Motn With Til Bit Trs On Inserts the test on positive transition of a Bit
during a single movement.
Chng Motn With Til Bit Trs oFf Inserts the test on negative transition of a Bit
during a single movement.
Chng Motn With Fly Npar Per Assigns FLY execution percentage delay to a
single motion.
Chng Motn With Fly Cpar Strs Assigns percentage stress to a single motion
Chng Motn With Fly Cpar Dist Assigns FLY execution distance from the
position to a single motion.
CHANGE Command
SETUP
A-10 00/0702
EZ-PDL2 COMMAND SUMMARY
sEtp Rout AP Configures the REC key to record the nodal MOVES
with the routine AP.
sEtp Rout Nrou Configures the REC key to record moves without
the routine.
sEtp vIew Displays current setting of the REC key.
TABLE TOOL
TABLE RMTT
TABLE FRAME
00/0702 A-11
COMMAND SUMMARY EZ-PDL2
Tbl Frm Copy From Net Copies Frame parameters from the EIM card to C3G.
Tbl Frm View Displays the current parameters of the Frame.
TABLE RFRM
Tbl rfrM Edit Defines the coordinates of the part attached to the
robot flange.
Tbl rfrM Load Loads the parameters of the Remote Frame in the exe-
cution
memory.
Tbl rfrM Copy To Fd Copies the parameters of the Remote Frame from
C3G
to Floppy Disk.
Tbl rfrM Copy To Comp Copies the parameters of the Remote Frame from
C3G
to Personal Computer via port COMP.
Tbl rfrM Copy To Net Copies Remote Frame parameters from C3G to the
EIM card.
Tbl rfrM Copy From Fd Copies the parameters of the Remote Frame from
Floppy
Disk to C3G.
Tbl rfrM Copy From Comp Copies the parameters of the Remote Frame from Personal
Computer via port COMP.
Tbl rfrM Copy From Net Copies Remote Frame parameters from the EIM card to C3G.
Tbl rfrM View Displays the current parameters of the Remote Frame.
STEP
EXECUTE
EXECUTE SHIFT
eXec Shft User Pos New Sets and performs traverse of the position variable
in relation to the USER reference system.
A-12 00/0702
EZ-PDL2 COMMAND SUMMARY
eXec Shft User Pos Last Performs traverse of the position variable in relation to
the USER reference system using the last values
entered using the `New’ command.
eXec Shft User pReg New Sets and performs traverse of the preg register in relation
to the USER reference system.
eXec Shft User pReg Last Performs traverse of the preg register in relation to the
USER reference system using the last values entered
using the `New’ command.
eXec Shft User Xtnd New Sets and performs traverse of the Cartesian component of the
xtndpos variable in relation to the USER reference system.
eXec Shft User Xtnd Last Performs traverse of the Cartesian component of the
xtndpos variable in relation to the USER reference system
using the last values entered using the `New’ command.
eXec Shft User xreG New Sets and performs traverse of the Cartesian component of the
xreg register in relation to the USER reference system.
eXec Shft User xreG Last Performs traverse of the Cartesian component of the xreg
register in relation to the USER reference system using
the last values entered using the `New’ command.
eXec Shft Tool Pos New Sets and performs traverse of the position variable in
relation to the TOOL reference system.
eXec Shft Tool Pos Last Performs traverse of the position variable in relation to the
TOOL reference system using the last values
entered using the `New’ command.
eXec Shft Tool pReg New Sets and performs traverse of the preg register
in relation to the TOOL reference system.
eXec Shft Tool pReg Last Performs traverse of the preg register in relation to the
TOOL reference system using the last values
entered using the `New’ command.
eXec Shft Tool Xtnd New Sets and performs traverse of the Cartesian component of the
xtndpos variable in relation to the TOOL reference system.
eXec Shft Tool Xtnd Last Performs traverse of the Cartesian component of the
xtndpos variable in relation to the TOOL reference system
using the last values entered using the `New’ command.
eXec Shft Tool xreG New Sets and performs traverse of the Cartesian component of the
xreg register in relation to the TOOL reference system.
eXec Shft Tool xreG Last Performs traverse of the Cartesian component of the xreg
register in relation to the TOOL reference system
using the last values entered using the `New’ command.
EXECUTE TABLE
VIEW
00/0702 A-13
COMMAND SUMMARY EZ-PDL2
A-14 00/0702
Programming
EZ-PDL2 Environment
ERROR MESSAGES
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
INTRODUCTION B-1
LIST OF ERROR MESSAGES AND INFORMATION MESSAGES B-1
INSTALLATION ERRORS B-4
ACTIVATION ERRORS B-5
Programming
Environment EZ-PDL2
ERROR MESSAGES
INTRODUCTION
The EZ environment displays information messages and error messages on the Teach Pendant status lines.
00/0702 B-1
ERROR MESSAGES EZ-PDL2
B-2 00/0702
EZ-PDL2 ERROR MESSAGES
00/0702 B-3
ERROR MESSAGES EZ-PDL2
B-4 00/0702
EZ-PDL2 ERROR MESSAGES
INSTALLATION ERRORS
43012: Wrong software version
Cause: The system software version is incompatible with the version of EZ.
Remedy: Check the version of the system software and the EZ version.
ACTIVATION ERRORS
43012: Wrong software version
Cause: The system software version is incompatible with the version of EZ.
Remedy: Check the version of the system software and the EZ version.
43013: $NUM_DEVICES, $NUM_LUNS must 20, $NUM_TIMERS must 37, $NUM_SCRNS must 9 for
EZ
Cause: The system variables have a value that does not permit saving of EZ and of
the application programs.
Remedy: Re-install the application programs and EZ.
00/0702 B-5
ERROR MESSAGES EZ-PDL2
B-6 00/0702
Programming
EZ-PDL2 Environment
SUMMARY
Paragraphe Page
$FDIN
Element Associated Input
$FDIN[1..8] reserved
$FDIN[9] state selector on AUTO-REMOTE
00/0702 C-1
INPUT/OUTPUT PORT ARRAYS EZ-PDL2
$FDIN (continued)
Element Associated Input
$FDIN[41] PREV/TOP
$FDIN[42] SCRN
$FDIN[43] CHAR
$FDIN[44] DEL
$FDIN[45] up arrow
C-2 00/0702
EZ-PDL2 INPUT/OUTPUT PORT ARRAYS
$FDIN (continued)
Element Associated Input
$FDIN[89] EXCL
$FDIN[90] T1
$FDIN[91] T2
$FDIN[92] REC
$FDIN[93] MOD
$FDIN[94] BACK
$FDIN[95] RUN
$FDIN[96] reserved
$FDIN[97] POS key
$FDIN[98] JNTP key
$FDIN[99] XTND key
$FDIN[100] JNT key
$FDIN[101] LIN key
$FDIN[102] CIRC key
$FDIN[103] STEP-DISB key
$FDIN[104] FLY key
$FDIN[105] EZ key
$FDIN[106] A1 key
$FDIN[107] A2 key
$FDIN[108] ALARM key
$FDIN[109..128] reserved
$FDIN[129] F1 on PC keyboard (PCINT tool active)
$FDIN[130] F2 on PC keyboard (PCINT tool active)
$FDIN[131] F3 on PC keyboard (PCINT tool active)
$FDIN[132] F4 on PC keyboard (PCINT tool active)
$FDIN[133] F5 on PC keyboard (PCINT tool active)
$FDIN[134] F6 on PC keyboard (PCINT tool active)
$FDIN[135] F7 on PC keyboard (PCINT tool active)
$FDIN[136] F8 on PC keyboard (PCINT tool active)
$FDIN[137..142] reserved
00/0702 C-3
INPUT/OUTPUT PORT ARRAYS EZ-PDL2
$FDOUT
Element Associated Input
$FDOUT[1..16] reserved
$FDOUT[17] DRIVE ON led
$FDOUT[18] DRIVE OFF led
$FDOUT[19] START led
$FDOUT[20] HOLD led
$FDOUT[21] U1 led
$FDOUT[22] U2 led
$FDOUT[23] U3 led
$FDOUT[24] U4 led
$FDOUT[25] ALARM led. When an alarm occurs, this led is lighted.
$FDOUT[26] T1 led for HAND 1 of the selected arm. It is lighted when the HAND state is closed.
$FDOUT[27] T2 led for HAND 2 of the selected arm. It is lighted when the HAND state is closed.
$FDOUT[28]* FLY led. This led gets lighted when the Setup of the MOVE statement is set to MOVEFLY
or when the FLY key on programming unit is pressed.
$FDOUT[29] enables the Save Screen function on the display of PTU4.
$FDOUT[30] EZ STEP DISB led.
$FDOUT[31]* POSition variable led. This led is lighted when the Setup of the Variable is set to POSI-
TION, or when the POS key on the programming unit is pressed.
$FDOUT[32]* JNTPos variable led. This led gets lighted when the Setup of the Variable is set to
JOINTPOS or when the JNTP key on the programming unit is pressed.
$FDOUT[33]* XTNDpos variable. This led is lighted when the Setup of the Variable is set to XTNDPOS or
when the XTND key on the programming unit is pressed.
$FDOUT[34]* JNT trajectory led. This led is lighted when the Setup of the Trajectory is set to JOINT or
when the JNT key on the programming unit is pressed.
$FDOUT[35]* LIN trajectory led. This led is lighted when the Setup of the Trajectory is set to LINEAR or
when the LIN key on programming unit is pressed.
$FDOUT[36]* CIRC trajectory led. This led gets lighted when the Setup of the Trajectory is set to Circular
or when the CIRC key is pressed.
C-4 00/0702
Programming
EZ-PDL2 Environment
NODAL EZ
BASIC CONTROLLER OPERATIONS 1-1
PROGRAMMING PRINCIPLES 2-1
MOTION CONTROL 3-1
PERIPHERAL DEVICE CONTROL 4-1
EXECUTION CONTROL 5-1
DISK OPERATIONS 6-1
MANUAL CONTROL OF THE SYSTEM 7-1
HIGH LEVEL FUNCTIONS 8-1
PROGRAM TESTING 9-1
MULTIARM 10-1
APPLICATION PROGRAM INSTALLATION 11-1
Appendix A: COMMAND SUMMARY A-1
Appendix B: ERROR MESSAGES B-1
Appendix C: INPUT/OUTPUT PORT ARRAYS C-1
Appendix D: NODAL EZ D-1
SUMMARY
Paragraphe Page
GENERAL D-1
NODAL EZ ROUTINE D-1
REC KEY SET UP D-2
OPERATION OF THE MOD KEY D-3
MODIFICATION OF A MOVE D-4
OPERATION OF THE MOD KEY D-4
STARTUP PROGRAM D-4
Programming
Environment EZ-PDL2
NODAL EZ
GENERAL
The nodal EZ was conceived to utilize Moves by means of the nodal method, using a series of predefined rou-
tines to set the characteristic parameters of the Move: speed, tool and frame, position accuracy, type of orienta-
tion.
Example of Move set by nodal EZ:
MOVE JOINT TO pnt0001p WITH $PAR=MP(TF(1,1),V(100),Z(COARSE))
This method features substantial differences compared to the standard nodal method. In the standard
nodal method, temporary values are assigned to the variables and are only effective during the move-
ment executed by the Move command.
Upon completion of the movement, values return to those assigned using the modal method.
With nodal EZ, the values of the variables set by the routine do not have a temporary effect, but are permanent
BEGIN……
$ARM_SPD_OVR := 100
— Arm_spd_ovr vale 100
MOVE JOINT TO pnt0001p WITH $PAR=MP(TF(1,1),V(50),Z(COARSE))
— the Move is executed with con Arm_spd_ovr al 50% (set by the V routine)
— Arm_spd_ovr means 50
…….END
Any variables assigned “modally” are not effective because the routines utilized with the Moves re-assign them
During programming it is good practice to avoid the use of the modal method to assign values to vari-
ables that are also set by the nodal EZ routines.
NODAL EZ ROUTINE
The nodal EZ routines are contained in the HMOVE.COD file.
There are three types of nodal Moves:
• MOVE JOINT TO pnt0001p WITH $PAR=MP(TF(1,1),V(100),Z(COARSE))
is the standard Move, generally used for Moves related to Spot applications, manipulating or to no particu-
lar type of application.
• MOVE LINEAR TO pnt0001p WITH $PAR=GP(TF(1,1),VL(0.2),Z(COARSE),ORN(RS_TRAJ))
is used for Moves related to glue application and only works on Linear Moves.
• MOVE JOINT TO pnt0001p WITH $PAR=AP(TF(1,1),ORN(RS_TRAJ))
is used for Moves related to Arc welding applications.
00/0702 D-1
NODAL EZ EZ-PDL2
• RTFL (x, y, z): sets remote tool x, remote frame y, mass and mass center of mass table index z.
Mass table is a new 20 item table containing tool and remote tool mass and mass center values. It is used to
manage mass values separately from tool tables. In order to modify these tables, commands have been added
in the Table menu.
(These routines can also be invoked in modal mode by sending the Ins Call Tbl Tf/ Rtf command).
• V (vel): used by the Mp routine, sets the speed of the Move by assigning the following values:
$ARM_SPD_OVR:= vel
$ARM_ACC_OVR:= $ARM_DEC_OVR:= vel2 DIV 100
$SPD_OPT:=SPD_CONST
• VL (vel): used by the Gp routine, sets the speed of the linear Move by assigning the following values:
$LIN_SPD:= vel
$ARM_SPD_OVR:= $ARM_ACC_OVR:= $ARM_DEC_OVR:= 100
$SPD_OPT:=SPD_LIN
• Z (zone): used by the Mp and Gp routines, sets position accuracy by assigning the following values:
$TERM_TYPE:= zone (where zone means COARSE, FINE, NOSETTLE) in case of no Fly Move
$FLY_PER:= zone (where zone is a whole number between 1 and 100) in case of Fly Move if $FLY_TYPE <> FLY_CART
$FLY_DIST:= zone (where zone is a whole number between 1 and 100) in case of Fly Move if $FLY_TYPE = FLY_CART
• ORN (type): used by the Ap and Gp routines, sets the type of orientation by assigning the following values:
$ORNT_TYPE:= type (where type means RS_TRAJ, RS_WORLD, EUL_WORLD).
D-2 00/0702
EZ-PDL2 NODAL EZ
If there is no Tool or Frame setting (T:* F:* from the EZ status window) error 48183 “First assign Tool and
Frame” is displayed to warn the user that before recording a Move a Tool and a Frame must first be enabled by
means of the “Exec Tbl” command.
In order to modify the parameters of the Move or change the type of routine, use the following menu commands
for REC key setup:
Setup Rout Gp for GP routine setup, which can only be used if the REC key is set with a Linear Move, requires
the following to be entered:
linear speed (from 1 to 100)
zone value:
in case of no Fly Move: Coarse, Fine, Nosettle
in case of Fly Move a whole number between 1 and 100
Orn Type value (Rs_traj, Rs_world, Eul_world)
In relation to the TF or RTF function, the parameters visualized in nodal EZ Setup are the tool and the frame
active at that moment and these can be seen in the EZ status window:
A: PROG_1 C:PROG_2 S T:1 F:1 LN> 120
If no frame or tool is active, the number of the tool or frame that must be activated is requested. Should another
tool or frame be required, execute the Exec Tbl Tf command or Exec Tbl Rtf command for the remote tool, set-
ting the number of the tool and frame.
Nodal EZ Moves can only be entered in the EZ environment and not in Program Edit
00/0702 D-3
NODAL EZ EZ-PDL2
the MOD is ineffective and error 48179 (“incorrect tool or frame”) is signaled. Execute the tool and frame of the
Move (in examples 2 and 3), by means of Exec Tbl Tf/Rtf, to make the MOD operational on that Move.
in the Program Edit environment, point modification is effected with no controls on the tools and
frames.
MODIFICATION OF A MOVE
It is possible to change the type of Move by sending the Chng Mtn command.
If a Move is changed from no Fly to Fly (Chng Mtn Fly) the EZ menu requests the Zone parameter (in
case of MP or GP routines) that changes from Coarse, Fine, Nosettle to a whole number between 1
and 100; likewise, if a Move is changed from Fly to no Fly (Chng Mtn Nfly) the menu requests
whether the position accuracy must mean Coarse, Fine, Nosettle.
If a Gp routine is set and a Move is changed from Joint to Linear (by pressing the JNT key or sending
the Chng Mtn Jnt command) error 48180 is signaled (“GP routine not compatible with Joint Move”).
To modify the parameters of the nodal Move routine indicated by the cursor, utilize the Change Line command.
STARTUP PROGRAM
Before executing the EZE Program Go, the Startup program executes the Program Go Hmove command to
store the routines of the nodal Move in the memory.
FRAME TOUCH-UP
Command Exec Ftch, is available in Nodal EZ. It is protected by a password and sets current robot position as
per specified index frame table.
D-4 00/0702