You are on page 1of 236

EZ-PDL2 REL. 5.

6X

EZ PROGRAMMING
ENVIRONMENT

This manual describes the programming principles, the


modes relative to move and peripheral devices control
and all the operations that can be executed with the
EZ programming environment.

00757172/GB 3EZ - 5.6X 00/0702


The information contained in this manual is the property of COMAU S.p.A..
Reproduction of text and illustration is not permitted without prior written approval by COMAU S.p.A..
COMAU reserves the right to alter product specifications at any time without notice or obligation.

PRINTED IN ITALY - 07/2002


Copyright © 2000 by COMAU
SAFETY REGULATIONS

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

2.7 Automatic Operation


Operating mode in which the robot performs the programmed cycle autonomously at working speed in-
side the protected area, with protective barriers closed and interlocked with the emergency stop circuit,
and with local (situated outside the protected area)or remote start/stop.
2.8 Emergency Manual Operation
Operating mode that permits movement of the robot with downgraded safety system in the case of a fault,
under operator control and with protective barriers closed.
2.9 Maintenance and Repairs
The maintenance and repairs procedure involves the periodic checking and/or replacement of parts (me-
chanical, electrical, software) or robot system components, and the procedure of identifying the cause of
a fault, and consequently restoring the robot system to its original operating conditions.
2.10 Removal from Service and Dismantling
Removal from Service refers to the removal of the robot system (mechanical and electrical) from the man-
ufacturing situation or research environment.
Dismantling involves the demolition and disposal of the components that make up the robot system.
2.11 Integrator
The integrator is the qualified person responsible for the application of the robot system.
2.12 Incorrect Use
Incorrect Use is when the system is used outside the limits specified in the technical documentation.
2.13 Work Envelope
The robot’s work envelope is the area in which the robot, including fixtures, moves.

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

Installation and Commissioning (con.t)


4.1.8 Check that the robot guards are fixed correctly and that there are no loose or loosened parts, check also
that the control unit components are in good condition.
4.1.9 When required, connect the robot’s pneumatic system to the air distribution network and check carefully
to make sure that the pressure is set correctly. If the pressure of the balancing system is not correct it will
affect the robot’s movements.
Also install filters to collect any condensate in the system.
4.1.10 Install the control unit so that the control panel can only be operated from outside the protected area.
4.1.11 Check that the pre-engineered voltage on the power supply transformers indicated on the specific rating
plate corresponds to the power mains voltage.
4.1.12 Before making the electrical connections to the control unit, make sure that the power mains circuit
breaker is locked in the open position.
4.1.13 The connection between the control unit and the mains circuit breaker must be effected by means of a
shielded quadripole cable (3-phases + ground) of suitable dimensions for the control unit power installed
4.1.14 The supply cable must enter the control unit through the appropriate raceway and locked correctly
4.1.15 .After connecting the ground conductor (PE), connect the power conductors of the power cable to the
main circuit breaker or to the terminals on the controller Assemble the protectiive cover on the main circuit
breaker or on the input terminals.
4.1.16 Connect the supply cable to the circuit breaker on the power mains after checking, with the use of an ap-
propriate instrument, that the circuit breaker terminals are disconnected.
4.1.17 The controller can be provided with an internal lighting circuit and service socket connected downstream
of the main circuit breaker. Should it be necessary to power the circuits independently from the main cir-
cuit breaker, it will be necessary to alter an internal connection by connecting a shielded three-core cable
(2 phases + ground) to the mains, scaled according to the protection rating of the mains, in the same way
and according to the same sequence of operations as specified for connection of the power supply.
4.1.18 Connect the earth wire and the signals and power cables between the control unit and the robot.
4.1.19 Check that the control unit door(s) is/are locked with the special key.
4.1.20 The components of the control unit may be permanently damaged if the connectors are connected incor-
rectly.
4.1.21 The C3G Plus internally makes the main safety interlocks (gates, enable button, etc.). Should it be nec-
essary to connect to the signals provided to make additional external circuits, make sure that these sig-
nals are used according to safety regulations. The safety of interlock signals leading from the transfer line
(emergency stop, gates safety, etc.), i.e. providing correct and safe circuits is the task of the robot system
integrator.
System safety cannot be guaranteed if these interlocks are missing, incomplete or incorrectly estab-
lished.
4.1.22 Stopping due to tripping of the protective barrier safety devices causes uncontrolled stopping of the robot
with possible loss of the trajectory programmed. To stop the robot with controlled ramping down, it is ad-
visable to connect the interlock signals so as to activate a Drive Off command before the emergency stop
Example: opening of the protective barrier safety locks causes Remote Drive Off; opening of the protec-
tive barriers causes an emergency stop.
4.1.23 If the C3G-CSM (Controlled Stop Module) is installed on the controller, in AUTO LOCAL and AUTO RE-
MOTE states, an emergency stop and/or opening of the safety gates causes controlled stopping of the ro-
bot (EN 60204-1), category 1 stop). In this way, power is cut off (opening of the power contactor) after 1
second. In PROGR. programming status, the power is cut off immediately (EN 60204-1, category 0 stop).
These times must be taken into account when installing the protective barriers in particular if light curtains
are used.

02/1299 3
SAFETY REGULATIONS

Installation and Commissioning (con.t)


4.1.24 Check that the environmental and operating conditions do not exceed the limits specified in the product
User Manual.
4.1.25 Calibration operations must be carried out with extreme care as specified in the User Manual, and must
be completed by checking the correct machine position.
4.1.26 Only the original disks, supplied by COMAU S.p.A. with the robot, must be used to load or update the sys-
tem software (e.g. after replacing cards). After loading the software, always run a safety test cycle from
outside the protected area. When loading the system software, follow the procedure described in the
Product User Manual to the letter.
4.1.27 Make sure that the safety barrier around the protected area has been cerrectly fitted
4.2 Operation during Programming
4.2.1 The robot can only be programmed by authorised personnel.
4.2.2 Before programming, the operator must check the robot system to ensure there are no potentially dan-
gerous anomalous conditions and (ensure) that there is nobody inside the protected area.
4.2.3 Whenever possible, programming must be done from outside the protected area.
4.2.4 Whenever work must be carried out inside the protected area, the operator outside the protected area
must make sure that all the necessary protections have been installed and are operational and in particu-
lar that the portable programming unit functions correctly (reduced speed, enable pushbutton, emer-
gency stop, etc.).
4.2.5 The operator can enter the protected area during programming only if he has the programming terminal.
4.2.6 During programming, only the operator with the programming terminal may remain within the protected
area. If the presence of another operator is absolutely necessary, he must have a further three-position
safety device connected to the control system.
4.2.7 During programming, the operator must keep far enough away from the robot to be able to avoid any un-
expected movements from the robot, and in a position to avoid being caught between the robot and parts
of the surrounding structure( pillars, safety barrier, etc.), or between moving parts of the robot.
4.2.8 During programming, the operator must not approach any parts of the robot that may drop or lift due to the
gravity.
4.2.9 The motors must always be activated (Drive On) from outside the robot’s work envelope after checking
there is noone inside the area involved. The Drive On operation is concluded when the relevant machine
status message is displayed.
4.2.10 Programmed cycle testing at working speed (a function that is included only if specific request is made),
in situations which require close visual observation with the operator inside the protected area, must only
be carried out after a complete test cycle has been run at reduced speed. Testing must be controlled from
a safe distance.
4.2.11 Be extremely careful when programming from the portable programming terminal: the hardware and soft-
ware safety devices are in operation, but robot movement is under the operator’s control.
4.2.12 The first time a new program is run, the robot may move along an unexpected path.
The modification of steps in the program (e.g. shifting one step from one part of the program to another,
incorrect recording of a step, modification of the robot position outside the path that joins two steps in the
program), may give rise to movements that were not envisaged by the operator during program testing.
In both cases, it is extremely important to proceed with caution, and remain outside the robot’s work enve-
lope.

4 02/1299
SAFETY REGULATIONS

4.3 Automatic Operation


4.3.1 The robot system can only be activated for automatic operation by authorised personnel when the protec-
tive barriers are closed and electrically interlocked as specified in the safety standards.
4.3.2 Prior to activating automatic operation, the operator must check the robot system and the protected area
to make sure there are no potentially dangerous anomalous conditions.
4.3.3 The operator can only activate automatic operation after checking that:
• the robot system is not being maintenanced or repaired;
• the protective barriers have been positioned correctly;
• there is noone inside the protected area;
• the control unit doors are locked by properly key.
• the safety devices (emergency stop, protective barrier safety devices) are working properly;
• the portable programming terminal has been placed in its housing (this condition is requested by the
controller in Auto-Remote status).
4.3.4 Special attention must be paid when selecting the automatic- remote status, in which the line PLC may
automatically switch on the motors and start the program.
4.4 Emergency Manual Operation
(In case the manual emergency operation state is provided for)
4.4.1 Emergency Manual Operation can only be activated by authorised personnel.
4.4.2 This operating mode must only be used when special robot system conditions will not allow the use of
manual movement during programming.
4.4.3 Emergency manual operation must be controlled from outside the protected area since the safety system
is downgraded.
4.4.4 If it is absolutely necessary to work inside the protected area, The robot system integrator must realize an
appropriate safety circuit that allows the operator to move the robot with the safety barriers deactivated.
In that case, before performing manual emergency operations, the operator must check, while remaining
outside the protected area, the correct functioning of the safety devices that are active in this state and the
teach pendant utilized as a portable emergency pushbutton panel..
4.4.5 Take great care during emergency manual operation remaining outside the work envelope of the robot
and its fixtures and pay particular attention to the axes that may drop due to the force of gravity.
4.4.6 Braking release device of robot axes. With the driving force excluded, the robot can be moved by the
manual brake release device, directly connected to the robot or installed on it, which only permits the de-
activation of the brake of each axis individually .
In this situation all the system safety devices (including the emergency stop and enable buttons) are ex-
cluded. Any axes to be handled (that could drop due to the force of gravity) should be put in slings.

02/1299 5
SAFETY REGULATIONS

4.5 Removal from Service and Dismantling


4.5.1 Only authorised personnel may remove the robot system from service.
4.5.2 Position the robot ready for transport and fit anchoring brackets when required.
4.5.3 Prior to starting the removal from service procedure it is obligatory to disable the power grid circuit
breaker and lock it in the open position.
4.5.4 After using a specific instrument to check that the terminals are disconnected, disconnect the supply ca-
ble from the power mains circuit breaker by first disconnecting the power conductors and then the ground
connector. Disconnect the main circuit breaker supply cable on the control unit and remove this.
4.5.5 Disconnect the cable that powers the internal lighting and the service socket (if these circuits are powered
from outside) on the controller after locking the corresponding circuit breaker on the mains supply in the
open position, and (after) checking that the system is not live disconnecting first of all the phase conduc-
tors and then the ground conductor.
4.5.6 Disconnect the cables connecting the robot and the control unit, then disconnect the earth
4.5.7 Disconnect the robot pneumatic system from the air distribution network (if applicable).
4.5.8 Make sure that the robot is correctly balanced and, if necessary, harness it correctly and then disassem-
ble the robot anchor bolts from the support structure
4.5.9 Remove the robot and the control unit from the work area in accordance with all the instructions given in
the Product User Manual; if the equipment is to be lifted, check that the eyebolts are secured properly and
use only suitable slings and equipment.
4.5.10 Before starting to dismantle the robot system components (disassembly, demolition and disposal), con-
tact COMAU , or one of its branches. Depending on the type of robot and control unit, they will provide in-
formation regarding the operations to be carried out so as to comply with the current safety regulations,
and protect the environment.
4.5.11
Any waste must be disposed of in accordance with the current legislation of the country where the robot
system has been installed.

6 02/1299
SAFETY REGULATIONS

4.6 Maintenance and Repairs


4.6.1 Only authorised personnel may perform operations relating to maintenance, troubleshooting and repairs.
4.6.2 An appropriate notice must be posted on the control panel of the control unit while maintenance and re-
pairs are being carried out; this notice must not be removed until the operations have been completed
even if they are temporarily suspended.
4.6.3 Maintenance operations and the replacement of components or the control unit must be carried out with
the main circuit breaker padlocked in the open position.
4.6.4 Even when the main circuit breaker is open and the control unit is therefore not supplied, interconnected
voltages may come from peripheral units (e.g. input/output 24 Vdc or 110 Vac) or from external power
supplies (e.g. internal lighting system 110 Vac or 220 Vac). The relevant external sources should there-
fore be deactivated when work is to be carried out on the system.
4.6.5 The main circuit breaker must be padlocked open before removing panels, protective screens, grills, etc.
4.6.6 Faulty components must be replaced with others having the same code.
4.6.7 Checks for faults on the control unit must, whenever possible, be performed outside the protected area.
4.6.8 If the control unit needs to be powered in order to proceed with the troubleshooting, all the precautions re-
quired by the safety standards regarding personnel working in the presence of dangerous voltages must
be taken.
4.6.9 All troubleshooting on the robot must be carried out with the power deactivated (Drives off ).
4.6.10 All deactivated safety devices (panels, protective screens, interlocks, etc.) must be restored upon com-
pletion of maintenance and troubleshooting.
4.6.11 Upon completion of any maintenance, repairs and troubleshooting, the robot system and all its safety de-
vices must be checked for correct operation from outside the protected area.
4.6.12 Only the original disks, provided by COMAU S.p.A. with the robot, must be used to load software (e.g. af-
ter replacing electronic cards). Always run a safety test cycle from outside the protected area, once the
software has been loaded. When loading the system software, follow the procedure described in the
Product User Manual to the letter.

02/1299 7
SAFETY REGULATIONS

This page has been intentionally blank

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

CHAPTER 2: PROGRAMMING PRINCIPLES


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

CHAPTER 3: MOTION CONTROL


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
NODAL METHOD 3-13
TRAJECTORY 3-14
LINEAR TRAJECTORY 3-14
JOINT TRAJECTORY 3-14
SETTING OF THE REC KEY 3-14
TRAJECTORY SETTING 3-15

00/0702 i
SUMMARY PROGRAMMING ENVIRONMENT

Page

TRAJECTORY ASSIGNMENT 3-17


TRAJECTORY MODIFICATION 3-19
CIRCULAR INTERPOLATION 3-20
RECORDING OF A CIRCULAR MOTION 3-20
MODIFICATION OF A CIRCULAR MOTION 3-22
CONTINUOUS MOTION 3-23
SETTING OF THE REC KEY 3-24
SETTING OF CONTINUOUS MOTION 3-25
ASSIGNMENT OF CONTINUOUS MOTION 3-26
MODIFICATION OF MOTION TYPE 3-28
CONTINUOUS MOTION SPEED 3-28
VARIABLE SPEED 3-28
CONSTANT SPEED 3-29
CONTINUOUS MOTION SPEED ASSIGNMENT 3-29
TRAJECTORY SHAPE DURING CONTINUOUS MOTION 3-30
TRAJECTORY SHAPE ASSIGNMENT FOR CONTINUOUS MOTION 3-31
MOTION TERMINATION 3-32
ACCURACY THRESHOLD 3-33
NOSETTLE 3-34
COARSE 3-34
FINE 3-34
JNT_COARSE 3-34
JNT_FINE 3-34
POSITIONING ACCURACY ASSIGNMENT 3-35
ACCELERATION AND DECELERATION 3-36
ACCELERATION AND DECELERATION ASSIGNMENT 3-38
SPEED CONTROL 3-40
SPEED OVERRIDE 3-41
SPEED OVERRIDE CHARACTERISTICS 3-41
OVR COMMAND 3-41
SPD COMMAND 3-42
USE OF SPEED OVERRIDES 3-42
SPEED OVERRIDE CONTROL 3-43
CARTESIAN SPEED 3-46
CARTESIAN SPEED COMPONENTS 3-46
CARTESIAN SPEED OPTIONS 3-46
CONSTANT SPEED 3-46
MAXIMUM SPEED 3-46
LINEAR SPEED 3-47
USE OF CARTESIAN SPEED 3-47
CARTESIAN SPEED CONTROL 3-48
COOPERATIVE MOTION WITH AUXILIARY AXES 3-50
ENABLING OF COOPERATIVE MOTION 3-50
DISABLING OF COOPERATIVE MOTION 3-51
C3G MOTOR MULTIPLEXER 3-51
DRIVE OFF IN AUTO OR REMOTE STATES OF THE ACTIVE GROUP OF AUXILIARY AXES3-51
DRIVE ON AGAIN IN AUTO OR REMOTE STATES
OF THE ACTIVE GROUP OF AUXILIARY AXES 3-51
SWITCHING OF ACTIVE AUXILIARY AXIS GROUP A OR B 3-51

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

