7ugt U /CPWCN: PF 'FKVKQP
7ugt U /CPWCN: PF 'FKVKQP
5%14$16/'4 8++
7UGT U /CPWCN
I
4PF 'FKVKQP
WARNING
The SCORBOT-ER VII is dangerous
and can cause severe injury.
USE WITH EXTREME CAUTION.
Set up a protective screen or guard rail
around the robot to
KEEP PEOPLE AWAY
from its working range.
Table of Contents
CHAPTER 1
General Information
ò Read this chapter carefully before you unpack the robot and controller.
This chapter contains instructions for unpacking and handling the
SCORBOT-ER VII and Controller-A.
This chapter also includes important safety guidelines and warnings.
Unpacking Instructions
The robot arm and the controller are packed in two separate cartons. Save the
original packing materials and shipping carton . You may need them later for
shipment or storage.
To protect the robot during shipment, a metal plate holds the gripper-mounting
flange to the robot base. The plate is fixed to the flange with three bolts and to the
base with two bolts. See Figure 1-1. Use the hex wrench supplied with the robot
to detach these bolts.
Save these bolts and the
plate. You will need
them should you repack
the robot for shipment.
More important, you
will need three of these
bolts to attach the
gripper to the flange.
Handling Instructions
Lift and carry the robot arm only by
grasping the body or the base.
See Figure 1-2.
Do not lift and/or carry the robot arm
by its upper arm or forearm.
Lift and carry the controller by
grasping it on and under the left and
right side panels.
Do not grasp the controller on either
its front or back panel, and avoid
handling near the power switch.
Acceptance Inspection
After removing the robot arm and controller from their shipping cartons, examine
them for signs of shipping damage. If any damage is evident, do not install or
operate the system. Notify your freight carrier and begin appropriate claims
procedures.
The following is a list of the standard components in the SCORBOT-ER VII
package. Make sure you have received all the items listed on the shipment’s
packing list. If anything is missing, contact your supplier.
Safety Precautions
This manual provides complete details for proper installation and operation of the
SCORBOT-ER VII and Controller-A. Do not install or operate the robot or
controller until you have thoroughly studied this User’s Manual. Be sure you
fheed the safety guidelines for both the robot and the controller.
Robot
1. Make sure the robot base is properly and securely bolted in place.
2. Make sure the robot arm has ample space in which to operate freely.
3. Make sure a guardrail, rope or safety screen has been set up around the
SCORBOT-ER VII operating area to protect both the operator and bystanders.
4. Do not enter the robot’s safety range or touch the robot when the system is in
operation. Before approaching the robot, make sure the motor switch on the
controller front panel has been shut off.
5. Make sure loose hair and clothing is tied back when you work with the robot.
Controller
1. The power cable must have a ground connection. If your power outlet does not
have a safety ground, do not connect the controller. Failure to connect the power
cable to a grounded outlet could result in electrical shock.
1. Turn off the controller’s motor switch before you enter the robot’s operating area.
2. Turn off the controller’s power switch before you connect any inputs or outputs
to the controller.
3. Turn off the controller’s power switch and disconnect the controller power cable
from the AC power outlet before you open the controller cover or remove any
fuses. The power cable must be disconnected to remove possible shock hazard.
4. Never open the controller cover during robot operation.
ò Be sure you know how to immediately abort all running programs and stop all
axes of motion:
• press the Abort key on the teach pendant, or
• use the ACL command A <Enter> , or
• press the controller’s red EMERGENCY button.
Warnings
Do not install or operate the SCORBOT-ER VII or Controller-A under any of the
following conditions:
• Where the ambient temperature or humidity drops below or exceeds the
specified limits.
• Where exposed to large amounts of dust, dirt, salt, iron powder, or similar
substances.
• Where subject to vibrations or shocks.
• Where exposed to direct sunlight.
• Where subject to chemical, oil or water splashes.
Robot
• Do not overload the robot arm. The combined weight of the workload and
gripper may not exceed 2kg (4.4 lb). It is recommended that the workload be
grasped at its center of gravity.
• Do not use physical force to move or stop any part of the robot arm.
• Do not drive the robot arm into any object or physical obstacle.
• Do not leave a loaded arm extended for more than a few minutes.
• Do not leave any of the axes under mechanical strain for any length of time.
Especially, do not leave the gripper grasping an object indefinitely.
• Since the SCORBOT-ER VII motors are rated 12VDC nominal, while the
controller motor drivers supply 24VDC, do not drive axes continuously in one
direction at maximum speeds. Specifically, when using the ACL command:
SET ANOUT[n]= DAC , make sure the DAC value is in the range ±2500.
Controller
• Before you plug the controller into the AC outlet, make sure its voltage
requirement (as seen on the tag at the back of the controller) matches your
voltage supply.
If the voltage setting does not match your supply, do not connect the
controller; contact your agent.
• Do not connect accessories to the driver cards for axes 1 through 6 (cards
with black brackets). Irreversible damage will occur.
• Do not connect any voltage in excess of 24 VDC to the input terminals.
• Do not connect any voltage in excess of 24VDC to the output terminals.
• Never connect voltage from a power supply directly to any open collector
outputs (terminals 5–16). The open collector ouputs must always be
connected to a load. Never connect a load to voltage exceeding 24VDC.
• Never drive a current of more than 4A through the relay outputs
(terminals 1-4).
• Never drive a current of more than 0.5A through the open collector outputs
(terminals 5–16).
CHAPTER 2
The Robot Arm
This chapter details the specifications and components of the
SCORBOT-ER VII robot arm.
Specifications
The following table details the robot arm specifications.
SCORBOT-ER VII Specifications
Mechanical Structure Vertical articulated
Number of Axes 5 axes plus gripper
Axis Movement
Axis 1: Base rotation 250°; 310° user programmable
Axis 2: Shoulder rotation 170°
Axis 3: Elbow rotation 225°
Axis 4: Wrist pitch 180°
Axis 5: Wrist roll 360°
Maximum Operating Radius 690 (27.2") at flange
End Effector options Pneumatic and DCServo
Fixed position on each axis,
Hard Home
found by means of microswitches
Optical incremental encoder on each axis;
Feedback
96-slot disk
Actuators 12VDC servo motors
Transmission Harmonic drives; timing belts and pulleys
Maximum Payload 2 kg (4.4 lb.), including gripper
Position Repeatability ±0.2 mm (0.008")
Weight 30 kg (66 lbs)
Maximum Path Velocity 1000 mm/sec (39.4"/sec)
Ambient Operating Temperature 2°–40°C (36°–104°F)
Structure
The SCORBOT-ER VII is a vertical articulated robot, with five revolute joints.
With gripper attached, the robot has six degrees of freedom. This design permits
the end effector to be positioned and oriented arbitrarily within a large work space.
Figures 2-2 and 2-3 identify the joints and links of the mechanical arm.
The movements of the joints are described in the following table:
Figure 2-2: Robot Arm Links Figure 2-3: Robot Arm Joints
Work Envelope
The length of the links and the degree of rotation of the joints determine the
robot’s work envelope. Figure 2-4 shows the dimensions and reach of the
SCORBOT-ER VII.
The base of the robot is normally fixed to a stationary work surface. It may,
however, be attached to a slidebase, resulting in an extended working range.
Drive System
The main elements of the SCORBOT-ER VII drive system are motors,
Harmonic drive gears, and
pulleys and timing belts, as
shown in Figures 2-5 and 2-6.
Brush-commutated, DC
permanent magnet motors drive
the five axes. Figure 2-7 shows
the location of the motors. The
direction of motor revolution is
determined by the polarity of the
operating voltage: positive DC
voltage turns the motor in one
direction, while negative DC Figure 2-5: Drive System
voltage turns it in the opposite
direction. Each motor is fitted with an encoder for closed-loop control.
Motor Specifications
Motor Axes 1, 2, 3 Motor Axes 4, 5
Motor Constant 3.01 oz⋅in / √
W 1.94 oz⋅in / √
W
Peak Torque (Stall) 41.3 oz⋅in 15.6 oz⋅in
No Load Speed 6151 rpm 5592 rpm
Motor Friction Torque 0.60 oz⋅in 0.50 oz⋅in
Motor Weight 10.1 oz 8.98 oz
Axes 1 through 4 are driven by a two-stage transmission, as shown in Figure 2-5. The
roll axis (axis 5) is driven directly by a Harmonic drive gear.
Encoders
The location and movement of each SCORBOT-ER VII axis is measured by an
electro-optical incremental encoder which is attached to the shaft of the motor
which drives the axis, as shown in Figure 2-8.
When the robot axis moves, the encoder
generates a series of alternating high and low
electrical digital signals, which can be
understood by the controller. The controller reads
these signals and determines the extent and
direction of axis movement.
The encoder used on the SCORBOT-ER VII
contains a single light emitting diode (LED) as
its light source. Opposite the LED is a light
detector integrated circuit. This IC contains
several sets of photodetectors and the circuitry
for producing a digital signal.
A perforated, rotating disk is located between the
emitter and detector IC. The SCORBOT-ER VII Figure 2-8: Encoder
encoders have 96 slots, as shown in Figure 2-9. As
the encoder disk rotates between the emitter and detectors, the light beam is
interrupted by the pattern of “bars” and “windows” on the disk, resulting in a
series of pulses received by the detectors.
The photodetectors are arranged so that, alternately, some detect light while
others do not. The photodiode outputs are then fed through the signal processing
Microswitches
Microswitches, shown in Figure 2-11, are used in the
SCORBOT-ER VII to limit robot motion (limit
switches) and to home the robot (home switches).
Limit Switches
Limit switches prevent the joints from moving
beyond their functional limits. When the robot
control software fails to stop the axis at the end of
its working range, the limit switch serves to halt its
movement.
Each of axes 1 through 4 has two limit switches—
one at each end of the axis’ working range. These Figure 2-11: Microswitch
switches are mounted on a disk which is attached to
the robot’s frame and are normally depressed. Figure 2-12 shows the
microswitches on axis 3.
The Harmonic drive output shaft moves relative to the microswitch disk. As the
joint moves, the limit switch reaches a notch on the Harmonic drive output shaft,
which releases the activating button and thus activates the switch.
When the limit switch is activated, it causes a control error, resulting in the
activation of COFF, and an impact
protection message. CON must be
activated and the robot arm must be
manually moved (using keyboard or
teach pendant) away from the impact
condition.
Axis 5 (roll) has no limit switches; it
can rotate endlessly. When a gripper is
attached to axis 5, its movements are
controlled and limited by means of
software (encoder) only.
Home Switches
The SCORBOT-ER VII also has a microswitch on each axis to identify the fixed
reference, or home, position. The home switch is mounted on the same disk as the
limit switches, and is activated by the stopping screw on the Harmonic drive
output shaft.
During the homing procedure, the robot joints are moved one at a time. Each axis
is moved until its home switch is activated. The axis is then moved slightly until
the switch shuts off—at that point the joint is at home.
When all joints are at home, the robot is at home. This is the point of reference
for robot operation. Whenever the system is turned on, the robot should be sent to
this position, by means of a software homing routine.
Hard Stops
When the software limits and/or the limit switches fail to halt the movement of
the robot arm, it is possible that the momentum of the robot arm will drive it until
it reaches its mechanical limit. The SCORBOT-ER VII has a stopping screw on
the Harmonic drive output shaft for this purpose.
If the stopping screw hits the microswitch disk, the impact protection processes
detect an error, thus activating COFF.
CON must be activated and the robot arm must be manually moved away from
the impact condition.
Gripper
CHAPTER 3
The Controller
This chapter details the specifications and functions of Controller-A, which controls
the SCORBOT-ER VII robotic system.
Specifications
Item Controller-A Specification Notes
Stand-alone
Real-time Terminal or PC required
Type of Control Multi-tasking only for programming
PID (proportional, integral, differential) stage.
PWM (pulse width modulation)
Number of Standard: 8
Servo Axes Maximum: 11
11 axes can be divided into 3 groups: Each group has
Group A independent control.
Groups of Control
Group B Axis interpolation in
Group C (independent axes) groups A and B.
PWM (pulse width modulation)
Axis Drivers
20 KHz
PTP (point to point), CP (continuous path)
Joint
Path Control Linear 10 ms control cycle.
Circular Software controlled
User-defined path acceleration/deceleration.
Paraboloid PID parameters.
Trajectory Control Trapezoid
Open Loop (not for user)
Speed Speed programmed as a
Speed Control
Travel time percentage of range.
Servo control
Speed, velocity profile, smoothing
Axis position error
Gripper operation
Control Parameters
Thermic, impact, limit protection
Homing
Encoder interface
Cartesian calculations
Power Requirements 100/110/220V AC, 50/60Hz, 500W max. ± 5%
Internal Power Motors: +24VDC, 18A
Supplies User: +12VDC, 2A
Weight 19 kg (42 lbs)
490mm (19.3") L
Dimensions 445mm (17.5") W
150mm (5.9") H
Ambient Operating
2°–40°C (36°–104°F)
Temperature
CPU Motorola 68020
EPROM 384KB
Controller Functions
The front panel of the controller contains switches, LEDs and connection
terminals for operator use. Refer to Figure 3-2.
When the motors switch is turned off, the robot motors and all connected axes are
unable to move. In addition, it disconnects the user power supply, making the
controller inputs and open collector outputs inoperative.
ò The robot must be homed before work can resume following an Emergency.
Inputs
The controller’s inputs allow the robotic system to receive signals from external
devices in the robot’s environment. The controller has 16 input terminals and four
ground connection points, as shown in Figure 3-3.
All inputs are coupled to the controller system with opto-couplers.
Outputs
The controller’s outputs allow the robotic system to transmit signals to external
devices in the robot’s environment. The controller has 4 relay outputs and 12
open collector outputs.
Figure 3-8: Open Collector Output: PNP Mode Figure 3-9: Open Collector Output: NPN Mode
16 yellow LEDs, corresponding to outputs 1–16, light up when the outputs are ON.
16 orange LEDs, corresponding to inputs 1–16, light up when the inputs are ON.
Controller Components
Controller Parts List
Dwg # Cat # Description
110715 Metal case - lower part
110717 Metal case - upper part
113002 Controller front panel
110719 Metal case - rear panel
110723 Coil fastener
102501 Lexan tags for front panel
110725 Long bracket - driver card support
107204 Blank brackets
12 110721 Transformer cover
13 35008 Logic power supply (220/110VAC)
9 35006 24V/12V Transformer (100VAC)
10 35003 Gripper coil assembly
2 35001 Fan plus cabling and connector
19 450541 Main board
15-17 45018 Driver cards for robot
18 45019 Driver cards for accessories
3 45011 Display card
4 45013 I/O card
11 45023 User power supply card
14 45009 Communication card
5-6 45003 Power LED card plus motors switch plus cabling
1 40004 Emergency switch plus cabling
40018 +24VDC feed cable (from J12 to capacitor J12)
40007 Diode bridge cabling
40005 Switching cable (from J20 to user power supply.)
411807 Flat cable (from J10 to I/O card)
411806 Flat cable (from J13 to communicationcard)
411808 Flat cable (from J11 to display card)
411805 Flat cable (from J8 to communication card)
40017 Gripper cable (jumper)
40010 Grounding cable for capacitor
40009 Grounding cable for transformer metal cover
40006 Resistors cable for capacitor
7 408102 Diode bridge
8 404501 10,000 µF/63V capacitor
45024 Teach pendant card [ inside teach pendant ]
20 45012 (optional) Auxiliary RS232 multiport card
CHAPTER 4
Installation
Before installing the SCORBOT-ER VII, be sure you have read and understood
the safety instructions and warnings detailed in Chapter 1.
Preparations
Be sure you have ample space to set up the robotic system, as shown in
Figure 4-1.
1. Set up the SCORBOT-ER VII on a sturdy surface with a minimum 900mm of
free space all around the robot.
2. Fasten the base of the robot arm to the work surface with at least 3 bolts 120°
apart, as shown in Figure 4-2.
Robot Base ∅ 330 mm
Pitch Circle ∅ 226 mm
Hole (6 off) ∅ 8 mm
Make sure the robot is securely bolted in place. Otherwise the robot could
become unbalanced and topple over while in motion.
• Cable connections
• Peripheral axis connections
• Activate and configure the controller
• Home the robot
• Mount the gripper
The robot must be homed before the gripper is mounted.
Cable Connections
Be sure to verify that the controller’s voltage setting matches your voltage supply
before you connect the controller to the AC power outlet.
1. Install and configure your computer/terminal and monitor according to the
manufacturer’s instructions.
2. Connect the computer power cable to an AC power source.
It is recommended, though not imperative, that you connect the computer to an
AC power source other than the one used by the controller.
Make sure the controller’s power switch and computer’s power switch are in the
off position before you continue to the next step.
For the following steps, refer to Figure 4-3.
3. Connect each of the D9 connectors on the robot cable to driver ports 1 through 6.
Note the number labeled on each cable, and connect each cable to its proper port.
Connect the axis 6 (reserved for electric gripper) cable to port 6, even if you will
be not be using an electric gripper.
4. Connect the RS232 cable (D25 connector) to the RS232 port on the controller and
to the RS232 port on the computer. You may use either COM1 or COM2 on the
computer.
If your computer’s COM port requires a D9 connector, use a standard D25-D9
adapter to connect the RS232 cable to your computer.
5. If an auxiliary RS232 communication card is installed in the controller, make the
following cable connections:
• Connect the cable’s D37 connector to the auxiliary RS232 port on the
controller.
• The auxiliary card may have a cable with either two or eight D25 connectors.
Connect the cable’s D25 connectors to the corresponding COM ports on the
other controllers or computers. (If any of these COM ports requires a D9
connector, use a standard D25-D9 adapter to connect the RS232 cable).
To install an auxiliary RS232 communication card in your controller, follow the
instructions described in the section, “ Adjustments and Repairs,” in Chapter 8.
6. If you will be using a teach pendant, connect it to the Teach Pendant port (D25
connector) on the controller.
7. If you will be operating additional axes by means of the controller, connect them
at this time. Refer to the following section, “Peripheral Axes.“
8. When you have completed all cable connections, tighten all retaining screws on
all the connectors.
9. Make sure the controller’s power switch is off. Then plug the controller’s power
cable into AC power supply outlet.
10. You may now perform the “ Power On,” “ Configuration” and “ Homing”
procedures according to the instructions which appear later in this chapter.
Peripheral Axes
ò Do not connect peripheral devices to the axis driver connectors labeled 1, 2, 3,
4, 5 and 6 , which are reserved for the SCORBOT-ER VII robot axes and electric
gripper. Doing so will cause irreversible damage.
Use only axis driver connectors 7 and 8 (and 9 through 11 where available) for
connecting peripheral devices.
For information on installing additional driver cards, refer to the section,
“ Adjustments and Repairs,” in Chapter 8.
For instructions on configuring Controller-A for use with peripheral devices,
refer to the ATS Reference Guide .
ò Do not connect accessories which require high current to axis 8 or 10.
Accessories which require high current (such as the linear slidebase) must be
connected to axis 7, 9 or 11.
Power On
1. Once you have made all the required hardware connections, you can power on the
controller.
• Turn on the controller’s power switch.
• Turn on the controller’s motors power switch.
The green (power and motor) LEDs light up.
2. Turn on your computer, and boot using your own DOS.
If your computer does not “ wake up”, disconnect the RS232 cable, then power
on the computer, and then reconnect the RS232 cable
3. If your computer has a hard drive, make a directory for ATS, and copy the files
from the ATS distribution disk to that directory.
If your computer does not have a hard drive, make a backup copy of the ATS
disk. Keep the original disk in a safe place, and use the copy for operation.
4. Make the ATS directory or disk drive the default.
5. Once the software has loaded, the ATS main screen will appear on your monitor:
Controller Configuration
This section describes the short-form controller configuration which loads default
parameter settings according to your responses to the prompts. The procedure
described below should be sufficient for you to begin operating the system.
If the controller has already been in operation, be sure to back-up all data before
initiating this configuration procedure.
The first time this prompt appears, it shows the DOS directory from which the
ATS software was activated.
The Working directory must be the directory which contains the parameter files
and the SCORBASE program file (.CBU files).
If you change the directory definition, it is written to a file named SETUP.DIR.
Thereafter, whenever ATS is loaded, the Working directory is set according to
the definition in the SETUP.DIR file. Similarly, the SETUP.DIR file determines
the definition of the Backup directory shown in the Backup Manager screen.
SETUP.DIR is updated when either the Working directory or Backup directory
definition is changed.
Press N if you want to change the directory. The cursor moves to the directory
line, prompting you to type and <Enter> a different directory.
Press Y if the directory is correct.
Press <Esc> if you are not sure whether the displayed directory is correct.
This will cancel the configuration procedure. Press F10 to access the ATS
Backup Manager menu to verify the proper directory definition. Or exit to
DOS to verify the location of the .CBU files.
WARNING ! USER RAM WILL BE ERASED !!
ARE YOU SURE(Y/N)? N
If the homing process is not completed, an error message identifying the failure is
displayed:
To stop the homing while the operation is in progress, use the abort commands:
Type: A <Enter>
or press: <Ctrl>+A
For instructions on homing the robot by means of the teach pendant, and homing
the peripheral axes, refer to Chapter 6.
Gripper Installation
The gripper is attached to the flange at the
end of the robot arm whose layout is
shown in Figure 4-4.
ò The gripper has a rotation of ±270°. Do not attempt to move the gripper beyond
this limit.
7. Open and close the gripper to verify that it is functioning.
At the > prompt in the ATS main screen, enter the ACL commands:
Type:
open <Enter>
Type:
close <Enter>
The Open/Close key toggles the gripper between its open and closed states.
ò At the end of each work session (before turning off the controller), or before
homing the robot, make sure the gripper’s position is as shown in Figures 4-5
and 4-6.
Pneumatic Gripper
The pneumatic gripper, shown in Figure 4-7, is controlled by a 5/2 solenoid
pneumatic valve which is activated by one of the controller’s relay outputs. The
valve may be 12VDC or 24VDC and can draw its power from the controller’s
User Power Supply.
To install the pneumatic gripper, do the following:
1. Make sure the robot has been succesfully homed.
2. Using a hex wrench and six M3 socket screws, attach the gripper to the robot arm
flange.
3. Connect the coiled double hose from the gripper to the quick coupling on the
robot’s forearm, as indicated in Figure 4-8.
CHAPTER 5
Operating Methods
SCORBOT-ER VII can be programmed and operated in a number of ways. This
chapter introduces the robotic software and the teach pendant functions. Software
and teach pendant operation is described in other chapters of this manual, and in
the other manuals supplied with the system.
Software
ACL
ACL, Advanced Control Language, is an advanced, multi-tasking robotic
programming language developed by Eshed Robotec. ACL is programmed onto a
set of EPROMs within Controller-A, and can be accessed from any standard
terminal or PC computer by means of an RS232 communication channel.
ACL features include the following:
• Direct user control of robotic axes.
• User programming of robotic system.
• Input/output data control.
• Simultaneous, synchronized and interactive program execution;
full multi-tasking support.
• Simple file management.
ACL is described fully in the ACL Reference Guide .
ATS
ATS, Advanced Terminal Software, is the user interface to the ACL controller.
ATS is supplied on diskette and operates on any PC host computer. The software
is a terminal emulator which enables access to ACL from a PC computer.
ACLoff-line
ACLoff-line is a preprocessor software utility, which lets you access and use
your own text editor to create and edit ACL programs even when the controller is
not connected or not communicating with your computer.
After communication is established, the Downloader utility lets you transfer your
program to the controller. The Downloader detects the preprocessor directives,
and replaces them with a string or block of ACL program code.
ACLoff-line also enables activation of ATS, Advanced Terminal Software, for
on-line programming and system operation.
ACLoff-line is described fully in the ACLoff-line User’s Manual.
SCORBASE
SCORBASE is a robotic control software package which can be used with
Controller-A. Its menu-driven structure and off-line capabilities facilitate robotic
programming and operation.
SCORBASE is supplied on diskette and operates on any PC system.
SCORBASE communicates with ACL, the controller’s internal language, by
means of an RS232 channel.
Levels 1, 2 and 3 of the SCORBASE software can be ordered separately, and are
recommended for those who wish to learn robotic programming from the most
basic stages.
SCORBASE is described fully in the SCORBASE Level 5 Reference Guide .
Teach Pendant
The teach pendant is an optional device.
The teach pendant (TP) is a hand-held terminal, used for controlling the robot and
axis connected to Controller-A. The teach pendant is most practical for moving
the axes, recording positions, sending the axes to recorded positions, and
activating programs. Other
functions can also be executed from
the teach pendant.
The teach pendant’s display panel is
a 2-line, 32 character liquid crystal
display (LCD). It shows the current
status of the controller, the current
user command, and system
messages.
The teach pendant has 30 function
keys. These functions are described
in this chapter. Many of the
command keys on the teach pendant
are ACL commands; these
commands are described fully in the
ACL Reference Guide .
Keypad Functions
The teach pendant’s keypad has 30
color-coded keys. Most of the keys
are multi-functional; for example,
some keys include both an axis Figure 5-1: Teach Pendant
drive command and a numeric
function. The controller recognizes
the keys from the order in which they are pressed. Thus, the numeric function will
be active only if a function such as SPEED, RUN, or MOVE has been keyed in
first; otherwise, the axis drive command will be active.
Following are descriptions of the teach pendant’s keys and instructions for
activating them. Bulleted items indicate the different functions of multi-functional
keys.
A toggle key. Switches the command mode between Joints and Cartesian (XYZ).
When used following a numeric function, this key acts as a backspace function; it
cancels the last numeric entry and moves the cursor one position to the left.
A toggle key. Enables (CON) and disables (COFF) control of the selected group.
• The numeric keys are operative if one of the following functions has been
activated: Speed, Run, Record Position , Go Position, Group Select .
In Joint mode: the Base/X keys move the base axis in two directions.
In XYZ mode: the Base/X keys move the TCP (tip of gripper) along the X-axis;
Y and Z coordinates do not change.
In Joint mode: the Shoulder/Y keys move the shoulder axis in two directions.
In XYZ mode: the Shoulder/Y keys move the the TCP (tip of gripper) along the
Y-axis; X and Z coordinates do not change.
In Joint mode: the Elbow/Z keys move the elbow axis in two directions.
In XYZ mode, the Elbow/Z keys move the TCP (tip of gripper) along the Z-axis;
X and Y coordinates do not change.
In Joint mode: the Pitch keys move the TCP (tip of gripper) up or down, without
moving the other axes.
In XYZ mode: the Pitch keys move three axes (shoulder, elbow and pitch) in
order to change the pitch angle without changing the position of the TCP (tip of
gripper).
In both Joint and XYZ modes: the Roll keys move the roll axis in two directions.
number
Sets the speed of manual axis movement of the current axis control group; that is,
group A, B, or C. The speed is defined as a percentage (1-100) of maximum
speed.
Press Speed. The current speed is displayed.
Press Enter to accept the displayed default speed. Or use the numerical keys
to enter a different speed, and press Enter.
number
number
number
Executes a program.
Press Run. Then press the program’s identity number on the numerical keys. The
program name will be displayed in brackets. Then press Enter to begin program
execution.
The controller automatically assigns an ID number to each user program. The
ACL command DIR lists the programs and their assigned (IDENTITY) number.
Aborts execution of all running programs. Stops movement of the robot and all
peripheral axes.
CHAPTER 6
Operating the Robot
This chapter introduces you to the basic commands for operating the
SCORBOT-ER VII robot by means of both the ACL software and the teach
pendant.
DIRECT Mode
This chapter describes the operation of the robotic system when it is functioning
in the DIRECT mode. When the system is in DIRECT mode, the user has direct
control of the axes, and the controller executes commands as soon as they are
entered by the user.
When in DIRECT mode, the screen prompt appears like this: >_
When the system is operating in EDIT mode, commands are entered into a user
program, which can be saved and executed at a later time. Program editing
procedures are described in Chapter 7.
Manual Mode
Manual mode is available when the system is in DIRECT mode. The Manual
mode enables direct control of the robot axes when a teach pendant is not
connected.
When using the keyboard to perform some of the procedures described in this
chapter, the system must be in Manual mode.
To activate Manual mode, hold the <Alt> key and press the character M:
<Alt> + m
The system is not case-sensitive. You may use either uppercase and lowercase
characters to enter commands and data.
Descriptions of TP operation show the teach pendant keys which the user must
press. System responses are shown in boxed capital letters. For example:
CONTROL ENABLED
A JOINTS
TP
Press:
This instructs the controller to execute Program 0, the robot homing routine. The
display panel on the teach pendant will show:
HOMING. . .
When the Home search is successfully completed, the display panel will show:
HOMING COMPLETE
If the robot is unable to find a home position in one or more of the axes, you will
see a message such as:
HOME FAIL [4]
To stop the homing while the operation is in progress, press the Abort key.
The peripheral axes are homed by means of the TP command Run 00.
PC
To home the robot axes (Group A), use the ACL command HOME.
Type: home <Enter>
WAIT!! HOMING...
If the homing process is not completed, an error message identifying the failure is
displayed:
*** HOME FAILURE AXIS 4
To stop the homing while the operation is in progress, use the abort commands:
Type: A <Enter>
or press: <Ctrl>+A
To home peripheral axes, each axis must be homed individually; for example:
Type: home 7 <Enter>
home 8 <Enter>
home 9 <Enter>
To home an axis, such as a slidebase, which uses a hard stop rather than a
microswitch, use the ACL command HHOME.
Type: hhome 8 <Enter>
Coordinate Systems
The SCORBOT-ER VII can be operated and programmed in two different
coordinate systems: Joint and Cartesian (XYZ) coordinates.
Joint Coordinates
Joint coordinates specify the location of each axis in encoder counts. When the
axes move, the optical encoders generate a series of alternating high and low
electrical signals. The number of signals is proportional to the amount of axis
motion; the controller counts the signals and determines how far an axis has
moved. Similarly, a robot movement or position can be defined as a specific
number of encoder counts for each axis, relative to the home position, or another
coordinate.
When robot motion is executed in Joint mode, individual axes move according to
the command.
If any peripheral devices are connected to the robotic system, the position of their
axes is always stated in encoder counts.
TP
To toggle between the two coordinate systems:
Press:
A JOINTS
Press
again:
A XYZ
The display reflects the currently active coordinate system. Manual movement of
the axes will be executed according to the currently active coordinate system.
PC
To select a coordinate system from the keyboard, you must first activate Manual
mode.
To activate the Joint coordinate system:
Press: j
JOINT MODE
Servo Control
The controller must be in the servo control (CON) state for the axes to execute
movement commands.
Activating the Home routine will activate CON.
Certain events, such as impact, overheating (thermic error), or activation of the
Emergency switch, will automatically switch off the servo control state (COFF).
CON must be activated to resume motion and servo control.
While the controller is in the COFF state, you cannot operate the axes.
TP
To toggle servo control on and off:
Press:
CONTROL ENABLED
Press
again:
CONTROL DISABLED
When Control On/Off is activated from the teach pendant, the CONTROL
ENABLED/CONTROL DISABLED message also appears on the computer
screen.
PC
If Manual mode is active you can enable and disable control from the keyboard.
Press: c
CONTROL ENABLED
Press: f
CONTROL DISABLED
The commands C and F enable and disable control of all axes which are
connected to the controller.
If Manual mode is not active, you can use the ACL commands CON and COFF.
Type: con <Enter> Enables control of all axes.
The format can be altered to enable and disable control of specific groups of axes;
for example:
cona Enables control of robot axes (Group A).
coffb Disables control of peripheral axes (Group B).
con 9 Enables control of axis 9 (Group C).
TP
To select the axis control group:
Press:
_
B JOINTS
Press
again:
AXIS . .
When selecting an independent (Group C) axis, you must also key in the axis
number followed by Enter.
Continue pressing this key until the desired axis group is displayed.
PC
ACL does not have a command for selecting the axis control group. The specific
format of each command indicates the axis control group.
TP
When in XYZ mode, the controller recognizes the Cartesian functions of the
teach pendant keys.
When in Joint mode, the controller recognizes the joint functions (shaded in
diagram) of the teach pendant keys.
The teach pendant offers the easiest method for
moving the robot arm. You simply press an axis
movement key, and the robot moves. When you
release the key, movement stops.
Before you press the keys shown below, make
sure JOINTS, Group A, and Control On are
active. Move the axes of the robot, in both
directions.
Press:
Press:
Press:
Press:
Press:
Before you press the keys shown below, make sure XYZ appears on the teach
pendant display. Watch how the keys now affect the movement of the TCP.
Press:
Press:
Press:
PC
To directly control movement of the robot axes from the keyboard, Manual mode
and Control On must first be activated. The keys listed below are then used to
move the robot.
The axes will move as long as the activating key is depressed, until a fixed stop is
reached. The gripper will either open completely or close completely.
In Joint mode, the keys produce the following movements:
Press: 1, Q Move axis 1 (base)
2, W Move axis 2 (shoulder)
3, E Move axis 3 (elbow)
4, R Move axis 4 (wrist pitch)
5, T Move axis 5 (wrist roll)
6, Y Closes/Opens electrical gripper (axis 6)
TP:
Press:
The Open/Close key toggles the gripper between its open and closed states.
If the gripper was open it will now close, and vice versa. Repeat the command.
PC:
When Manual mode is active, the following keys activate the gripper.
Press: Y Opens the gripper.
When Manual mode is not active, the ACL commands OPEN and CLOSE are
used.
Type: open <Enter>
PC
When Manual mode is active, use the key S to set the speed of manual movement.
Press: s
SPEED.._
You are prompted for a speed value—a percentage of the maximum speed.
Type a number between 1–100, and press <Enter>.
When Manual mode is not active, the ACL command SPEED is used to define
the speed at which movements are executed. For example:
speed 50 Sets speed movements of Group A axes to 50% of
maximum speed.
speedb 20 Sets speed of movements of peripheral axes (Group B) to
20% of maximum speed.
TP
The teach pendant allows you to simultaneously define and record a position.
To record a robot position, first be sure the Group A is selected. Then use the axis
movement keys to bring the robot to any location. Record this as position 12.
Press:
DONE
PC
To define and record positions from the keyboard, you must first exit Manual
mode.
Use the ACL command DEFP to define a robot position. For example:
Type: defp A1 <Enter> Defines position A1 for the robot.
When a position is defined, it is assigned to a specific axis control group. By
default, it is assigned to the robot (Group A) axes. To define a position for Group
B, or an independent axis, the command format determines the group to which
the position is dedicated.
Type: defpb B24 <Enter> Defines position B24 for Group B.
defpc C3 10 <Enter> Defines position C3 for axis 10.
Define three robot positions:
Type: defp A31
defp A32
defp A33
Move the robot two more times, and record coordinates for positions A32 and
A33.
If you attempt to record a position which has not been defined (for example HERE
A34), the system will display an error message.
If you specify a name of a position which has already been recorded (for
example, HERE A31), the HERE command will will overwrite the existing
coordinates with new coordinates.
Relative Positions
TP
Relative positions cannot be recorded by means of the teach pendant.
PC
The ACL commands HERER and TEACHR allow you to record a position as
relative to another position, or as relative to the current position of the robot.
To record a position which is relative to another position by joint coordinates ,
move the robot to the relative location and record the position. For example:
Type: herer A99 A33 <Enter>
The coordinates of position A99 are actually offset values; that is, the difference
in the encoder count at position A31 and at position A99. If the coordinates of
position A31 change, position A99 will remain relative to position A31 by the
same number of encoder counts.
To record a position relative to the current location of the robot by joint
coordinates , you are prompted to enter values (encoder counts) for each of the
axes. If offset values have already been recorded for this position they will appear
in the brackets; otherwise the brackets are empty. For example:
Type: here A99 <Enter>
1--[.]>0 <Enter> Base = no offset
2--[.]>500 <Enter> Shoulder = 500 counts offset
3--[.]>250 <Enter> Elbow = 250 counts offset
4--[.]>0 <Enter> Pitch = no offset
5--[.]>0 <Enter> Roll = no offset
Listing Positions
PC
To see a list of the defined positions, use the ACL command LISTP.
Type: listp <Enter>
The list of defined positions is displayed on the screen. Positions 12, 13, A31,
A32, A33 and A99 should now appear in the list.
To view the coordinates of position A31, use the ACL command LISTPV.
Type: listpv A31 <Enter>
Deleting Positions
PC
To delete positions, use the ACL command DELP.
Type: delp A99 <Enter>
DO YOU REALLY WANT TO DELETE THAT POINT? (YES/NO)>_
TP
Assuming the robot is at position 13, send the robot back to position 12.
Press:
DONE
Use the command Go Position 0 to send all the axes of group A to the home
position.
PC
Use the ACL command MOVE to send the robot to a position.
Assuming the robot is at home, send the robot to position A31.
Type: move A31 <Enter>
Linear Movement
To move the TCP in a straight path, use the ACL command MOVEL.
For example, send the robot from the home position to position A33.
Type: move 0 <Enter>
Circular Movement
To move the TCP along a curved path, use the ACL command MOVEC, use the
ACL command MOVEC.
You must specify two positions for MOVEC. Otherwise there are infinite
possibilities for defining the curve. For example, send the robot from the home
position to position A31, via position A32.
Be careful when using this command. For the first attempt, set the speed to a low
setting, such as 20.
Type: move 0 <Enter>
CHAPTER 7
Programming with ACL
This chapter serves as a tutorial to help you become familiar with program
editing. To learn how to write and edit a program, you should follow, in
sequence, the procedures described in this chapter.
ò This chapter introduces you to the basic commands for programming the
SCORBOT-ER VII . Many more commands and formats are available in the
ACL language. Refer to the ACL Reference Guide for complete lists and
descriptions of editing functions and ACL commands.
For additional instruction in the procedures introduced in this chapter, the ACL
Laboratory Manual (catalog #100039) is recommended.
EDIT Mode
So far you have learned to operate the robot in the DIRECT mode, in which all
commands are executed the moment you press <Enter>.
To write programs which will be executed by the robotic system, you will use the
EDIT mode.
Whenever the EDIT mode is active, the screen shows the current program line
number and a prompt, such as this: 143:?_
The controller assigns the line numbers; they are not user definable.
Help
Quick, on-line help is available while you are working with ACL.
Simply enter the command HELP.
A list of DIRECT mode commands are displayed when in DIRECT mode;
a list of EDIT mode commands are displayed when in EDIT.
Enter the command DO HELP when in DIRECT mode in order to display the
EDIT mode commands.
Creating a Program
To create a program, activate the EDIT mode by using the command EDIT,
followed by the name you want to call the program. Program names are limited to
five characters; for example:
Type: edit aaa <Enter>
AAA NEW PROGRAM
DO YOU WANT TO CREATE THAT PROGRAM (Y/N)>
Type: y <Enter>
PROGRAM AAA
*********************
25:?_
Writing a Program
To write a program which will send the robot to each of the positions recorded
earlier, enter the following command lines:
Type: moved A31 <Enter>
moved A32 <Enter>
moved A33 <Enter>
exit
AAA IS VALID
Although the command MOVE may be used in EDIT mode, the command
MOVED is preferable. MOVED ensures that the robot will accurately reach the
target position before continuing to the next command.
The commands MOVEL and MOVEC are also available in EDIT mode. As with
the MOVE command, it is preferable to use the command format with the D
suffix; that is, MOVELD and MOVECD.
The EXIT command is used to end the current editing session and return the
system to DIRECT mode.
Running a Program
When the > prompt is displayed, it indicates the system is in DIRECT mode. To
check the program you have just created, do the following:
Make sure control is enabled (CON) and the robot is at its home position.
Type: run aaa <Enter>
DONE
The robot moves to positions A31, A32 and A33, and then stops.
Program Loop
You will now edit the program and add command lines which will cause the
program to run in a loop.
Program loops are created by using the companion commands, LABEL and
GOTO.
• LABEL n marks the beginning of a routine.
• GOTO n sends program execution to the line which follows the
corresponding LABEL.
Type: edit aaa <Enter>
WELCOME TO ACL EDITOR, TYPE HELP WHEN IN TROUBLE.
PROGRAM AAA
*******************
25:?_
The prompt shows the first line of the program. Entering a new command inserts
a command line at this point.
Pressing <Enter> without entering a new command simply displays and accepts
the line as is, and moves the editor to the next line.
Type: label 1 <Enter>
Press: <Enter>
Press: <Enter>
Press: <Enter>
Type: goto 1 <Enter>
Type: exit <Enter>
AAA IS VALID
END marks the end of a program; (END) marks the end of a listing. They are
written by the controller; they are not entered by the user.
The robot completes the current movement command and then stops. Program
AAA is now suspended.
Type: continue aaa <Enter>
The CONTINUE command causes the robot to continue moving from the point
where it was halted by a SUSPEND command.
Press: <Ctrl>+A
PROGRAM AAA ABORTED
Program AAA can now be reactivated only by means of the RUN command,
which will start the program from the beginning.
If several programs are running, and you want to abort only one of them,
following the command by the name of the specific program; for example:
a aaa <Enter>
This format aborts the specified program only after the command currently being
executed has been completed.
Variable Programming
Variables are locations in controller memory which are defined by name and hold
values. Variables simplify programming by allowing instructions to be executed
conditionally and repeatedly.
ACL has a number of system defined variables whose values indicate the status
of inputs, outputs, encoders and other control system elements. Some of these
variables can accept user defined values. None of these variables can be deleted
from the system.
User variables are defined and manipulated by the user, and can be created or
deleted as needed. User variables may be either private (local) or global.
• Private variables are defined and manipulated in the EDIT mode and
recognized only by the specific program in which they are defined.
• Global variables can be defined and manipulated in both the EDIT and
DIRECT modes, and can be used in any program.
Iteration Functions
Many applications require task iteration, or repetition. Variables can be used to
produce program loops which repeat a command or commands, thereby avoiding
the need for redundant command lines within a program
The command format FOR var1 = var2 TO var3 enables a program routine
to be executed repeatedly. Var1 must be a variable; var2 and var3 may be either
variables or constants. For example, enter the following commands to create
program LOOP:
edit loop
for var=1 to 10
println "LOOP"
endfor
exit
The variable is a counter, which is set initially to 1 and increased by one each
time the loop is performed. When the counter value reaches the final value (10 in
this example), the loop is performed for the last time.
The ENDFOR command is required to mark the end of the loop.
The PRINTLN command causes comments (text within quotation marks) to be
displayed on the screen during program execution. Thus, when you run program
LOOP, the word “ LOOP” will be displayed 10 times.
By altering the PRINTLN command line you can cause the system to report
which loop has been completed. Bring the cursor to the ENDFOR command line.
Enter the command DEL; this will delete the preceding command line. Then enter
a new command line:
println "LOOP " var
Make sure you have included a space following the text “LOOP.”
Conditional Functions
Many applications require the program to flow according to certain conditions.
The command format IF var1 oper var2 checks the relation between var1 and
var2. Var1 must be a variable; var2 may be either a variable or a constant. Oper is
one of the following comparison operators: > < + >= <= <>
When the IF statement is true, the program executes the next line(s), until it
reaches an ENDIF command, which marks the end of the conditional routine.
if var1=var2
goto 1
endif
The conditional routine may also contain a routine to be executed when the IF
condition is false. The beginning of such a routine begins with the command
ELSE.
if var1=var2 If the condition is not true, the
goto 2 program will jump to label 1.
else
goto 1
endif
When editing a program, use the command PRINTLN to display the status of a
specific input or output during program execution. For example:
println in[5] When this command is encountered during program
execution, either 1 or 0 will be displayed (that is, the
value of variable IN[5]), depending on the state of input
5;
Inputs
Conditional commands, such as IF and WAIT, are used to read and respond to the
state of the inputs. For example, you can use the following routine in a program:
if in[3]=1 If input 3 is ON, then
move A31 Move to position A31.
else If input 3 is NOT ON (off), then
move A32 Move to position A32.
endif End of conditional routine.
Outputs
As with inputs, conditional commands can read and respond to the state of the
outputs. Commands can also be used to alter the state of outputs.
To change the state of an output—in both DIRECT and EDIT modes—use the
SET command. For example:
set out[6]=1 <Enter> Turns ON input 6.
set out[8]=0 <Enter> Turns OFF input 8.
Warning Light
A flashing warning light can be integrated into the SCORBOT-ER VII system.
A program named ONOFF is included in the ONOFF.CBU file on the ATS
diskette supplied with the system. When the ONOFF program is activated, it will
automatically turn on the warning light whenever the robot is in motion.
set out[1]=0 When output 1 turns off, the light turns off.
(In order to download this program file for use, refer to the downloading procedure
described later in this chapter. )
PRINTLN
GOTO 2
ENDIF
GOTO 1
LABEL 2
END
Program Directory
The ATS diskette supplied with the system contains a number of files with the
extension CBU. These files contain programs, positions, variables and
parameters. Some of these CBU files are factory-loaded into the controller and
stored in battery backed-up RAM. These files are not erased when the controller
is turned off, but their contents may be totally or partially erased during certain
configuration and restore procedures.
To view the list of programs which are found in the controller’s BBRAM, use the
DIR command in DIRECT mode. For example:
Type: dir <Enter>
name : validity : identity : priority
AA : : 1 : 5
LOOP : : 2 : 5
DEMO : : 3 : 5
IO : : 4 : 5
IOA : : 5 : 5
. . . and so on.
• Validity: If the program is valid no message appears. “Not valid” will appear
if the program contains a logic error, such as a FOR command without an
ENDFOR command.
• Identity: This is the controller-assigned program identity number, which is
needed for executing a program from the teach pendant. (Since certain
controller operations can cause program identity numbers to change, use the
DIR command at the beginning of each working session to verify the identity
of program which you may want to call from the teach pendant.)
• Priority: By default the controller assigns each program a run-time priority of
5, on a scale of 1–10. The user can define a program’s priority by means of
the PRIORITY or RUN command.
Multi-Tasking
Controller-A is a multi-tasking real-time controller; it can simultaneously
execute and control 20 independent programs.
Use the DIR command, and note the programs: PICP, IO, IOA.
To run these three programs concurrently, use three RUN commands to start
execution—in both DIRECT and EDIT mode.
Program PICP takes the robot through a series of pick and place movements.
Programs IO and IOA both turn controller outputs on and off; watch the LED
display on the controller while these programs are being executed.
To abort all three programs, use the Abort command.
Simultaneous Execution
The RUN command can be included in a program in order to start execution of
another program. When a running program encounters a RUN prog command,
both program are executed concurrently.
When several programs are running, those with a higher priority have precedence;
those with the same priority share controller CPU time by means of an equal
distribution algorithm.
Program Interrupt
Since two programs may conflict with one other, it may be preferable to use the
GOSUB command rather than RUN.
Like RUN, the GOSUB command is used to start execution of another program.
Unlike RUN, however, when a program encounters a GOSUB prog command,
the program is suspended until the called program has completed execution. At
that point, the first program resumes execution from the line which follows the
GOSUB command.
The TRIGGER command can be used to execute another program when a specified
input or output is turned off or on. However, it will activate the program only once,
regardless of subsequent changes in the I/O state.
Note that this procedure saves all programs, positions and variables which are
currently in the controller’s BBRAM to the file filename.CBU.
CHAPTER 8
Maintenance
Maintenance
The maintenance and inspection procedures detailed below will ensure continued
optimum performance of the SCORBOT-ER VII system.
At the start of each working session, check the robot and controller, in the
following order:
1. Before you power on the system, check the following items:
• The installation meets all safety standards.
• The robot is properly bolted to the work surface.
• All cables are properly and securely connected.
Cable connector screws are fastened.
• The teach pendant, and any peripheral devices or accesssories which will be
used, are properly connected to the controller.
• None of the open collector outputs is connected directly to a power supply.
• No people are within the robot’s working range.
2. After you have powered on the system, check the following items:
• The power and motors LEDs on the controller light up.
• The fan in the front panel rotates and draws air into the controller.
• The fan in the rear panel, within the supply unit, extracts air from the
controller.
• All green LEDs on the controller rear panel light up.
• No unusual noises are heard.
• No unusual vibrations are observed in any of the robot axes.
• There are no obstacles in the robot’s working range.
3. Bring the robot to a position near home, and activate the homing procedure.
Check the following items:
• Robot movement is normal.
• No unusual noise is heard when robot arm moves.
• Robot reaches home position in every axis.
Troubleshooting
ò The procedures in the section are intended only for technicians who have
received proper training and certification from the manufacturer.
Do not attempt to perform procedures for which you are not qualified.
Whenever you encounter a malfunction, try to pinpoint its source by exchanging
the suspected faulty component—for example, robot, controller, teach pendant,
cable—with an identical component from a working system.
In general, when trying to determine the source of a malfunction, first check the
power source and external hardware, such as controller switches, LEDs and cable
connections. Fuses should also be checked.
In addition, make sure the controller is properly configured for the robot and
gripper, the software commands have been correctly issued, and system
parameters are properly set.
Make sure the controller’s power switch is turned off before you open the
controller cover. Make sure the power cable is disconnected from the AC power
source before you remove fuses.
Complete instructions for removing and replacing controller components are
given in the section, “ Adjustments and Repairs,” later in this chapter.
diskettes supplied with the robot system. The contents of this file cannot be
transferred from one robot to another. Keep the diskettes together with the
print-out of the parameters and labeled for the specific robot.
Diagnostic Procedures
1. Controller does not turn on. The yellow power LED does not light up. Fans do
not rotate.
• Make sure the AC power supply matches the controller’s voltage requirement,
as seen on the tag at the back of the controller. If the voltage supply and
controller voltage setting do not match, change the voltage setting, as
described later in this chapter.
• Make sure AC power is being supplied to the power outlet.
• Make sure the power cable is connected to both the proper power source and
the controller.
• If RS232 cable is connected, disconnect it and and retry power on.
If successful, reconnect the RS232 cable.
• Check for a blown logic power supply fuse. Using an ohmeter, measure the
resistance of the fuses. If resistance is close to 0 Ω, the fuse is functioning.
2. Controller’s motors switch does not turn on. Motors green LED does not light up.
• Check for a blown power transformer fuse. Using an ohmeter, measure the
resistance of the fuses. If resistance is close to 0 Ω, the fuse is functioning.
• Make sure the hardware and software configuration are compatible with the
user RAM ICs:
Hardware: Refer to Figure 8-1. Make sure all four jumpers for configuring
user RAM (W1, W1A, W2, W2A) are set for 128K RAM. The two lower
pins must be shorted.
Software: Make sure the controller is configured for 128K memory by
entering the command: CONFIG ?
• Remove the user RAM ICs (U4, U10, U16, U21) and reinsert them.
• If problem persists, replace the main board.
7. Robot does not find Home position in one or all of the axes.
• Make sure the homing command was properly issued.
• Make sure the robot cable is properly connected to the controller.
• Make sure system homing parameters are properly set.
Make sure system homing parameters have not been erased.
• Check the microswitch for this axis.
Manually move the faulty axis (from teach pendant or keyboard) and use
the LSON and SHOW DIN commands to check the microswitch. The
value will change to either 1 or 0 when the microswitch is detected.
Use the commands LSON and TEST. Or prepare and continuously run a
simple ACL program to test the microswitches, as follows:
LSON
LABEL 1
PRINTLN IN[n]
DELAY 200
GOTO 1
If values do not change, check the microswitch itself.
Use a small screwdriver to press down on the microswitch. You should
hear it click and see it pop back up. If this does not happen, the
microswitch should be fixed or replaced.
If the microswitch has clicked, depress it again and, with an ohmeter,
check whether the microswitch shorts its two poles.
If there is a short, depress the switch again and check the wires between
the microswitch and D50 connector.
If there is a short, depress the switch and check the two microswitch pins
in the D50 connector. (Refer to Chapter 10 for wiring and pin
information).
If there is a short, replace the driver card for that specific axis.
• If the problem persists, replace the main board.
(Alternately check ICs U88, U93, U98, U82 and U87.)
12. Axis/axes vibrating, too weak to carry load, motion not smooth, or jerks during or
at end of motion.
• System parameters are not properly adjusted.
Refer to the ACL Reference Guide .
• If problem persists, replace the driver card.
14. Electric servo gripper opens and closes but does not react properly to JAW
command.
• The problem is probably in the feedback. Check the encoder, the wiring, and
the driver card. Follow the procedures in Item 8 and Item 9.
15. Gripper opens and closes too freely; weak gripping force; or the gripper motor
rotates endlessly.
• Check the value of PAR 275. It should be 1000.
21. User programs are not saved in the BBAM. Response to ACL command DIR is
“Directory is Empty.”
• Check the voltage level of the backup battery on the main board. (See
Figure 8-1.) A good battery produces 3.4V--3.7V. Battery should backup
RAM as long as the Vcc supply to U4, U10, U16 and U21 is 2V or higher.
Replace battery if necessary.
• Make sure the battery is properly and securely set in its socket.
• If battery is all right, replace the main board.
When battery is low, backup the controller frequently to avoid loss of data.
Error Messages
Following is a alphabetical listing of system messages which indicate a problem
or error in the operation of the robot arm. Refer to the ACL Reference Guide for
additional error messages.
Axis disabled.
(1) A movement command could not be executed because servo control of
the arm has been disabled (COFF).
(2) A previous movement of the arm resulted in an Impact or Trajectory
error, thereby activating COFF and disabling the arm.
Check the movements of the robot, and correct the command(s).
CONTROL DISABLED.
Motors have been disconnected from servo control. Possible causes:
(1) COFF (control off) command was issued.
(2) CON (control on) has not been issued; motors have not been activated.
(3) A previous error (such as Impact Protection, Thermic Overload or
Trajectory Error) activated COFF, thereby disabling the arm.
*** HOME FAILURE AXIS n .
The homing procedure failed for the specified axis. Possible causes:
(1) The home microswitch was not found.
(2) The motor power supply is switched off.
(3) Hardware fault on this axis.
*** IMPACT PROTECTION axis n
The controller has detected a position error which is too large. The system
aborted all movements of that axis group, and disabled all axes of that
group. Possible causes:
(1) An obstacle prevented the movement of the arm.
(2) An axis driver fuse has shut off.
(3) An encoder fault.
(4) A mechanical fault.
(5) The axis is not connected.
Determine and correct the cause of the position error. Then reenable servo
control of the motors (CON), and restart the program.
*** LOWER LIMIT AXIS n.
Replacing Fuses
ò Warning! Before you begin to check or remove fuses, turn off the controller’s
power switch, and disconnect the power cable from the AC power source.
6. Before inserting the new driver card, make sure none of the 64 pins in the male
DIN connector is bent. Then, make sure the driver card is directly above the
female DIN connector on the main board, and that the metal bracket fits the rear
panel. Firmly but gently press the driver card into the driver card slot.
7. Reattach the long bracket to the transformer housing and the controller frame.
Reattach each driver card to the long bracket and its connector slot. Retighten all
the screws.
8. Check and adjust the current limit, according to the instructions in the following
section.
1. First, make sure Pins 1 and 2 are shorted on the card’s Jumper JP1 (1).
Jumper JP1 allows the software to determine whether or not the communication
card has been installed in the controller.
Default factory setting: Pin 1 and pin 2 shorted.
2. Turn off the controller.
3. Remove the cover of the controller.
4. Remove the blank bracket at the back of the controller on the slot (J7) for the
auxiliary RS232 card.
5. Before inserting the auxiliary RS232 card, first check that none of the 64 pins in
the male DIN connector is bent. Then, make sure the card is directly above the
female DIN connector (J7) on the main board, and that the metal bracket fits the
rear panel. Firmly but gently press the card into the slot.
6. Tighten the bracket screw.
7. Make the cable connections:
• Connect the D37 connector from the multiport connector cable to the
auxiliary RS232 port on the controller.
• Connect the D25 connectors on the multiport connector cable to the
corresponding COM ports on the other controllers or computers.
8. The controller must be reconfigured for the auxiliary RS232 card.
Before you perform the configuration, you must backup to disk the entire
contents of the controller, including all parameters.
Power on the system. From the ATS Backup Manager menu, select the options
“ Backup ALL” and “BACKUP to disk (F3).”
9. Perform the configuration, using either of the following methods.
• Use the command <Ctrl>+F1, as described in the section, “Controller
Configuration,” in Chapter 4; or
• Use the ACL command CONFIG, as described in the ACL Reference Manual.
10. Reload the contents of the controller, including all parameters, which you backed
up to disk. From the ATS Backup Manager menu, select the options “Restore
ALL” and “RESTORE from disk (F5).”
APPENDIX A
Theory of Control
The function of the controller is to instruct the movements of the robot arm or
other devices in the robotic system, to monitor these movements, and to make
adjustments automatically in order to correct any errors.
Servo Control
Open Loop Control
In open-loop (non-servo) control, the system does not check whether the actual
output (position or velocity) equals the desired output.
In open-loop control systems the controller output signal ( U r ) is determined only
by the input signal ( r ). If the system response is incorrectly predicted, or if the
output signal is affected by other factors, deviations from the desired state will
occur. Since no feedback exists, the system is unable to correct output errors.
In open loop robotic control, power is applied to the motors according to a
predefined program. The path and speed cannot be precisely predicted, since they
are determined by the torque and load on the motors, and other environmental
factors.
Closed-Loop Control
In closed-loop control, the control system measures the output signal ( C ),
compares it with the input (desired) signal ( r ), and corrects any errors.
Figure A-1 compares schematic diagrams of open-loop and closed-loop control
systems.
In servo control systems, a feedback device, commonly an optical encoder,
measures the output ( C ) (the amount, speed and direction of motor rotation),
converts it to an output signal ( U b), and transmits it to the comparator.
A comparator (⊗) connects the input and feedback signals, produces an error
signal equal to the algebraic difference of its two input signals. The comparator
output—the error signal—is generally denoted as U e .
The error signal is the most important value in the closed-loop system. The
system aims to reduce U e to the smallest possible value. When U e = 0, the output
signal (the actual state) is equal to the input signal (the desired state).
Digital Control
Unlike analog control systems, in which all signals within the controller are
continous analog signals, digital control systems are those in which some of the
signals within the controller are discrete digital signals, due to the presence of
microprocessors.
In digital control systems, the controller must be capable of converting between
analog and digital signals. For the microprocessor to read an analog signal, the
signal must first pass through an Analog to Digital Converter. The ADC
samples—that is, reads—the signal at periodic intervals and stores the value for
the processor to read. For the microprocessor to transmit an analog signal, it must
send the discrete values of the signal to a Digital to Analog Converter. The DAC
holds the output continuously until given a new value.
Controllers use microprocessors to calculate the state (position, velocity, etc.)
error (e) for each motor and the control signal ( U c) which is sent to the motors to
correct the error. The control signal is converted to an analog signal by a DAC
and then amplified before driving the motor.
The feedback device measures the actual state and produces an analog signal. The
feedback signal is converted by a ADC so that the processor can read it to
compute e.
A digital control system can be programmed to compute any number of control
equations. The processor’s control program is a continuous loop whose basic steps
are as follows:
1. Read desired state from memory.
2. Read actual state from feedback device.
3. Calculate the state error ( e).
4. Calculate control signal from control equation.
5. Go back to step 1.
The main difference between digital and analog controllers is the time delay
caused by the processor’s computations. This time delay is, in effect, the
sampling time of the DAC and of the output control signal it produces. If the
processor can complete a loop within a few milliseconds, the sampling time will
be rapid, and the digital controller will produce an output similar to the equivalent
analog controller.
On the other hand, if the processor is slow to make the computations, the
controller will be unaware of fast changes in the feedback signal and the control
signal will be based on “old” measurements. The greater the delay, the more the
response will oscillate, eventually becoming unstable.
This constant error, known as the steady state error, should be reduced as much as
possible by the control system.
Increasing the amplitude of the controller output signal (that is, increasing the
controller gain) can reduce the steady state error and enable a more rapid
approach to the steady state value. The greater the controller gain, the faster the
system reacts.
However, excessive gain may lead to a phenomenon called overshoot—a rise in
the controlled value to a point above the desired value, followed by a drop below
the desired value, repeated several times before stabilization. This, in effect,
causes the actual value to oscillate around the desired value. Further increase of
the controller gain may lead to instability of the entire system— that is,
uncontrollable oscillation.
A control system is damped when it reaches steady state without overshoot. A
critically damped response is the fastest approach to steady state without
overshooting; an overdamped response is a slow approach to steady state.
Figure A-4 shows different transient responses.
Trajectory Control
For better path performance (that is, to accurately reach the desired state and
avoid overshoots), trajectory control profiles, may be programmed into the
control system. Controller-A offers two profiles: paraboloid and trapezoid. Refer
to Figure A-7.
Paraboloid
The paraboloid profile causes the motors to accelerate slowly until maximum
speed is reached, then decelerate at the same rate.
Trapezoid
The trapezoid profile causes the motors to accelerate and decelerate quickly at the
start and end of movement, with a constant speed along the path.
Path Control
It is desirable that the path and speed of a robot between taught points be
predictable. Ideally, the path between consecutive points is traversed at a constant
velocity with defined acceleration and deceleration segments.
Along the path, motion of all joints should be proportional, so that all the joints
start and finish moving at the same time. The method of coordinating the
movement of the joints so that all joints reach the desired location simultaneously
is termed joint interpolation.
Point-to-Point Control
Point-to-point control (PTP) involves the positioning of the robot’s end effector at
given points, without defining the exact path of the end effector between any two
points.
Point-to-point control is suitable for applications which require an exact and static
position of the end effector at the points where operations will be performed.
In principle, point-to-point control can be used to guide the robot through a large
array of positions, thus resulting in a complex path. In order to obtain such a path,
points must be defined and recorded in a very close sequence. The number of
positions will be limited, however, by the capacity of the control system to
maintain positions in memory.
Proportional Control
The proportional parameter is the gain of the control system. Its value determines
the reaction time to position errors.
When a position error exists (that is, the actual motor position is off by a certain
amount of encoder counts), the processor multiplies the error by the proportional
parameter and adds the product to the DAC value, thereby reducing the error.
The proportional parameter is the parameter in the PID control system which acts
most quickly in reducing the position error, especially during motion. It is also
the first parameter to respond to position errors when the robot has stopped at a
target position.
The greater the proportional parameter, the faster the sytem responds and reduces
the error. But, using too great a value for the proportional parameter will cause
the axis to oscillate.
The main disadvantage of proportional control is that it cannot completely cancel
the error, because once it has reduced the error it cannot generate enough power
to overcome friction in the system and propel the axis to its target position.
Even in steady state, under load, the controlled value (output signal) will always
be different from the desired value (input signal). The steady state error can be
reduced by increasing the gain, but this will increase the oscillation and reduce
stability.
Differential Control
In differential control, the controller output ( C ) is a function of the rate at which
the error (U e) changes. The faster the rate of change of the error, the greater the
controller output ( C ). In other words, the controller is sensitive to the slope of the
error signal.
The differential parameter is responsible for reducing the speed error. The control
system calculates the actual speed once per cycle and compares it to the desired
value. While the robot is accelerating (during the first part of path) the differential
acts as a driving factor.
While the robot is decelerating (during the second, and last, part of path), the
differential acts as a braking factor. A good differential setting will result in a
clean and smooth motion along the entire path. Lack of the differential will cause
overshoot at the end of path. High differential values will cause small vibrations
along the path.
In this control method, the controller predicts the value of the error in accordance
with the error signal slope, and causes the correction to take place in advance.
However, if the error is constant and unchanging, differential control will not be
able to reduce the error to zero.
Integral Control
In integral control, all the state errors which have been recorded each cycle are
totalled and their sum is multiplied by the integral parameter value.
In integral control, the controller output ( C ) reduces the error signal ( U e) to zero
at a rate proportional to the size and duration of the error. In other words, the
greater the error, the greater the controller output; and, the longer the duration of
the error, the greater the controller output.
The main advantage of integral control is that the steady state error is always
reduced to zero since its value increases each cycle, thus strengthening the control
system’s ability to react and reduce the error. However, using too great a value
for the integral parameter may cause overshoots, while too small a value may
prevent the cancellation of a steady state error.
Unlike the proportional parameter, the integral parameter takes effect more
slowly and is less noticeable during motion. However, when the axis comes to a
complete stop and the proportional parameter can no longer reduce the steady
state error, the integral parameter takes over and can cancel the error completely.
Proportional–Integral–Differential Control
The PID control method enables optimal exploitation of all three types of
control—proportion, integral and differential. In this manner, it creates an output
response which follows the input signal closely, without gaps or lags, in both
slow and rapid processes, including those in which the load is in a constant state
of change. In summary, the PID control parameters serve the following functions:
• Proportional Parameter: Enables fast and powerful reactions of the arm to
movement commands. Responsible for the repeatability of the motion.
• Integral Parameter: Assists the proportional parameter in eliminating steady
state errors.
• Differential Parameter: Provides the required damping.
Offset
Control theories often assume complete linearity; that is, the speed is proportional
to the power supplied to the motor.
However, at low levels of power, the motor will not move, mainly due to friction;
that is, the static friction is higher than the dynamic friction. This is a
non-linearity. Figure A-8 shows linearity and non-linearity.
The offset is a threshold level of the DAC. Above this DAC value the control
system acts as a linear system. Below this value, the control system acts as an
on/off system. Figure A-9 shows the offset.