Manual Scrobot V
Manual Scrobot V
Manual Scrobot V
User Manual
Catalog #100016 Rev. C
Copyright 2003 Intelitek Inc.
SCORBOT-ER 5Plus
Catalog # 100016 Rev. C
February 1996
Every effort has been made to make this book as complete and accurate as possible. However, no
warranty of suitability, purpose, or fitness is made or implied. Intelitek is not liable or responsible
to any person or entity for loss or damage in connection with or stemming from the use of the
software, hardware and/or the information contained in this publication.
Intelitek bears no responsibility for errors that may appear in this publication and retains the right
to make changes to the software, hardware and manual without prior notice.
Safety Warning!
Use the SCORBOT ER-5Plus with extreme caution.
The SCORBOT ER-5Plus can be dangerous and can cause severe injury.
Setup up a protective screen or guard rail around the robot to keep people away from its
working range.
INTELITEK INC.
444 East Industrial Park Drive
Manchester NH 03109-537
Tel: (603) 625-8600
Fax: (603) 625-2137
Web site www.intelitek.com
Table of Contents
Handling Instructions
Lift and carry the robot arm only by
grasping the body or the base.
See Figure 1-1.
Do not lift and/or carry the robot arm
by its gripper, upper arm or forearm.
Do not touch the microswitches, cams
or encoders.
Safety Precautions
This manual provides complete details for proper installation and operation of the
SCORBOT-ER Vplus 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 Vplus 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.
Warnings
Do not install or operate the SCORBOT-ER Vplus 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.
• Where corrosive or flammable gas is present.
• Where the power line contains voltage spikes, or near any equipment which
generates large electrical noises.
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 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).
Figure 2-2: Robot Arm Links Figure 2-3: Robot Arm Joints
Encoders
The location and movement of each axis is measured by an electro-optical
encoder attached to the shaft of the motor which drives the axis.
When the robot axis moves, the encoder generates a series of alternating high and
low electrical signals. The number
of signals is proportional to the
amount of axis motion. The
sequence of the signals indicates
the direction of movement.
The controller reads these signals
and determines the extent and
direction of axis movement.
Transmissions
Several kinds of transmissions are used to move the links of the robot arm.
• Spur gears move the base and
shoulder axes.
• Pulleys and timing belts move
the elbow axis.
• Pulleys and timing belts, and a
bevel gear differential unit at the
end of the arm move the wrist
pitch and roll axes.
• A lead screw transmission opens
and closes the gripper.
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.
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 Vplus on a sturdy surface with a minimum 700mm of
free space all around the robot.
4. Place the controller and computer on a sturdy surface at a safe distance from the
robot—well outside the robot’s safety range.
Peripheral Axes
When the controller is configured for operation with SCORBOT-ER Vplus,
do not connect peripheral axes to the axis driver connectors labeled 1, 2, 3, 4, 5
and 6, which are reserved for the robot axes and gripper.
Although axis 6 is reserved by default for an electrical gripper, it can be used to
drive a peripheral device.
• Make sure the gripper path cable is disconnected from both the Gripper and
the Axis 6 connectors on the controller. You may then connect the peripheral
device to the Axis 6 driver.
• Use the ACL command CONFIG to configure Axis 6 for a peripheral axis.
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.
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.
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.
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).
A toggle key. Enables (CON) and disables (COFF) control of the selected group.
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.
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
Only numerical position names, of up to five digits, can be entered from the TP.
The position is defined for the currently active group, and receives the current
values of the axes in that group.
Press Record Position. Then press up to five digits for the position name.
Then press Enter to record the position coordinates.
If you use a position name which has already been defined, the new coordinates
will overwrite the existing ones.
This command is also used to record positions in a vector. The vector must first be
attached to the teach pendant by means of the ACL command ATTACH.
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.
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 will respond in one of the following ways:
MANUAL MODE! MANUAL MODE!
>_ >_
JOINT MODE XYZ MODE
The system’s response indicates the currently active coordinate system.
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]
PC
To home the robot axes (Group A), use the ACL command HOME.
Type: home <Enter>
WAIT!! HOMING...
If all axes reach their home postion, a message is displayed:
HOMING COMPLETE (ROBOT)
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>
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 Figure 6-2: Cartesian Coordinates
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.
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
To activate the XYZ coordinate system:
Press: x
XYZ MODE
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.
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.
Press:
Press:
Press:
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)
In XYZ mode the following changes in manual movement occur:
Press: 1, Q TCP moves along X+ and X– axes.
2, W TCP moves along Y+ and Y– axes.
3, E TCP moves along Z+ and Z– axes.
4, R Pitch moves; TCP maintains position.
All other movements are the same as in Joint mode.
In XYZ mode, moving the robot to positions at the maximum range of reach may
result in jerky movements. Use Joint mode to reach these positions.
While moving the arm, you may alternate between XYZ and Joint modes as often
as required.
If peripheral axes are connected, the following keys are also used:
Press: 7, U Move axis 7
8, I Move axis 8
9, O Move axis 9
0, P Move axis 10
–, [ Move axis 11
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.
Press: 6 Closes the gripper.
When Manual mode is not active, the ACL commands OPEN and CLOSE are
used.
Type: open <Enter>
Type: close <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
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
ACL has a number of commands for recording position coordinates; they are
detailed in the ACL Reference Guide, and will not be discussed in this manual.
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)>_
Type: yes <Enter>.
A99 DELETED.
To prevent accidental deletion of a position, you are required to respond by
entering the entire word “ yes” , followed by <Enter>. Entering any other other
character, including Y, is regarded as “ 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>
In this command the robot moves at the current speed setting.
The MOVE command may contain a duration parameter, which is defined in
hundredths of a second. To send the robot to position A32 in 10 seconds:
Type: move A32 1000 <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>
Type: speed 20 <Enter>
Type: movec A31 A32 <Enter>
Reset the speed to 50 when you have completed the movement.
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.
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.
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
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.”
The PRINTLN command causes the current value of a variable to be displayed on
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 IF statement may, however, be followed by another conditional statement.
The next line may be an alternative condition (ORIF) or an additional condition
(ANDIF).
if var1=var2 At least one of the two conditions
orif var3>10 must be true in order for the
goto 2 program to jump to label 2
endif
if var1=var2 Both conditions must be true in
andif var3>10 order for the program to jump to
goto 2 label 2.
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
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.
Warning Light
A flashing warning light can be integrated into the SCORBOT-ER Vplus
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.
The light is normally connected to (relay) output 1. Therefore, the following
commands are used in program ONOFF.
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.
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.
Parabola
The demonstration file PARABOLA which you have downloaded contains two
programs: CALC and PARAB.
CALC
Program CALC calculates the Cartesian coordinates of 50 positions in a vector
named V, according to the parabola equation: Z=Y2/5000.
Where: –250mm ≤ Y ≤ +250mm
X=300mm (constant)
P=–90°(constant pitch)
R=0°(constant roll)
The program calculates the value of the Z coordinate at intervals of 10mm along
the Y axis, that is: Y= –240mm, –230mm . . . 240mm, 250mm.
Three global variables have been defined:
YV Y coordinate value
ZV Z coordinate value
I loop counter
A vector named V containing 50 positions has been defined.
PARAB
PROGRAM RSINE
*********************
SPEED 25
MOVE S[1]
MPROFILE TRAPEZE
LABEL 1
MOVES S 2 120
MOVES S 119 1
GOTO 1
END
Note that this procedure saves all programs, positions and variables which are
currently in the controller’s BBRAM to the file SINE.CBU.
Daily Operation
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.
Periodic Inspection
The following inspections should be performed regularly:
1. Visually check leads, cables and rubber components. Replace if any damage is
evident.
2. Check all bolts and screws in the robot arm using a wrench and screwdriver.
Retighten as needed.
3. Check all the tension of robot arm belts. When you press on a belt, the slack
should be no greater than 2mm (0.08"). Refer to Figure 8-1.
Tighten the belts only if you are absolutely certain they are slipping or retarding
the motors. For complete information, refer to the section, “ Adjustments and
Repairs,” later in this chapter.
4. Check for execessive backlash in the base axis. For complete information, refer to
the section, “ Adjustments and Repairs,” later in this chapter.
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. The green motors 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.
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.
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. 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.
• The Oldham coupling in the gripper assembly is loose. Follow the instructions
in the section, “ Adjustments and Repairs,” later in this chapter.
• Alternately, the gripper gear is broken. Replace it.
Gripper Disassembly
1. Remove the gripper motor (S312) from the plate (112) by unscrewing the three
bolts (2 bolts S12 and one bolt S14). The Oldham coupling (S313) has three
parts—two metal parts fitted with bolts and an intermediate plastic part. When
you remove the motor, one metal piece of the coupling stays attached to the shaft.
The second metal piece of the coupling stays attached to the lead screw (94). The
plastic piece remains attached to either one of the two metal pieces.
2. Remove the lead screw (94) from within the shaft (105) by turning it
counterclockwise.
3. Fasten both metal pieces to their respective shafts by firmly tightening the Allen
screws (one piece to the motor output shaft; the other to the lead screw.)
Note: When tightening the coupling piece to the motor output shaft, make sure
the coupling is 1.5mm to 2mm away from the plate (112).
Gripper Reassembly
1. Make sure the coupling’s plastic piece is attached to the metal piece attached to
the lead screw (94). Keep the gripper fingers closed. Screw the lead screw (94)
with the coupling piece attached, clockwise into the shaft (105), as tightly as
possible. Now release the gripper fingers.
2. Refit the motor by aligning the coupling fitted to the motor output shaft together
with the plastic coupling piece attached to the metal piece attached to the lead
screw (94).
3. When all the coupling sections are aligned and attached, turn the motor body until
the holes in the plate (112) align with those in the gear motor support (91).
Reinsert and tighten the three bolts which you removed at the beginning of the
procedure.
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.
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 (Ur) 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 (Ub), 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 Ue .
The error signal is the most important value in the closed-loop system. The
system aims to reduce Ue to the smallest possible value. When Ue = 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 (Uc) 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.
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.
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.
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 (Ue) 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.
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.