CHAPTER 5: EXECUTION CONTROL


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
DELAY COMMAND 5-11
HOLD COMMAND 5-11
PROGRAM STATE CONTROL 5-11
STATION OPERATION 5-12
SIGNALS USED 5-12
PROGRAM STRUCTURE 5-12
REGISTER AND PROGRAM MEMORY CONTROL 5-14
BIT COMMAND 5-14

00/0702 iii
SUMMARY PROGRAMMING ENVIRONMENT

Page

IREG COMMAND 5-14


TIMR COMMAND 5-14
WORD COMMAND 5-15
REGISTER AND PROGRAM MEMORY CONTROL 5-15
TOOL MAGAZINE OPERATION 5-15
SIGNALS USED 5-16
PROGRAM STRUCTURE 5-16
ROUTINES 5-18
ROUTINE STRUCTURE 5-19
ROUTINE EXECUTION CONTROL 5-19
ROUTINE DEVELOPMENT 5-20
SUBROUTINE DEVELOPMENT 5-20
ROUTINE EXECUTION CALL 5-20
SUBROUTINE ACCESS 5-21

CHAPTER 6: DISK OPERATIONS


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
LOAD PROGRAMS FROM FLOPPY DISK 6-9
LOAD OF A USER PROGRAM 6-9
LOAD OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM 6-9
LOAD PROGRAMS IN EXECUTION MEMORY 6-10
TRANSFER TOOL PARAMETERS TO FLOPPY DISK 6-10
TRANSFER TOOL PARAMETERS TO PERSONAL COMPUTER 6-11
LOAD TOOL PARAMETERS FROM PERSONAL COMPUTER 6-11
LOAD TOOL PARAMETERS FROM FLOPPY DISK 6-12
LOAD TOOL INTO EXECUTION MEMORY 6-12

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

CHAPTER 8: HIGH LEVEL FUNCTIONS


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 THE TIL CLAUSE 8-9
CONDITION CLAUSE 8-11
USE OF CONDITIONS 8-11
CORRECTION OF A POSITION DURING EXECUTION OF THE PROGRAM 8-13
USER REFERENCE SYSTEM 8-13
TOOL REFERENCE SYSTEM 8-13
TOOL AND FRAME EXECUTION 8-15
EXTENSION OF THE EZ PROGRAM NUMBER UP TO 999 8-15

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

CHAPTER 10: MULTIARM


INTRODUCTION 10-1
MULTIARM EZ CONFIGURATION 10-1

CHAPTER 11: APPLICATION PROGRAM INSTALLATION


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

APPENDIX A: COMMAND SUMMARY


INTRODUCTION A-1
COMMAND TREE A-1
COMMAND SUMMARY A-4

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: INPUT/OUTPUT PORT ARRAYS


SYSTEM-DEFINED PORT ARRAYS C-1
$FDIN and $FDOUT C-1
$FDIN C-1
$FDOUT C-4

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

This page has been left intentionally blank

viii 00/0702
Programming
EZ-PDL2 Environment

BASIC CONTROLLER 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 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

This page has been left intentionally blank


EZ-PDL2 BASIC CONTROLLER OPERATIONS

BASIC CONTROLLER OPERATIONS

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.

SYSTEM START-UP AND EZ ACTIVATION


Purpose:

• Power on the control unit.


• Activate the EZ Environment.

Beginning Status:

• Main power switch set to OFF.


• PROG/AUTO switch set to AUTO-LOCAL.

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

2. Enter the ‘Utility Application’ command or press the EZ key.


Util Appl
F8 F1
EZ

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

The Teach Pendant display is divided into four windows:

SYSTEM STATUS WINDOW


This occupies the first line of the display and is used to display current system status.

− Status of cabinet and PTU switches (PROGR)


− Status of the system, of the holdable pro- (HOLD)
grams and of the movement being pro-
grammed
− Indicates the value of GEN_OVR (%100)
− Number of the arm selected (Arm:1)
− Arm calibrated (CAL)
− Type of manual movement (Typ:jnt)
− Indicates whether the enable pushbutton (E)
(HOLD_TO_RUN) has been pressed
− Indicates whether the PTU is in the cabinet (P)

The states indicated above are an example.

For further information, refer to the manual of the cell controller Operation and Maintenance.

1-2 00/0702
EZ-PDL2 BASIC CONTROLLER OPERATIONS

EZ ENVIRONMENT STATUS WINDOW


This occupies the second line of the display and shows the active functions and current status of the EZ envi-
ronment.

− Active program (A:prog_0).


− Current program (C:prog_0).
− Program Step Mode (S/D/M/F/R). S=Step Statement
D=Step Disable
M=Step Move
F=Step Fly
R=Step Routine
− Index of the active tool table (T:*) (* = no tool selected)
− Index of the active frame table (F:*) (* = no frame selected)
− Line position (LN>4).

The states indicated are an example.


In the case of a remote tool being activated, the symbol T: is replaced by the symbol R:, where R indi-
cates REMOTE TOOL enabled.

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.

SHIFT FUNCTION OF PTU4 KEYS


Activates the secondary function of double-function keys.

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

EZ Activates or suspends the EZ environment

LIN Selects LINEAR trajectory for the REC key

JNT
Selects JOINT trajectory for the REC key

CIRC
Selects CIRCULAR trajectory for the REC key

FLY Enables or disables FLY for the REC key

POS Selects POSITION type positions

JNTP Selects JOINTPOS type positions

XTND Selects XTNDPOS type positions

STEP
DISB Enables or disables the active program STEP.

Enable pushbutton Enable pushbutton


(HOLD_TO_RUN) (HOLD_TO_RUN)

Emergency stop
Auto/Manual switch mushroom
button

PTU4 - Upper View

1-4 00/0702
EZ-PDL2 BASIC CONTROLLER OPERATIONS

PTU4 - Front View

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

This page has been left intentionally blank

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

This page has been left intentionally blank


EZ-PDL2 PROGRAMMING PRINCIPLES

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:

• PROG/AUTO switch set to PROG.


• AUTO/MANUAL switch of the Teach Pendant set to MANUAL.

Procedure:
1. Enter the ‘Program Open’ command.

Prog Open
F1 F1

A prompt is displayed asking for the number of the program to be opened.

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

2. Enter the number of the program (e.g. 1) and press ENTER.

RECORDING POINTS
Purpose:

• Insert motion statements in the program.

Beginning status:

• PROG/AUTO switch set to PROG.


• AUTO/MANUAL switch of the Teach Pendant set to MANUAL.
• Motors powered on.
• Hold down the HOL_TO _RUN pushbutton on the teach pendant

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.

3. Press the REC key.


When a point is recorded, a MOVE statement is inserted in the program on a new line below the cursor.

REC

4. Jog the Robot to a new position to be recorded.

2-2 00/0702
EZ-PDL2 PROGRAMMING PRINCIPLES

5. Press the REC key again.


When the point is recorded, a new MOVE statement is inserted in the program

SINGLE STEP EXECUTION OF THE PROGRAM


REC

Purpose:

• Move the Robot to a point stored in the program.


• Test a program, executing this step-by-step.

Beginning status:

• PROG/AUTO switch set to PROG.


• AUTO/MANUAL switch of the Teach Pendant set to MANUAL.
• Motors powered on.

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

4. Press and hold the START key.

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.

MODIFICATION OF RECORDED POINTS


Purpose:

• Modify a position already stored.

Beginning status:

• PROG/AUTO switch set to PROG.


• AUTO/MANUAL switch of the Teach Pendant set to MANUAL.
• Motors powered on.

2-4 00/0702
EZ-PDL2 PROGRAMMING PRINCIPLES

Procedure:
1. Move the cursor to the MOVE statement to be modified.

2. Jog the Robot to the new position.


3. Press the MOD key.

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.

SAVING THE PROGRAM


Purpose:

• Save a program in the memory.

00/0702 2-5
PROGRAMMING PRINCIPLES EZ-PDL2

Procedure:
1. Enter the ‘Program Save’ command.

Prog Save
F1 F3

2. Select the ‘One’ command to save a single program.

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.

AUTOMATIC EXECUTION OF THE PROGRAM


Run only programs that have been thoroughly tested and that operate correctly.
Failure to test a program before execution may cause serious injury to personnel and damage to the
equipment.

Purpose:

• Run a program in automatic mode.

Beginning status:

• PROG/AUTO switch set to AUTO-L.


• AUTO/MANUAL switch of the Teach Pendant set to MANUAL.
• Motors powered on.

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

3. Enter the ‘Program Open’ command.

Prog Open
4.
F1 F1

Enter the number of the program (e.g. 1) and press ENTER.


5. Use the %- or %+ keys of the teach pendant to set the general speed override.

%
- +

6. Remove HOLD status and set the system to READY status.

HOLD

7. Press the START button.

START

The program is started in automatic mode.

00/0702 2-7
PROGRAMMING PRINCIPLES EZ-PDL2

This page has been left intentionally blank

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

NODAL METHOD 3-13


TRAJECTORY 3-14
LINEAR TRAJECTORY 3-14
JOINT TRAJECTORY 3-14
SETTING OF THE REC KEY 3-14
TRAJECTORY SETTING 3-15
TRAJECTORY ASSIGNMENT 3-17
TRAJECTORY MODIFICATION 3-19
CIRCULAR INTERPOLATION 3-20
RECORDING OF A CIRCULAR MOTION 3-20
MODIFICATION OF A CIRCULAR MOTION 3-22
CONTINUOUS MOTION 3-23
SETTING OF THE REC KEY 3-24
SETTING OF CONTINUOUS MOTION 3-25
ASSIGNMENT OF CONTINUOUS MOTION 3-26
MODIFICATION OF MOTION TYPE 3-28
CONTINUOUS MOTION SPEED 3-28
VARIABLE SPEED 3-28
CONSTANT SPEED 3-29
CONTINUOUS MOTION SPEED ASSIGNMENT 3-29
TRAJECTORY SHAPE DURING CONTINUOUS MOTION 3-30
TRAJECTORY SHAPE ASSIGNMENT FOR CONTINUOUS MOTION 3-31
MOTION TERMINATION 3-32
ACCURACY THRESHOLD 3-33
NOSETTLE 3-34
COARSE 3-34
FINE 3-34
JNT_COARSE 3-34
JNT_FINE 3-34
POSITIONING ACCURACY ASSIGNMENT 3-35
ACCELERATION AND DECELERATION 3-36
ACCELERATION AND DECELERATION ASSIGNMENT 3-38
SPEED CONTROL 3-40
SPEED OVERRIDE 3-41
SPEED OVERRIDE CHARACTERISTICS 3-41
OVR COMMAND 3-41
SPD COMMAND 3-42
USE OF SPEED OVERRIDES 3-42
SPEED OVERRIDE CONTROL 3-43
CARTESIAN SPEED 3-46
CARTESIAN SPEED COMPONENTS 3-46
CARTESIAN SPEED OPTIONS 3-46
Programming
EZ-PDL2 Environment

MOTION CONTROL
SUMMARY (cont.d)

Paragraphe Page

CONSTANT SPEED 3-46


MAXIMUM SPEED 3-46
LINEAR SPEED 3-47
USE OF CARTESIAN SPEED 3-47
CARTESIAN SPEED CONTROL 3-48
COOPERATIVE MOTION WITH AUXILIARY AXES 3-50
ENABLING OF COOPERATIVE MOTION 3-50
DISABLING OF COOPERATIVE MOTION 3-51
C3G MOTOR MULTIPLEXER 3-51
DRIVE OFF IN AUTO OR REMOTE STATES OF THE ACTIVE GROUP OF
AUXILIARY AXES 3-51
DRIVE ON AGAIN IN AUTO OR REMOTE STATES
OF THE ACTIVE GROUP OF AUXILIARY AXES 3-51
SWITCHING OF ACTIVE AUXILIARY AXIS GROUP A OR B 3-51
Programming
Environment EZ-PDL2

This page has been left intentionally blank


EZ-PDL2 MOTION CONTROL

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

MOVE trajectory TO destination

The trajectory defines the type of interpolation required during motion.


The destination is the position to be reached.

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.

Fig. 3-1 BASE Cartesian Coordinates

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.

Fig. 3-2 Center of the Flange - TCP 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).

Fig. 3-3 TCP for Welding Torch and Hand

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.

Fig. 3-4 Cartesian Position of Torch TCP

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’.

Fig. 3-5 JOINT 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

USE OF POSITION TYPES IN THE PROGRAM


To define the data type to which the positions to be recorded must belong, the REC key must be configured be-
fore recording new points.

CONFIGURATION OF THE REC KEY


Purpose:

• 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

2. Select the data type required for the positions.

Pos
F1

The REC key will record POSITIONs. The following statements are obtained:

MOVE trajectory TO pnt0001p

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:

MOVE trajectory TO jnt0001j

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:

MOVE trajectory TO xtn0001x

The letter ‘x’ at the end of the position name indicates the XTNDPOS data type.

3-4 00/0702
EZ-PDL2 MOTION CONTROL

3. To view current setup characteristics, enter the ‘Setup View’ command.

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).

CALCULATION OF THE TOOL MOUNTED ON THE FLANGE


The system requires a reference frame in order to define the ‘offset’ of the selected tool center point in relation
to the center of the flange and tool orientation in relation to this.
This reference frame consists of a Cartesian coordinate system, the origin of which is located, by default, at the
center of the flange which is the end part of the arm (TOOL 0).

Fig. 3-6 TOOL Cartesian Coordinates

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

DEFINITION OF TCP OFFSET


Purpose:

• Assign Tool Center Position.

Procedure:
1. Identify the direction of the Tool X, Y and Z axes.

Fig. 3-7 BASE and TOOL Cartesian Coordinates

1.1. Position the arm so that the tool flange is visible.


1.2. Jog the arm in ‘Typ:tol’ mode to check the direction of the axes of the Tool coordinate system.

Fig. 3-8 Motion according to TOOL Coordinates

2. Measure tool dimensions.


The offset for tool dimensions can be measured on the arm itself or calculated theoretically according
to the drawing.
2.1. Mount the tool (if this has not already been installed) and measure tool center offsets, positive or
negative, with respect to the center of the flange along all three axes. The measurements must be
made in millimeters.

3-6 00/0702
EZ-PDL2 MOTION CONTROL

3. Enter the ‘Table Tool Edit’ command.


Tbl Tool Edit
F5 F1 F1

4. Enter the Tool number required and press ENTER. Permissible values are -1 to 18, excluding 0.

5. Enter the offsets recorded.

X
F1

5.1. Press the key of the coordinate corresponding to the offset:

Y
F2

Enters the offset along the TOOL X axis.

Z
F3

Enters the offset along the TOOL Y axis.

Enters the offset along the TOOL Z axis.


5.2. Enter the value required and press ENTER.
5.3. Proceed from step 1. for all offsets.
6. If the machine is set to manage the dynamic model, the values of the mass of the tool ($TOOL_MASS)
and the X, Y and Z components of the tool center ($TOOL_CNTR) can be defined.
To modify these values, select the ‘Mydn’ command. At this level, the X, Y and Z components of the tool
center ($TOOL_CNTR) can be modified with the ‘X’, ‘Y’ and ‘Z’ commands respectively and the value of
the mass of the tool ($TOOL_MASS) with the ‘Mass’ command.

00/0702 3-7
MOTION CONTROL EZ-PDL2

7. To view current Tool parameters, enter the ‘Table Tool View’ command.

Tbl Tool View


F5 F1 F4

Current Tool parameters are displayed in the scroll window. Use the arrow keys to scroll data in the window.

USE OF TOOLS IN THE PROGRAM


As described above, all POSITION type positions refer to the tool center point defined according to the tool
mounted on the flange.
As various tools may be used during the same application, each of these will have its own Tool parameters that
may be called automatically by the program in the case of tool change-over during cycle execution.
For this reason, the first statement of any motion program must be assignment of the Tool defined for the tool
mounted on the flange referring to the current program.

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.

TOOL ASSIGNMENT IN THE PROGRAM


Purpose:

• 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

2. Enter the ‘Insert Call tBl tOol’ command.


Ins Call tBl tOol
F2 F5 F5 F1

3. Enter the Tool number required (e.g. 1) and press ENTER.

TOOL ACTIVATION DURING PROGRAMMING


Purpose:

• Activate Tool for the tool mounted on the flange.

Procedure:
1. Position the cursor on the a_tool statement.

2. Press the START key.


START

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

USE OF THE FRAME IN THE PROGRAM


For certain applications it may be useful to define a piece-related user reference system. This user reference
system is known as the User Frame.
Assuming that we wish to draw a rectangle on a blackboard, the points of the rectangle can be taught in rela-
tion to a user reference system defined in the corner of the blackboard. In this way, the rectangle will have the
same coordinates regardless of the position of the blackboard.
Several Frames can be called automatically by the program.
The assignment statement of the frame calculated must be inserted in the motion program before carrying out
the movements defined for that frame.

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.

ASSIGNMENT OF THE FRAME IN THE PROGRAM


Purpose:

• Insert the Frame assignment statement in the program.

Procedure:
1. Position the cursor to insert the Frame statement.

2. Enter the ‘Insert Call tBl Frame’ command.


Ins Call tBl Frm
F2 F5 F5 F3

3. Enter the Frame number required (e.g. 1) and press ENTER.

The procedure to activate the Frame being programmed is identical to that described for the Tool.

3-10 00/0702
EZ-PDL2 MOTION CONTROL

USE OF THE REMOTE TOOL/FRAME IN THE PROGRAM


The Remote Tool system is a specific configuration in which the robot is considered as a positioner in relation
to a fixed tool (REMOTE TOOL). The workpiece is installed directly on the robot (REMOTE UFRAME), so that
the TCP of the fixed tool can follow the correct trajectory on the part. The position of the Remote Tool must be
calculated, in relation to the world reference system, by issuing the ‘Tbl Rmtt Edit’ command.

Tbl Rmtt Edit


F5 F3 F1

The dimension of the part must also be calculated, and saved in the Remote Frame table by means of the ‘Tbl
rfrM Edit’ command.

Tbl rfrM Edit


F5 F4 F1

ASSIGNMENT OF REMOTE TOOL AND FRAME


Purpose:

• It enters the Remote Tool and Frame assignment instruction in the program.
Procedure:
1. Position the cursor to enter the instruction RTF.

2. Send the command ‘Insert Call tBl Rtf’.

3. Stroke the number of the Remote Tool (e.g. 1) and press ENTER.

4. Stroke the number of the RemoteFrame (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.

Fig. 3-9 LINEAR Trajectory

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.

Fig. 3-10 JOINT Trajectory

SETTING OF THE REC KEY


Purpose:

• Set the REC key for automatic insertion of the trajectory required for the new MOVE statements.

Procedure:
1. Enter the `Setup’ command.

sEtp
F4

2. Set the trajectory required.

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

MOVE CIRCULAR TO pnt0002p VIA pnt0001p

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.

Fig. 3-11 Trajectory Setting

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

2. Position the cursor.

3. Jog the arm to the position to be recorded.


4. Press the REC key.
REC

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

7. Jog the arm to the position to be recorded.

3-16 00/0702
EZ-PDL2 MOTION CONTROL

8. Press the REC key.

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.

Fig. 3-12 Trajectory Assignment

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

2. Record the first position of the path.

REC

3. Select the `Lin’ command to assign Linear trajectory to the MOVE statement recorded.

Lin
Enter Y (Yes) to the confirmation prompt.
F2

4. Record the subsequent positions with the same method.

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.

2. Enter the `Change Motion Joint’ command.

Chng Motn Jnt


F3 F1 F1

Enter Y (Yes) to the confirmation prompt.

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.

Fig. 3-13 CIRCULAR Trajectory

RECORDING OF CIRCULAR MOTION


Example 4: Store the path shown in the figure which requires a circular trajectory.

Fig. 3-14 Setting of Circular Trajectory

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

3. Jog the arm to the VIA position (pnt002p).


4. Press the REC key.
REC

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.

7. Enter Y (Yes) to the confirmation prompt.

00/0702 3-21
MOTION CONTROL EZ-PDL2

MODIFICATION OF CIRCULAR MOTION


Example 5: Modification of the destination and VIA positions of a circular motion already stored.

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.

2. Modify the destination position.


2.1. Jog the arm to the new destination position.
2.2. Press the MOD key.
MOD

2.3. Enter Y (Yes) to the confirmation prompt.


3. Modify the VIA position.
3.1. Jog the arm to the new VIA position.
3.2. Press the MOD key.
MOD

3.3. Enter N (No) to the confirmation prompt.

The message on the display now shows the VIA position.


3.4. Enter Y (Yes) to the confirmation prompt.

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.

Fig. 3-15 Continuous Motion

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.

Fig. 3-16 Motion between equipment

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.

Fig. 3-17 Extrusion process

00/0702 3-23
MOTION CONTROL EZ-PDL2

SETTING OF THE REC KEY


Purpose:

• 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

Select the type of motion required.

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

SETTING OF CONTINUOUS MOTION


This method is used when storing a sequence of several positions requiring the same motion characteristics.
Example 6: Store the path shown in the figure configuring the REC key to define the type of motion re-
quired for the MOVE statements before recording new positions.

Fig. 3-18 Setting of Continuous Motion

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.

sEtp Lin Fly


F4 F2 F4 FLY
LIN

2. Position the cursor.

00/0702 3-25
MOTION CONTROL EZ-PDL2

3. Jog the arm to the position to be stored.


4. Press the REC key. REC

5. Starting from point 3, record subsequent positions.

ASSIGNMENT OF CONTINUOUS MOTION


This method is used to store a sequence of positions requiring different motion characteristics.
Example 7: Store the path shown in the figure assigning the type of motion required for the MOVE state-
ments, after recording the positions.

Fig. 3-19 Assignment of Continuous Motion

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.

sEtp Lin Nfly


F4 F2 F6
LIN FLY

2. Record the first position of the path.


REC

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

MODIFICATION OF MOTION TYPE


Example 8: Modify the type of motion performed at position pnt0004p from Continuous (MOVEFLY) to
Non-Continuous (MOVE).

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.

2. Enter the `Change Motion Nofly’ command.

Chng Motn Nfly


F3 F1 F5

CONTINUOUS MOTION SPEED


The C3G controller makes it possible to define the type of speed required during execution of the FLY motion.
Permissible speeds are as follows:

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

CONTINUOUS MOTION SPEED ASSIGNMENT


Example 9: Assign the speed characteristics to be maintained during FLY motions for the path shown in
the figure.

Segment No.1: pnt0001p...pnt0004p: variable speed.


Segment No.2: pnt0005p...pnt0008p: constant speed.

Fig. 3-20 Continuous Motion Speed Assignment

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.

2. Enter the `Insert Variable Fly Type’ command.

Ins Var Fly Type


F2 F4 F3 F1

3. Enter the `Norm’ command to select variable speed.

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.

TRAJECTORY SHAPE DURING CONTINUOUS MOTION


The C3G controller makes it possible to define the distance of the trajectory of the FLY motion from the position
at which this is performed.
The value entered is a percentage delay on execution of the FLY motion. Reducing the percentage value, the
FLY motion will start with a longer delay and the trajectory of the motion will be closer to the position at which
this is performed.
The assignment statement defining the shape of the continuous motion occupies a program line and has the
following syntax:
$FLY_PER = value

Fig. 3-21 Trajectory Shape During Continuous Motion

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

TRAJECTORY SHAPE ASSIGNMENT FOR CONTINUOUS MOTION


Example 10: Define the rounding percentage of FLY motions for the path shown in the figure. Assign the
rounding percentage required to segment No.1 in which FLY motions are performed at vari-
able speed.

Segment No. 1 pnt0001p...pnt0004p: Percentage = 50%

Fig. 3-22 Trajectory Shape Assignment for Continuous Motion

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.

2. Enter the `Insert Variable Fly Npar Percent’.

Ins Var Fly Npar Per


F2 F4 F3 F2 F1

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.

Fig. 3-23 Deceleration and Termination

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

Fig. 3-24 Accurate Termination

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.

Fig. 3-25 Sequence of Non-Continuous Motions

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.

Fig. 3-26 Accuracy Thresholds

Three different parameters can be selected to assign motion termination accuracy:


• Termination: NOSETTLE
• Termination: COARSE
• Termination: FINE

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

Fig. 3-27 Types of Motion Termination

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

POSITIONING ACCURACY ASSIGNMENT


Example 11: Assign type of motion termination for the path shown in the figure.

Segment No. 1: pnt0001p...pnt0004p: termination JNT_COARSE


Segment No. 2: pnt0005p...pnt0008p: termination FINE.

Fig. 3-28 Positioning Accuracy Assignment

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.

2. Enter the `Insert Variable Termination’ command.

Ins Var Term


F2 F4 F4

3. Select the `Jcos’ command to assign 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.

ACCELERATION AND DECELERATION


Arm motion begins with the acceleration needed to reach the speed required which will remain constant during
the entire motion. When the tool center point or joints approach the destination position, the arm starts to decel-
erate until it stops completely.

Fig. 3-29 Acceleration and Deceleration Ramps

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.

Fig. 3-30 Reduction of Acceleration and Deceleration Ramps

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

ACCELERATION AND DECELERATION ASSIGNMENT


Example 12: Reduce acceleration for the motions of the path shown in the figure performed with Linear in-
terpolation.

Fig. 3-31 Acceleration and Deceleration Assignment

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.

2. Enter the `Insert Variable Armoverride Acceleration’ command.

Ins Var Armo Acc


F2 F4 F1 F3

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.

2. Enter the `Change Motion With Arm’ command.

Chng Motn With Arm


F3 F1 F6 F2

3. Select the `Dec’ command to assign motion deceleration.

Dec
F3

4. Enter the percentage value (e.g. 40) and press ENTER.

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.

Fig. 3-32 Speed Control

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.

SPEED OVERRIDE CHARACTERISTICS


The speed at which the arm performs a motion is reached after an acceleration phase and then gradually re-
duces during a deceleration phase. Two different commands are used to specify whether the percentage value
entered must also act on the acceleration and deceleration profile of the motion or only on the motion segment
performed at constant speed.

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.

Fig. 3-33 Assignment using OVR Command


The override value required may be assigned with the modal method only (see description in the `MOVE
STATEMENT’ paragraph).
When a speed override value is assigned, a statement line with the following syntax is inserted in the program:

$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.

Fig. 3-34 Assignment using SPD Command


The override value required may be assigned using either with the modal or nodal method (see description in
the `MOVE STATEMENT’ paragraph).
When the modal method is used, a statement line with the following syntax is inserted in the program:
$ARM_SPD_OVR := value
Nodal assignment is specified in the MOVE statement which has the following syntax:
MOVE trajectory TO destination,
WITH $ARM_SPD_OVR = value,
ENDMOVE

3-42 00/0702
EZ-PDL2 MOTION CONTROL

USE OF SPEED OVERRIDES


Usually, a basic speed value that applies to all robot motions is defined with the modal method. The nodal
method is used to assign higher or lower speed to single motions as required.

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

SPEED OVERRIDE CONTROL


Example 14: Introduce a percentage speed reduction for the motion segments shown in the figure. The re-
duction should not affect the motion acceleration and deceleration profile.

Fig. 3-35 Speed Override Control

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.

2. Enter the `Insert Variable Armoverride Speed’ command.

Ins Var Armo Spd


F2 F4 F1 F2

3. Enter the percentage value (e.g. 80) and press ENTER.

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.

Fig. 3-36 Speed Reduction

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.

2. Enter the `Change Motion With Arm’ command.

Chng Motn With Arm


F3 F1 F6 F2

3. Select the `Spd’ command to assign speed percentage value.


Spd
F1

4. Introduce the percentage value (e.g. 50) and press ENTER.

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.

Fig. 3-37 Cartesian Speed

CARTESIAN SPEED COMPONENTS


In many cases, Cartesian motion requires even more precise speed control.
For some applications, tool center point speed must remain as constant as possible; for others, arm motion at
maximum speed is more important even during linear and circular trajectories.
The prevailing speed characteristic during Cartesian motion is the speed component required, which may be:
• CONSTANT speed
• MAXIMUM speed
• LINEAR speed
To adapt to different working conditions, the C3G makes it possible to take the most suitable speed component
for an application and assign this to motions performed with Cartesian interpolation.

CARTESIAN SPEED OPTIONS


Speed control must be planned during programming before performing linear or circular motions. This is done
assigning the speed option required, which determines which component must control Cartesian speed. The
following options are available:

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.

USE OF CARTESIAN SPEED


The modal method is normally used to define the basic movement speed for all robot movements while the
nodal method is used to assign the greater or lower speed for individual movements according to the various
cases.

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

CARTESIAN SPEED CONTROL


Example 16: Assign a travel speed of 100 mm/sec for linear motions of the path in the figure.

Fig. 3-38 Cartesian Speed Control

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.

2. Enter the `Insert Variable Speed Option’ command.


Ins Var Spd Opt
F2 F4 F2 F1

3-48 00/0702
EZ-PDL2 MOTION CONTROL

3. Select the `Lin’ command to assign the `LINEAR SPEED’ option for Cartesian motion.
Lin
F3

4. Position the cursor to insert Linear Speed.

5. Enter the `Insert Variable Speed Linear’ command.

Ins Var Spd Lin


F2 F4 F2 F2

6. Enter the value required (e.g. 0.1) and press ENTER.

7. Position the cursor on the MOVE statement which requires specification of Cartesian speed.

8. Enter the `Change Motion With Linear’ command.


Chng Motn With Lin
F3 F1 F6 F3

9. Enter the value required (e.g. 0.5) and press ENTER.

00/0702 3-49
MOTION CONTROL EZ-PDL2

COOPERATIVE MOTION WITH AUXILIARY AXES


Cooperative motion with auxiliary axes is used mainly in arc welding application where the cell normally com-
prises a robot and a positioner (for example an indexing table) defined as auxiliary axis.
This function makes it possible to move the torch at constant speed in relation to the workpiece. Therefore, if
the piece is moved, the torch accelerates or decelerates in order to keep its speed constant. It also compen-
sates for any movement of the workpiece in order to continue follow-through of the trajectory defined.
Example: Enable cooperation for circular motions of program `prog_1’

PROGRAM prog_1
...
...
BEGIN
MOVE CIRCULAR TO xtn0002x VIA xtn0001x
MOVE CIRCULAR TO xtn0004x VIA xtn0003x
...
...
END prog_1

ENABLING OF COOPERATIVE MOTION


The `AUX_COOP(ON,<number_auxiliary_axis>)’ statement must be inserted in the program and run in order to
enable this function.

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

3. Enter the auxiliary axis (e.g. 6).

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

DISABLING OF COOPERATIVE MOTION


The `AUX_COOP(OFF)’ statement must be inserted in the program and run in order to disable cooperation with
auxiliary axes.

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

C3G MOTOR MULTIPLEXER


As from the 4.2x system version, a new set-up of the C3G controller is handled with a higher number of motors than
drives as, for example, in the case of the maximum configuration of 10 motors with 8 drives. For this purpose, a de-
vice known as the Motor Multiplexer has been designed that makes it possible to switch the currents generated by
the control to several motors. This device is installed physically in the compartments reserved for the drives.
As the switched axes are to all effects auxiliary axes of the same ARM, the Motor Multiplexer permits selection of
these, creating virtual combinations between the resolver channels and the related motors. During activity of the
arm, the Motor Multiplexer decides which group of auxiliary axes is combined case by case with the basic machine.
As the commutator is of the two-way type, two possible axis configurations indicated as `A’ and `B’ are created.
The `AUX_MMUX’ statement permits management of this function in the user program.

DRIVE OFF IN AUTO OR REMOTE STATES OF THE ACTIVE GROUP OF AUXILIARY


AXES
To switch off the drives of the active group of auxiliary axes, insert the `AUX_MMUX(MMUX_OFF)’ statement
using the `Ins Call Mmux oFf’ command.

DRIVE ON AGAIN IN AUTO OR REMOTE STATES OF THE ACTIVE GROUP OF AUXIL-


IARY AXES
To switch on the drives of the active group of auxiliary axes again, if they have been switched off with the
`AUX_MMUX(MMUX_OFF)’ statement, insert the `AUX_MMUX(MMUX_ON)’ statement using the “Ins Call
Mmux oN” command.

SWITCHING OF ACTIVE AUXILIARY AXIS GROUP A OR B


To switch the active group of auxiliary axes, insert the `AUX_MMUX(MMUX_GROUP.MMUX_A’ statements to
switch to group A and `AUX_MMUX(MMUX_GROUP.MMUX_B’ to switch to group B.
These statements are inserted using the `Ins Call Mmux Group A’ and `Ins Call Mmux Group B’ statements re-
spectively.

3-52 00/0702
Programming
EZ-PDL2 Environment

PERIPHERAL DEVICE 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 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

This page has been left intentionally blank


EZ-PDL2 PERIPHERAL DEVICE CONTROL

PERIPHERAL DEVICE CONTROL

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.

Fig. 4-1 Diagram of Input/Output Signals

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:

Fig. 4-2 Digital Input State

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:

Fig. 4-3 Digital Output State

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).

Fig. 4-4 Analog Output State

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

DIGITAL INPUT GROUPS


Digital inputs can be grouped into a single array and read as if they are analog signals.
A Group of Digital Inputs can consist of a minimum of 1 to a maximum of 16 inputs.
The system converts the state of the input signals forming the group into a binary value consisting of a number
of bits equal to the number of inputs in the group and interprets these data as a decimal number.
Taking, for example, a group of 4 digital inputs, the value of the Input Group, interpreted as a decimal number,
depends on the current state of the signals.

Decimal Value Binary Code Digital Input State


$GIN value8 value4 value2 value1 $DIN[4] $DIN[3] $DIN[2] $DIN[1]
1 = 0+0+0+1 O O O I OFF OFF OFF ON
2 = 0+0+2+0 O O I O OFF OFF ON OFF
3 = 0+0+2+1 O O I I OFF OFF ON ON
15 = 8+4+2+1 I I I I ON ON ON ON

DIGITAL OUTPUT GROUPS


Digital outputs can be grouped into a single array and written as if they were analog signals.
A Group of Digital Outputs can consist of a minimum of 1 to a maximum of 16 outputs.
To set the state of the output signals forming the group, the system uses a binary value consisting of a number
of bits equal to the number of outputs in the group, treating the data as a decimal number.
Taking, for example, a group of 4 digital outputs, the signal states depend on the value assigned to the Output
Group, expressed as decimal number.

Decimal Value Binary Code Digital Output State $DOUT


$GOUT value8 value4 value2 value1 [4] [3] [2] [1]
1 O O O I OFF OFF OFF ON
2 O O I O OFF OFF ON OFF
3 O O I I OFF OFF ON ON
15 I I I I ON ON ON ON

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

Fig. 4-5 Double Hand

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:

Fig. 4-6 Hand Commands

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’.

HAND CONTROL COMMANDS


Example 17: Transfer a part from a pick-up station to a drop-off station. A hand is installed on the arm for
part handling. Insert the hand Open, Close and Relax commands.

Fig. 4-7 Hand control commands

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.

2. Enter the `Insert Set Hand’ command.

Ins Set Hand


F2 F1 F8

3. Select the `Rlax’ command to insert the relax hand statement.

Rlax
F3

4. Enter the number of the hand (e.g. 1) and press ENTER.

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.

• OFF Deactivates output voltage.

• PULSE Inverts the current state of the output signal for a specified time.On expiry of the time, signal .

• INVERT Permanently inverts output signal state.

DIGITAL OUTPUT CONTROL


Example 18: Using the `prog_17’ example program, a part is to be dropped onto an evacuation device
(Conveyor Belt).

Fig. 4-8 Digital Output Control

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

In this example, output control serves two purposes:


During pick up and drop off, the arm operates in the same work envelope as the peripheral equipment. To
avoid collisions, the program sets an output signal (Output No. 19) used as ROBOT OUTSIDE shared work en-
velope information.
Once the part has been dropped, the arm invokes evacuation of this, sending an output signal (Output No. 20)
to the conveyor belt.

Procedure:
1. Position the cursor to insert the Output statement.

2. Enter the `Insert Set Dout’ command.

Ins Set Dout


F2 F1 F1

3. Enter the number of the Output (e.g. 19) and press ENTER.

4. Select the type of output setting required.

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.

4.3.2. Select the type of pulse required.

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:

PULSE $DOUT[19] FOR 500 ADVANCE

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:

PULSE $DOUT[19] FOR 500


Inv
F4

4.4. Inverts the state of the output voltage on the channel corresponding to the Output selected. Inserts
the following statement in the program:

$DOUT[19] := NOT $DOUT[19]


bfUn
F5

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).

CONTROL OF OUTPUT GROUPS


Example 19: Use the `prog_18’ example program. The robot receives the code of the part to be picked up
from the infeed device. After completing drop-off operations, the program sends the code of
the dropped part to the evacuation device controller.

A more complete example, also including input signal code acquisition and processing, is given in the
`EXECUTION CONTROL’ chapter.

Fig. 4-9 Control of Output Groups

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.

2. Enter the `Insert Set Gout’ command.

Ins Set Gout


F2 F1 F4

3. Enter the number of the Group (e.g. 1) and press ENTER.

4. Select the type of setting required for the output group.

Num
F1

4.1. Assigns a numeric value to the Output Group selected.

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.

ANALOG OUTPUT CONTROL


Example 20: In the example shown in the figure, the robot must polish the side surfaces of a part. A pres-
sure regulator controlled by an analog output acts on an abrasive tool installed on the arm.
Store the path assigning different pressures to the various surfaces.

Fig. 4-10 Analog Output Control

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.

2. Enter the `Insert Set Aout’ command.

Ins Set Aout


F2 F1 F5

3. Enter the number of the analog output (e.g. 41) and press ENTER.

4. Select the type of setting required for the analog output.

Num
F1

4.1. Assigns a numeric value to the Analog Output.

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

Refer to description of Integer Registers in the `EXECUTION CONTROL’ chapter.

Word
F3

4.3. Assigns the current value of a WORD to the Analog Output.

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

DELAY COMMAND 5-11


HOLD COMMAND 5-11
PROGRAM STATE CONTROL 5-11
STATION OPERATION 5-12
SIGNALS USED 5-12
PROGRAM STRUCTURE 5-12
REGISTER AND PROGRAM MEMORY CONTROL 5-14
BIT COMMAND 5-14
IREG COMMAND 5-14
TIMR COMMAND 5-14
WORD COMMAND 5-15
REGISTER AND PROGRAM MEMORY CONTROL 5-15
TOOL MAGAZINE OPERATION 5-15
SIGNALS USED 5-16
PROGRAM STRUCTURE 5-16
ROUTINES 5-18
ROUTINE STRUCTURE 5-19
ROUTINE EXECUTION CONTROL 5-19
ROUTINE DEVELOPMENT 5-20
SUBROUTINE DEVELOPMENT 5-20
ROUTINE EXECUTION CALL 5-20
SUBROUTINE ACCESS 5-21
EZ-PDL2 EXECUTION CONTROL

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.

The reference number - 0 - is always assigned to the main program.


An exclusive reference number from - 1 - to - 99 - is assigned to complementary programs.

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.

Fig. 5-1 Diagram of Robotized Cell

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

$AOUT[1]: SPINDLE PRESSURE ADJUSTMENT

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.

2. Enter the `Insert Call Program’ command.

Ins Call Prog


F2 F5 F1

3. Enter the number of the program (e.g. 10) and press ENTER.

4. Insert subsequent statements.

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.

• GOTO Command: Unconditional branch.

• LABL Command: Program label.

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.

• $BIT[n]: State of a Bit array.

• ireg[n]: Value of a register.

• bfun[n]: Result of a User Routine.

5-6 00/0702
EZ-PDL2 EXECUTION CONTROL

Fig. 5-2 Flow chart of IF Statement

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.

Fig. 5-3 Flow chart of GOTO Statement

LABL COMMAND
The LABL command inserts statement labels in the program.

00/0702 5-7
EXECUTION CONTROL EZ-PDL2

PROGRAM FLOW CONTROL


Example 22: Using the `Example 21’ programs, insert flow control statements in the `prog_0’ program for
correct management of station operation.

Fig. 5-4 Program Flow Control

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

$DOUT[19]: ROBOT OUT OF INTERFER-


ENCE
$DOUT[20]: PALLET EVACUATION COM-
MAND
$DOUT[21]: SPINDLE START COMMAND

$AOUT[1]: SPINDLE PRESSURE ADJUST-


MENT

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

IF $DIN[8] = ON THEN Code 1 program selection


GOTO l_10
ENDIF
IF $DIN[9] = ON THEN Code 2 program selection
GOTO l_20
ENDIF
GOTO l_1

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.

2. Enter the `Insert Flow Label’ command.

Ins Flow Labl


F2 F2 F4

00/0702 5-9
EXECUTION CONTROL EZ-PDL2

3. Enter the label number (e.g. 1) and press ENTER.

4. Position the cursor to insert the IF statement.

5. Enter the `Insert Flow If Din’ command.

Ins Flow If Din


F2 F2 F2 F1

6. Enter the input number (e.g. 8) and press ENTER.

7. Select the `On’ command.


On
F1

8. Enter the `Insert Flow Goto’ command.

Ins Flow Goto


F2 F2 F3

9. Enter the label number (e.g. 10) and press ENTER.

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.

• DLAY command: Time-driven wait.

• HOLD command: Interruption of execution.

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.

• $BIT[n]: Bit array 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.

PROGRAM STATE CONTROL


Example 23: Using the `Example 22’ programs, insert `prog_0’ program state control statements for cor-
rect management of station operation.

Fig. 5-5 Program State Control

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

$DOUT[19]: ROBOT OUT OF INTERFERENCE


$DOUT[20]: PALLET EVACUATION COM-
MAND
$DOUT[21]: SPINDLE START COMMAND

$AOUT[1]: SPINDLE PRESSURE ADJUSTMENT

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

IF $DIN[8] = ON THEN Code 1 program selection


GOTO l_10
ENDIF
IF $DIN[9] = ON THEN Code 2 program selection
GOTO l_20
ENDIF
HOLD Incorrect code, interruption of program
GOTO l_1

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.

2. Select the `Insert Flow Wait Din’ command.

Ins Flow Wait Din


F2 F2 F1 F1

3. Enter the input number (e.g. 3) and press ENTER.

4. Enter the `On’ command.

oN
F1

5. Position the cursor to insert the HOLD statement.

6. Enter the `Insert Flow Hold’ command.

Ins Flow Hold


F2 F2 F6

7. Complete the `prog_0’ program inserting all the known statements.

00/0702 5-13
EXECUTION CONTROL EZ-PDL2

REGISTER AND PROGRAM MEMORY CONTROL


Registers and program memories are used to control particular program events.

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.

REGISTER AND PROGRAM MEMORY CONTROL


Example 24: Using the `Example 23’ programs, insert tool magazine control statements.

Fig. 5-6 Register and Program Memory Control

TOOL MAGAZINE OPERATION


1. A double tool magazine is used. Each magazine has a rack in which worn tools are deposited (A) and a
rack for retrieval of the new tool (B).
2. A tool change is required every 10 work cycles.
3. The robot must distribute tool retrieval from the magazines evenly.

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

$DOUT[17]: TOOL CHANGE HAND CLOSE COMMAND


$DOUT[18]: TOOL CHANGE HAND OPEN COMMAND
$DOUT[19]: ROBOT OUT OF INTERFERENCE
$DOUT[20]: PALLET EVACUATION COMMAND
$DOUT[21]: START SPINDLE COMMAND
$DOUT[22]: TOOL DEPOSITED MAGAZINE No.1
$DOUT[23]: TOOL DEPOSITED MAGAZINE No.2

$AOUT[1]: SPINDLE PRESSURE ADJUSTMENT

$GOUT[1]: SEND NUMBER TOOL CHANGES PERFORMED


$BIT[1]: DISTRIBUTE MAGAZINE RETRIEVAL

IREG[1]: WORK CYCLE COUNTER


IREG[2]: LAST TOOL CHANGE CYCLE TIME

$WORD[1]: TOOL CHANGE COUNTER

$TIMER[1]: TOOL CHANGE TIME RECORDING


• PROGRAM 21
Execution of tool change operations in Magazine No.1. Includes motion statements and statements to con-
trol the tooling installed on the arm.
• PROGRAM 22
Execution of tool change operations in Magazine No.2. Includes motion statements and statements to con-
trol the tooling installed on the arm.

PROGRAM STRUCTURE
PROGRAM prog_0
...
BEGIN
Call_prog_10 Initialization

l_1::
Call_prog_11 Robot at rest Out of interference

IF $DIN[8] = ON THEN Code 1 program selection


GOTO l_10
ENDIF
IF $DIN[9] = ON THEN Code 2 program selection
GOTO l_20
ENDIF
GOTO l_1

l_10::
Call_prog_1 Part No.1 program
GOTO l_100
l_20::

5-16 00/0702
EZ-PDL2 EXECUTION CONTROL

Call_prog_2 Part No.2 program


GOTO l_100

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

$BIT[1] := NOT $BIT[1]


IF BIT[1] = ON THEN Tool selection
GOTO l_30
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

2. Enter the `Insert Set Ireg’ command.

Ins Set Ireg


F2 F1 F3

3. Enter the number of the register (e.g. 1) and press ENTER.

4. Select the `Incr’ command.


Incr
F2

00/0702 5-17
EXECUTION CONTROL EZ-PDL2

5. Enter the increment value (e.g. 1) and press ENTER.

6. Position the cursor to insert the BIT statement.

7. Enter the `Insert Set Bit’ command.

Ins Set Bit


F2 F1 F2

8. Enter the BIT number (e.g. 1) and press ENTER.

9. Select the `Inv’ command.

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).

ROUTINE EXECUTION CONTROL


When a program calls a routine, this takes control of cycle execution and the statements contained in this rou-
tine are executed. The RETURN statement of the routine called returns control to the calling program at the
line following the `sub_n’ or `rout_n’ statement.

An exclusive reference number between - 0 - and - 99 - is assigned to each Routine.


An exclusive reference number between - 0 - and - 99 - is assigned to each Subroutine.

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.

ROUTINE EXECUTION CALL


Procedure:
1. Position the cursor to insert the CALL ROUT statement.

2. Enter the `Insert Call Routine’ command.

Ins Call rouT


F2 F5 F4

3. Enter the number of the routine (e.g. 1) and press ENTER.


A mnemonic comment can be associated to each routine to specify, for example, the operation per-
formed by the routine.

To display the comment:


1. Position the cursor on the routine call statement (e.g.: `rout_1’).

2. Press the SHIFT + HELP keys.

SHIFT
HELP
-

The comment is displayed on the top line of the command window.

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’ ).

2. Execute the `sub_1’ statement.


2.1. Press and hold the HOLD_TO_RUN button on the rear part of the Teach Pendant.
2.2. Press and hold the START key.
START

The cursor positions inside the subroutine on the RETURN line.


3. Insert the statements required.
4. Exit the subroutine.
START

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

This page has been left intentionally blank

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

LOAD PROGRAMS FROM FLOPPY DISK 6-9


LOAD OF A USER PROGRAM 6-9
LOAD OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM 6-9
LOAD PROGRAMS IN EXECUTION MEMORY 6-10
TRANSFER TOOL PARAMETERS TO FLOPPY DISK 6-10
TRANSFER TOOL PARAMETERS TO PERSONAL COMPUTER 6-11
LOAD TOOL PARAMETERS FROM PERSONAL COMPUTER 6-11
LOAD TOOL PARAMETERS FROM FLOPPY DISK 6-12
LOAD TOOL INTO EXECUTION MEMORY 6-12
EZ-PDL2 DISK OPERATIONS

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.

INTERNAL STORAGE DEVICES


These are the internal memories of the system. They consist of volatile circuits that retain the data in the mem-
ory only if the system is powered.
When the main power supply is switched off, i.e. the main power switch is set to OFF, the system memories are
sustained by a back-up battery able to assure data retention for approximately 800 hours. The batteries
re-charge automatically during normal operation.

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’).

Fig. 6-1 Creation of Programs

Fig. 6-2 Creation of TOOL/FRAME Parameters

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.

Fig. 6-3 Saving Programs

EXTERNAL STORAGE DEVICES


These are used to create a back-up copy on disk of user programs and Tool/Frame parameters held on the
Ram Disk.
The data may be transferred to a Personal Computer connected to the communication devices of the controller
or to an Integrated Floppy Disk Unit, where present.

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.

Fig. 6-4 Saving data on a Personal Computer

6-2 00/0702
EZ-PDL2 DISK OPERATIONS

EXTERNAL FLOPPY DISK UNIT


The Floppy Disk Unit replaces the COM0 communication port and is located on the front part of the controller. It
supports 3.5" Floppy Disks with a density of 720K or 1.44M in DOS format.
Using the Floppy Disk Unit, a back-up copy of user programs, Tool parameters and Frame parameters held in
the Ram Disk can be created directly on the floppy disk.
After saving the User Programs on the Ram Disk, a back-up copy of these, of the Tool parameters and of the
Frame parameters must be made on disk using the `Prog Copy...’, `Tbl Tool Copy...’, `Tbl Frm Copy...’, `Tbl
Rmtt Copy’ and `Tbl rfrM Copy...’ commands.

Fig. 6-5 Saving data on Floppy Disk

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).

NET1: Communication port located on the EIM card.

NET2: Communication port located on the EIM card.

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:

Save User Programs


• Save User Programs on Ram Disk.
• Transfer User Programs to Floppy Disk.
• Transfer User Programs to Personal Computer.
Load User Programs
• Transfer User Programs from Personal Computer to Ram Disk.
• Transfer User Programs from Floppy Disk to Ram Disk.
• Load User Programs in the Execution Memory.
Save Tool Parameters
• Transfer Tool Parameters to Floppy Disk.
• Transfer Tool Parameters to Personal Computer.
Load Tool Parameters
• Transfer Tool Parameters from Floppy Disk to Ram Disk.
• Transfer Tool Parameters from Personal Computer to Ram Disk.
• Load Tool Parameters in the Execution Memory.

Fig. 6-6 Complete Program Life Cycle

SAVE PROGRAMS ON RAM DISK


Procedure:
1. Select the `Program Save’ command.

Prog Save
F1 F3

6-4 00/0702
EZ-PDL2 DISK OPERATIONS

2. Select the save command required.

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.

TRANSFER OF PROGRAMS TO FLOPPY DISK

TRANSFER OF A USER PROGRAM


Procedure:
1. Save a user program from the Ram Disk.
2. Insert a disk in the integrated floppy disk unit.
3. Enter the `Program Copy One’ command.

Prog Copy One


F1 F6 F1

4. Enter the number of the program to be saved 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

TRANSFER OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM


Procedure:
1. Save all the user programs and the EZ-ULIB program from the Ram Disk.
2. Insert a disk in the integrated floppy disk unit.
3. Enter the `Program Copy All’ command.

Prog Copy All


F1 F6 F2

4. Select the “To” command and then the “Fd” command to transfer the programs to the External Floppy
Disk Unity.
To Fd
F1 F1

TRANSFER OF PROGRAMS TO PERSONAL COMPUTER

TRANSFER OF A USER PROGRAM


Procedure:
1. Copy a user program of the Ram Disk.
2. Connect the C3G Controller and the Personal Computer.
3. Enter the `Program Copy One’ command.

Prog Copy One


F1 F6 F1

4. Enter the number of the program to be saved and press ENTER.

5. Select the communication port.

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.

TRANSFER OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM


Procedure:
1. Copy of all User Programs and the EZ-ULIB Program of the Ram Disk.
2. Connect the C3G Controller and the Personal Computer.
3. Enter the `Program Copy All’ command.

Prog Copy All


F1 F6 F2

4. Select the communication port.


4.1. Select the `To’ and `Net’ commands to direct the transfer to the EIM card via port NET1 or NET2.

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

LOAD PROGRAMS FROM PERSONAL COMPUTER

LOAD OF A USER PROGRAM


Procedure:
1. Connect the C3G Controller to the Personal Computer.
2. Enter the `Program Copy One’ command.

Prog Copy One


F1 F6 F1

3. Enter the number of the program to be loaded and press ENTER.

4. Select the communication port.


4.1. Enter the `From’ and `Net’ commands to direct the loading from the EIM card via port NET1 or
NET2.
From Net
F2 F3

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.

LOADING OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM


Procedure:
1. Make the connection between the C3G and Personal Computer.
2. Send the `Program Copy All’ command.

Prog Copy All


F1 F6 F2

3. Select the communication port.


3.1. Enter the `From’ and `Net’ commands to direct the loading from the EIM card via port NET1 or
NET2.

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.

LOAD PROGRAMS FROM FLOPPY DISK

LOAD OF A USER PROGRAM


Procedure:
1. Insert the disk containing the user programs in the integrated floppy disk unit.
2. Enter the `Program Copy One’ command.
Prog Copy One
F1 F6 F1

3. Enter the number of the program to be loaded and press ENTER.

4. Select the `From’ and `Fd’ commands to route program loading from the External Floppy Unit.

From Fd
F2 F1

LOAD OF ALL USER PROGRAMS AND THE EZ-ULIB PROGRAM


Procedure:
1. Insert the diskette containing the user programs in the built-in floppy dsik unit.
2. Enter the `Program Copy All’ command.

Prog Copy All


F1 F6 F2

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

LOAD PROGRAMS IN EXECUTION MEMORY


Procedure:
1. Enter the `Program Load’ command.

Prog Load
F1 F4

2. Select the load command required.

All
F1

2.1. Loads all the programs held on the Ram Disk into the Execution Memory.

Enter Y (Yes) in reply to the confirmation prompt.

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.

TRANSFER TOOL PARAMETERS TO FLOPPY DISK


Procedure:
1. Insert a disk in the integrated floppy disk unit.
2. Enter the `Table Tool Copy To Fd’ command to copy the Tool parameters.

Tbl Tool Copy To Fd


F5 F1 F3 F1 F1

6-10 00/0702
EZ-PDL2 DISK OPERATIONS

TRANSFER TOOL PARAMETERS TO PERSONAL COMPUTER


Procedure:
1. Connect the C3G Controller to the Personal Computer.
2. Transfer of Tool parameters.
2.1. Send the `Table Tool Copy To Net’ command to transfer the Tool parameters to the EIM card via
port NET1 or NET2.

Tbl Tool Copy To Net


F5 F1 F3 F1 F3

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.

Tbl Tool Copy To Comp


F5 F1 F3 F1 F2

LOAD TOOL PARAMETERS FROM PERSONAL COMPUTER


Procedure:
1. Connect the C3G Controller to the Personal Computer.
2. Transfer of Tool parameters.
2.1. Enter the `Table Tool Copy From Net’ command to copy the Tool parameters from EIM card via
port NET1 or NET2.

Tbl Tool Copy From Net


F5 F1 F3 F2 F3

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.

Tbl Tool Copy From Comp


F5 F1 F3 F2 F2

00/0702 6-11
DISK OPERATIONS EZ-PDL2

LOAD TOOL PARAMETERS FROM FLOPPY DISK


Procedure:
1. Insert the disk containing the Tool parameters in the integrated floppy disk unit.
2. Enter the `Table Tool Copy From Fd’ command to copy the Tool parameters.

Tbl Tool Copy From Fd


F5 F1 F3 F2 F1

LOAD TOOL INTO EXECUTION MEMORY


Procedure:
1. Enter the `Table Tool Load’ command to load the Tools.

Tbl Tool Load


F5 F1 F2

Enter Y (Yes) in reply to the confirmation prompt.

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

MANUAL CONTROL OF THE SYSTEM


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 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

This page has been left intentionally blank


EZ-PDL2 MANUAL CONTROL OF THE SYSTEM

MANUAL CONTROL OF THE SYSTEM

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:

• Display the EZ programs held on the Ram Disk.


• Display the state of programs held in the memory.

Procedure:
1. Enter the `Program View’ command.

Prog View
F1 F7

The following information is displayed on the status line:


• PROG_1: Program name.

• SAVED: Program saved.

• TO SAVE: The last modifications made to the program must be saved.

• 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.

• 1-GEN-93: Date of last save.

• 09:00: Time of last save.

DELETING PROGRAMS HELD IN THE MEMORY


Purpose:

• 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.

Enter Y (Yes) in reply to the operation confirmation prompt.

DELETING OF UNUSED VARIABLES FROM A PROGRAM


Purpose:

• 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.

Prog Del Unsd


F1 F5 F2

Enter Y (Yes) in reply to the confirmation prompt.

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

2. Enter the `Change Comment’ command.

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:

• Modify the numeric values of a statement.

Procedure:
1. Position the cursor on the statement to be modified.

2. Enter the `Change Line’ command.

Chng Line
F3 F5

The line selected is indicated on the help line.


3. Modify the statement and press ENTER.
(The alphanumeric characters can be inserted by pressing the CHAR key of the PTU).

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

INSERTION OF COMMENTS OR STATEMENTS NOT PRESENT IN THE MENU


Purpose:

• Insert comment lines or simple statements not present in the menu.

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.

2. Enter the `Insert Line’ command.

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.

This operation is necessary to return the program to initial start conditions.

Procedure:
1. Enter the `Program Reset’ command.

Prog Rset
F1 F2

Enter Y (Yes) in reply to the operation confirmation prompt.


The cursor and the Line are aligned to the first line of the program (BEGIN), the Motion Counter is set to zero
and the calls to the user library routines are cancelled.

7-4 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM

HOW TO POSITION ON A LINE OF THE PROGRAM


It is possible to position in a line of the program displayed using the SRCH key of the PTU4.
SRCH
5

It is possible to position in the line number specified.

Line
F1

It is possible to position in the line of the routine of the EZ_ULIB specified.

Rout
F2

It is possible to position on the line of the label specified.

lAbel
F3

It is possible to position in the line of the position type variable specified.

Pnt
F4

It is possible to position in the line of the jointposition type variable specified.

Jnt
F5

It is possible to position in the line of the Xtndpos type variable specified.

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

ACCESS TO THE SYSTEM PROGRAMMING ENVIRONMENT


Purpose:

• Select the system programming environment. The EZ environment is temporarily suspended.

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.

Enter Y (Yes) in reply to the confirmation prompt to save the modifications.


3. If the Line is not aligned with the cursor, confirmation of this condition is requested.

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.

Enter Y (Yes) in reply to the confirmation prompt.


To return to the EZ environment, select the `Utility Application’ command or press the EZ key of the new PTU.

Util Appl
F8 F1 EZ

7-6 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM

MANUAL CONTROL OF SIGNALS AND MEMORIES


The procedures to be carried out for manual control of signals and system memories state are described below.

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. Select Output state.


oN
F1

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

2. Enter the number of the Bit (e.g. 1) and press ENTER.

3. Select the Bit memory state.


oN
F1

3.1. Assigns ON state to the Bit selected.

oFf
F2

3.2. Assigns OFF state to the Bit selected.

GROUPS OF DIGITAL OUTPUTS


Procedure:
1. Enter the `Execute Gout’ command.
Exec Gout
F7 F3

2. Enter the number of the Group required (e.g. 1) and press ENTER.

3. Enter the value required (e.g. 2) 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.

3. Enter the value required (e.g. 10000) and press ENTER.

WORD MEMORY
Procedure:
1. Select the `Execute Word’ command.

Exec Word
F7 F5

2. Enter the number of the Word (e.g. 1) and press ENTER.

3. Enter the value required (e.g. 100) and press ENTER.

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.

EMULATOR CONTROL COMMANDS


Video emulator functions can be interrupted or deactivated as required by the operator.
If the emulator is not indispensable during automatic operation, it can be interrupted or completely deactivated
to avoid the CPU carrying out information update operations on the screen.

Procedure:
1. Enter the `Chng cRt’ command.

Chng cRt
F3 F4

2. Select the command required.

Deac
F1

2.1. Deactivates the emulator.

The system clears the emulator screen from the video.

Act
F2

2.2. Activates the emulator.

The system displays the emulator screen on the video.

7-10 00/0702
EZ-PDL2 MANUAL CONTROL OF THE SYSTEM

Paus
F3

2.3. Suspends emulator temporarily.

The system disables sending of messages to the window that reproduces the teach pendant dis-
play.

Unps
F4

2.4. Reactivates emulator functions.

The system reactivates sending of messages to the window that reproduces the teach pendant
display.

EZ COMMAND ENABLE BY EMULATOR


When the Teach Pendant is inserted in its support, EZ commands can also be entered from the external PC.

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

This page has been left intentionally blank

7-12 00/0702
Programming
EZ-PDL2 Environment

HIGH LEVEL FUNCTIONS


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 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

CORRECTION OF A POSITION DURING EXECUTION OF THE PROGRAM 8-13


USER REFERENCE SYSTEM 8-13
TOOL REFERENCE SYSTEM 8-13
TOOL AND FRAME EXECUTION 8-15
EXTENSION OF THE EZ PROGRAM NUMBER UP TO 999 8-15
EZ-PDL2 HIGH LEVEL FUNCTIONS

HIGH LEVEL FUNCTIONS

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:

Fig. 8-1 Motion Statements

...
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

Fig. 8-2 Shifting Stored Positions

SHIFTING OF POSITIONS OF THE ORIGINAL PATH


...
POS_SHIFT(pnt0001p,VEC(100, 100, 0))
shift along X Y Z axis first position
POS_SHIFT(pnt0002p,VEC(100, 100, 0))
shift along X Y Z axis intermediate position
POS_SHIFT(pnt0003p,VEC(100, 100, 0))
shift along X Y Z axis intermediate position
POS_SHIFT(pnt0004p,VEC(100, 100, 0))
shift along X Y Z axis intermediate position

SHIFTED PATH EXECUTION


...
MOVE LINEAR TO pnt0001p — new first position
MOVE LINEAR TO pnt0002p — new intermediate pos
MOVE LINEAR TO pnt0003p — new intermediate pos.
MOVE LINEAR TO pnt0004p — new intermediate pos.
MOVE LINEAR TO pnt0001p — new first position
...

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:

• preg[..]: POSITION type position register

• jreg[..]: JNTPOS type position register

• xreg[..]: XTNDPOS type position register

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:

Fig. 8-3 Motions with Position Registers

ORIGINAL PATH POSITION RECORDING


...
preg[1] := pnt0001p
preg[2] := pnt0002p
preg[3] := pnt0003p
preg[4] := pnt0004p

ORIGINAL PATH REGISTER SHIFT


POS_SHIFT(preg[1],VEC(0, 300, 0))
shift along Y axis first position
POS_SHIFT(preg[2],VEC(0, 300, 0))
shift along Y axis intermediate position
POS_SHIFT(preg[3],VEC(0, 300, 0))
shift along Y axis intermediate position
POS_SHIFT(preg[4],VEC(0, 300, 0))
shift along Y axis intermediate position

SELECTION OF THE PATH TO BE EXECUTED


IF $DIN[1] = ON THEN — original path
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
ENDIF

IF $DIN[2] = ON THEN — shifted path


MOVE LINEAR TO preg[1] — first position
MOVE LINEAR TO preg[2] — intermediate position
MOVE LINEAR TO preg[3] — intermediate position
MOVE LINEAR TO preg[4] — intermediate position
MOVE LINEAR TO preg[1] — first position
ENDIF
...

00/0702 8-3
HIGH LEVEL FUNCTIONS EZ-PDL2

PALLETIZATION ON SINGLE ROW


Example 25: The robot is to pick up three parts from a single row pallet and drop these on the evacuation
belt.

Fig. 8-4 Depalletization

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

PALLETIZATION ON ROWS AND COLUMNS


Example 26: The robot is to pick up parts from a pallet and drop them on the evacuation belt.

Fig. 8-5 Depalletization

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.

2. Enter the `Insert Position Assigne Preg’ command.

Ins pOs Asgn pReg


F2 F3 F2 F2

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.

5. Position the cursor to insert the MOVE statement.

6. Enter the `Insert pOsition Move Pos’ command.

Ins pOs Move Pos


F2 F3 F1 F1

00/0702 8-7
HIGH LEVEL FUNCTIONS EZ-PDL2

7. Enter the number of the position (e.g. 1) and press ENTER.

8. Position the cursor to insert the SHIFT statement.

9. Enter the `Insert pOsition Shift pReg’ command.

Ins pOs Shft pReg


F2 F3 F3 F2

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:

MOVE trajectory TO destination,


TIL $DIN[n]+,
ENDMOVE
The movement is deleted when a positive transition occurs.

MOVE trajectory TO destination,


TIL $DIN[n]=TRUE,
ENDMOVE
The movement is deleted when the status of the input is true.

8-8 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS

USE OF THE TIL CLAUSE


The TIL clause is useful when, for example, the position of a part to be picked up from a pallet is not known but
the position and size of the pallet are known.
In this case, the position of the part must be `searched for’ programming a motion that runs along the entire length
of the pallet. A sensor installed on the end of the arm will be activated when the hand encounters an obstacle dur-
ing the search motion.
The status of the signal generated by the sensor is tested by the TIL clause that makes it possible to interrupt
the search motion as soon as the hand has detected the part to be picked up.

Fig. 8-6 TIL Motion Clause

Example 27: The Robot must pick up parts aligned in random fashion on a pallet.

Fig. 8-7 Search for a Workpiece

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.

2. Enter the `Change Motion With Til’ command.

Chng Motn With Til


F3 F1 F6 F5

3. Press the F1 `Din’ key to select test of an input.

Din
F1

4. Press the F1 key to select the transition.


F1

5. Enter the number of the input (e.g. 1) and press ENTER.

6. Select the type of test required for the input.

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:

MOVE trajectory TO destination,


WITH CONDITION[n],
ENDMOVE

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.

Fig. 8-8 Motion with CONDITION Clause

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

2. Enter the `Change Motion With Cond’ command.

Chng Motn With Cond


F2 F3 F1 F1

3. Enter the number of the CONDITION (e.g. 1) and press ENTER.

8-12 00/0702
EZ-PDL2 HIGH LEVEL FUNCTIONS

CORRECTION OF A POSITION DURING EXECUTION OF THE


PROGRAM
This function permits traverse along X, Y and Z of a positional variable (position type variable or PROG regis-
ter) or of the Cartesian part of an Xtndpos type variable or XREG register during running of the program.
Traverse may be carried out in relation to the USER reference system or in relation to the TOOL reference sys-
tem.

USER REFERENCE SYSTEM


Traverse in relation to the USER reference system implies motion in relation to the active User Frame (defined
by the user) when the movement is made towards the modified point. If no User Frame is defined, the move-
ment is made in relation to the Base.

Fig. 8-9 Base Reference System

TOOL REFERENCE SYSTEM


Traverse in relation to the TOOL reference system implies motion in relation to the TOOL active when the
movement is made towards the modified point.

Fig. 8-10 Tool Reference System

The maximum possible shift is +5 and -5 millimeters at a time.


The data referring to traverse along X, Y and Z must be expressed in millimeters. If the `ENTER’ key is pressed
in reply to the prompt requesting the traverse value, zero is assumed. No motion will therefore be made along
that specific Cartesian coordinate.
The modification acts directly on the Execution Memory. Therefore when the motion towards the modified point
is repeated, the robot will reach the new position.
Use the `Prog Save One’ command or the `Prog Save All’ command to save the modifications on the
Ram Disk.

00/0702 8-13
HIGH LEVEL FUNCTIONS EZ-PDL2

Example:
The following points have been defined in the `PROG_1’ program:

MOVE LINEAR TO pnt0001p


MOVE LINEAR TO pnt0002p

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.

eXec Shft User Pos


F3 F1 F6 F5

2. Enter the number of the program (in this case 1).

3. Enter the number of the point (e.g. 1).

4. Select the `New’ command to set and execute the new values.

New
F1

5. Press ENTER as no shift in X is required.

6. Press ENTER as no shift in Y is required.

7. Enter the shift in Z (e.g. 2).

8. Enter the number of the second point (e.g. 2).

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

10. Select Y (Yes) in reply to the confirmation prompt.

TOOL AND FRAME EXECUTION


It is possible to execute a Tool or Frame directly, by issuing the command `Exec Tbl tOol’, and the `A_TOOL(x)’
function can be executed by indicating the number of the tool. The `A_FRAME(x)’ function is executed by issu-
ing the command `Exec Tbl Frm’. In order to execute the function `TF(x, y)’, which activates a local tool and
frame, the command `Exec Tbl Tf’ must be issued. The function `RTF(x, y’), which activates a remote tool and
frame, is executed by issuing the command `Exec Tbl Rtf’.

EXTENSION OF THE EZ PROGRAM NUMBER UP TO 999


Up to 999 EZ programs can be managed. To enable this capability, use the `Execute’ command of the system
menu. When the command requests the statement, enter `ezvi_prom_usr_lim[17]:=999’ (where 999 is the max-
imum number of EZ programs to be managed); when the command requests the Context Program, enter
`ez_iv’.
In the case of EZ Multi-arm, the number of programs for each ARM restarts automatically. To modify the parti-
tioning of the programs, modify the number of the minimum PROGRAM and the number of the maximum
PROGRAM for each ARM in the ezvi_prom_usr_lim array. To modify the number of the minimum PROGRAM,
enter the `ezvi_prom_esr_lim[1+(2*(<arm number>-1))] := <number of the minimum PROGRAM>’ statement
from the `Execute’ command ( specify ez_iv as Context Program).
To modify the number of the maximum PROGRAM enter the
`ezvi_prom_usr_lim[2+(2*(<arm number>-1))] := <number of the maximum PROGRAM>’ statement form the
`Execute’ command (specify ez_iv as Context Program.

00/0702 8-15
HIGH LEVEL FUNCTIONS EZ-PDL2

This page has been left intentionally blank

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

SETTING OF THE TYPE OF EXECUTION STEP 9-6


SKIP COMMAND 9-8
DISPLAY OF CURRENT STATEMENTS 9-8
EZ-PDL2 PROGRAM TESTING

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.

OPERATION DURING PROGRAMMING


During programming, display elements facilitate program testing as they provide information about the status of
statements executed or being executed.

NON CONTINUOUS MOTION


Statement mode execution of a program containing non-continuous motions in programming status is de-
scribed below. The sample program is a follows:

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

1. Position the cursor on the statement of line 6.


2. Press START. The statement of line 6 is executed.
The CURSOR is positioned on the statement of line 7.
The LINE is positioned on the statement of line 7. This means that this will be the next statement exe-
cuted.
3. Press START. The statement of line 7 is executed.
The CURSOR and LINE are positioned on the statement of line 8.
4. Press and hold down START until the “Final position reached” message is displayed.
The CURSOR, LINE and MOTION COUNTER are positioned on line 8 and flash.
This means that the statement of line 8 is being executed. The arm moves towards position pnt0001p.
Release the START button when the “Final position reached” message is displayed.
The CURSOR, LINE and MOTION COUNTER continue to flash as the motion is still active and the back-
ward movement can be carried out.
5. Press START. The statement of line 9 is executed.
The CURSOR, LINE and MOTION COUNTER are positioned on line 9 and flash. The arm moves to-
wards position pnt0002p.
Release the START button when the “Final position reached” message is displayed.

9-2 00/0702
EZ-PDL2 PROGRAM TESTING

6. Press START. The statement of line 10 is executed.


The CURSOR and LINE are positioned on line 11.
The MOTION COUNTER remains positioned on line 9 because this is the last motion carried out.
If the cursor is now moved manually to a different point of the program, the display elements will maintain the
information required for correct restart.
If the current motion is cancelled before it is completed, the MOTION COUNTER remains on the in-
terrupted MOVE statement line but the LINE moves to the next line.

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

1. Position the cursor on the statement of line 6.


2. Press START. The statement of line 6 is executed.
The CURSOR and the LINE are positioned on the statement of line 7. This means that this will be the
next statement executed.
3. Press START. The statement of line 7 is executed.
The CURSOR and the LINE are positioned on the statement of line 8.
4. Press and hold down START until the “Final position reached” message is displayed. The statement of
line 8 is executed.
The CURSOR and the LINE are positioned on the statement of line 9. This means that the statement of
line 9 is executed when the RUN key is pressed. Consequently, it is performed in FLY mode. The cursor
can be moved to another statement. The statement highlighted by the cursor is executed when the RUN
key is pressed.
The MOTION COUNTER is positioned on the statement of line 8 and flashes. This means that the state-
ment of line 8 is being executed. The arm moves towards position pnt0001p.
Release the START button when the “Final position reached” message is displayed.
The CURSOR and the LINE are positioned on the statement of line 9.
The MOTION COUNTER is positioned on the statement of line 8 and flashes. This means that the mo-
tion of line 8 is active and the backward movement can be carried out.
5. Press and hold down START. The statement of line 9 is executed. The arm moves towards position pnt0002p.
The CURSOR and LINE are positioned on line 10.
The MOTION COUNTER is positioned on line 9 and flashes.
Press the RUN key while the statement of line 9 is being executed. The statement of line 10 is executed.
The CURSOR and the LINE are positioned on the statement of line 11.
Release the START button when the “Final position reached” message is displayed.
The CURSOR and the LINE are positioned on the statement of line 11.
The MOTION COUNTER is positioned on line 9 and flashes.
6. Press START. The statement of line 11 is executed.

00/0702 9-3
PROGRAM TESTING EZ-PDL2

COMMANDS AVAILABLE DURING FLY MOTION


RUN

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.

OPERATION IN AUTOMATIC MODE


Display elements facilitate restart of a program interrupted during operation in automatic mode.

NON CONTINUOUS MOTION


Taking, for example, a simple motion program, 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.

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).

RESTART OF THE INTERRUPTED PROGRAM


During operation in automatic mode, the system detects when the cursor is moved manually to a line other than
that of the Line and when a current motion is cancelled before this has been completed.

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

PROGRAM EXECUTION MODE


Statements can be executed in various modes in order to facilitate testing of the data taught during program-
ming and to allow program debugging during automatic operation:

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.

SETTING OF THE TYPE OF EXECUTION STEP


Purpose:

• 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

A command menu to set the type of program step is displayed.


2. Select the type of step required.
Stmt
F1 Selects STATEMENT mode.

1° START 10 OPEN HAND 1


2° START 11 ireg[1] := 0
3° START 12 MOVEFLY LINEAR TO pnt0004p ADVANCE

The program executes a single statement each time the START key is pressed: step-by-step execution.

Disb Selects DISABLE mode.


F2

The program is run continuously when the START key is pressed.

Move Selects MOVE mode.


F3

1° START 10 OPEN HAND 1


executed 11 ireg[1] := 0
executed 12 MOVEFLY LINEAR TO pnt0004p ADVANCE
2° START 13 MOVE LINEAR TO pnt0005p

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.

Fly Selects MOVEFLY mode.


F4

1° START 10 OPEN HAND 1


executed 11 ireg[1] := 0
executed 12 MOVEFLY LINEAR TO pnt0004p ADVANCE
executed 13 MOVE LINEAR TO pnt0005p
2° START 14 CLOSE HAND 1
The first time the START key is pressed, the program executes the statements of the line 10, 11, 12 and 13; the arm
is in the pnt0005p position. The second time the START key is pressed, the program executes the statement of line
14.

00/0702 9-7
PROGRAM TESTING EZ-PDL2

Selects ROUTINE mode.

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

Enter Y (Yes) in reply to the prompt and press START.


The program will start from the next statement.

DISPLAY OF CURRENT STATEMENTS


The current statement, the move statement or the last move statement being executed can be displayed during
automatic operation. The command available this function is: `View Line’.

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

This page has been left intentionally blank


EZ-PDL2 MULTIARM

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.

No° Main Complem. ROUTINE IREG [ ] PREG [ ] JREG [ ] XREG [ ]


ARM PROG PROG

0 ÷ 99 1 ÷ 100 1 ÷ 100 1 ÷ 100 1 ÷ 100


ARM 1 prog_0 1 ÷ 49
shared shared shared jreg [ ] xreg [ ]
0 ÷ 99 1 ÷ 100 1 ÷ 100 1 ÷ 100 1 ÷ 100
ARM 2 prog_50 51 ÷ 99
shared shared shared jreg2 [ ] xreg2 [ ]

Fig. 10-1 2-ARM Configuration

No° Main Complem. ROUTINE IREG [ ] PREG [ ] JREG [ ] XREG [ ]


ARM PROG PROG

0 ÷ 99 1 ÷ 100 1÷ 100 1 ÷ 100 1 ÷ 100


ARM 1 prog_0 1 ÷ 24
shared shared shared jreg [ ] xreg [ ]
0 ÷ 99 1 ÷ 100 1 ÷ 100 1 ÷ 100 1 ÷ 100
ARM 2 prog_25 26 ÷ 49
shared shared shared jreg2 [ ] xreg2 [ ]
0 ÷ 99 1 ÷100 1 ÷ 100 1 ÷ 100 1 ÷100
ARM 3 prog_50 51 ÷ 74
shared shared shared jreg3 [ ] xreg3 [ ]
0 ÷ 99 1 ÷100 1 ÷ 100 1 ÷ 100 1 ÷ 100
ARM 4 prog_75 76 ÷ 99
shared shared shared jreg4 [ ] xreg4 [ ]

Fig. 10-2 4-ARM Configuration

To modify the standard EZ configuration please refer directly to COMAU.

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

This page has been left intentionally blank

10-2 00/0702
Programming
EZ-PDL2 Environment

APPLICATION PROGRAM INSTALLATION


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 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

This page has been left intentionally blank


EZ-PDL2 APPLICATION PROGRAM INSTALLATION

APPLICATION PROGRAM INSTALLATION

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.

Prog Ins Chng sEtp Tbl Step eXec View


ï
Set Flow pOs Var Appl Call Line
ï
+————+————-+————-+————-+
Weld Trck Mtps Spec

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

A prompt is displayed asking for the name of the program to be displayed.


1.2. Continue to press the ENTER key until entire contents of the memory have been scrolled.

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

A prompt asking for the name of the program to be deleted is displayed.


2.2. Enter `*.bk*’ and press the ENTER key.

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.

3. Deactivate all active programs.


3.1. If a motion program is being run, stop the arm in a suitable position and check that current operat-
ing conditions allow program deactivation.
3.2. Select the `Program Deactivate’ (PD) command from the upper level command menu. Press the
F6 (Prog) key and then the F2 (Deac) key.

11-2 00/0702
EZ-PDL2 APPLICATION PROGRAM INSTALLATION

Prog Deac
F6 F2

A prompt asking for the name of the program to be deactivated is displayed.


3.3. Enter `* ‘ (all) and press the ENTER key.
3.4. Verify the result of the command, checking that all the programs have been deactivated.

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.

Installation using PCINT


1. Connect the Personal Computer to the C3G Controller.
1.1. Connect the serial cable to the `COMP’ communication port of the C3G on one side and to the se-
rial connector of the computer on the other.
1.2. On the Personal Computer, activate the PCINT program in video emulation mode.
1.3. Insert the diskette containing the EZ application program in the floppy disk unit of the computer.
1.4. From PCINT; press the “ALT+D” keys selecting the floppy disk unit of the computer in which the
diskette has been inserted (for example `A:’).

Installation using KERMIT


1. Connect the Personal Computer to the C3G Controller.
1.1. Connect the serial cable to the `COMO’ communication port of the C3G on one side and to the se-
rial connector of the computer on the other.
1.2. Insert the diskette containing the EZ application program in the floppy disk unit of the computer
and address the DOS prompt to the unit used. For example:

Enter `A:’ and press the ENTER key.

2. Install the KERMIT communication protocol on the computer.


2.1. On the computer, type `INSTALL’ and press the ENTER key.

00/0702 11-3
APPLICATION PROGRAM INSTALLATION EZ-PDL2

List of speeds on serial line

1 ====== 9600 baud

2 ====== 19200 baud

3 ====== 38400 baud

Choose 1, 2 or 3, [default: 3]

A screen page is displayed on the computer to select communication speed.


2.2. Select the switching speed required and press ENTER.

MS-DOS Kermit: X.xx GG-MM-AA patch level X


Server mode:
File name:
File type:
Current path: A:\
KBytes transferred:

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.

INTEGRATED FLOPPY DISK UNIT PRESENT


Insert the diskette with the EZ application program in the integrated floppy disk unit.
To install the application program from Kermit or integrated floppy disk, make sure that the PCINT is
not connected to `COMP’:.

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).

Filr Util Inst


F4 F7 F5

11-4 00/0702
EZ-PDL2 APPLICATION PROGRAM INSTALLATION

2. Press the HELP key to activate the list of application programs.


HELP
-

3. Using the arrow keys, select “EZ_INST.COD” and press ENTER.

3.1. Press the ENTER key to start EZ 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.

SYSTEM COLD START


During EZ installation, the EZ_INST program performs the following operations:
• Loading of all the EZ Environment files.
• Loading of the message files.
• Automatic installation of the STARTUP program.
Once the system has completed the installation operations, a cold start must be carried out.

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.

Conf Cntl Rstr Cold


F1 F2 F2 F2

Enter Y (Yes) in reply to the confirmation prompt.

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:

Press `Util Appl’ or EZ key for using EZ

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.

Example of STARTUP.COD program


The `start-up’ program example given below activates the EZ environment and the main program.

PROGRAM startup NOHOLD


BEGIN

— 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

This page has been left intentionally blank


EZ-PDL2 COMMAND SUMMARY

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.

EZ Version 5.6x Command Tree

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 Open Opens a program.


Prog Rset Resets a program.
Prog Save All All the modified programs that are in the Execution memory are
saved in Ram Disk.
Prog Save One Saves a single program on the Ram Disk.
Prog Save aS Saves a program on the Ram disk changing its number.
Prog Load All Loads all the programs in the Execution Memory.
Prog Load One Loads a single program in the Execution Memory.
Prog Del One Deletes a program.
Prog Del Unsd Deletes the unused variables of the program.
Prog Copy One To Fd Copies a program from Robot to Floppy Disk.

Prog Copy One To Comp Copies a program to PC via port Comp.


Prog Copy One To Net Copies a program on the EIM card via port NET.
Prog Copy One From Fd Copies a program from Floppy Disk to Robot.

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 oN Assigns ON (True) state to a digital output.


Ins Set Dout oFf Assigns OFF (False) state to a digital output.
Ins Set Dout Puls Advc Pulses the state of a digital output. The program
continues without waiting for pulse time to expire.
Ins Set Dout Puls Nadv Pulses the state of a digital output. The program
does not continue but waits until pulse time has expired.
Ins Set Dout Inv Inverts the state of a digital output.

Ins Set Dout bfUn Assigns the state defined by a user routine to a
digital output.

A-4 00/0702
EZ-PDL2 COMMAND SUMMARY

INSERT SET BIT

Ins Set Bit oN Assigns ON (True) state to a BIT.

Ins Set Bit oFf Assigns OFF (False) state to a BIT.

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.

INSERT SET IREG

Ins Set Ireg Num Assigns a number to a register.


Ins Set Ireg Incr Increments a register.
Ins Set Ireg Decr Decrements a register.
Ins Set Ireg Var Gout Assigns the current value of a group of outputs to a register.
Ins Set Ireg Var Aout Assigns the current value of an analog output to a register.
Ins Set Ireg Var Word Assigns the current value of a WORD to a register.
Ins Set Ireg Var iReg Assigns the current value of a register to another register.
Ins Set Ireg Var gIn Assigns the current value of a group of inputs to a register.
Ins Set Ireg Var aiN Assigns the current value of an analog input to a register.
Ins Set Ireg Var Timr Assigns the current value of a TIMER to a register.
Ins Set Ireg iFun Assigns the value defined by a user routine to a register.

INSERT SET GOUT

Ins Set Gout Num Assigns a value to a group of digital outputs.


Ins Set Gout Ireg Assigns the current value of a register to a
group of digital outputs.
Ins Set Gout Word Assigns the current value of a WORD to a
group of digital outputs.
Ins Set Gout iFun Assigns the value defined by a user routine to
a group of digital outputs.

INSERT SET AOUT

Ins Set Aout Num Assigns a value to an analog output.


Ins Set Aout Ireg Assigns the current value of a register to an analog output.
Ins Set Aout Word Assigns the current value of a WORD to an analog output.
Ins Set Aout iFun Assigns the value defined by a user routine to
an analog output.

00/0702 A-5
COMMAND SUMMARY EZ-PDL2

INSERT SET TIMER

Ins Set Timr Num Assigns a value to a TIMER.


Ins Set Timr Ireg Assigns the current value of a register to a TIMER.
Ins Set Timr Word Assigns the current value of a WORD to a TIMER.
Ins Set Timr iFun Assigns the value defined by a user routine to a TIMER.

INSERT SET WORD

Ins Set Word Num Assigns a number to a WORD.


Ins Set Word Incr Increments a WORD.
Ins Set Word Decr Decrements a WORD.
Ins Set Word Var Gout Assigns the current value of a group of digital
outputs to a WORD.
Ins Set Word Var Aout Assigns the current value of an analog output to a WORD.
Ins Set Word Var Word Assigns the current value of a WORD to a WORD.
Ins Set Word Var iReg Assign the current value of an internal register to a WORD.
Ins Set Word Var gIn Assigns the current value of a group of inputs to a WORD.
Ins Set Word Var aiN Assigns the current value of an analog input to a WORD.
Ins Set Word Var Timr Assigns the current value of a TIMER to a WORD.
Ins Set Word iFun Assigns the value defined by a user routine to a WORD.
Ins Set Word Bit On Enters a BIT-SET.
Ins Set Word Bit Off Enters a BIT-CLEAR.

INSERT SET HAND

Ins Set Hand Open Opens a hand.


Ins Set Hand Clse Closes a hand.
Ins Set Hand Rlax Relaxes a hand.

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 Flow If Ireg = The program executes a set of statements if the


value of a register Ireg is equal (=) to a preset number.
Ins Flow If Ireg <> The program executes a set of statements if the
value of a register Ireg is different ( ) from a preset number.
Ins Flow If Ireg > The program executes a set of statements if the
value of a register Ireg is greater (>>) than a preset number.
Ins Flow If Ireg < The program executes a set of statements if the
value of a register Ireg is lower (<<) than a preset number.
Ins Flow Goto The program makes an unconditional branch.
Ins Flow Labl Inserts a label in a program.
Ins Flow Dlay Inserts a time-driven wait.
Ins Flow Hold Stops execution of a program.

INSERT POS MOVE

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.

INSERT POS ASSIGNE

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.

INSERT POS SHIFT

Ins pOs Shft Pos Shifts a POSITION type position.


Ins pOs Shft pReg Shifts a POSITION type position register.

INSERT VAR ARM_OVERRIDE

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 Armo Dec Assigns arm percentage deceleration


($ARM_DEC_OVR).
INSERT VAR SPD

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).

INSERT VAR FLY

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 VAR TERM

Ins Var Term Nset Assigns NOSETTLE accuracy threshold.


Ins Var Term Cors Assigns COARSE accuracy threshold.
Ins Var Term Fine Assigns FINE accuracy threshold.
Ins Var Term Jcos Assigns JNT_COARSE accuracy threshold.
Ins Var Term jfIn Assigns JNT_FINE accuracy threshold.

INSERT VAR ORNT

Ins Var Ornt Rsw Assigns RS_WORLD orientation.


Ins Var Ornt Eulw Assigns EUL_WORLD orientation.
Ins Var Ornt Wrst Assigns WRIST_JNT orientation.
Ins Var Ornt Traj Assigns RS_TRAJ orientation.

INSERT APPLICATION

Ins Appl Inserts commands referring to the application program installed.

INSERT CALL

Ins Call Prog Calls execution of a complementary program.


Ins Call Sub Calls execution of a subroutine.
Ins Call Rtrn Inserts a RETURN.
Ins Call rouT Calls execution of a user routine.
Ins Call tBl tOol Inserts the A_TOOL statement.
Ins Call tBl Frm Inserts the A_FRAME statement.
Ins Call tBl Tf Inserts the routine TF.

A-8 00/0702
EZ-PDL2 COMMAND SUMMARY

Ins Call tBl Rtf Inserts the routine RTF.


Ins Call Coop oN Inserts the statement to enable cooperation with
auxiliary axes.
Ins Call Coop oFf Inserts the statement to disable cooperation with
auxiliary axes.
Ins Call Mmux oN Inserts the instruction to activate the Motor Multiplexer
Ins Call Mmux oFf Inserts the instruction to de-activate the Motor Multiplexer.
Ins Call Mmux Set A Inserts the instruction for switching of the Motor
Multiplexer to group A.
Ins Call Mmux Set B Inserts the instruction for switching of the Motor
Multiplexer to group B.
Ins Call cOms On Enters the command to enable the error
compensation algorithm
Ins Call cOms OFf Enters the command to disable the error
compensation algorithm

INSERT LINE

Ins Line Inserts a statement or a comment.

CHANGE Command

Chng Motn Jnt Assigns the joint (JOINT) trajectory to a MOVE


statement.
Chng Motn Lin Assigns the linear (LINEAR) trajectory to a
MOVE statement.
Chng Motn Circ Assigns the circular (CIRCULAR) trajectory a
MOVE statement.
Chng Motn Fly Assigns continuous (MOVEFLY) motion to a
MOVE statement.
Chng Motn Nfly Assigns non continuous (MOVE) motion to a
MOVE statement.
Chng Motn With Prg Spd Assigns program speed override to a single
motion.
Chng Motn With Prg Acc Assigns program acceleration percentage to a
single motion.
Chng Motn With Prg Dec Assigns program deceleration percentage to a
single motion.
Chng Motn With Arm Spd Assigns arm speed override to a single motion.
Chng Motn With Arm Acc Assigns arm acceleration percentage to a
single motion.
Chng Motn With Arm Dec Assigns arm deceleration percentage to a
single motion.
Chng Motn With Lin Assigns linear speed to a single motion.
Chng Motn With Cond Assigns the CONDITION clause to a single
motion.
Chng Motn With Til Din Sts On Inserts test on positive transition of a digital
input during a single motion.
Chng Motn With Til Din Sts oFf Inserts test on negative transition of a digital
input during a single motion.

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

Chng Comm Comments a statement and removes comments.


Chng Envm Selects the system programming environment.
Chng cRt Deac Deactivates the video emulator.
Chng cRt Act Activates the video emulator.
Chng cRt Paus Suspends video emulator functions.
Chng cRt Unps Restores video emulator functions.
Chng Line Modifies a statement.

SETUP

sEtp Jnt Configures the REC key so as to record MOVE


JOINT staments.
sEtp Lin Configures the REC key so as to record MOVE
LINEAR statements.
sEtp Circ Configures the REC key so as to record MOVE
CIRCULAR statements.
sEtp Fly Configures the REC key so as to record MOVEFLY
statements.
sEtp Nfly Configures the REC key so as to record MOVE statements.
sEtp Var Pos Configures the REC key so as to record POSITION
typ position.
sEtp Var Jntp Configures the REC so as to record JOINTPOS type
position.
sEtp Var Xtnd Configures the REC key so as to record XTNDPOS
type position.
sEtp Rout Mp Configures the REC key to record the nodal MOVES
with the routine MP.
sEtp Rout GP Configures the REC key to record the nodal MOVES
with the routine GP.

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

Tbl Tool Edit Defines tool offset.


Tbl Tool Load Loads Tool parameters in the execution memory.
Tbl Tool Copy To Fd Copies Tool parameters from C3G to Floppy Disk.
Tbl Tool Copy To Comp Copies Tool parameters from C3G to Personal
Computer via port COMP.
Tbl Tool Copy To Net Copies Tool parameters from C3G to the EIM card.
Tbl Tool Copy From Fd Copies Tool parameters from Floppy Disk to C3G.
Tbl Tool Copy From Comp Copies Tool parameters from Personal Computer
to C3G via port COMP.
Tbl Tool Copy From Net Copies Tool parameters from the EIM card to C3G.
Tbl Tool View Displays current Tool parameters.

TABLE RMTT

Tbl Rmtt Edit Defines the position of the remote Tool.


Tbl Rmtt Load Loads Remote Tool parameters in the execution memory.
Tbl Rmtt Copy To Fd Copies Remote Tool parameters from C3G to Floppy Disk.
Tbl Rmtt Copy To Comp Copies Remote Tool parameters from C3G to Personal
Computer via port COMP.
Tbl Rmtt Copy To Net Copies Remote Tool parameters from C3G to the
EIM card.
Tbl Rmtt Copy From Fd Copies Remote Tool parameters from Floppy Disk to C3G.
Tbl Rmtt Copy From Comp Copies Remote Tool parameters from Personal Computer
to C3G via port COMP.
Tbl Rmtt Copy From Net Copies Remote Tool parameters from the EIM card
to C3G.
Tbl Rmtt View Displays current Remote Tool parameters.

TABLE FRAME

Tbl Frm Edit Defines the coordinates of a user reference system.


Tbl Frm Load Loads the parameters of the Frame in the execution
memory.
Tbl Frm Copy To Fd Copies the parameters of the Frame from C3G
to Floppy Disk.
Tbl Frm Copy To Comp Copies the parameters of the Frame from C3G
to Personal Computer via port COMP.
Tbl Frm Copy To Net Copies Frame parameters from C3G to the EIM card.
Tbl Frm Copy From Fd Copies the parameters of the Frame from Floppy
Disk to C3G.
Tbl Frm Copy From Comp Copies the parameters of the Frame from Personal
Computer via port COMP.

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

Step Stmt Selects STEP STATEMENT execution mode.


Step Disb Selects STEP DISABLE execution mode.
Step Move Selects STEP MOVE execution mode.
Step Fly Selects STEP MOVEFLY execution mode.
Step Rout Selects STEP ROUTINE execution mode.
Step skIp Skips execution of a statement.
Step View Displays current STATEMENT mode.

EXECUTE

eXec Dout On Manual assignment of true state to a digital output.


eXec Dout oFf Manual assignment of false state to a digital output.
eXec Bit On Manual assignment of true state to a BIT memory.
eXec Bit oFf Manual assignment of false state to a BIT memory.
eXec Gout Manual assignment of the state to a group of digital
output.
eXec Aout Manual assignment of an analog output state.
eXec Word Manual assignment of a WORD memory state.

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

eXec Tbl tOol Executes an A_TOOL instruction.


eXec Tbl Frm Executes an A_FRAME instruction.
eXec Tbl Tf Executes the routine TF.
eXec Tbl RtF Executes the routine RTF.

VIEW

View Line Displays the statement being executed during


operation in automatic mode.
View Vers Displays the EZ version and type.

00/0702 A-13
COMMAND SUMMARY EZ-PDL2

This page has been left intentionally blank

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

This page has been left intentionally blank


EZ-PDL2 ERROR MESSAGES

ERROR MESSAGES

INTRODUCTION
The EZ environment displays information messages and error messages on the Teach Pendant status lines.

LIST OF ERROR MESSAGES AND INFORMATION MESSAGES


48128: Available in PROG or HOLD
Cause: The command entered is enabled in PROG or HOLD status.
Remedy: Set the controller to one of these states before executing the command.

48129: Available in PROG or HOLD and program displayed


Cause: The command entered is enabled in PROG and HOLD status and with the pro-
gram open but not running.
Remedy: Set the controller to one of these states before executing the command.

48130: Available in PROG or HOLD and program not running


Cause: The command entered is enabled in PROG and HOLD status and if the pro-
gram is not running.
Remedy: Set the controller to this state before executing the command.

48131: Available in PROG or AUTO and program displayed


Cause: The command entered is enabled in PROG and AUTO status and with the pro-
gram open but not running.
Remedy: Set the controller to this state before executing the command.

48132: Available when program running


Cause: The command entered is enabled if there is a program running.
Remedy: Start the program before executing the command.

48133: Available in PROG or AUTO with program running


Cause: The command entered is enabled in PROG or AUTO status and with the pro-
gram running.
Remedy: Set the controller to this state before running the program.

48134: Not enabled as program running


Cause: A command has been entered that is disabled if the program is running.
Remedy: Set the controller to HOLD before entering the command.

48135: Not enabled as program displayed


Cause: A command has been entered which is disabled if the program is not running.
Remedy: Deactivate or run the program or remove the HOLD condition before entering
the command.

00/0702 B-1
ERROR MESSAGES EZ-PDL2

48137: Not enabled as program step stmt


Cause: A command has been entered which is disabled when status is PROG, the
step is STMT and the START key is pressed.
Remedy: Release the START key.

48138: Not enabled as program not displayed


Cause: A command has been entered which is disabled if no program is displayed.
Remedy: The command requires that a program be opened.

48140: Line modifications are not allowed


Cause: The “Chng Line” command has been entered with the cursor positioned on a
non-modifiable statement (for example “Begin” or “End”).
Remedy: This type of statement cannot be modified.

48141: Successful program delete


Cause: A program has been erased using the “Prog Del” command. The operation has
been completed correctly.

48142: Successful program(s) load


Cause: A program load from Ram Disk to Execution Memory has been carried out.
The operation has been completed correctly.

48143: Save done


Cause: A save programs from Execution Memory to Ram disk has been carried out.
The operation has been completed correctly.

48144: Emulator or CRT not present


Cause: Activation of the EZ emulator has been requested in the case in which the
CRT or video emulator is not present.
Remedy: Start the video emulator on PC and re-activate the EZ emulator using the
“Chng cRt Act” command.

48145: Bad command for emulator


Cause: The deactivation, pause or unpause commands of the EZ emulator have been
entered from CRT or these commands have been entered with the EZ emula-
tor not active.
Remedy: Use the PTU to deactivate or put the EZ emulator to pause.

48146: Ramdisk full, program not opened


Cause: There is not enough space in the RAM disk to create the program or the maxi-
mum number of files on the Ram Disk has been reached.
Remedy: Delete files from the Ram Disk. For example, the *.bk* files (back-up).

48147: Hard key not available


Cause: A key not available in that status has been pressed. For example, the “REC”
key in AUTO-L status or the key pressed is not handled in EZ.
Remedy: Set the controller to correct status.

48148: Tool value NOT modified


Cause: A value of the Tool table has been modified and the table save operation has
not been completed correctly.
Remedy: Check space on ram Disk.

B-2 00/0702
EZ-PDL2 ERROR MESSAGES

48149: No program opened


Cause: The program cannot be opened with the “Prog Open” command.
Remedy: Check that the copy of the program in the Ram Disk is an EZ program.

48150: Invalid device


Cause: The unit on which to perform the operation does not exist.
Remedy: Check the COM0:, COM1: communication ports or FD:.

48154: Command not executed


Cause: The command entered has not performed the operation correctly.
Remedy: Check program status and controller status.

48155: Invalid prompt


Cause: A data item incompatible with the type of prompt has been entered.
Remedy: Check the type of prompt (numeric value, character, etc.).

48156: Value out of range


Cause: An out of range value has been entered.
Remedy: Check prompt limits.

48157: Help not available


Cause: The HELP key has been pressed for a prompt that has not defined any type of
help.

48158: Bad Arm context


Cause: The program the user is trying to load has not been defined for the arm selected.
Remedy: Change ARM using the ARM key.

48159: Arm has no xtndpos


Cause: An operation that acts on the auxiliary axes has been requested.
Remedy: If no auxiliary axes have been defined for the arm selected, the operation can-
not be performed.

48160: Waiting for PTU connection


Cause: The PTU has been disconnected with the EZ emulator deactivated.
Remedy: Reconnect the PTU.

48161: EZ screen must be present


Cause: An attempt is being made to change the arm when the EZ screen is not selected.
Remedy: Press the EZ key of the new PTU or the SCRN key to select the EZ screen be-
fore changing arm.

48162: Position uninitialized


Cause: The position or register being operated on is not initialized.
Remedy: Assign the position or register before carrying out the operation.

48163: Instruction not allowed


Cause: The statement entered cannot be inserted in the program.
Remedy: Check that the syntax of the statement to be inserted is correct.

00/0702 B-3
ERROR MESSAGES EZ-PDL2

48164: Wrong axis type


Cause: The axis number entered is not an auxiliary axis.
Remedy: Return to the prompt and enter an axis defined as auxiliary.

48165: Activate the remote tool with eXec Tbl RtF


Cause: The value of a remote Tool has been changed. Re-run the RTF routine to
make the new values operational.

48166: Activate the remote frame with eXec Tbl RtF


Cause: The value of a frame has been changed. Re-run the A_FRAME command or
the TF routine to make the new values operational.

48167: Activate the tool with eXec Tbl TOol/Tf


Cause: The value of a tool has been changed. Re-run the A_TOOL command or the
TF routine to make the new values operational.

48168: Activate the frame with eXec Tbl Frm/Tf


Cause: The value of a frame has been changed. Re-run the A_FRAME command or
the TF routine to make the new values operational.

48169: FRAME value NOT modified


Cause: It is not possible to modify the value of the FRAME.
Remedy: Check space available on Ram Disk.

48170: Erase of unused variables not possible


Cause: There are no unused variables.

48172: Error of the application


Cause: Application error has occured.
Remedy: Select the screen of the application program to check the type of error.

48173: Motor Multiplexer not enabled


Cause: The Motor Multiplexer function cannot be used for this robot.

48174: Incorrect version of TT_TOOL.


48175: Dynamic model not enabled.
48176: Function not enabled with old PTU.
48181: Electric gun not present.
48182: Krypton algorithm not present.

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.

43014: Not enough space in RD, need bytes


Cause: There is not enough space on the Ram Disk to install EZ.
Remedy: Delete files from the Ram Disk. For example, the *.bk* files (back-up).

43015: The STATE must be PROG and the DRIVES OFF


Cause: Controller status is not correct to install EZ.
Remedy: Switch off the drives and set the cp switch to PROG status.

43016: Error copying file


Cause: Loading of the EZ file has not been completed correctly.
Remedy: Check connection of the C3G and PC; check the diskette or check the space
and number of files on the Ram Disk.

43017: Save of C3G.SYS failed


Cause: There is not enough space on the Ram Disk to save the file or the maximum
number of files on the Ram Disk has been reached.
Remedy: Delete files from the Ram Disk and execute the “CS” command to save the
data in C3G.SYS.

43020: EZ incompatible with application


Cause: The type of EZ is not compatible with the application program installed.
Remedy: Check the type of EZ or re-install the correct application program.

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

This page has been left intentionally blank

B-6 00/0702
Programming
EZ-PDL2 Environment

INPUT/OUTPUT PORT ARRAYS


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

SYSTEM-DEFINED PORT ARRAYS C-1


$FDIN and $FDOUT C-1
$FDIN C-1
$FDOUT C-4
Programming
Environment EZ-PDL2

This page has been left intentionally blank


EZ-PDL2 INPUT/OUTPUT PORT ARRAYS

INPUT/OUTPUT PORT ARRAYS

SYSTEM-DEFINED PORT ARRAYS


System-defined port arrays are mapped internally for system devices such as operator devices, arms, and tim-
ers.

$FDIN and $FDOUT


The $FDIN and $FDOUT port arrays allow a program to access data on system-defined signals as if they were sin-
gle input or output lines. These signals correspond to selectors, function keys and LEDs on the operations panel,
Programming Unit (PTU4), and PC keyboard (PCINT tool active). PDL2 treats this data as a BOOLEAN value.
The following tables list $FDIN and $FDOUT signal meanings.
When the word “Setup” is used in the following explanations, it refers to the Setup of the REC key that can be
also selected using the menus of the EZ, PROGRAM EDIT, AND MEMORY DEBUG environments.
The FDOUTs related to the Programming Unit cannot be assigned at the PDL2 program level. Some led’s are
handled ONLY when working in the PROGRAM EDIT, MEMORY DEBUG, and EZ environments. These are
marked with an asterisk (*).

$FDIN
Element Associated Input

$FDIN[1..8] reserved
$FDIN[9] state selector on AUTO-REMOTE

$FDIN[10] state selector on AUTO-LOCAL


$FDIN[11] state selector on PROGRAMMING
$FDIN[12..16] reserved
$FDIN[17] DRIVE ON button
$FDIN[18] DRIVE OFF button
$FDIN[19] START button
$FDIN[20] HOLD button
$FDIN[21] U1 button
$FDIN[22] U2 button
$FDIN[23] U3 button
$FDIN[24] U4 button
$FDIN[25] AUTO switch on PTU4
$FDIN[26] MAN switch on PTU4
$FDIN[27] Enabling device pressed
$FDIN[28] PTU4 on cabinet
$FDIN[29..32] reserved
$FDIN[33] F1 key
$FDIN[34] F2 key
$FDIN[35] F3 key
$FDIN[36] F4 key
$FDIN[37] F5 key
$FDIN[38] F6 key
$FDIN[39] F7 key
$FDIN[40] F8 key

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

$FDIN[46] left arrow

$FDIN[47] down arrow

$FDIN[48] right arrow


$FDIN[49] SEL/SCRL
$FDIN[50] ENTER
$FDIN[51] 7, CUT key
$FDIN[52] 8, COPY key
$FDIN[53] 9, / key
$FDIN[54] 4, S.NXT key
$FDIN[55] 5, SRCH key
$FDIN[56] 6, PASTE key
$FDIN[57] 1, MODE key
$FDIN[58] 2, UNDEL key
$FDIN[59] 3, DEL key
$FDIN[60] 0, PAGE key
$FDIN[61] ., MARK key
$FDIN[62] -, HELP
$FDIN[63..64] reserved
$FDIN[65] TYP
$FDIN[66] ARM key
$FDIN[67] %+
$FDIN[68] %-
$FDIN[69..72] reserved
$FDIN[73] 1+
$FDIN[74] 2+
$FDIN[75] 3+
$FDIN[76] 4+
$FDIN[77] 5+
$FDIN[78] 6+
$FDIN[79] 7+
$FDIN[80] 8+
$FDIN[81] 1-
$FDIN[82] 2-
$FDIN[83] 3-
$FDIN[84] 4-
$FDIN[85] 5-
$FDIN[86] 6-
$FDIN[87] 7-
$FDIN[88] 8-

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

This page has been left intentionally blank


EZ-PDL2 NODAL EZ

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

Note that the Mp, Gp, Ap routines invoke particular functions:

• TF (x, y):sets the x tool and the y frame


• RTF (x, y): sets the remote x tool and the remote y frame
• TFL (x, y, z): sets tool x, frame y , mass and mass center of mass table index z.

• 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

REC KEY SET UP


The nodal EZ sets a Move of this type by default:
MOVE JOINT TO pnt0001p WITH $PAR=MP(TF(0,0),V(100),Z(NOSETTLE))
each time the REC key is pressed a Move of that type appears.

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 Mp for MP routine setup requires the following to be entered:


linear speed (from 1 to 100)
zone value (Coarse, Fine, Nosettle)

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)

Setup Rout Ap for AP routine setup requires the following to be entered:


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

OPERATION OF THE MOD KEY


The MOD key functions in the same way as the standard EZ, but it controls the tools and frames.
In particular, it controls whether a tool or frame is active at that moment (see EZ status window) other than the
one set on the Move in which the cursor is positioned
A: PROG_1 C:PROG_2 S T:1 F:1 LN> 120

MOVE JOINT TO pnt0001p WITH $PAR=MP(TF(2,3),V(100),Z(COARSE))

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

You might also like