C Lang
C Lang
C SERIES CONTROLLER
AS LANGUAGE
MPPCCONT0118E
Kawasak
Kawasaki Robotics (USA), Inc.
This publication contains proprietary information of Kawasaki Robotics (USA), Inc. and
is furnished solely for customer use only. No other uses are authorized or permitted
without the express written permission of Kawasaki Robotics (USA), Inc. The contents
of this manual cannot be reproduced, nor transmitted by any means, e.g., mechanical,
electrical, photocopy, facsimile, or electronic data media, without the express written per-
mission of Kawasaki Robotics (USA), Inc.
The descriptions and specifications in this manual were in effect when it was submitted
for publishing. Kawasaki Robotics (USA), Inc. reserves the right to change or discon-
tinue specific robot models and associated hardware and software, designs, descrip-
tions, specifications, or performance parameters at any time and without notice, without
incurring any obligation whatsoever.
This manual presents information specific to the robot model listed on the title page of
this document. Before performing maintenance, operation, or programming procedures,
all personnel are recommended to attend an approved Kawasaki Robotics (USA), Inc.
training course.
Training is available from Kawasaki Robotics (USA), Inc. on courses covering operation,
programming, electrical maintenance and mechanical maintenance. These courses are
conducted both on-site at the customer’s location, or at our training facility in Wixom,
Michigan.
REVISION HISTORY
Revision Release
Number Date Description of Change Initials
-0 6/7/99 Initial PDF release BF
C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL
INTRODUCTION
INTRODUCTION
I.0 INTRODUCTION
The AS Language Reference Manual is designed to assist the user whose primary
responsibility includes programming and operating Kawasaki industrial robots on a daily
basis. AS Language is a computer control language designed specifically for use with
Kawasaki robot controllers. This text provides information on creating programs, run-
ning programs, and editing programs using AS Language commands. AS Language is
relatively easy to learn with many keywords, syntax sequences, and interface com-
mands being intuitive.
AS Language provides the programmer with the ability to precisely define the task a
robot is to perform. Programming the robot with a computer control language (AS) also
provides the ability to integrate peripheral components into the program. Typical com-
ponent interfacing with AS Language programs includes: programmable logic controllers
(PLCs), lasers, weld controllers, gray scale vision, and remote sensing systems.
INTRODUCTION
UX/UT-series
Adjustable between 0.5 mm - 5,000 mm
UZ-series
Adjustable between 0.3 mm - 5,000 mm
JS30/40
Adjustable between 0.15 mm - 5,000 mm
JS5/10
Adjustable between 0.05 mm - 5,0000 mm
JC5/JW5
Adjustable between 0.05 mm - 5,000 mm
INTRODUCTION
Data Editing: Step insertion and deletion, and rewriting of auxiliary and
positional data.
INTRODUCTION
INTRODUCTION
Frequency: 50/60 Hz
OVERVIEW
OVERVIEW
1.0 OVERVIEW
There are three basic modes for the AS Language program to accept commands and
instructions. The types of commands and instructions available for AS Language pro-
gramming will vary according to the mode the system is in. The three modes are de-
scribed below.
1. Monitor Mode: In the AS Language monitor mode, the commands and instructions
available do not become part of a specific program. Monitor commands and instruc-
tions are used to change system parameters and execute selected program instruc-
tions, which affect the status of programs that are currently running or stored in the
system memory.
2. Editor Mode: The editor mode is used to create new programs and modify existing
programs. The editor mode is used to work with specific programs. A set of unique
editor mode commands and instructions are available when programming in this
mode.
3. Playback Mode: When a program is being executed the system is in the playback
mode. In the playback mode, the controller is continuously computing robot motion
control and executing program instructions and is available to enter certain com-
mands and instructions during unoccupied processor time. In this mode, some
monitor commands are available for processing and others are restricted. In the
playback mode, existing programs can be edited and new programs created, how-
ever, the program that is running cannot be modified.
OVERVIEW
AS Language keywords and instructions are identified throughout this manual using
capital letters. The logic for this is to be consistent with the way the AS Language con-
trol program processes keywords and instructions. When programming with AS Lan-
guage, keywords and commands can be entered in either uppercase or lowercase
without causing a syntax error. However, if the keyword or instruction is entered in
lowercase, when it is processed the program will automatically convert it to uppercase.
For example, if the AS Language keyword “random” were entered in lowercase, it would
be accepted and automatically converted and stored as “RANDOM”.
Many AS Language keywords and commands have abbreviations that can be used in
place of the entire word(s). For example, the command EXECUTE can be abbreviated
EX.
OVERVIEW
Monitor commands are entered at the “>” prompt. The acceptable format for individual
monitor commands is identified in unit 4 of this manual. The multi function panel or lap
top display will show the characters as they are selected from the key pad. When the
enter key is pressed the monitor command will be processed by the controller. Depend-
ing on the monitor command processed, the robot could start to move, additional infor-
mation and prompts may be displayed, or another monitor prompt may appear.
Figure 1-1 is an example of how monitor commands appear on the screen. DIR/P is a
command to display the names of the programs stored in the system memory. When
the enter key is pressed, the screen will display the names of the programs. The monitor
command RENAME is used to assign a new name to an existing program. In this ex-
ample, the program sample is being renamed to “samp1”. The DIR/P monitor command
is used again to confirm that the name change occurred.
Dir/p
Programs
arc sample zz pg0
pg1 pg2 pg10 pg555
rename samp1 = sample
Dir/p
Programs
arc samp1 zz pg0
pg1 pg2 pg10 pg555
OVERVIEW
The editor mode is used for creating or modifying specific programs. The example in
figure 1-2 shows the EDIT command with an argument of test. This takes the program-
mer into the editor mode of a program named “test”. The format of the program, as it is
displayed in the editor mode, has a ? and a blank space after each line of code. Editing
is done from the lines that start with the ?s. In this example, at line 3, a command was
given to move the display to show line 6. At line 7 the command was given to return to
the first step of the program.
Edit test
.PROGRAM test()
1 LMOVE aa
1?
2 LMOVE bb
2?
3 JMOVE cc
3? s 6
6 LMOVE dd
6?
7 DEPART 200
7? s
1 LMOVE aa
1?
OVERVIEW
Y
Figure 1-3 Cartesian Coordinate System
OVERVIEW
An easy way to determine the orientation and direction of the base coordinate system is
illustrated by the “left hand rule”, shown in figure 1-4. When using the left hand rule,
orient your left hand so that your arm represents the cables entering the base of the
robot. From this orientation, the middle finger held 90 degrees from the arm points in
the positive X direction. The extended index finger points in the positive Y direction and
the the extended thumb points in the positive Z direction.
+Z
-Z
-Y +Y
-X
+X
OVERVIEW
When a precision location is recorded, the position is represented by the exact position
of the individual robot joints in degrees. When precision points are played back, the
actual joint positions at the time of recording are repeated.
A disadvantage of precision locations is that they are not calculated with respect to the
robot work space as defined by the Cartesian coordinate system. The relocation of
precision locations based on a dimensional shift is not possible because of the way
location information is stored (joint angles). Another disadvantage of precision locations
is that if a tool is installed with a different dimension, all program location points must be
retaught.
Precision points must be assigned names to identify them as precision point location
variables. To identify a location as a precision point, a “#” is entered before the location
name. For example, “#weld” identifies a precision point location named weld. Names of
location variables must start with a alphabetic character and can contain only numbers,
letters, periods, and underlines. Location names are limited to fifteen characters in
length. AS Language commands and keywords cannot be used as location names.
Care must be taken when assigning names to location variables to ensure that the
name has not been previously used for another variable.
A transformation location is the location of the TCP (origin of the tool coordinate system)
relative to the origin of the base coordinate system. The TCP location is defined by base
coordinates X,Y, and Z. The orientation of the tool coordiante system is defined by the
angles O, A, T relative to the base coordiante system.
OVERVIEW
Figure 1-6 illustrates how compound transformation locations are identified relative to
other transformations. The “+” sign is used to create compound transformations by
making the location on the right of the “+” relative to the location on the left of the “+”. In
the example, location “A” has compound transformations A+B, A+C, and A+D defined
relative to it. When location A is moved, A+B, A+C, and A+D are moved to maintain
their positional relationships with A.
OVERVIEW
A+D A+C
A+D A+C
"NEW" A A+B
A A+B
1.3.1 INTEGERS
Integers are numeric values without a fractional part (whole numbers). In AS Language,
acceptable values for integers range from -16,777,216 to +16,777,216. Values which
exceed this range are rounded to seven significant digits. Integers are usually entered
as whole numbers in decimal notation, however, they may also be expressed in binary
or hexadecimal notation. The following are examples of integers:
OVERVIEW
Real numbers have both an integer and fractional part. Like integers, real numbers are
positive, zero, or negative. Real numbers differ from integers in that they can be repre-
sented in scientific notation. In other words, a real number can be represented using an
exponent. The exponent may be either negative (power of 1/10) or positive (power of
10). Real number values are stored with an accuracy of approximately 7 digits.
Logical values have only two states, ON and OFF. These two states are also referred to
as “true” and “false”. True values are stored as -1 and false values are stored as 0. In
order to indicate these two states in AS Language, the reserved words TRUE and
FALSE are defined by the system. For example, if the real variable “abc” is assigned a
logical true value (abc=TRUE), a -1 is stored as the value of “abc”.
The American Standard Code for Information Interchange (ASCII) is a 8 bit code used
to allow keyboards to communicate with computers. Each key is assigned a value that
is recognized by the computer. The apostrophe symbol (‘) is used to identify an ASCII
value. For example, ‘a has a value of 97 and ‘A has a value of 65. Reference the ap-
pendix for a complete list of ASCII values.
Expressions used in AS Language are described and defined using arithmetic, rela-
tional, logical, and binary operators. In most aplications, a numeric operator is used with
two numeric values to produce a result or “answer”. The two numerical operators, NOT
and COM, require a single numeric value only. The numerical operators are described
in table 1-1.
The relational operator “==” is the symbol for a mathematical equal, while the “=” is an
assignment symbol. Logical operators are not used for calculating numeric values, but
for determining the logical state (TRUE, -1 or FALSE, 0) of a conditional expression.
OVERVIEW
+ Addition
_ Subtraction
* Multiplication
Arithmetic Operators
/ Division
^ Power (exponential)
MOD Remainder
== Equal To
Relational Operators
<> Not Equal To
BOR Binary OR
Binary Operators
BXOR Binary XOR
OVERVIEW
The order in which numeric operations are calculated is determined by a set of priorities.
However, programmers can change the order by placing operations to be performed first
in parentheses. When operations that include parentheses are calculated, the operation
inside the parentheses is evaluated first, and then the evaluation continues outward in
sequence. Inside the parentheses, or when no parentheses exist, numeric operations
are evaluated in the following order:
Real variables are used in AS Language to assign a numerical value to a variable name.
The “=” symbol is used to assign the value on the right hand side of the expression to
the variable on the left hand side. For example, the expression “hold = 73” will assign
the integer value of 73 to the real variable “hold”. A variable is defined automatically the
first time it is assigned a value. Until then, the variable is undefined and using an unde-
fined variable will result in an error.
OVERVIEW
The numeric value on the right hand side of the = may be a constant, an existing vari-
able, or a numeric expression. When an assignment instruction is processed, the value
on the right hand side is first computed, then the value is assigned to the variable on the
left side. For example, the assignment “space = 12 + 5” assigns the value 17 to the real
variable “space”. If a real variable named “space” was already in memory, the new value
of 17 would replace the old value.
The = symbol used to assign values to real variables is not a mathematical equal sign.
In AS Language, the expression x = x+1 would assign a value to x that was increased
by 1 each time the expression was evaluated. In a mathematical calculation, the expres-
sion x = x+1 would not be acceptable because it violates the mathematical principle of
commutative properties.
Real variable names must start with an alphabetical character and can contain only
letters, numbers, periods, and underscore characters. The characters used for real
variable names can be entered in either uppercase or lowercase, however, they are
always displayed in lowercase. The length of a real variable name can be up to 15
characters. AS Language commands and keywords cannot be used as names of real
variables. When assigning real variable names care should be taken to ensure that the
selected name is not already defined and used in another program. Once a real vari-
able has be defined it is available to all programs in the system. Therefore, changing the
value of a real variable may inadvertently effect other programs.
The string variable information available for use in the AS Language system is a string
of ASCII characters enclosed by quotation marks “ ”. Since the quotation marks indi-
cate the beginning and end of a character string, they cannot be used in a string. ASCII
control characters (CTRL, CR, and LF) cannot be used in a string either. For example, a
command for printing would be entered as:
Character strings can also be defined by using the assignment instruction =. String
variables are identified by a $ preceding the string variable name. The format for assign-
ing a character string variable is :
OVERVIEW
When an assignment instruction for a string variable is processed, the value on the right
side is first computed, then the value is assigned to the variable on the left side. The
value on the right side may be a constant, a string variable, a string expression, or a
numeric expression. If the variable on the left side has never been used, it is defined
automatically, and if it has already been used, its old value is lost and a new value
assigned. For example:
$Name = $First + $Next String variables $First and $Next are assigned
to the string variable $Name.
In the above example, the string variable $Name is assigned the sum of $First and
$Last. When the command to PRINT the character string $Name is entered, the display
will return: Kawasaki Robotics.
An array is a group of values that share a single name. Each value in an array is called
an element of the array. An element of a location array is specified in exactly the same
way as an element of a numeric array by appending an index enclosed in brackets to the
array name. A program example using an array variable is shown below:
PROGRAM OUTPUT
In the above example, the current location of the robot is defined as “edge”. The DE-
COMPOSE instruction extracts the location component values (1 through 6) of “edge”.
The program instructions between the FOR and END statement will be executed six
times, while the TYPE instruction will display the location component values of “edge”
individually.
SAFETY
SAFETY
2.0 SAFETY
2.1 INTRODUCTION
The following safety sections in this text are designed to support and augment existing
safety guidelines that may be in use in your plant, and/or are provided by municipal,
state, or federal governments, but are NOT designed to supplant or supersede any
existing rules, regulations, or guidelines that may be in use. Because safety is the
primary responsibility of the user, owner, and/or employer, Kawasaki recommends that
specific safety guidelines and recommendations be adopted from groups or individuals
that are professionals in safety design and implementation.
Two recommended sources for national and federal safety laws and regulations include:
All safety related issues and descriptions, either presented in written or oral form from
any representative of Kawasaki Robotics (USA), Inc., are intended to provide general
safety precautions and procedures and, therefore, are not intended to provide all safety
measures necessary for the protection of all personnel in the work environment.
Kawasaki robots are considered safe for use in industrial environments when all safety
guidelines are adhered to. Adherence to the safety guidelines for safe robot operation
and the protection of personnel and equipment is the responsibility of the end user.
SAFETY
The following symbol is present in all Kawasaki Robotics (USA), Inc. documentation to
signify to the user that proper guidelines, as set forth in the text, are designed to provide
pertinent information for the protection of personnel:
! WARNING
This warning symbology is used in all Kawasaki Robot-
ics (USA), Inc. documentation to identify processes or
procedures, that if not followed properly, may result in
serious injury or death to personnel.
The following symbol is present in all Kawasaki Robotics (USA), Inc. documentation to
signify to the user that proper guidelines as set forth, are designed to provide pertinent
information for the protection of robotic related equipment:
! CAUTION
This caution symbology is used in all Kawasaki Robot-
ics (USA), Inc. documentation to identify processes or
procedures, that if not followed properly, may result in
damage to robotic or peripheral equipment.
SAFETY
• Personal safety
Safety procedures must be an integral part of operational procedures for the operator,
programmer, and maintenance person. These procedures must be followed explicitly
and on a regular basis. If consistent safety procedures are followed on a daily basis,
they should become a regular part of everyday operational procedures which are de-
signed to protect the user. Some guidelines are presented in brief in the following sec-
tion:
• Before operating or maintaining the robot or robot controller, be sure you fully un-
derstand and comprehend all maintenance, operating, and programming proce-
dures, and ensure that all safety related precautions are taken and complied with
before these procedures are attempted.
• Avoid wearing loose clothing, scarves, wrist watches, rings, and jewelry when work-
ing on the controller and robot. It is also recommended that if ties must be worn in
your shop environment that they be the clip-on variety rather than tied ties.
• Always wear safety glasses or goggles and approved safety shoes for your shop
conditions. Follow all applicable OSHA, NIOSHA, MHSA, local, state, federal, and
plant safety specifications and procedures.
• Know the entire work cell or area that the robot occupies.
• Be aware of the entire work envelope of the robot and any peripheral devices.
• Avoid trap points in which personnel could become trapped between a moving
device and any stationary devices.
SAFETY
• Personnel should never enter the work envelope during automatic operations.
• Ensure that all personnel are clear of the work envelope before initiating any motion
commands for the robot.
• Before initiating any motion commands, KNOW beforehand how the robot will per-
form when that command is given.
• Be sure that the entire work area is free of any debris, tools, fixturing, lubricants,
and cleaning equipment before operation of the robot is attempted.
• All personnel should identify by name and function all switches, indicators, and
control signals that could initiate robot motion.
• Never defeat, render useless, jumper out, or bypass any safety related device,
whether mechanical or electrical in design.
• All safety devices approved for use in your plant must be properly installed and
maintained to ensure personnel safety.
• NEVER attempt to stop or brake the robot during operation with your body or per-
son.
SAFETY
• During operation of the robot, identify the maximum reach of the robot in all direc-
tions, which is referred to as the work envelope.
• Always keep your work area clean and free of any debris which includes, but is not
limited to, oil, water, tool, fixturing, electronic test equipment, etc.
• During operations that involve the teach pendant, the only person allowed in the
work envelope is the teacher, or the person operating the teach pendant. The teach
pendant has provisions to protect the operator. These safety provisions include an
E-stop, trigger switch, and deadman switch.
• During the teach operation of the robot always have a path of retreat planned.
SAFETY
• During operation of the robot, be sure you are able to identify the maximum reach of
the robot in all directions, which is referred to as the work envelope.
• During teach operations the only person allowed in the work envelope is the
teacher, or the person operating the teach pendant. The teach pendant has provi-
sions to protect the operator including E-stop, trigger switch, and deadman switch.
• During point-to-point playback operations, be aware that the robot is only cognizant
of its present location and the next point it is requested to move to. It will execute
this move with total disregard to what may lie in its path when the move is executed.
• Playback accuracy and speed can affect the geometry of the path coordinates.
Therefore, when changing accuracy or speed, always test run the program at a slow
speed or point-to-point mode before attempting the continuous path operation in the
repeat mode.
• ALWAYS test run a new path program at a reduced speed or in point-to-point mode
prior to attempting a high-speed playback operation in the repeat mode.
SAFETY
Before entering the work envelope to perform either inspection or maintenance proce-
dures, turn off three-phase power on the disconnect and tag and lockout the disconnect
switch.
! WARNING
The input side (top) of the controller disconnect may still
be live when the controller disconnect is turned OFF. If
work is to be performed at the controller disconnect
switch, turn OFF the three-phase power at the source,
and tag and lockout the source disconnect.
• When removing an axis motor, be aware that the axis will fall if left unsupported.
The brake assembly is in the servo drive motor, therefore, the axis of the robot will
be unsupported if removed.
• When using the axis brake release switches in the controller, be aware that the axis
may fall if left unsupported.
• Before working on pneumatic or high pressure water supplies, turn off supply pres-
sure and purge all lines to remove any residual pressure.
• Consult all available documentation before attempting any repair or service proce-
dures.
• Before attempting to adjust or repair a device in the robot controller that may have
yellow interlock control circuit wires attached, locate the source of the power and
remove it by disconnecting the appropriate disconnect at its source.
SAFETY
To safeguard the user, the Kawasaki robot system is equipped with many safety fea-
tures. Some of these safety items include:
• The teach pendant, and optional interface panel are all equipped with red mush-
room-type non-detented E-stop push buttons. Standard equipped AD controllers
include an additional E-stop on the operator interface panel.
• Teach velocities and check mode velocities are limited to a maximum of 250 mm/
sec (9.84 in/sec).
• The JT1 (R-axis) is equipped with overtravel limit switches (EH and U-series me-
chanical units only).
• All J-series mechanical units have overtravel hardstops on JT1 and JT2. All U-
series mechanical units have overtravel hardstops on the JT1, JT2, JT3, and JT5
axes.
• All robot axes are monitored by the robot controller for velocity and deviation errors.
• All robot axes are equipped with 24 VDC electromechanical brakes. Should the
robot lose line power, the robot arm will not drop because the brakes are engaged
when power is off at the robot controller.
This unit provides the power ON/OFF procedures for the robot controller and servo
motors. Refer to figures 3-1 through 3-7 during these procedures.
1. Ensure that all personal are clear of the work cell and that all safety devices are in
place and operational.
3. Place the controller main disconnect switch in the ON position. At this time the
CONTROL POWER indicator lamp illuminates.
1. Turn the HOLD/RUN switch to the HOLD position; the robot decelerates to a stop
and the MOTOR POWER lamp turns off.
2. Press the EMERGENCY STOP switch. At this time the CYCLE START lamp turns
off.
Control Powe
Indicato
Main Disconne
Switch
ON OFF
TEACH LOCK
EMERGENCY STOP
HOST
MFP
AC115V 1A
Control
Power
Indicator
ON OFF
TEACH LOCK
EMERGENCY STOP
HOST
Disconnect MFP
AC115V 1A
Switch
Control
Power
Indicator
EMERGENCY STOP
CONTROL ERROR ERROR RESET HOLD RUN TEACH REPEAT CYCLE START MOTOR POWER EMERGENCY STOP
POWER
HOUR METER
1. Place the TEACH LOCK switch on the multi function panel in the OFF position.
3. Press the MOTOR POWER push button. The MOTOR POWER lamp will illuminate.
2. Place the TEACH LOCK switch on the multi function panel in the ON position.
3. At the BLOCK TEACHING screen, press and hold one of the trigger (deadman)
switches and press the MOTOR POWER push button. At this time the MOTOR
POWER lamp will illuminate.
Emergency Stop
Switch Teach Lock
ON OFF
TEACH LOC
Trigger (Deadman
Switches
One of three methods can be used to stop robot motion. Each of these methods is
described in the following sections.
When the EMERGENCY STOP switch is pressed, motor power will be turned off and
the brakes will be applied stopping the robot immediately. This places very high loads
upon the robot and is only recommended for emergency situations. To stop the robot
during non-emergency situations refer to section 3.3.2, HOLD/RUN SWITCH.
When the HOLD/RUN switch is turned to the HOLD position the robot will decelerate
smoothly to a stop and the brakes will be applied. This places the robot into a tempo-
rary stop condition. The motor power lamp turns OFF and the CYCLE START lamp
remains ON. When the HOLD/RUN switch is again turned to the RUN position the robot
will continue the motion it had been executing prior to HOLD. To create a permanent
stop condition, press the EMERGENCY STOP switch or turn the TEACH/REPEAT switch
to the TEACH position (the CYCLE START and MOTOR POWER indicator lamps will
turn off in either case).
When the TEACH/REPEAT switch is turned to the TEACH position motor power will be
turned off and the brakes will be applied stopping the robot immediately. This places
very high loads upon the robot and is only recommended for emergency situations. To
stop the robot during non-emergency situations refer to section 3.3.2, HOLD/RUN
SWITCH.
AS LANGUAGE COMMANDS
AS LANGUAGE COMMANDS
AS LANGUAGE COMMANDS
AS LANGUAGE COMMANDS
The following terminal control commands enable the programmer to control the display
of output information. These commands are also known as “control characters”. To use
these control characters, hold down the CRTL key while the character key is pressed.
Character keys can be either in uppercase or in lowercase. Unlike other AS Language
commands, the ENTER key does not need to be pressed for the command to process.
The following terminal control commands are available for AS Language programming:
CTRL C This command cancels the current input line. However, it cannot be used
to terminate the program that is currently being executed. This command is
similar to pressing the EXIT key on the multi function panel.
CTRL L This command enables the contents of the line of code previously entered
to appear on the current input line. This operation can be used up to four
times to recover previously entered data.
CTRL N The CTRL N command is used in conjunction with the CTRL L command.
The CTRL N command changes the contents of the current input line to the
next one in the history of command inputs after the CTRL L command was
used. This operation is only effective after CTRL L is pressed more than
once.
CTRL S Stops the scrolling of output information being displayed. This command is
used to confirm output information. Output resumes when CTRL Q is en-
tered.
AS LANGUAGE COMMANDS
The editing commands are used to edit, modify, and change locations within existing
programs. New programs can also be created. To access the editing commands, the
EDIT command must be used to display a program.
The format for the EDIT command is: EDIT program name, step. EDIT is the keyword
that is recognized by the processor. The optional arguments for the EDIT command are
program name, step.
Program name is the name of the program to be edited. If that program does not exist, a
new program with that name will be created. If a program name is not specified, the last
program edited will be displayed.
The optional step number is the point in the program at which editing is to begin. If the
program being edited was not the last program edited and step is not specified, editing
will start at the first step of the program. If the program was the last edited and step is not
specified, editing will begin at the last step edited. If an error occurred during the last
program run, the step where the error occurred will be selected.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7?
The example in figure 4-1 shows the EDIT command used at the monitor prompt ($), the
program to be edited is named “test” and editing is to begin at step 5.
AS LANGUAGE COMMANDS
The format for the STEP command (abbreviated S) is: STEP step number. STEP is the
keyword that is recognized by the processor and the step number is an optional argu-
ment.
The step number is the number of the step to be edited. If the step number is not speci-
fied, the first step of the program will be selected. If the step number is greater than the
number of steps in the program, a new step following the last recorded step in the pro-
gram is selected.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7? S 123
123 JMOVE weld3
123$
124 JMOVE weld4
124?s
1 HOME
1?
In the example shown in figure 4-2, the STEP command is used to advance the editing
display to step 123, the STEP command is used at step 125 of the program without a
step number designation and the display moves to the first step of the program.
The format for the PRINT command (abbreviated P)is: PRINT step count. PRINT is the
keyword recognized by the processor; step count is an optional argument.
The PRINT command does not output information to a printer but displays program steps
consecutively without the edit (?) prompt. The step count is the number of steps to be
displayed starting from the current step. If the step count is not specified, only one
step will be displayed. The PRINT command makes it possible to view more program
steps at one time.
AS LANGUAGE COMMANDS
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7? PRINT 4
7 SPEED 50 always
8 JMOVE pounce
9 LMOVE begin
10 LAPPRO pickup
11 LMOVE pickup
11?
12 LDEPART
12?
In the example shown in figure 4-3, the PRINT command, with a step count of 4, is
used at step 7 to display steps 7, 8, 9, and 10 without the ? prompt.
The LAST command (abbreviated L) is used to display the previous step of the program
for editing. The abbreviation for the LAST command is L. When the LAST command is
used, the current step is not affected.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7? L
6 JMOVE CC
6?
AS LANGUAGE COMMANDS
The INSERT command (abbreviated I)is used to insert lines of code between existing
steps. The INSERT command is used at the step number where the new lines will be
inserted above. All of the steps after the inserted steps are renumbered to reflect the
insertion of new steps.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7? INSERT
7I JMOVE weld1
8I JMOVE weld2
9I JMOVE weld3
10I
10 SPEED 50 always
10?
In the example shown in figure 4-5, three steps were inserted before step 7. Step 7
became step 10 after the steps were inserted and any steps greater than 7 will be re-
numbered accordingly. To stop inserting steps, the ENTER key is pressed at a step with
the I prompt (step 10 in this example).
The format of the DELETE command (abbreviated D) is: DELETE step count. DELETE
is the keyword recognized by the processor and the optional argument step count is the
number of steps to be deleted, starting with the current step. If the step count is not
specified, only the current step will be deleted. Program steps after the deleted steps will
be renumbered. Figure 4-6 shows an example of the DELETE command.
AS LANGUAGE COMMANDS
In the example shown in figure 4-6, the DELETE 3 instruction is ENTERED at step 7.
Steps 7, 8, and 9 are deleted and the previous step 10 is renumbered to be step 7.
The format for the FIND command (abbreviated F) is: FIND character string. FIND is
the keyword recognized by the processor and character string is the group of characters
to be located. The FIND command searches the current program, from the current step to
the end of the program, for the specified character string and displays the first step that
includes that string.
AS LANGUAGE COMMANDS
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7?
8 JMOVE weld1
8?
9 JMOVE weld2
9? FIND xyz
163 JMOVE xyz
163
In the example shown in figure 4-7, the FIND xyz instruction is entered at step 9. The
processor searches the program “test” for the character string that includes “xyz” and
displays the first occurance, step 163 in this example.
The format for the MODIFY command (abbreviated M) is: MODIFY/existing characters/
new characters. MODIFY is the keyword recognized by the processor and the abbre-
viation for the MODIFY command is M. This command is useful when it is not convenient
to retype an entire line of the program. The MODIFY command identifies characters in
the current step and replaces them with the characters specified to the right of the sec-
ond /.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 POINT pounce = SHIFT(s_cart.frame+star BY 0,0,clearance)
6? M/star/start
6 POINT pounce = SHIFT(s_cart.frame+start BY 0,0,clearance)
6?
In the example shown in figure 4-8, the MODIFY/star/start instruction is entered at step 6.
The existing characters “star” in step 6 are replaced with the new characters “start”.
AS LANGUAGE COMMANDS
To replace an entire line of a program, type in the new line at the ? prompt and when the
ENTER key is pressed the existing line will be overwritten. This procedure eliminates
the need to DELETE and INSERT when a step is replaced.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 POINT pounce = SHIFT(s_cart.frame+star BY 0,0,clearance)
6? O
6 POINT pounce = SHIFT(s_cart.frame+start BY 0,0,clearance)
6 POINT pounce = SHIFT(s_cart.frame+start BY 0,0,clearance)
6?
In the example shown in figure 4-9, the OVER command is used in step 6. After the O
is entered, line 6 of the program is displayed again. The arrow keys are used to move
the cursor to the point in the line where editing is to be performed. The BS key can be
used to remove characters.
The format for the REPLACE command (abbreviated R) is: REPLACE new characters.
REPLACE is the keyword recognized by the processor. The abbreviation for the RE-
PLACE command is R. This command is used to replace existing characters of a pro-
gram step with new characters. Figure 4-10 shows an example of the REPLACE com-
mand.
AS LANGUAGE COMMANDS
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7? R 75
7 SPEED 75 always
7?
8 JMOVE weld1
8?
In the example shown in figure 4-10, the space bar is used to place the cursor under
the characters to be replaced, a R is typed followed by a space and the new characters.
The revised line is a shown again followed by the ? prompt.
The format for the CHANGE command (abbreviated C) is: CHANGE program name,
step number. The CHANGE command is used to move from editing one program to
another. If no step number is specified, the first step of the program will be available.
This command is useful when programs call subroutine programs that also need editing.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6? C tested,37
.PROGRAM tested()
37 JMOVE weld1
37?
38 JMOVE weld2
38?
In the example shown in figure 4-11, the instruction “CHANGE tested,37” is entered at
step 6 of the program “test”. The display will change to show step 37 of the program
“tested”.
AS LANGUAGE COMMANDS
The EXIT command is used to exit the editor mode and return to the monitor mode. The
abbreviation for the EXIT command is E.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6? E
$
4.2.13 XD COMMAND
The format for the XD command is: XD number of lines. The XD command is used to
remove (cut) a specified number of lines form the program being edited and store them in
a paste buffer. To use the XD command, move the cursor to the first line of the program to
be removed to the paste buffer and enter XD and the number of lines that are to be cut
and then press ENTER. The current line and all subsequent lines specified will be
placed in the paste buffer and the program steps will be renumbered accordingly. The
contents of the paste buffer are overwritten whenever a new item is placed in the paste
buffer.
4.2.14 XY COMMAND
The format for the XY command is: XY number of lines. The XY command is used to
copy a specified number of lines form the program being edited and store them in a
paste buffer. To use the XY command, move the cursor to the first line of the program to
be copied and enter XY and the number of lines that are to be copied and then press
ENTER. The current line and all subsequent lines specified will be copied to the paste
buffer. The program steps of the program being edited will not be affected by the XY
command.
4.2.15 XP COMMAND
The XP command is used to place the contents of the paste buffer into the program
being edited. The steps in the paste buffer will be placed into the program ahead of the
step number where the XP command was used. Program steps will be renumbered to
reflect the additional steps.
AS LANGUAGE COMMANDS
4.2.16 XQ COMMAND
The XQ command is used to place the contents of the paste buffer into the program
being edited. The steps in the paste buffer will be placed into the program ahead of the
step number where the XQ command was used. The XQ command places the steps in
the paste buffer into the program in reverse order. Program steps will be renumbered to
reflect the additional steps.
4.2.17 XS COMMAND
The XS command is used to display the contents of the paste buffer. Figure 4-13 shows
an example of the XS command. The XS command at step 6 shows the three steps
currently in the paste buffer.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6? XS
- - - Paste Buffer - - -
[1]> JMOVE #a
[2]> JMOVE #b
[3]> JMOVE #c
6 JMOVE cc
6?
The data control commands allow the programer to access program and variable data in
the system memory. Data can be viewed in many formats, deleted, transferred, or copied
using data control commands.
AS LANGUAGE COMMANDS
The DIRECTORY commands are used to view programming data in the system memory.
There are a number of ways the DIRECTORY commands can be used to access the
desired information in the most usable form.
The DIRECTORY command displays the names of all programs and variables residing
in the system memory. The abbreviation for the DIRECTORY command is DIR. If a
program name is entered after the DIR command, only the location, real, and string
variables used in that program will be listed. If the program specified contains subrou-
tines, the names of the subroutine programs and their location, real, and string variable
names will be displayed. If a program name is not specified when using the DIR com-
mand, all program names, location names, real variable names, and string variable
names will be listed. The screen will stop at the end of each page until the spacebar is
pressed and will continue to do so until all names have been listed. Pressing the EN-
TER key will stop the listing.
The asterisk “*” is a wildcard character used to represent any character. It can be used
with all program and data control commands except the RENAME command. The ex-
ample shown in figure 4-14 illustrates how the asterisk can be used to display specific
information. In the example, when DIR s* is typed, all programs beginning with “s” will be
listed. In addition, all subroutine programs called by the selected programs will also be
listed. All location, real, and string variable names used in the selected programs will
also be displayed.
$DIRECTORY s*
Program
alternate body_side pg01 sample01 sample02 sealing01 sealing 02 sealing03
side1 side2 side_welds
Location
a_pillar b_piller c_piller spot1 spot2 spot3 spot4 spot5
spot6 spot7 spot8
#a1 #a2 #b1 #b2 #c1 #c2 #weld1
Real
bundel consign d_count fixt frmoffset hopper_cnt st1 vr4
vr5 vr7 wwf
Sting
$count $ohl $pwr
AS LANGUAGE COMMANDS
The DIRECTORY/P command is used to display the names of all programs in the sys-
tem memory. Only the names of the programs will be displayed with this command. In
the example shown in figure 4-15, the names of eight programs are displayed.
$DIRECTORY/P
Program
alternate body_l body_r body_side get_pt pg01 pg02 pg03
sample01 sample02 sealing01 sealing 02 sealing03 side1 side2 side_welds
xshift
The DIRECTORY/L command is used to display the names of all location variables in
the system memory. Only the names of the location variables will be displayed with this
command. In the example shown in figure 4-16, the names of eight location variables
are displayed.
$DIRECTORY/L
Location
a_pillar b_piller c_piller door1 door2 door3 hrdtop1 spot1
spot2 spot3 spot4 spot5 spot6 spot7 spot8
#a1 #a2 #b1 #b2 #c1 #c2 #weld1
The DIRECTORY/R command is used to display the names of all real variables in the
system memory. Only the names of the real variables will be displayed with this com-
mand. In the example shown in figure 4-17, the names of nine real variables are dis-
played.
$DIRECTORY/R
Real
bundel consign d_count d_count1 fixt fixt1 fixt2 frmoffset
hopper_cnt st1 vr1 vr2 vr4 vr5 vr7 wwf
AS LANGUAGE COMMANDS
The DIRECTORY/S command is used to display the names of all string variables in the
system memory. Only the names of the string variables will be displayed with this com-
mand. In the example shown in figure 4-18, the names of three string variables are
displayed.
$DIRECTORY/S
Sting
$count $drops $field $goals $ohl $pwr $qulity $stamp
$trips
The LIST commands are used to view programming data and values in the system
memory. There a number of ways the LIST commands can be used to access the de-
sired information in the most usable form. The LIST commands display more information
than the DIRECTORY commands.
The LIST command displays the program steps and the values of variables residing in
memory. When the LIST command is followed by a program name, the program steps,
real variables and their values, location variables and their values, and string variables
will be displayed. If a name is not specified when using the LIST command, all pro-
grams and their steps, location names and values, real variable names and their values,
and string variable names will be listed. The display will pause when the screen is full.
Pressing the spacebar will bring up the next screen full of information until all informa-
tion has been displayed.
AS LANGUAGE COMMANDS
The LIST/P command is used to display the names and steps of all programs in the
system memory. If a program name is entered after the LIST command, only the program
steps for that program will be displayed. In the example shown in figure 4-19, the LIST/P
test command was used to display all of the steps in the program “test”.
$LIST/P test
.PROGRAM TEST()
1 count = 0
2 parts_max = 75
3 SPEED 85 ALWAYS
4 ACCURACY 10 ALWAYS
5 JAPPRO pick
6 LMOVE pick
7 CLOSE
8 LDEPART
9 JMOVE place
10 OPEN
.END
The LIST/L command is used to display the names and values of all location variables in
the system memory. The location names and XYZ dimensions/OAT angles of all location
variables will be displayed with this command. In the example shown in figure 4-20, the
command LIST/L part* was used to display all location names and values containing the
character string “part”.
$LIST/L part*
Location
part1 -130.35 390.49 378.91 155.67 93.11 -28.94
part2 137.82 582.62 981.07 -33.21 187.51 261.14
part3 492.44 -390.12 236.72 91.29 101.28 47.89
AS LANGUAGE COMMANDS
The LIST/R command is used to display the names and values of all real variables in the
system memory. The real variable names and values of all real variables will be dis-
played with this command. In the example shown in figure 4-21, the command LIST/R r*
was used to display the value of real variables that begin with r.
$LIST/R r*
Real
r1 = 100, r2 = 347, r3 = 582.1, r4 = 0.0
The LIST/S command is used to display the string variables and the character strings
assigned to them in the system memory. In the example shown in figure 4-22, the com-
mand LIST/S was used to display all of the string variables and the character strings
assigned to them.
$LIST/S
String
$count = “Number of parts processed”
$name = “Kawasaki Robotics Inc.”
The DELETE commands are used to delete programming data and values in the system
memory. There a number of ways the DELETE commands can be used to delete desired
information in the most efficent manner.
The format for the DELETE command is: DELETE program name. The DELETE com-
mand is used to delete specified program(s). The name of the program to be deleted is
entered after the DELETE command. In addition to deleting the specified program,
location variables, real variables, and string variables unique to the specified program
will be deleted from the system memory. When a program is deleted in this manner, all
steps of the named program will be deleted along with all location variables, real vari-
ables, and string variables unique to the specified program. Any subroutine program(s)
will also be deleted unless the subroutine is used by a second program. If the subroutine
is called by another program, it will not be deleted.
AS LANGUAGE COMMANDS
For example, to delete all programs starting with the letter “s”, DEL s* is typed. All
programs starting with the letter “s” will be deleted, including all subroutines starting with
“s” (if they are not subroutines of other programs also). All variables unique to the
program(s) being deleted will also be deleted.
The format for the DELETE/P command is: DELETE/P program name. The DELETE/P
command is used to delete a specified program name and all of its steps from system
memory. The program name to be deleted is entered after the DELETE/P command.
For example: the instruction DELETE/P pg100, will remove the program name and all
steps of program pg100 from the system memory. The location, real, and string variables
used in pg100 will not be removed from the system memory. Any subroutines that were
used by pg100 will not be deleted.
The format for the DELETE/L command is: DELETE/L location variable name. The
DELETE/L command is used to delete specific location variables from the system
memory. The location variable name to be deleted is entered after the DELETE/L com-
mand.
For example: the instruction DELETE/L weld1, will remove the location variable weld1,
and its components, from the system memory.
The format for the DELETE/R command is: DELETE/R real variable name. The DE-
LETE/R command is used to delete specific real variables from the system memory. The
real variable name to be deleted is entered after the DELETE/P command.
For example: the instruction DELETE/R row.max, will remove the real variable row.max
and its assigned value from the system memory.
The format for the DELETE/S command is: DELETE/S string variable name. The
DELETE/S command is used to delete specific string variables from the system memory.
The string variable name to be deleted is entered after the DELETE/P command.
For example: the instruction DELETE/S $title_words, will remove the string variable
$title_words, and its assigned characters, from the system memory.
AS LANGUAGE COMMANDS
The format for the RENAME command is: RENAME new program name=old program
name. The RENAME command assigns a new program name to an old program name.
The original program name will be replaced and will no longer be in the system memory.
If the new program name is already in the system memory, the RENAME operation will
be aborted and an error message displayed.
The example shown in figure 4-23 uses the instruction RENAME samp1=sample. The
DIR/P command is used after the program “sample” was renamed to display the program
names in the system memory.
$DIRECTORY/P
Program
alternate body_l body_r body_side get_pt pg01 pg02 pg03
sample sample02 sealing01 sealing 02 sealing03 side1 side2 side_welds
$RENAME samp1=sample
$DIRECTORY/P
Program
alternate body_l body_r body_side get_pt pg01 pg02 pg03
samp1 sample02 sealing01 sealing 02 sealing03 side1 side2 side_welds
The format for the XFER command is: XFER new program, start step=old program,
start step, number of steps. XFER is the keyword recognized by the processor. The
XFER command copies steps from one program to another (or within the same program)
and inserts them before the specified start step. The old program steps will not be re-
placed or deleted by this command.
In the example shown in figure 4-24, the instruction XFER pg01,2 = pg02,5,4 will copy 4
steps of program pg02 starting at step 5 into program pg01 starting at step 2. Program
pg02 will not be changed by this operation.
AS LANGUAGE COMMANDS
BEFORE AFTER
pg01 pg02 pg01
The format for the COPY command is: COPY destination program name = source
program name + source program name. The COPY command is used to copy a
complete program or programs to a new program. Only one source program needs to be
identified with the COPY command, however, additional programs can be specified to
combine more than one program. The name used for the destination program cannot be
an existing program.
The FORMAT command is used to format the memory storage medium of floppy disks or
PC SRAM memory cards. The processor cannot send data to unformatted diskettes or
PC cards. When the FORMAT command is used, all data currently stored on the dis-
kette or PC card will be deleted. To use the FORMAT command, insert a disk or PC card
in the multi function panel (or disk drive of lap top computer) and type FORMAT at the >
prompt. When ENTER is pressed, the display will return with the prompt “Are you sure
(Yes:1,No:0):”. Enter a response of 1 to execute the FORMAT command or 0 to return to
the monitor prompt.
AS LANGUAGE COMMANDS
The FDIRECTORY command displays information about the files stored on a diskette or
PC card. The name of the file is listed first, followed by the file extension. The exten-
sions indicate the type of file: .AS (system), .PG (programs), .LC (location variables), .RV
(real variables), .ST (string variables), .SY (system data), and .EL (error log). The DI-
RECTORY command also displays the size of the file (in bytes), and the date and time
the file was created. Figure 4-25 shows an example of the display after the
FDIRECTORY command was entered.
$FDIRECTORY
File01.AS 22108 98-01-27 09:51
File02.AS 13678 98-01-25 09:59
LDoor.PG 16104 98-01-18 11:53
Hood.PG 14352 98-01-18 11:16
Spots.LC 5897 97-10-25 14:21
The SAVE commands are used to save controller system data on a floppy disk or PC
card. There are a number of ways the SAVE commands can be used to store the desired
system information in the most usable form.
The format for the SAVE command is: SAVE file name = program name. SAVE is the
keyword recognized by the processor. The argument program name is optional to indi-
cate specific program(s) to be saved.
AS LANGUAGE COMMANDS
If the file name specified already exists on the diskette or PC card, the file extension will
be modified. A “B” (for backup) will be added as the first character on the extension of
the existing file. For example, if a file named TEST.AS. exists on disk, and a file name is
specified using the same name (TEST.AS), the existing file will be renamed TEST.BAS
and the new file TEST.AS will be created. Only one backup version is saved with this
process, if another file named TEST.AS is saved, the earliest version of the file will be
overwritten. This process applies to all file extensions.
Foresight must be used when creating files. Careful selection of file names and the type
of information contained in the files is important. File management will affect the usabil-
ity of the stored information to recover from system problems. Only file name(s) can be
selected when information is transferred from diskette or PC card to the processor.
The format for the SAVE/P command is: SAVE/P file name = program name. If the
optional argument program name is not specified with the SAVE/P command, all pro-
grams will be saved. An extension of .PG will be added to files saved with this com-
mand.
For example, the instruction >SAVE/P Fender = pg01, weld, pg02 will save programs
pg01, weld, and pg02 in a file named Fender.PG. Location variables, real variables, and
string variables used by these programs will not be saved. Any subroutines that are
called by these programs will not be saved.
The format for the SAVE/L command is: SAVE/L file name = program name. All loca-
tions used by the specified program(s) will be saved in the designated file. If the optional
argument program name is not specified with the SAVE/L command, all location vari-
ables will be saved. An extension of .LC will be added to files saved with this command.
For example, the instruction >SAVE/L Where = pg01, weld, pg02 will save the location
information from programs pg01, weld, and pg02 in a file named Where.LC.
The format for the SAVE/R command is: SAVE/R file name = program name. All real
variables used by the specified program(s) will be saved in the designated file. If the
optional argument program name is not specified with the SAVE/R command, all real
variables will be saved. An extension of .RV will be added to files saved with this com-
mand.
For example, the instruction >SAVE/R Values = pg* will save the real variable informa-
tion from all programs starting with pg in a file named Values.RV.
AS LANGUAGE COMMANDS
The format for the SAVE/S command is: SAVE/S file name = program name. All string
variables used by the specified program(s) will be saved in the designated file. If the
optional argument program name is not specified with the SAVE/S command, all string
variables will be saved. An extension of .ST will be added to files saved with this com-
mand.
For example, the instruction $SAVE/S Messages = pg01, weld, pg02 will save the string
variables from programs pg01, weld, and pg02 in a file named Messages.LC.
The format for the SAVE/SYS command is: SAVE/SYS file name. This command will
save all system information to the specified file name. An extension of .SY will be added
to files saved with this command.
The format for the SAVE/ELOG command is: SAVE/ELOG file name. All error log infor-
mation will be saved to the specified file name. An extension of .EL will be added to files
saved with this command.
The format for the LOAD command is: LOAD file name or LOAD/Q file name. LOAD is
the keyword recognized by the processor.
The LOAD command is used to transfer data from a PC card or floppy disk to the system
memory. The LOAD command will transfer all data stored in a file name to the system
memory. The LOAD/Q command will prompt the user (Load this data? (1:Yes, 0:No,
2:Load all, 3:Exit)) before loading each type of data.
Foresight must be used when loading files to the system memory. An error message will
be displayed if a program in the file being loaded already exists in the memory. The
program in the system memory must be deleted or renamed before the program in the file
can be loaded. However, if a location or real variable being loaded has the same name
as an existing variable, the existing variable will be replaced by the variable in the file
being loaded. For example, the system memory has a real variable named shift_distn
with an assigned value of 317, the file name being loaded has a real variable named
shift_distn with an assigned value of 2,842 the existing value for the variable shift_dist
will be replaced without a message to the operator. Location variables, system settings,
tool dimensions, etc. can also be replaced by this process with no message to the opera-
tor. If an attempt is made to LOAD a program that contains syntax errors, the processor
will display a prompt asking if the line containing the error should be changed to a com-
ment or if loading of the program should be aborted.
AS LANGUAGE COMMANDS
The format for the FDELETE command is: FDELETE file name. The FDELETE com-
mand is used to delete files from a PC card or floppy disk. There is no “recycle bin” or
“undo” function available to recover a file once a FDELETE command has been pro-
cessed. The file extension must be included with the file name. Before the FDELETE
command is processed, the processor will prompt the user to confirm the operation (Are
you sure? (Yes:1, No:0)).
Program control commands are monitor commands that are used to manage program
operation. Program control commands include a number of instructions the programmer
can use to start, stop, and change the speed of programs.
The format for the SPEED command is: SPEED amount. The speed command is used
to set the monitor speed in percentages. The acceptable range for the SPEED command
is from 0.01% to 100%. Monitor speed can be set in increments of 0.01%. The new
speed will not become effective until the robot completes its current step and starts to
process the next robot motion. The actual robot speed is determined by the product of
the monitor speed and the program speed instructions within the program.
Figure 4-26 shows an example of how the SPEED command is used and how the moni-
tor and program speed instructions interact to determine the actual robot speed. In
program pg01, the program speed is 1000 mm/s and the monitor speed is 50, therefore,
the robot actual speed will be 500 mm/s (50% of 1000 mm/s). In program pg02, the
program speed for steps 1 and 3 is SP9 and steps 2 and 4 is SP6, and the monitor
speed is 60, therefore, the robot repeat speed for steps 1 and 3 will be 60% of SP9 and
for steps 2 and 4 will be 60% of SP6.
AS LANGUAGE COMMANDS
The format for the PRIME command is: PRIME program name, execution cycles, step
number. PRIME is the keyword that is recognized by the processor, all of the remaining
arguments are optional.
The PRIME command is used to prepare the system to execute a program. The PRIME
command will not actually cause a program to run. The PRIME command is used to
select the program name to be run and designate the number of execution cycles it will
complete. The step number that program execution is to begin with can also be speci-
fied.
If the program name is omitted, the program currently on the stack is primed. Execution
cycles sets the number of times the program is to be executed. If omitted, one is as-
sumed and the program will run one cycle. If a negative number is entered, the program
will repeat an unlimited number of times. The maximum number allowed is 32,767.
An example of the PRIME command is PRIME prog01,5,3 , which will put prog01 on the
stack. When the CYCLE START button is pushed or the CONTINUE command is typed,
prog01 will be executed five times starting at step 3.
The format for the EXECUTE command is: EXECUTE program name, execution
cycles, step number. EXECUTE is the keyword that is recognized by the processor, all
of the remaining arguments are optional. The EXECUTE command is used to start a
robot control program.
The program name that is entered identifies the program that is to be run. If the program
name is omitted, the program currently on the stack will be executed. Execution cycles
identifies how many times the program is to be run, the maximum number of execution
cycles is 32,767. If execution cycles is omitted, the program will execute one time. If a
negative number is entered for the execution cycles, the program will run continuously.
The step number identifies the number of the step at which program execution is to
begin. If the step number is omitted, program execution will begin at the first step.
AS LANGUAGE COMMANDS
The format for the STEP command is: STEP program name, repeat count, step num-
ber. STEP is the keyword that is recognized by the processor, all of the remaining argu-
ments are optional. The STEP command is used to execute one step of a program.
Program name is the name of the program that contains the step to be executed. If the
program name is omitted, the last executed program will be selected.
Repeat count is the number of times the execution of the program can be repeated with
the STEP command. If the repeat count is omitted, it is defaulted to a setting of 1 and the
user may step through all the steps in the program only once. After the last step is ex-
ecuted, a “program completed” message will be displayed, at which point the STEP
command will be ineffective. In order to continue stepping through the program after the
last step, the user must specify a repeat count greater than 1.
The step number is the number of the program step to be executed. If the step number is
omitted, the next step will be executed. For example, the command STEP pg01,1,5 will
execute step 5 of program pg01 and the repeat count is one. If the command STEP is
entered at this point, step 6 will be executed.
The format for the MSTEP command is: MSTEP program name, repeat count, step
number. MSTEP is the keyword that is recognized by the processor, all of the remaining
arguments are optional. The MSTEP command is used to execute the next motion step
of a program. With the MSTEP command, non-motion steps are executed but the pro-
gram will advance to and execute the next step that causes robot motion.
The program name is the name of the program that contains the step to be executed. If
the program name is omitted, the last executed program will be selected.
Repeat count is the number of times the execution of the program can be repeated with
the STEP command. If the repeat count is omitted, it is defaulted to a setting of 1 and the
user may step through all the steps in the program only once. After the last step is ex-
ecuted, a “program completed” message will be displayed, at which point the step com-
mand will be ineffective. In order to continue stepping through the program after the last
step, the user must specify a repeat count greater than 1.
Step number is the number of the program step to be executed. If the step number is
omitted, the next motion step will be executed. Figure 4-27 shows an example of the
MSTEP command.
AS LANGUAGE COMMANDS
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5? PRINT 5
6 JMOVE cc
7 SPEED 50 always
8 SIGNAL 11
9 SIGNAL -3,-5,-7
10 JMOVE xyz
10?E
$MSTEP
Figure 4-27 shows an example of the MSTEP command. If the program named “test”
was stopped at step 5, and the MSTEP command was entered from the monitor
prompt, the robot would set the speed to 50% (step7), set output 11 to ON (step 8), set
outputs 3, 5, and 7 to OFF (step 9), and move in a joint interpolated path to location
“xyz”. If a STEP command was used in the same example, only the speed would be set
to 50%. The STEP command would need to be entered three more times before the
robot would move to location “xyz”.
The ABORT command is used to stop execution of the robot control program. Program
execution will be terminated after the current step is completed. If the robot is in motion,
it will continue to the next programed location, decelerate, and stop at that point. MOTOR
POWER will remain on and the brakes will not be applied. The CYCLE START light will
not be illuminated. Program execution can be resumed after the ABORT command by
using the CONTINUE or EXECUTE commands.
The HOLD command will stop robot motion faster than the ABORT command. When the
HOLD command is used, deceleration of robot motion will begin at the time that the
HOLD command is entered. The robot will come to a complete stop after deceleration.
The MOTOR POWER and CYCLE START lamps will remain ON. Program execution
can be resumed by after the ABORT command by using the CONTINUE or EXECUTE
commands.
AS LANGUAGE COMMANDS
The format for the CONTINUE command is: CONTINUE next. The argument next is
optional. The CONTINUE command is used to start robot motion after it was terminated
by an error or the PAUSE, ABORT, or HOLD commands. The CONTINUE command
cannot be used to resume programs that completed their assigned cycles or were
stopped with the HALT or KILL commands. The optional argument next is available to
specify that the execution will start after the current step. If the argument next is omitted,
execution will start from the current step.
In the example shown in figure 4-28, after moving to location cc (step 6), the robot is
waiting for signal 1009 (step 7) before it processes any additional steps. When the
CONTINUE next command is entered, the SWAIT instruction is bypassed and the robot
will move to the location “pounce” (step 8) and continue to process the program.
$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5? PRINT 5
6 JMOVE cc
7 SWAIT 1009
8 JMOVE pounce
9 SIGNAL -3,-5,-7
10 JMOVE xyz
10?E
$CONTINUE next
The KILL command is used to remove the current program from active status. The
KILL command can only be used after program execution has been stopped. After the
KILL command has been entered, the display will prompt the programmer to confirm
the action. If the KILL command is confirmed, the program stack will be initialized and
no program name will appear in the status display. The KILL command does not delete
the program.
AS LANGUAGE COMMANDS
4.5.11 DO COMMAND
The format for the DO command is: DO program instruction. The DO command is used
to execute a single program instruction from the monitor prompt. If the instruction is
omitted, the DO command will repeat the last instruction. Generally, program instructions
are processed when a program is executed. However, by using the DO command, an
individual program instruction can be executed without creating a program. For ex-
ample, the monitor instruction DO JMOVE aa will move the robot in joint-interpolated
motion to location “aa”.
The commands used for defining location variables include a number of instructions that
allow the programmer flexibility in defining location variables. Options available for
defining location variables include: the current robot position, a modification to the cur-
rent position, assignment of other locations or their X, Y, Z, O, A, and Z components, and
decomposed elements from existing locations.
The format for the HERE command is: HERE location name. The HERE command
defines the location name as the current robot location. The location variable defined
with the HERE command can be a transformation location, precision location, or a com-
pound transformation location. After the HERE command is entered, the display will
prompt the programmer with the location dimensions, or angles, and a prompt asking the
programmer if they want to change the information. If the displayed information is ac-
ceptable, the ENTER key is pressed to complete the storage of the location information.
If the programmer wishes to change the components, the new information is entered and
the ENTER key pressed.
Precision locations are defined by preceding the location name with a # symbol. Com-
pound transformations are defined by using the + symbol to make the location on the far
right of the expression relative to another location. Figure 4-29 shows an example of
the HERE command.
AS LANGUAGE COMMANDS
$HERE fixt.1
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
-487.8 1272.81 681.40 163.37 -88.97 27.11
CHANGE? (if not hit RETURN only)
,,,,-90
-487.8 1272.81 681.40 163.37 -90.00 27.11
CHANGE? (if not hit RETURN only)
$HERE #fixt.1
JT1 JT2 JT3 JT4 JT5 JT6
-21.12 149.20 30.33 -60.63 71.40 55.65
CHANGE? (if not hit RETURN only)
$HERE dog
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
-1169.21 1254.61 970.75 87.96 91.06 41.08
CHANGE? (if not hit RETURN only)
$HERE dog+cat
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
-186.59 171.53 184.87 -73.69 0.04 73.71
CHANGE? (if not hit RETURN only)
$LIST/L
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
cat -186.59 171.53 184.87 -73.69 0.04 73.71
fixt.1 -487.8 1272.81 681.40 163.37 -90.00 27.11
dog -1169.21 1254.61 970.75 87.96 91.06 41.08
JT1 JT2 JT3 JT4 JT5 JT6
#fixt.1 -21.12 149.20 30.33 -60.63 71.40 55.65
$
In the example shown in figure 4-29, the HERE command is used to define transforma-
tion locations (fixt.1 and dog), a precision point (#fixt.1), and a compound transformation
(dog + cat). The LIST command is also shown to display the stored values for the loca-
tion variable names. The values for the location named “cat” must be used in a com-
pound transformation with the location named “dog”. (A destination out of range error
would be displayed if the robot were instructed to travel to location “cat”.) If the HERE
command defines a location variable name that is already in the system memory, the
existing values will be replaced. Care must be exercised when assigning location
names to avoid inadvertently changing location values that may already be in use.
AS LANGUAGE COMMANDS
The format for the POINT command is: POINT location variable = location value or
precision point value. The POINT command is used to define the location variable on
the left of the assignment sign to have the same value as the location value to the right of
the assignment sign. Location component values are defined with the POINT command
in this manner so that they can be modified and manipulated within the AS Language
program.
$POINT fixt.3
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
1000,1000,1000,,90
1000.0 1000.0 1000.0 0.00 90.00 0.00
CHANGE? (if not hit RETURN only)
$POINT #fixt.2
JT1 JT2 JT3 JT4 JT5 JT6
-21.12 149.20 30.33 -60.63 71.40 55.65
CHANGE? (if not hit RETURN only)
$POINT lstspt = fixt.3
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1000.0 1000.0 1000.0 0.00 90.00 0.00
CHANGE? (if not hit RETURN only)
$POINT lststp
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1000.0 1000.0 1000.0 0.00 90.00 0.00
CHANGE? (if not hit RETURN only)
$
In the example shown in figure 4-30, the location fixt.3 does not currently exist when the
POINT command is used. If the location variable to the left of the assignment sign has
not been defined and the location value on the right is omitted, all component values are
assumed to be zero and zeros are returned with a prompt to change. Values for the
location fixt.3 are added at the change prompt. The precision point named #fixt.2 is in
the system memory and the POINT command returns its location values. In the next step
of the example, the location variable named “lststp” has the location value of fixt.3 as-
signed to it (if “lststp” existed previously it will be overwritten). The location variable to
the left of the assignment sign and the location value to the right of the assign sign
should be of the same type, that is, both are transformations or both are precision points.
AS LANGUAGE COMMANDS
When the POINT command is used with the location variable named “lststp”, the loca-
tion values are displayed and are the same values as fixt.3.
While the POINT command is used to define the location variable on the left of the as-
signment sign to have the same value as the location to the right of the assignment sign,
there are a number of variations to the POINT command that will only assign part(s) of a
location value to a location variable. The following are the available variations to the
POINT command: POINT/X, POINT/Y, POINT/Z, POINT/OAT, POINT/O, POINT/
A,POINT/T, and POINT/7. With each of these commands the specified component
values of the location value on the right side are assigned to the location variable on the
left of the assignment sign.
$POINT xyz.abc
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$POINT/X xyz.abc = loc.a
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1583.21 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$POINT/Y xyz.abc = loc.b
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1583.21 1378.11 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$POINT/Z xyz.abc = loc.c
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1583.21 1378.11 583.71 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$POINT/OAT xyz.abc = loc.d
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1583.21 1378.11 583.71 90.00 180.00 90.00
CHANGE? (if not hit RETURN only)
$POINT/7 xyz.abc = loc.e
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
1583.21 1378.11 583.71 90.00 180.00 90.00
CHANGE? (if not hit RETURN only)
AS LANGUAGE COMMANDS
In the example shown in figure 4-31, the POINT/X command is used to assign the X
component value (1583.21mm) of location loc.a to the X component of the location
variable named xyz.abc. The POINT/Y command is used to assign the Y component
value (1378.11mm) of location loc.b to the Y component of the location variable named
xyz.abc. The POINT/Z command is used to assign the Z component value (583.71mm)
of location loc.c to the Z component of the location variable named xyz.abc. The POINT/
OAT command is used to assign the OAT component angles (90.00, 180.00, and 180.00)
of location loc.d to the OAT component angles of the location variable named xyz.abc.
The format for the TEACH command is: TEACH location variable name. The TEACH
command is used in conjunction with the small teach pendant. With the small teach
pendant connected, the TEACH location variable name command is entered at the
monitor prompt. The small teach pendant is used to jog the robot to the locations that will
be used in the specified program. When the RECORD key on the teach pendant is
pressed, the location is placed into the system memory with the specified location vari-
able name followed by a 0. Each time the RECORD key is pressed the number follow-
ing the location variable name is increased by one. For example, the command TEACH
sptweld is entered at the monitor prompt, the first time the RECORD key on the small
teach pendant is pressed, a location with the name sptweld0 is stored in the system
memory. The next time the RECORD key of the small teach pendant is pressed, the
location stored in system memory will be sptweld1. The TEACH command allows the
programmer to record transformation locations without having to exit the work cell for
each new location.
The system control commands include commands to check various status items, set
system limits and parameters, define tools, identify home positions, set the time, view
error and operations logs, and define system input and output configurations.
AS LANGUAGE COMMANDS
The STATUS command is used to display information on the status of the system and
the robot control program being executed. Figure 4-32 is an example of the status
display.
$STATUS
1 Robot status:
REPEAT mode:
2 Environment:
Monitor speed (%) = 10.0
ALWAYS program speed(%) = 100.0
ALWAYS Accu.[mm] = 1.0
3 Stepper status : Program is not running.
4 Execution cycles
Completed cycles: 3
Remaining cycles: Infinite
5 Program name Prio Step NO.
test 0 1 WAIT sig(1001)
(1) The Robot status section of the status display will be one of the following:
In error condition: an error has occurred, try the error reset operation.
Teach mode: motor power is on, the robot is to be controlled using the multi function
panel (or small teach pendant).
Repeat mode: motor power is on, the robot control program is running.
Repeat mode cycle start ON: motor power is on, the robot is to be controlled by the
robot control program.
Execution is waiting: motor power is on, the robot control program is running and in
the waiting condition (executing a WAIT, SWAIT or TWAIT instruction).
(2) The Environment section of the status display contains the following information:
AS LANGUAGE COMMANDS
(3) The Stepper status section of the status display contains information about the
present state of step execution.
(4) The Execution cycles section of the status display contains the following informa-
tion:
(5) The Program name section of the display shows the name of the program that is
executing, the step number being processed, and the required input number if the
program is in a wait condition.
The WHERE commands are used to display robot positional information. There are
seven WHERE commands: WHERE, WHERE 1, WHERE 2, WHERE 3, WHERE 4,
WHERE 5, and WHERE 6. The WHERE command will display a “snap shot” of posi-
tional information while all other WHERE commands provide an active display that
continuously scrolls current information. To stop the display from scrolling, press the
ENTER key.
WHERE Displays the current robot location in base coordinates (XYZOAT) and in
joint angles.
WHERE 1 Displays the current location in joint angles (°).
WHERE 2 Displays the current location in base coordinates (XYZOAT)(mm,°).
WHERE 3 Displays the current commanded values (°).
WHERE 4 Displays deviations from the command values (Bits).
WHERE 5 Displays encoder value of each joint (Bits).
WHERE 6 Displays speed of each joint (°/s).
Figure 4-33 shows an example of the displays available with the WHERE commands.
AS LANGUAGE COMMANDS
$WHERE
JT1 JT2 JT3 JT4 JT5 JT6
11.998 12.734 -49.549 27.190 -24.714 128.959
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
-270.379 1424.420 525.474 110.981 158.083 93.324
$WHERE 1
Joint value
JT1 JT2 JT3 JT4 JT5 JT6
11.998 12.734 -49.549 27.190 -24.714 128.959
......
......
......
......
......
......
$WHERE 2
Transformation value
-270.379 1424.420 525.474 110.981 158.083 93.324
......
......
......
......
......
......
$WHERE 3
Joint command
11.998 12.734 -49.549 27.190 -24.714 128.959
......
......
......
......
......
......
$WHERE 4
Joint position error
0 0 0 0 0 0
......
......
......
......
......
......
$WHERE 5
Joint encoder value
JT1 JT2 JT3 JT4 JT5 JT6
268464606 268487546 268142745 268576237 268577166 268840020
......
......
......
......
......
......
$WHERE 6
Joint speed
JT1 JT2 JT3 JT4 JT5 JT6
0 0 0 0 0 0
......
......
......
......
......
......
AS LANGUAGE COMMANDS
4.7.3 IO COMMAND
The IO command is used to display the current state of all internal and external inputs
and outputs. There are four selections available with the IO command:
IO 1 will display the current signal state of signals 1-32, 1001-1032, and 2001-2032.
IO 2 will display the current signal state of signals 33-64, 1033-1064, and 2033-2064.
IO 3 will display the current signal state of signals 65-96, 1065-1096, and 2065-2096.
IO 4 will display the current signal state of signals 97-128, 1097-1128, and 2097-2128.
If a number is not specified after the IO command, the current signal state of signals 1-32,
1001-1032, and 2001-2032 will be displayed.
If the DISPIO_01 system switch is OFF, a “o” will be displayed to represent a signal that
is ON and a “x” will be displayed to represent a signal that is OFF. When the DISPIO_01
system switch is OFF, signals that are dedicated can be identified by uppercase “X”s and
“O”s. If the DISPIO_01 system switch is ON, a “1” will be displayed to represent a signal
that is ON and a “0” will be displayed to represent a signal that is OFF. Reference sec-
tion 4.7.14.15 for operation of the DISPIO_01 switch.
The IO signal status display will be continuously updated until the return key is pressed.
If the machine is configured without the specified range of external inputs and outputs, a
“-” will be displayed for those signal numbers.
$IO
32 - 1 XxXx Oxxx xxxx xxxx xxxo xoxx xoxx xxxx
1032 - 1001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
2032 - 2001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
$IO 2
64 - 33 ---- ---- ---- ---- ---- ---- ---- ----
1064 - 1033 ---- ---- ---- ---- ---- ---- ---- ----
2064 - 2033 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
In the figure 4-34 example, IO command signal numbers 7, 11, and 13 are general pur-
pose signals that are ON. Signal 28 is a dedicated signal that is ON and signals 30 and
32 are dedicated signals that are OFF. The IO 2 command display shows that the exter-
nal IO signals 33 - 64 and 1033 -1064 are not currently configured in this controller.
Both examples are with DISPIO_01 system switch OFF.
AS LANGUAGE COMMANDS
The FREE command is used to display the amount of available memory in both a per-
centage of total available memory and in bytes. Figure 4-35 shows an example of the
display when the FREE command is used.
$FREE
All memory size 490584 bytes.
Available memory size 458680 bytes (93%).
$
The TIME command is used to display or set the current date and time. The day of the
week is automatically displayed when viewing the current time. Figure 4-36 shows an
example of the TIME command.
To change the date or time, type TIME followed by: year (00 to 99)-, month (01 to 12)-,
and day (01 to 31), hour (0 to 23):, minutes (0 to 59):, and seconds (0 to 59). In the ex-
ample, the date and time were changed and then the TIME command was used to verify
the change. The day of the week was added by the processor and eight seconds had
elapsed from the time the command was entered until it was verified.
$TIME
98-01-03 (Sat) 13:35:50
Change? (If not, hit RETURN key)
$TIME 98-02-11 10:35:30
$TIME
98-02-11 (Wed) 10:35:38
Change? (If not, hit RETURN key)
$
AS LANGUAGE COMMANDS
The ULIMIT command is used to set the upper travel limit of the each joint of the robot.
The limits are specified in degrees of travel from the zero reference point. Figure 4-37
shows an example of the ULIMIT command and how the upper travel limits can be set.
The upper limits can be set to user specified parameters or the location values of a
precision point can be used as the upper limits.
$ULIMIT
JT1 JT2 JT2 JT4 JT5 JT6
Maximum 120.00 60.00 60.00 190.00 115.00 270.00
Current 109.20 45.23 52.11 190.00 111.40 250.00
Change? (If not, hit RETURN key)
115.10,,58,175
JT1 JT2 JT2 JT4 JT5 JT6
Maximum 120.00 60.00 60.00 190.00 115.00 270.00
Current 115.10 45.23 58.00 175.00 111.40 250.00
Change? (If not, hit RETURN key)
$ULIMIT #endmove
JT1 JT2 JT2 JT4 JT5 JT6
Maximum 120.00 60.00 60.00 190.00 115.00 270.00
Current 103.88 24.57 38.21 155.24 107.66 179.31
Change? (If not, hit RETURN key)
$
In the example, figure 4-37, the upper limits are first set to user specified parameters and
confirmed. The upper limits are then set to be the same as the location values of a preci-
sion point location named #endmove.
AS LANGUAGE COMMANDS
The LLIMIT command is used to set the lower travel limit of each joint of the robot. The
limits are specified in degrees of travel from the zero reference point. Figure 4-38 shows
an example of the LLIMIT command and how the lower travel limits can be set. The lower
limits can be set to user specified parameters or the location values of a precision point
can be used as the lower limits. The “-” sign is not assumed when setting lower limits
and must be added to avoid the limits being too restrictive.
$LLIMIT
JT1 JT2 JT2 JT4 JT5 JT6
Maximum -120.00 -60.00 -60.00 -190.00 -115.00 -270.00
Current -109.20 -45.23 -52.11 -190.00 -111.40 -250.00
Change? (If not, hit RETURN key)
-115.10,,-58,-175
JT1 JT2 JT2 JT4 JT5 JT6
Maximum -120.00 -60.00 -60.00 -190.00 -115.00 -270.00
Current -115.10 -45.23 -58.00 -175.00 -111.40 -250.00
Change? (If not, hit RETURN key)
$LLIMIT #bottomspt
JT1 JT2 JT2 JT4 JT5 JT6
Maximum -120.00 -60.00 -60.00 -190.00 -115.00 -270.00
Current -103.88 -24.57 -38.21 -155.24 -107.66 -179.31
Change? (If not, hit RETURN key)
$
In the example, figure 4-38, the lower limits are first set to user specified parameters and
confirmed. The lower limits are then set to be the same as the location values of a preci-
sion point location named #bottomspt.
AS LANGUAGE COMMANDS
The BASE command is used to change the origin of the base coordinate system. Chang-
ing the origin of the base coordinate system will affect the position of all transformation
location variables that were recorded before the BASE command was used. Precision
locations will not be affected by the BASE command. When the BASE command is
entered, the current location of the base is displayed, the programmer is prompted
whether or not change the base coordinates. If the command BASE NULL is entered,
the position of the base is set to all zeros. A transformation location can also be used to
assign the location values of the transformation location to the base. Figure 4-39 shows
examples of using the BASE command.
$BASE
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
-200.0 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$BASE NULL
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$BASE lineshift
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 200.00 250.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
$
In figure 4-40 the transformation location named “spot” is shown before and after the
BASE command is used to move the origin of the base coordinate system from the NULL
(all zeros) to a transformation location named “lineshift”.
AS LANGUAGE COMMANDS
The format for the TOOL command is: TOOL transformation value. The TOOL command
is used to assign a transformation value to define the tool center point (TCP) relative to
the tool mounting flange. When the robot is instructed to travel to transformation loca-
tions, it is the TCP that will be at the specified values in the coordinate system (assuming
system switch QTOOL is OFF and the TCP has been correctly dimensioned and as-
signed). In the example shown in figure 4-41, the transformation value named little_tool
was defined and the TOOL command was then used to assign the dimensional values of
little_tool to the TCP.
$POINT little_tool
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 0.00 0.00 0.00 0.00
CHANGE? (if not hit RETURN only)
,,1500,,45
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 1500.0 0.00 45.00 0.00
CHANGE? (if not hit RETURN only)
$TOOL little_tool
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.00 0.00 1500.0 0.00 45.00 0.00
CHANGE? (if not hit RETURN only)
$
AS LANGUAGE COMMANDS
The format for the SETHOME command is: SETHOME accuracy, HERE. The HOME
position is defined with the SETHOME command. The HOME position is a special
location in AS Language programming where dedicated output signals can be assigned
and will be generated whenever the TCP is within the accuracy range of the HOME
position. If the accuracy is not specified, it defaults to 1.00 mm. The program instruc-
tion HOME will cause the robot to perform a joint interpolated move to the HOME posi-
tion.
The example shown in figure 4-42 shows the SETHOME 10, HERE command used to
set the HOME position at the current robot position with an accuracy of 10.0 mm. The
SETHOME command is then given to display the location values set for the HOME
position, no changes are made with this instruction. The command SETHOME 5 is
entered to change the accuracy range of the HOME position from 10.0 mm to 5.0 mm.
When the prompt to change the positional data is displayed, the angles are all reset to 0.
$SETHOME 10,HERE
JT1 JT2 JT3 JT4 JT5 JT6 Accuracy[mm]
-21.12 149.20 30.33 -60.63 71.40 55.65 10.00
CHANGE? (if not hit RETURN only)
$SETHOME
JT1 JT2 JT3 JT4 JT5 JT6 Accuracy[mm]
-21.12 149.20 30.33 -60.63 71.40 55.65 10.00
CHANGE? (if not hit RETURN only)
$SETHOME 5
JT1 JT2 JT3 JT4 JT5 JT6 Accuracy[mm]
-21.12 149.20 30.33 -60.63 71.40 55.65 5.00
CHANGE? (if not hit RETURN only)
0,0,0,0,0,0
JT1 JT2 JT3 JT4 JT5 JT6 Accuracy[mm]
0.00 0.00 0.00 0.00 0.00 0.00 5.00
CHANGE? (if not hit RETURN only)
$
AS LANGUAGE COMMANDS
The C-series controller SET2HOME command allows for a second HOME position to be
identified. The HOME2 location shares all of the characteristics that the HOME position
has. The HOME2 position is defined using the SET2HOME command. The SET2HOME
command is used in the same manner as the SETHOME command. Typical locations for
HOME and HOME2 commands include, but are not limited to, a position with all of the
alignment scribe marks set, a manual tip dress position, a gun purge location, a tool
changer station, etc.
The ERRLOG command displays a history of error conditions that have occurred and
that are stored in the system’s memory. A history of the last 1,000 errors is retained.
Errors are displayed starting from the most recent to the oldest. The user can alternate
between the next screen and the previous screen by using function keys F4 and F5 on
the multi function panel or the keyboard. The format of the error log is shown in figure 4-
43. To view additional error log entries press the SPACE BAR, to exit the error log, press
the ENTER key.
$ERRLOG
1-[98/02/29 09:58:45 (-856) Out of limit. Motion end position of JT1. No+1]
2-[98/02/29 09:23:05 (-803) Undefined variable. No+1]
3-...........
The OPLOG command is used to display a history of the last 100 operations performed
to the controller and any messages that are related to those operations. Like the
ERRLOG command, ten (10) operations or messages are displayed from most recent
to the oldest. To see the remaining operations, press the SPACE BAR. To terminate
the OPLOG command, press the ENTER key. Figure 4-44 shows the format of the
OPLOG command display.
AS LANGUAGE COMMANDS
Date Time
Operation
$OPLOG
1-(TP ), [98/02/29 09:58:45 W]
2-(TP ), [98/02/29 09:04:22 SETHOME 50]
3-...........
The SWITCH command is used to display the status of all system switch settings. The
SWITCH command can also be used to display the current status of an individual switch
or change the status of system switches. Figure 4-45 shows an example SWITCH
command display.
$SWITCH
*POWER ON *REPEAT ON
*RUN ON *CS OFF
*RGSO OFF *ERROR OFF
*TRIGGER ON *TEACH LOCK OFF
CHECK.HOLD OFF CP ON
CYCLE.STOP OFF OX.PREOUT ON
PREFETCH.SIGINS OFF QTOOL OFF
REP ONCE OFF RPS OFF
STP ONCE OFF AFTER.WAIT.TMR ON
MESSAGES ON SCREEN ON
AUTOSTART.PC OFF AUTOSTART2.PC OFF
AUTOSTART3.PC OFF ERRSTART.PC OFF
DISPIO 01 OFF
To turn an individual switch on or off the SWITCH command followed by the name of the
switch and the word ON or OFF can be entered. The SWITCH command can then be
used to confirm the status of the switch. Switch names that are preceded by a * in the
switch status display cannot be turned on and off with the SWITCH command. For
example the switch labeled *POWER will only indicate ON when MOTOR POWER is
ON. The command SWITCH POWER OFF will not turn MOTOR POWER off. The
default setting for switches is shown in table 4-1.
AS LANGUAGE COMMANDS
Switch Setting
CHECK.HOLD OFF
CP ON
CYCLE.STOP OFF
OX.PREOUT ON
PREFETCH.SIGINS QTOOL
REP_ONCE OFF
RPS OFF
STP_ONCE OFF
AFTER.WAIT TIMER OFF
MESSAGES ON
SCREEN ON
AUTOSTART.PC OFF
AUTOSTART2.PC OFF
AUTOSTART3.PC OFF
ERRSTAR.PC OFF
DISPIO_01 OFF
FLOWRATE OFF
The CHECK.HOLD switch is used with the AS Language commands EXECUTE, DO,
STEP, MSTEP and CONTINUE. When the CHECK.HOLD switch is ON these com-
mands are available only if the HOLD/RUN switch is in the HOLD position. The controller
will accept these commands with the RUN/HOLD switch in the HOLD position but robot
motion will not be initiated until the switch is manually placed in the RUN position. The
default setting for this switch is off.
The CP switch is used to activate the continuous path function. When this switch is ON
and the accuracy ranges are large enough, the robot will make smooth transitions from
point-to-point, as indicated in figure 4-46. When the switch is OFF, the robot decelerates
and stops at each recorded point regardless of the accuracy of those points. The default
setting for the CP switch is on.
AS LANGUAGE COMMANDS
ACCURACY RANGE
The CYCLE.STOP switch is used in conjunction with an external input signal used to
stop the motion of the robot. With the switch ON, when the input signal is received the
robot will stop and the cycle start light will turn OFF. When the program is started again
it will not begin at the point in the cycle where it was stopped. With the switch OFF,
when the input signal is received the robot will stop and the cycle start light will remain
ON. The robot is in a hold condition and when the program is started again, it will con-
tinue at the point in the cycle where it was stopped. The default setting for the
CYCLE.STOP switch is OFF.
The OX.PREOUT switch affects the timing of output signal generation in block step
programs. When the switch is ON, an output programmed for a given point will be turned
ON as soon as the robot begins motion to that point. With the OX.PREOUT switch OFF,
an output programmed for a given point will not be turned ON until the robot reaches the
accuracy range of the point. Figure 4-47 shows the different effects the OX.PREOUT
switch has on signal timing. The default setting for the OX.PREOUT switch is ON. Fig-
ure 4-47 shows an example of the OX.PREOUT switch.
AS LANGUAGE COMMANDS
Robot path
Accuracy range
The QTOOL switch allows the user to identify tools to be used in block step or AS Lan-
guage programming. When the QTOOL switch is ON the programmer has up to nine
tools available to use for programming and jogging. The unique tool dimensions are
recorded and assigned a tool number using auxiliary function number 48. When the
QTOOL switch is ON, the selected tool dimensions will be in effect for jogging and linear
playback of block step programs. When the QTOOL switch is OFF, the tool identified
with AS Language instructions will be utilized. The default setting for the QTOOL switch
is on.
When the REP_ONCE switch is ON, programs will run one time. With the switch OFF
the program will run continuously. The default setting for the switch is off.
This switch enables the processor to scan for a binary input from peripheral devices and
select which program will be executed. The AS Language instructions EXTCALL, JUMP,
and END combined with the input signal and RPS function determine which program
will be run. The RPS switch default setting is on.
AS LANGUAGE COMMANDS
When the STP_ONCE switch is ON, the repeat condition function of progressing through
a program one step at a time becomes active. The step forward key must be used to
progress through a program. When the switch is OFF, programs will run continuously.
The default setting for this switch is off.
When the AFTER.WAIT TIMER switch is in the ON position, timers will not begin their
timing at a specified step until all wait conditions are satisfied. With the switch in the
OFF position timers will begin timing when the robot reaches coincidence of the taught
point. The default setting for the switch is off.
The MESSAGES switch allows the display of PRINT and TYPE information that is part
of programs to be displayed for operator viewing. If the messages switch is OFF this
information will not be displayed. The default setting for this switch is on.
The SCREEN switch enables or disables the scrolling of the screen when the amount of
information being sent by the processor is larger than the screen can display. The default
setting for the SCREEN switch is on, this will allow information to be scrolled on the
screen.
When the ERRSTART.PC switch is in the ON position and specified errors (assigned
dedicated signals) occur, a PC program will be run as soon as the error is detected. The
default setting for this switch is off.
AS LANGUAGE COMMANDS
The DISPIO_01 switch allows the user to select the type of display for viewing the status
of inputs and outputs. If the switch is ON, 1s and 0s are displayed to identify the signal
state of individual signals. A signal that is on is represented by a 1, while 0 is used to
represent a signal that is off. If the switch is off, Xs and Os are used to represent the
signal states. Figure 4-34 shows an example of this type of display. A signal that is on is
represented by an O, while X is used to represent a signal that is off. The X and O dis-
play also identifies if a signal number has a dedicated function. Dedicated signals are
represented by uppercase Xs and Os. The default setting for this switch is off.
The ZSIGSPEC command is used to set and display the total number of input/output
signals the controller is physically configured for. To use the ZSIGSPEC command, type
ZSIGSPEC at the monitor prompt, and press the ENTER key. Type in the number of I/O
signals that correspond to the board configuration of the controller and press the ENTER
key.
The HSETCLAMP command is used to assign the signal numbers that operate material
handling clamps. Auxiliary function 114 works in conjunction with the HSETCLAMP
command to set the operation of the material handling clamps. Figure 4-48 shows the
screen that is displayed when the HSETCLAMP command is entered.
$HSETCLAMP
CLAMP1 CLAMP2 CLAMP3 CLAMP4
Spot weld Handling Not used Not used
‘ON’ out. signal 24 24 24 24
‘OFF’ out. signal 0 0 0 0
CLAMP5 CLAMP6 CLAMP7 CLAMP8
Not used Not used Not used Not used
‘ON’ out. signal 24 24 24 24
‘OFF’ out. signal 0 0 0 0
Clamp number (1~8, ENTER only: No change, CTRL+C:Exit)
AS LANGUAGE COMMANDS
The DEFSIG command is used to display and set dedicated signals to specific condi-
tions. The DEFSIG command without an argument will display a list of dedicated signals
and their associated conditions. When the optional argument input or output is used
after the DEFSIG command, the dedicated input or output signals will be displayed and
can be changed. The optional arguments input and output also allow the user to change
dedicated signal numbers or assign/remove dedicated signals for specific conditions.
Table 4-2 shows the conditions that output and input signals can be dedicated to.
OUTPUTS INPUTS
MOTOR ON EXT.MOTOR ON
CYCLE START
EXT.program.select (RPS)
RPS_ON
TEACH MODE RPS_ST
Number of RPS Signals
HOME1 First signal number
code (0 : Binary 1 : BCD)
HOME2
RGSO
AS LANGUAGE COMMANDS
NOTE
$DEFSIG
Dedicated signals set at present
EXT. MOTOR ON=1032
EXT. ERROR RESET=1031
EXT.CYCLE START=1030
MOTOR ON=32
ERROR=31
AUTOMATIC=30
Condition : Run in panel
switch,
Condition : REPEAT in panel
switch,
Condition : Repeat continuous.
Condition : Step continuous.
CYCLE START=29
TEACH MODE=28
HOME 1=27
Figure 4-49 shows the screen that is displayed when the DEFSIG command is entered.
Output signal numbers range from 1 to 32 while input numbers range from 1001 to 1032.
Figure 4-50 shows an example of the DEFSIG output command. Entering a 1 after each
menu choice will either set or cancel dedicated signal conditions. When dedicated
signals are set the processor will provide a default signal number, this number can be
changed by entering the desired signal number and pressing the ENTER key. If the
number provided by the processor is acceptable, press the ENTER key. The same
dedicated signal number cannot be used for two conditions, this will cause an error to be
displayed. Dedicated signals cannot be used as general purpose signals within pro-
grams. Typing “e” (for EXIT) and pressing the ENTER key at the prompt will return the
display to the monitor mode.
AS LANGUAGE COMMANDS
$DEFSIG OUTPUT
MOTOR ON Dedication cancel? (Enter 1 to set) 1
signal number 32 Change? (1-32)
ERROR Dedication cancel? (Enter 1 to cancel)
signal number 31 Change? (1-32)
CYCLE START Dedication cancel? (Enter 1 to cancel) 1
AUTOMATIC Dedication cancel? (Enter 1 to cancel) e
$
The format for the ZZERO command is: ZZERO 10_ joint number or ZZERO joint
number. The ZZERO command is used to display and set robot zeroing information.
When maintenance has been performed that moves the robot from the position that the
encoders identify (referenced to a 0° location) or a servo motor has been changed, the
encoder reference count has changed and zeroing is required.
! CAUTION
Users must be cognizant of the effect changes made in
this function will have on the position of programmed lo-
cations. Changing this data without correctly following
the complete zeroing process will move programmed lo-
cations to positions that may cause damage to the ro-
bot, fixtures, or work.
The ZZERO command provides the user with the option of selecting a single joint or all
joints to reset encoder rotation count. If a single joint is selected, a set degree angle for
that axis may also be entered. When the data from the zeroing process has been en-
tered, the encoder rotation count(s) are calibrated by the 1GA board and referenced to a
0° position to provide accurate robot motion. Detailed information regarding the zeroing
process is provided in Kawasaki’s C Series Controller, Electrical Maintenance and
Troubleshooting Manual.
The ZZERO command without an argument is used to display the current 0° encoder
counts and offsets. To set the current encoder count offset to a 0° midpoint reference, the
ZZERO command is followed by the value 100 plus the joint number. Figure 4-52 shows
an example of this with the command ZZERO 102. If ZZERO 100 is entered, encoder
offset for all joints will be reset. When the ZZERO command is followed by just the joint
number, the current robot position is stored as 0°. If ZZERO 0 is entered, all joints will be
AS LANGUAGE COMMANDS
reset to 0°. Figure 4-51 shows the screen that is displayed when the ZZERO command
is entered.
$ZZERO
JT1 JT2 JT3 JT4 JT5 JT6
Set data 268435456 268435456 268435456 268435456 268435456 268435456
Cur data 268435456 268435456 268435456 268435456 268435456 268435456
Change? (If not, hit RETURN only)
JT1 JT2 JT3 JT4 JT5 JT6
OFFSET 26 65534 63 31 65532 65510
Change? (If not, hit RETURN only)
The first step in the zeroing process is to jog the robot to the position where the scribe
marks for the joint(s) to be zeroed are aligned. If the robot will not move because the
current position is being recognized as out of range, the robot can be zeroed where it is
to allow jogging operations and then rezeroed when the scribe marks are aligned. The
next step in the zeroing process is to set the current encoder count offset to a 0° midpoint
reference, this is accomplished with the ZZERO 10_ command. Figure 4-52 shows two
examples of the ZZERO 10_ command, ZZERO 100 for all joints, and ZZERO 102 for
joint 2.
$ZZERO 100
**Encoder rot. counter reset (all joints)**
Are you sure (Enter 1 to execute)? 1
Setting completed.
$
$ZZERO 102
**Encoder rot. counter reset (2th axis)**
Current angle (deg. mm)? 0
Are you sure? (Enter 1 to execute)?1
Setting completed.
$
After the encoder rotation counter has been reset, the ZZERO _ command is used to set
the joint(s) to 0°. Figure 4-53 shows two examples of the ZZERO _ command, ZZERO 0
for all joints, and ZZERO 2 for joint 2.
AS LANGUAGE COMMANDS
$ZZERO 0
JT1 JT2 JT3 JT4 JT5 JT6
set data 268435456 268435456 268435456 268435456 268435456 268435456
cur data 268435456 268435456 268435456 268435456 268435456 268435456
Set current values of all joints as zeroing data? (Enter 1 to set) 1
Setting completed.
The EREST command is used to reset the current error condition of the controller. The
EREST command performs the same function as the ERROR RESET button on the
controller cabinet. An error condition that occurs continuously and is not rectified cannot
be reset with the EREST command or the ERROR RESET button.
The SYSINIT command is used to clear everything from the system memory and reset
all default settings. When the system is initialized, all programs, variable data, system
switches, and system settings are deleted or returned to default settings. The only infor-
mation not affected by the initialization process is the error and operations logs.
! CAUTION
Initializing the system will erase all program and variable
data from the system memory and reset system data to
default settings. If programs are to be reloaded from a
diskette or PC card, care must be taken to ensure the
system settings are configured correctly or the pro-
grams will not playback as expected. If a PC is con-
nected to the controller and the initialization function is
selected, care must be taken not to initialize the hard
drive of the PC.
When the SYSINIT command is entered, the display will prompt the user “Are you sure?
(1:yes, 0:no)”. If 1 is entered at this prompt the initialization process will begin.
AS LANGUAGE COMMANDS
The HELP commands are used to display the AS Language commands that are avail-
able to the programmer. The commands are displayed in alphabetic order in seven
columns. The HELP command will display all of the AS Language commands available.
If more specific information is required, the HELP command can be used in conjunction
with the following prefixes: HELP/M to display monitor commands, HELP/P to display
program instruction commands, HELP/F to display function commands, HELP/PPC to
display PC program commands, HELP/MC to display monitor commands for program
control, HELP/DO to display commands that can be used from the monitor mode with the
DO command. When the HELP command is followed by a space and a single letter, all
of the AS Language commands that begin with that letter will be displayed to the far right
of the screen follwed by the format for each command. Figure 4-54 shows an example of
the HELP/M and HELP D commands.
$HELP/M
ABORT BASE BITS BATCHK CONTINUE COPY DEFSIG
DELETE DIRECTORY DLYSIG DO EDIT ERESET ERRLOG
$HELP D
DECEL DECEL deceleration ALWAYS
DECOMPOSE DECOMPOSE array variable [suffix] = location
DEFSIG DEFSIG INPUT or OUTPUT
DELAY DELAY time
DELETE DELETE/P/L/R/S program or variable
DIRECTORY DIRECTORY
DLYSIG DLYSIG signal number, time
DO DO instruction
DO DO ... UNTIL condition
DRAW DRAW dx, dy, dz, rx, ry, rz, speed
DRIVE DRIVE joint number, angle, speed
Press NEXT PG key to continue.
AS LANGUAGE COMMANDS
4.7.22 ID COMMAND
The ID command is used to display identification information about the robot system
including the version of software that is currently operating. Figure 4-55 shows an ex-
ample of the ID command.
$ ID
Robot name : JS005-E001 Num of axes 7 Serial No.1
Software version : version 000004-04 .....97/01/21 13:11
Servo : SAOA00-UX120-01
Number of signals : output = 32 Input = 32 Internal = 256
Number of Clamp : 2
The BATCHK command is used to enable or disable the battery low voltage check when
the controller is powered up. The batteries are located on the 1FX board and provide
power for SRAM memory backup of data stored on the 1GA main CPU board. When the
BATCHK command is entered, the screen will prompt the user to enter “0:Ineffect, 1:Ef-
fect”. When 0 is entered the battery check is not performed, when 1 is entered the battery
check is done automatically during the power up process.
The ENCCHK_EMG command is used to set a comparison range to check the robot’s
position when an emergency stop occurs versus the position when motor power is reap-
plied. If the difference in positions exceeds the set value, a position offset error is dis-
played. The position offset error generated from this function cannot be reset and motor
power cannot be applied. The error range must be reset to a value that will not cause an
error. The purpose of this function is to prevent interference with fixtures, jigs, or work
pieces when the robot is restarted after an emergency stop condition.
The acceptable range of data for the ENCCHK_EMG command is from 0.1 degree to
10.0 degrees for axes one to six and from 0.1mm to 100mm for a seventh axis. If 0 is
entered the error check is not performed. The default setting for this function is 0. Figure
4-56 shows the display screen when the ENCCHK_EMG is entered.
AS LANGUAGE COMMANDS
$ENCCHK_EMG
JT1 JT2 JT3 JT4 JT5 JT6
0.0deg 0.0deg 0.0deg 0.0deg 0.0deg 0.0deg
Change? (If not, hit return only)
$
The ENCCHK_PON command is used to set the range of encoder deviation that is
allowed before an error is displayed upon applying power to the controller. The encoder
value when control power is turned off is compared to the encoder value when control
power is turned on. If the difference is larger than the range set, a JT encoder abnormal-
ity error is displayed. The range of acceptable data for this function is from 0.1 degree to
10.0 degrees for axes one to six and from 0.1mm to 100mm for a seventh axis. The
default setting for the ENCCHK_PON function is 2.0 degrees. Operators should be
aware that if this range is set too low, error messages may be displayed when the system
is performing within design performance specifications. Figure 4-57 shows an example
of the screen that is displayed when the ENCCHK_PON command is entered.
$ENCCHK_PON
JT1 JT2 JT3 JT4 JT5 JT6
2.0deg 2.0deg 2.0deg 2.0deg 2.0deg 2.0deg
Change? (If not, hit return only)
$
When the SLOW_REPEAT command is entered, the screen shown in figure 4-58 will be
displayed. This function allows the user to set the SLOW_REPEAT mode speed of the
robot from 1 to 25% of maximum speed. A dedicated input signal must be assigned for
the SLOW_REPEAT mode function. When this signal is ON, the robot will operate at the
speed set with the SLOW_REPEAT command.
$ SLOW_REPEAT
SLOW REPEAT MODE SPEED (1~25%)
(Enter only : no change, ^C : Exit) : NOW 15 CHANGE?
AS LANGUAGE COMMANDS
The REC_ACCEPT command is used to set the permission status for entering new data.
When the REC_ACCEPT command is entered, the display will prompt the user to
enable or disable the RECORD or PROGRAM CHANGE functions. The RECORD
option allows the user to prevent the recording of blockstep information by selecting
disable for this function. The PROGRAM CHANGE option allows the user to prevent the
recording of AS Language information by selecting disable for this function. If an attempt
to change blockstep data is made when RECORD is disabled, the error message “Set to
RECORD ACCEPT” is displayed. If an attempt to change AS Language program data is
made when PROGRAM CHANGE is disabled, the error message “Program change
inhibited. Set ACCEPT and operate again.” is displayed. Figure 4-59 shows the screen
that is displayed when the REC_ACCEPT command is entered. In this example, the
RECORD function was changed from disabled to enabled.
$REC_ACCEPT
RECORD (0:Enable, 1:Disable)
(Enter only : No change) : Now 1 Change? 0
PROGRAM CHANGE (0:Enable, 1:Disable)
(Enter only : No change) : Now 1 Change?
$
The ENV_DATA command is used to set an auto servo timer and identify if a teach
pendant is installed. When the ENV_DATA command is entered, the display will prompt
the user to set information for the AUTO SERVO OFF TIMER and TEACH PENDANT.
The AUTO SERVO OFF TIMER sets a time period that motor power will remain ON if no
movement of the robot has occurred. The auto servo timer function is designed to save
energy by allowing the brakes to maintain robot position as opposed to using electrical
power and servo motors. When the robot has not moved and the auto servo timer has
reached its set value, the brakes will be applied and power will be removed from the
servo motors. The motor power light will remain ON and the robot will begin motion
under the same conditions it would have if the auto servo timer had not removed power
from the motors.
The ENV_DATA command also allows the user to identify weather or not a TEACH
PENDANT is installed. The deadman buttons and the emergency stop button are hard-
wired and a jumper (or a different user interface) must be installed if the teach pendant is
removed.
AS LANGUAGE COMMANDS
Figure 4-60 shows the screen that is displayed when the ENV_DATA command is en-
tered. In this example, the AUTO SERVO OFF TIMER is set to 600 seconds and a
TEACH PENDANT is installed.
$ENV_DATA
AUTO SERVO OFF TIMER (0:Not servo off)
(Enter only : No change) : Now 0 Change? 600
TEACH PENDANT (0:Connect, 1:Disconnect)
(Enter only : No change) : Now 0 Change?
$
The ENV2_DATA command allows the user to identify if a multi function panel or termi-
nal is installed. The deadman buttons and the emergency stop buttons of the multi
function panel are hard-wired and a jumper (or a different user interface) must be in-
stalled if the multi function panel is removed. Figure 4-61 shows an example of the
ENV2_DATA command.
$ENV2_DATA
PANEL (0:Connect, 1:disconnect)
(Enter only : No change) : Now 0 Change? 600
TEACH PENDANT (0:Connect, 1:Disconnect)
(Enter only : No change) : Now 0 Change?
$
The CHSUM command is used when an abnormal check sum error (1019) is generated
because the processor has calculated a difference between data when the controller
was powered up compared to an expected value. When this error occurs the program-
mer can enter the CHSUM command and change the CLEAR CHECK SUM ERROR
setting to “EFFECT”. With this setting, when control power is cycled, the check sum error
can be cleared and the setting returned to “INEFFECT”. If the clear check sum error
does not clear with the cycling of control power, a second message shown in figure 4-62
will be displayed identifying additional troubleshooting paths.
AS LANGUAGE COMMANDS
$CHSUM
CLEAR CHECK SUM ERROR. (0:Ineffect, 1:Effect)
(Enter only : No change) : Now 0 Change?
If error does not clear, enter CHSUM again.
$CHSUM
Cannot clear sum check error. Check the following command or auxiliary data.
ZZERO
DEFSIG
:
:
Binary signal control commands are used to set various parameters of output signals.
The commands include instructions for turning signals ON and OFF, resetting output
signals, pulsing and delaying signals, and assigning or evaluating a binary value for a
set group of signals.
The RESET command is used to reset all external output signals to OFF. The reset
command does not turn OFF dedicated output signals. Before the RESET command is
entered, users should be aware of the effects the command will have on external equip-
ment and peripheral programming.
The format for the SIGNAL command is : SIGNAL (-)signal number, ......... . The signal
command is used to set external output signals and internal status signals to on or off. To
turn the desired signal(s) ON the signal number(s) are entered after the SIGNAL com-
mand separated by a “,”. If the signal(s) are to be turned OFF, a “-” symbol is placed
before the signal number. Signals that have been assigned as dedicated signals for
specific conditions cannot be turned on and off with the SIGNAL command. Input sig-
nals cannot be designated with the SIGNAL command. The range of signals that can be
affected by the SIGNAL command include: 1 to the number of external output signals the
controller is configured for and 2001 to 2256 for internal status signals. For example,
SIGNAL 2,4,-5 will turn outputs 2 and 4 ON and output 5 OFF.
AS LANGUAGE COMMANDS
The format for the PULSE command is : PULSE signal number, time (seconds). The
PULSE command is used to turn a specified signal on for a set period of the time. The
range of signals that can be affected by the PULSE command include: 1 to the number of
external output signals the controller is configured for and 2001 to 2256 for internal
status signals. Signals that have been assigned as dedicated signals for specific condi-
tions cannot be used with the PULSE command. Signals can only be turned on with the
PULSE command, they cannot be PULSED off. If a time value is not specified, 0.2
seconds is the default setting and signals will be pulsed on for 0.2 seconds. For ex-
ample, PULSE 4,5.6 will turn output 4 ON for 5.6 seconds.
The format for the DLYSIG command is : DLYSIG signal number, time (seconds). The
DLYSIG command is used to turn a specified signal on or off for a set period of time. The
range of signals that can be affected by the DLYSIG command include: 1 to the number
of external output signals the controller is configured for and 2001 to 2256 for internal
status signals. Signals that have been assigned as dedicated signals for specific condi-
tions cannot be used with the PULSE command. Signals can be turned ON or OFF with
the DLYSIG command, a “-” is used before the signal number if the signal is to be turned
OFF. For example, DLYSIG 2,4.5 will turn output 2 ON after 4.5 seconds have elapsed,
DLYSIG -2,4.5 will turn output 2 OFF after 4.5 seconds have elapsed.
The format for the BITS command is: BITS starting signal number, number of signals
= value. The BITS command is used to set a specified number of output signals to a
binary value or to display the current status of the signals specified. The starting signal
number is the smallest signal number to be set (least significant bit). The number of
signals (bits) is the number of signals to be evaluated (maximum 16), starting from the
starting signal number. The range of signals that can be used with the BITS command
include: 1 to the number of external output signals the controller is configured for and
2001 to 2256 for internal status signals. Signals that have been assigned as dedicated
signals for specific conditions cannot be used with the BITS command. For example, the
instruction BITS 2001,3 will display the binary value of internal signals 2001, 2002, and
2003. In another example, the instruction BITS 1-8=100 will set the signal states of
signals 1 through 8 to a binary value of 100 (binary 1100100 or signal numbers 8,7, and
3 would be ON).
AS Language program instructions are commands that are used within a program and
include commands for the control of robot motion, speed, accuracy, clamps, and binary
signals. AS Language program instructions also include commands that are used to
control program execution conditions and provide a flow structure based on the evalua-
tion of conditional parameters.
Motion control commands are program instructions that determine how the robot will
move to programed locations. Motion control commands include commands that deter-
mine the type of interpolation used for motion, location approach and depart instruc-
tions, and commands that move the robot a specified distance.
The format for the JMOVE command is: JMOVE location, clamp number. JMOVE
means joint interpolated movement, the abbreviation for JMOVE is JM. The command
JMOVE specifies the type of path will be taken by the robot to reach a taught position.
When the robot performs a JMOVE, each joint moves independently to drive the TCP to
the required location. The resultant path of a JMOVE command is an arching path. A
JMOVE will allow the robot to move between points at a faster speed than a linear
interpolated move.
The location specifies the destination of the JMOVE. The location specified must be the
name of a location variable and can be a precision point, transformation, or compound
transformation location. Examples of the JMOVE command for these types of locations:
JMOVE #pic
JMOVE start
JMOVE start + place
The optional argument clamp number specifies the clamp number to be opened or
closed when the robot reaches the destination location. To open a clamp, type a “,” after
the location and specify the clamp number. To close a clamp, type a “,” after the location
and type a “-” before the clamp number. If the clamp number is omitted, the clamp
signal will not change. Examples of the JMOVE command with clamp instructions:
JMOVE set,2
JMOVE pick,-2
The format for the LMOVE command is: LMOVE location, clamp number. LMOVE
means linear interpolated movement, the abbreviation for LMOVE is LM. The command
LMOVE specifies the type of path the robot will take to reach a taught position. When
the robot performs a LMOVE, each joint moves in a coordinated process to drive the
TCP in a straight line. The resultant path of a LMOVE command is that the TCP will
move in a straight line from the current position to the specified location.
The location specifies the destination of the LMOVE. The location specified must be the
name of a location variable and can be a precision point, transformation, or compound
transformation location. Examples of the LMOVE command for these types of locations:
LMOVE #pick
LMOVE start
LMOVE start + place
The optional argument clamp number specifies the clamp number to be opened or
closed when the robot reaches the destination location. To open a clamp, type a “,” after
the location and specify the clamp number. To close a clamp, type a “,” after the location
and type a “-” before the clamp number. If the clamp number is omitted, the clamp
signal will not change. Examples of the LMOVE command with clamp instructions:
LMOVE set,2
LMOVE pick,-2
The format for the JAPPRO command is: JAPPRO location, distance. JAPPRO
means joint approach, the abbreviation for the JAPPRO command is JA. The command
JAPPRO instructs the robot to perform a joint interpolated move that places the TCP at
a specified distance from the location. The distance is specified in mm and is in the
direction of the Z-axis of the tool coordinate system. A positive distance will place the
TCP at a position that is approaching (back from) the location in the direction of the Z
tool axis. A negative distance will place the TCP at a position that is beyond (forward of)
the location in the direction of the Z tool axis. Figure 5-1 shows the orientation of the Z
tool axis with no tool defined.
Z TOOL Axis
X
Y
Figure 5-1 Z Tool Axis
Figure 5-2 shows two examples of the JAPPRO command. In the first example the TCP
is defined as being the tip of the tool, in the second example the TCP is at the tool
mounting flange (tool null). In both examples, the JAPPRO spot,200 program instruction
will cause the TCP to be moved to a position 200 mm from the location spot in the Z tool
direction.
200mm
Location named “spot”
200mm
Location named “spot”
The format for the LAPPRO command is: LAPPRO location, distance. LAPPRO
means linear approach, the abbreviation for the LAPPRO command is LA. The com-
mand LAPPRO instructs the robot to perform a linear interpolated move that places the
TCP at a specified distance from the location. The distance is specified in mm and is in
the direction of the Z-axis of the tool coordinate system. A positive distance will place
the TCP at a position that is approaching (back form) the location in the direction of the
Z tool axis. A negative distance will place the TCP at a position that is beyond (forward
of) the location in the direction of the Z tool axis. The LAPPRO command is similar to
the JAPPRO command, the only difference is the type of motion the robot will perform to
reach the desired location.
The format for the JDEPART command is: JDEPART distance. JDEPART means joint
depart, the abbreviation for the JDEPART command is JD. The command JDEPART
instructs the robot to perform a joint interpolated motion that moves the TCP a specified
distance from the last taught location. The location is not specified with the JDEPART
command because the robot is already at the depart location. The distance is specified
in mm and is in the direction of the Z-axis of the tool coordinate system. A positive
distance will place the TCP at a position that is pulled back from the last taught location
in the direction of the Z tool axis. A negative distance will place the TCP at a position
that is beyond (pushed forward of) the last taught location in the direction of the Z tool
axis. In the example shown in figure 5-3, the program instruction JDEPART 200 moves
the TCP 200 mm in the direction of the Z tool axis.
200mm
Location named “place”
The format for the LDEPART command is: LDEPART distance. LDEPART means linear
depart, the abbreviation for the LDEPART command is LD. The command LDEPART
instructs the robot to perform a linear interpolated motion that moves the TCP a speci-
fied distance from the last taught location. The location is not specified with the
JDEPART command because the robot is already at the depart location. The distance is
specified in mm and is in the direction of the Z-axis of the tool coordinate system. A
positive distance will place the TCP at a position that is pulled back from the last taught
location in the direction of the Z tool axis. A negative distance will place the TCP at a
position that is beyond (pushed forward of) the last taught location in the direction of the
Z tool axis.
The program instruction HOME or HOME2 will cause the robot to move to the previously
defined HOME or HOME2 position with a joint interpolated move. The HOME and
HOME2 positions are defined with the SETHOME and SET2HOME commands. The
SETHOME and SET2HOME commands are covered in unit 4 of this manual. To send
the robot to a HOME or HOME2 position with a monitor command, the DO HOME or DO
HOME2 commands are entered at the $ prompt.
The format for the DRIVE command is: DRIVE joint number, change amount, speed.
The DRIVE command is used to move a single joint of the robot a specified number of
degrees at a desired speed. The DRIVE command will cause the robot to move from its
current position, not a zero reference. The joint number (1 to 6) is the joint of the robot
that is to be moved. The change amount is the number of degrees that the specified
joint is to be moved. The argument speed specifies the percentage of the repeat condi-
tion speed the command is to be performed at. If the optional argument speed is omit-
ted, the speed will default to 100%. In the example, the DRIVE command will cause
joint 3 to move -31° at 75% of the repeat condition speed.
DRIVE 3,31,75
The format for the DRAW command is: DRAW X distance, Y distance, Z distance,
X rotation, Y rotation, and Z rotation, speed. The DRAW command is used to move
the robot in a linear interpolated motion a specified distance (in mm) in each direction of
the base coordinate system. The DRAW command will cause the robot to move the
specified distance from the current position, not a zero reference. If a distance is omit-
ted from the argument, a zero will be assumed. The X, Y, and Z rotation is the number
of degrees the tool rotates about the specified axis. The range of rotation for these
arguments is + or - 180°. The argument speed can be specified as a percentage of the
program repeat speed or an absolute value specified in mm/sec. If the optional argu-
ment speed is omitted, the speed will default to 100%. In the example below, the DRAW
command will cause the robot TCP to move in a straight line from its current position to
a location 324 mm in the X direction and 277 mm in the Z direction of the base coordi-
nate system. The second “,” is entered as a delimiter to indicate that there is no Y dis-
tance in the instruction.
DRAW 324,,277
The format for the TDRAW command is: TDRAW X distance, Y distance, Z distance,
X rotation, Y rotation, and Z rotation, speed. The TDRAW command is used to move
the robot in a linear interpolated motion a specified distance (in mm) in each direction of
the tool coordinate system. The TDRAW command will cause the robot to move the
specified distance from the current position, not a zero reference. If a distance is omit-
ted from the argument, a zero will be assumed. The X, Y, and Z rotation is the number
of degrees the tool rotation about the specified axis. The range of rotation for these
arguments is + or - 180°. The argument speed can be specified as a percentage of the
program repeat speed or to an absolute value specified in mm/sec. If the optional argu-
ment speed is omitted, the speed will default to 100%. In the example below, the
TDRAW command will cause the robot TCP to move in a straight line from its current
position to a location 714 mm in the X direction, -57 mm in the Z direction, and rotated
45° around the Z-axis of the tool coordinate system. Commas are entered as delimiters
to indicate no data is to be evaluated for that section of the command format.
TDRAW 714,,-57,,,45
The ALIGN command is used to move the robot so that the Z tool axis is parallel to the
closest axis of the base coordinate system. The ALIGN command is useful in setting
the tool direction so that it is parallel and perpendicular to the base coordinate system
before teaching a series of locations.
The format for the XMOVE command is: XMOVE location TILL signal number. The
XMOVE command is used to start a linear interpolated motion toward a specified loca-
tion. If, at any time during the robots path to this location, the specified signal number
being monitored is turned on, the robot will change course and proceed to the next
location. A negative value entered with the signal number indicates that an off state of
the signal will satisfy the TILL condition. Figure 5-4 shows an example of the XMOVE
command. The robot moves toward the location bottom until signal 1001 turns ON, the
robot then changes direction and starts toward the location stack.
The format for the HMOVE command is: HMOVE location, clamp number. HMOVE is
an abbreviation for hybrid interpolated move. The command HMOVE is used when the
robot configuration is such that straight line moves cause ambiguity errors. This condi-
tion is referred to as “singularity”. Singularity is most likely to occur when the arm is
“lined up” and the rotation of joint 4 or joint 6 will both result in the same movement of
the TCP. The HMOVE command will produce a linear path that will configure the robot
in such a way that singularity is avoided.
The location specifies the destination of the HMOVE. The location specified must be the
name of a location variable and can be a precision point, transformation, or compound
transformation location. Examples of the HMOVE command for these types of locations
are:
HMOVE #pic
HMOVE start
HMOVE start + place
The optional argument clamp number specifies the clamp number to be opened or
closed when the robot reaches the destination location. To open a clamp, type a “,” after
the location and specify the clamp number. To close a clamp, type a “,” after the location
and type a “-” before the clamp number. If the clamp number is omitted, the clamp
signal will not change. Examples of the HMOVE command with clamp instructions are:
HMOVE set,2
HMOVE pick,-2
The format for the DELAY command is: DELAY time. The DELAY command causes the
robot to stop its motion for a specified period of time when the TCP reaches the accu-
racy range of the last motion step. When the program instruction DELAY is encoun-
tered, the robot will not begin movement to the next location until the specified time has
elapsed. If the program contains steps that do not cause robot motion between the
DELAY command and the next motion instruction, those instructions will be processed
even though the DELAY has not elapsed.
An example of the DELAY command is shown in figure 5-5. Robot motion will stop for
5.5 seconds when the TCP reaches the 100 mm accuracy range of location “aa”, pro-
gram instructions 4, 5, and 6 will be executed while the robot is in the DELAY period.
After the 5.5 seconds have elapsed, the robot will move to location “bb”.
$LIST/P test
.PROGRAM test()
1 ACCURACY 100 ALWAYS
2 JMOVE aa
3 DELAY 5.5
4 SIGNAL 2,4,6
5 SIGNAL -3,-5,-7
6 stack = 126
7 LMOVE bb
The format for the STABLE command is: STABLE time. The STABLE command causes
the robot to stop its motion for a specified period of time when the TCP reaches the
exact position of the previous location, regardless of the accuracy range. When the
program instruction STABLE is encountered, the robot will not begin movement to the
next location until the specified time has elapsed. While the STABLE time period is in
effect, no program instructions will be processed.
An example of the STABLE command is shown in figure 5-6. Robot motion will stop for
5.5 seconds when the TCP reaches the exact location aa, program instructions 4, 5, and
6 will not be executed while the robot is in the STABLE period. After the 5.5 seconds
have elapsed, program execution will resume at step 4.
$LIST/P test
.PROGRAM test()
1 ACCURACY 100 ALWAYS
2 JMOVE aa
3 STABLE 5.5
4 SIGNAL 2,4,6
5 SIGNAL -3,-5,-7
6 stack = 126
7 LMOVE bb
The format for the SPEED command is: SPEED value ALWAYS. The program instruc-
tion SPEED is used to set the robot motion velocity. The velocity of the robot move
when executing a program is the product of the monitor (repeat condition speed) speed
and the program instruction SPEED. The maximum speed identified in the specification
sheet for each model of robot cannot be exceeded.
The parameters for the program instruction SPEED value can be specified as a percent-
age, an absolute speed, or a timed movement. To set the robot speed as a percentage
of maximum speed, the percentage value is typed after the SPEED command. The
acceptable range for the percentage value is from 0.01 to 100. To set the robot speed to
an absolute velocity, the desired velocity value in mm/second or mm/minute is typed
after the SPEED command. To define an absolute speed, the desired speed value must
be followed by either mm/s or mm/min. The absolute speed parameters control the tool
tip speed and have no direct meaning upon joint moves. When a joint move is executed,
the proportion of absolute speed to maximum absolute speed is calculated and used.
Joint interpolated moves are governed by the timing of joint movement and are not
affected by absolute speed instructions. To identify a timed motion, the desired time
value must be followed by a “s”.
The argument ALWAYS is optional, if it is omitted, only the program step following the
SPEED command is effected by the instruction. If the arguments ALWAYS is specified
after the SPEED command, all program steps will be executed at the specified SPEED
until another speed command is encountered in the program. The following are ex-
amples of the SPEED command:
SPEED 20 mm/s Sets the tool tip speed to 20 mm per second for
the next linear motion command.
SPEED 6000 mm/min Sets the tool tip speed to 6000 mm per minute for
linear interpolated motion commands until it is
changed by another SPEED command.
The format for the ACCURACY command is: ACCURACY value ALWAYS. The ACCU-
RACY command is used to set the positioning accuracy of robot motion. The value is
specified in mm, the acceptable ACCURACY range is from the minimum specified for a
robot model to 5000 mm. When the robot is in the repeat mode of operation, the play-
back accuracy is affected by a number of things, including: the distance between the
taught points, the settings of the CP switch, and if the step contains timers or other wait
conditions.
The argument ALWAYS is optional. If it is omitted, only the program step following the
ACCURACY command is effected by the instruction. If the argument ALWAYS is speci-
fied after the ACCURACY command, all program steps will executed at the specified
ACCURACY until another accuracy command is encountered in the program.
The format for the ACCEL command is: ACCEL value ALWAYS. The program instruc-
tion ACCEL is used to set the robot motion acceleration velocity. The default setting for
the acceleration rate is 100%. The ACCEL command can be used to lengthen the time
the robot takes to reach its commanded speed. The value is specified in a percentage,
the acceptable value range is from 0.01% to 100%.
The argument ALWAYS is optional. If it is omitted, only the program step following the
ACCEL command is effected by the instruction. If the argument ALWAYS is specified
after the ACCEL command, all program steps will executed at the specified ACCEL
velocity until another acceleration command is encountered in the program.
The format for the DECEL command is: DECEL value ALWAYS. The program instruc-
tion DECEL is used to set the robot motion deceleration velocity. The default setting for
the deceleration rate is 100%. The DECEL command can be used to lengthen the time
the robot takes to slow down from its commanded speed. The value is specified in a
percentage, the acceptable value range is from 0.01% to 100%.
The argument ALWAYS is optional, if it is omitted, only the program step following the
DECEL command is effected by the instruction. If the argument ALWAYS is specified
after the DECEL command, all program steps will execute at the specified DECEL
velocity until another deceleration command is encountered in the program.
The BREAK command is used to suspend the execution of the next program step until
the current motion step is completed. The BREAK command will cause an interruption
of a continuous path motion, and the robot will stop momentarily at the transition point.
In the example shown in figure 5-7, the BREAK command is used to ensure the robot
reaches the location 500 mm above “abc” before the location “xyz” is defined. If the
program did not contain the BREAK instruction, location “xyz” would be defined at some
location while the robot was performing the DRAW command.
$LIST/P test
.PROGRAM test()
1 ACCURACY 100 ALWAYS
2 JMOVE abc
3 DRAW ,,500
4 BREAK
5 HERE xyz
The BRAKE command is used to stop the current robot motion and transition to the next
program step. The BRAKE instruction stops robot motion immediately and program
execution skips to the next step.
Clamp control commands are program instructions that are used to provide various
clamp operational tasks. The C-series controller can support the control of up to eight
different clamps. Auxiliary function 114, Clamp Specifications, is used to set the clamp
control parameters.
The format for the OPEN command is: OPEN clamp number. The OPEN command is
used to set the output signal that opens the clamp hand. The OPEN command sets the
output signal to open the clamp hand at the beginning of the next robot motion. The
clamp number specifies the clamp to be opened. Up to eight clamps can be used. If the
clamp number is omitted, clamp one is specified.
The format for the OPENI command is: OPENI clamp number. The OPENI command
is used to set the output signal that opens the clamp hand. The OPENI command
causes a BREAK to occur if a continuous path is in progress. The output signal to open
the clamp hand is set at the completion of the current motion. The clamp number speci-
fies the clamp to be opened, up to eight clamps can be used. If the clamp number is
omitted, clamp one is specified. Figure 5-8 shows the differences between the OPEN
and OPENI commands.
The format for the CLOSE command is: CLOSE clamp number. The CLOSE command
is used to set the output signal that closes the clamp hand. The CLOSE command sets
the output signal to close the clamp hand at the beginning of the next robot motion. The
clamp number specifies the clamp to be closed. Up to eight clamps can be used. If the
clamp number is omitted, clamp one is specified.
The format for the CLOSEI command is: CLOSEI clamp number. The CLOSEI com-
mand is used to set the output signal that closes the clamp hand. The CLOSEI com-
mand causes a BREAK to occur if a continuous path is in progress. The output signal to
close the clamp hand is sent at the completion of the current motion. The clamp number
specifies the clamp to be closed, up to eight clamps can be used. If the clamp number
is omitted, clamp one is specified.
The format for the RELAX command is: RELAX clamp number. The RELAX command
is used to turn off both sides of a pneumatic valve. The RELAX command sets the
output signals to release pneumatic pressure at the clamp hand at the beginning of the
next robot motion. The clamp number specifies the clamp to be relaxed, up to eight
clamps can be used. If the clamp number is omitted, clamp one is specified.
The format for the RELAXI command is: RELAXI clamp number. The RELAXI com-
mand is used to turn off both sides of a pneumatic valve. The RELAXI command
causes a BREAK to occur if a continuous path is in progress. The output signals to
release pneumatic pressure to the clamp hand are set at the completion of the current
motion. The clamp number specifies the clamp to be relaxed, up to eight clamps can be
used. If the clamp number is omitted, clamp one is specified.
The following instructions are used to specify the robot configuration. The instructions
can be inserted before any joint interpolated motion instruction, i.e. JMOVE, JAPPRO,
JDEPART, QRIVE, etc., whose destination is a transformation variable. The robot con-
figuration will be changed during the next joint interpolated motion.
The RIGHTY and LEFTY instructions will force a robot configuration (posture) change
during the next motion so that the first three joints of the robot arm are configured to
resemble a person’s right or left arm. The RIGHTY and LEFTY commands are not
effective during linear interpolated motion or if the destination is a precision location.
The ABOVE and BELOW instructions will force a robot configuration (posture) change
during the next motion so that the “elbow joint” (joint 3) is configured in an above or
below position relative to the wrist. The ABOVE and BELOW commands are not effec-
tive during linear interpolated motion or if the destination is a precision location.
The UWRIST and DWRIST commands are instructions that will cause a configuration
(posture) change during the next motion so that the angle of Joint 5 will have a positive
value for an UWRIST command and a negative value for a DWRIST command. The
UWRIST and DWRIST commands are not effective during linear interpolated motion or
if the destination is a precision location.
The format for the GOTO command is: GOTO label IF condition. The GOTO command
causes program execution to move to (branch) the specified label.
A label is assigned to a program step for the purpose of identifying a spot in the pro-
gram for execution to branch. Labels maintain their relative locations within a program
when steps are inserted or deleted, unlike program step numbers which are reassigned
with the insertion or deletion of steps. Labels can be a combination of alphanumeric
characters up to 15 characters long. To place a label in a program, type the desired
label before the keyword in a program instruction. If the label begins with a alpha char-
acter, a “:” is automatically added after the label name.
IF is an optional argument that can be used in conjunction with the GOTO command. If
the IF argument is not included with the GOTO command, the GOTO instruction is
unconditional and the program branches to the specified label each time the program
step is processed. If the IF argument is included with the GOTO command, the GOTO
instruction is conditional and the program branches to the specified label only when the
condition statement is true. If the conditional statement is not true, the program pro-
ceeds to process the next step.
In the example shown in figure 5-9, step 9 of the program has an unconditional GOTO
instruction that causes the program to branch to the label “line”. Step 3 of the program
has a conditional GOTO instruction that causes the program to branch to the label “200”
when x is greater than 5, if x is less than 5, steps 4 through 8 are processed.
$LIST/P test
.PROGRAM test()
1 line: JMOVE pounce
2 x=x+1
3 GOTO 200 IF x>5
4 BREAK
5 JMOVE aa
6 LMOVE bb
7 LDEPART 100
8 GOTO line
9 200 Home
5.5.2 IF COMMAND
The format for the IF command is: IF condition GOTO label. The IF command causes
program execution to move to (branch) the specified label when the conditional expres-
sion is true.
The IF commands includes a GOTO command in its format. The IF command is always
conditional. When the IF command is processed and the conditional expression is true,
the program branches to the specified label. If the conditional statement is not true, the
program proceeds to process the next step.
A label is assigned to a program step for the purpose of identifying a spot in the pro-
gram for execution to branch. Labels maintain their relative locations within a program
when steps are inserted or deleted, unlike program step numbers which are reassigned
with the insertion or deletion of steps. Labels can be a combination of alphanumeric
characters up to 15 characters long. To place a label in a program, type the desired
label before the keyword in a program instruction. If the label begins with a alpha char-
acter, a “:” is automatically added after the label name.
In the following examples, the IF command is used to evaluate weather the real variable
n is greater than 20, if n is greater than 20 the program branches to the label 100. The
IF command is also used with the logical and condition of signals 1001 and 1002, the IF
condition is true if signal 1001 is ON and signal 1002 is OFF, the program branches to
the label 250.
The format for the CALL command is: CALL program name. The CALL command
causes program execution to jump to the first step of the specified program (subroutine).
After completion of the subroutine, execution returns to the next step after the CALL
instruction.
A subroutine cannot be called by both the robot control program and the PC program at
the same time. Multiple CALLS from subroutines (calling another subroutine from the
one being executed) are possible up to twenty times. A subroutine cannot CALL itself.
Figure 5-10 shows examples of the CALL command.
EDIT pg00
1? HOME
2? If SIG (1001) THEN
3? CALL PG02
4? END
5? HOME 2
EDIT pg02
1? JMOVE aa
2? LMOVE bb
3? 150 CALL pg07
4? DELAY 2
5? JMOVE cc
6? GOTO 150 IF SIG(1020)
EDIT pg07
1? JMOVE a1
2? C1MOVE a2
3? C2MOVE a3
4? C1MOVE a4
5? C2MOVE a1
In pg00 at step 2, if input signal 1001 is high, step 3 is processed and the instruction
CALL pg02 is executed. If input signal 1001 is low, step 5 is executed. If pg02 is called
by pg00, pg02 is executed. In pg02, step 3 causes the program to execute pg07. After
pg07 is executed, the execution returns to the caller program. The execution continues
from step 4, and if input signal 1020 is high (step 6), the program branches to step label
150 at which point pg07 is executed again. If input signal 1020 is low, then execution
returns to pg00 (the caller program).
The RETURN command terminates execution of the subroutine and returns program
execution to the original program, at the step following the instruction which called the
subroutine.
If no caller program exists, as in the case of a subroutine program that was executed by
the EXECUTE instruction, the RETURN instruction is processed the same as a STOP
instruction. If there are remaining cycles to be executed, execution continues with the
first step.
The format for the WAIT command is: WAIT condition. The WAIT command causes
program execution to wait at the current step until the specified condition (real value
expression) becomes TRUE. The WAIT instruction is used to suspend program execu-
tion until the specified condition is satisfied. A programmed WAIT instruction can be
bypassed with the CONTINUE NEXT command or the WAIT OVERRIDE function. For
example, the instruction WAIT SIG (1001, -1003) causes program execution to wait until
external input signal 1001 is turned ON and signal 1003 is turned OFF. The instruction
WAIT TIMER (1)>10 causes program execution to wait until the value of timer 1 exceeds
ten seconds. The instruction WAIT n>100 causes program execution to wait until the
real variable n has a value greater than 100.
The format for the SWAIT command is: SWAIT signal number. The SWAIT command
causes program execution to wait until the specified external I/O signals or internal I/O
signals are set to the specified states. The signal number represents the number of an
external or internal I/O signal. A “-” (minus) sign is used to specify the desired signal
state is OFF. If all of the specified SWAIT signal states are satisfied, program execution
proceeds to the next step. If all of the specified SWAIT signal states are not satisfied,
program execution waits at the current step. A programmed SWAIT instruction can be
bypassed with the CONTINUE NEXT command or the WAIT OVERRIDE function.
The format for the TWAIT command is: TWAIT time. The TWAIT command causes
program execution to wait at the current step for the specified period of time (in sec-
onds). For example, the command TWAIT 0.5 causes execution to wait for 0.5 seconds
while the command TWAIT fix causes execution to wait for the time set by the real
variable “fix”.
The PAUSE command stops program execution and sends a message to the display
screen. The CONTINUE command can be used to resume program execution after a
PAUSE instruction. The PAUSE command can be useful when troubleshooting pro-
grams. Insert a PAUSE command at any point in the program to stop execution for a
moment and check the current values of variables.
The HALT command stops program execution. When a HALT command is encountered,
program execution cannot be resumed regardless of remaining execution cycles. When
the HALT command is processed, a message is displayed. Program execution that has
been stopped by the HALT instruction cannot be resumed by the CONTINUE or CON-
TINUE NEXT command.
The STOP command terminates the current execution cycle. If there are remaining
cycles to be completed, execution returns to the first step, otherwise, execution ends. If
more execution cycles are remaining, execution continues with the first step of the main
program (even if STOP was executed in a subroutine or an interrupt-handling program,
execution returns to the beginning of the main program). A RETURN instruction in a
main or caller program performs the same function as the STOP instruction. After a
program has been ceased by a STOP instruction, the CONTINUE command cannot be
used to resume execution.
The SCALL command is similar to the CALL command. The SCALL command is used
with a program name that is assigned to a string variable.
The format for the LOCK command is: LOCK priority. The LOCK command is used in
process control (PC) programs and sets the execution priority of subroutines. The range
or priority setting available is from 0 to 127. If subroutines that are called by the PC
program do not have a LOCK priority assigned, a 0 is assumed.
The format for the ONE command is: ONE program name. The ONE command is used
in process control (PC) programs and is used to call the specified program name when
an error occurs. The ONE command causes the program to return to the program step
where the error was generated. The program name specified with the ONE command
cannot have any robot motion instructions.
The following section covers the five control flow structures available with the AS Lan-
guage. Control flow structure instructions are special types of program commands that
consist of more than one line of code to form a group or block of steps. Depending on
the structure used, these blocks of instructions evaluate variables and based on the
results of those evaluations provide sequence control, decision making, looping, and the
ability to select a set of instructions to be processed from many possible sets. With the
exception of the DO UNTIL command structure, all control flow structures are defined by
a format that starts with a structure command and has an END instruction to identify the
last command in the structure.
When the logical expression is true, the program instructions following the THEN state-
ment are processed and executed. The program then transfers out of the control flow
structure to the program instruction following the END statement. When the logical
expression is false and the optional ELSE command is not used, the program skips to
the program instruction following the END statement. If an ELSE command is used and
the logical expression is false, the program instructions following the ELSE instruction
are processed and executed. The program then transfers out of the control flow struc-
ture to the program instruction following the END statement. The
IF...THEN...ELSE...END control flow structure can have additional structure(s) “nested”
within the original structure. When a control flow structure has nested structure, the
inner most structure is processed first.
In the first example shown in figure 5-11, the IF...THEN...ELSE..END structure is used to
evaluate the real variable x, if the value of x is less than 20, the three motion commands
in steps 12, 13, and 14 are executed and then the program processes step 19 and then
the GOTO the program instruction associated with the label 250. If the value of x is
greater than 20, the program instructions of steps 16 and 17 is processed and the robot
goes to the HOME position and waits for signal 1003 to turn ON. If signal 1003 is on,
after the robot reaches HOME, the program processes step 19 and then the GOTO
program instruction associated with the label 250. In the example on the right of figure
5-11, when signal 1011 is ON, the program instructions of steps 22 and 23 are pro-
cessed. When signal 1011 is OFF, the first program instruction after the control flow
structure (step 25) is processed.
The WHILE...DO...END control flow structure permits the repeated execution of a group
of statements while a specified logical expression is found to be true. If the logical
expression is true, then the program instructions following the WHILE...DO command
and preceding the END instruction are executed. The program processing then returns
to the WHILE..DO statement and retests the logical expression. This flow of processing
continues repeatedly until the logical expression becomes false, or until another condi-
tional statement inside the control flow structure causes a transfer out of the original
structure. When the logical expression is false (which includes the first time it is evalu-
ated), program processing resumes at the instruction following the END.
$LIST/P test
.PROGRAM test()
21 WHILE SIG (1021,1022) DO
22 CALL weld2pg
23 CALL weld3pg
24 END
25 GOTO line
In the example shown in figure 5-12, as long as both signals 1021 and 1022 are ON, the
subroutines weld2pg and weld3pg are called. When the subroutine is completed, the
program execution returns to the caller program and re-evaluates signals 1021 and
1022, if either of them is not ON, the program will process step 25.
Typically the WHILE...DO...END structure is used with a loop type variable. The loop
variable is a real variable with a value that is continually tested in the logical expression.
This variable must be correctly initialized prior to entering the WHILE...DO...END struc-
ture, if the loop is to be executed the correct number of times. The value of the loop
variable should be updated within each loop structure. The update of the loop variable
is usually the last executable statement in the WHILE...DO...END structure. Figure 5-13
is an example of this type of loop variable being used with a WHILE...DO...END struc-
ture.
$LIST/P test
.PROGRAM test()
31 welds=0
32 WHILE welds<50 DO
33 jm spot1
34 jm spot2
35 jm spot3
36 welds=welds+1
37 END
DO
........
Program instructions
........
UNTIL logical expression
The DO...UNTIL control flow structure provides a method to control the execution of a
group of program instructions based on the evaluation of a logical expression. Typically,
when the DO...UNTIL structure is used, some action or process occurs within the struc-
ture that changes the result of the logical expression from TRUE to FALSE causing the
structure to be exited.
The DO...UNTIL control flow structure provides a similar type of logic structure as the
previous WHILE...DO...END instructions. However, with the DO...UNTIL structure the
program instructions within the structure will always be processed at least once.
No program instructions are needed between the DO and UNTIL commands. When
there are no such instructions, the UNTIL criterion is continuously evaluated until it is
satisfied, at which time program execution continues with the instructions following the
UNTIL instruction.
$LIST/P test
.PROGRAM test()
51 DO
52 CALL lftfender
53 CALL rgtfender
54 UNTIL SIG(-1019)
In the example shown in figure 5-14, the CALL instructions of steps 52 and 53 is pro-
cessed at least one time regardless of the status of signal 1019. The CALL instructions
of steps 52 and 53 are processed as long as signal 1019 is ON. When signal 1019
changes state to OFF, the program advances to step 55 and continues execution from
that point.
The FOR...TO...STEP...END control flow structure is used to repeat the program instruc-
tions within the structure a specified number of times. The FOR...TO...STEP...END
structure utilizes a loop variable (a real variable used as a counter), that processes the
structure a specified number of times. The number of times the structure is processed is
determined by the range of the start value TO the end value. Each time the structure is
processed, the loop variable receives a new value. If the loop variable is in the range of
values specified by the start value TO end value, the program instructions within the
structure are executed once. The looping process is completed when the loop variable
has exceeded the end value.
The FOR...TO section of the structure identifies the loop variable, and specifies the
beginning and ending range for the loop counter. If the value of the loop variable is not
within the range identified by the start value and the end value, the program does not
process any other instructions within the structure. The start value and end value can
be expressed as constants or arithmetic expressions. The optional STEP instruction
specifies the amount (step value) by which the loop variable is increased or decreased
each time the structure is processed. If the STEP instruction is omitted, the default
increment amount is set at one. If the STEP value is a positive number, the value of the
counter is increased by that amount each time the structure is processed. If the STEP
value is a negative, the counter value is decreased.
$LIST/P test
.PROGRAM test()
01 spots = 0
.......
61 FOR spots = 0 TO 25
62 LMOVE upspot
63 JMOVE downspot
64 LMOVE overspot
65 END
In the example shown in figure 5-15, the real variable spots is being used as a loop
variable. Step 1 sets the value of spots to 0, at step 61 the range for the structure is set
from 0 (start value) to 25 (end value). Because 0 is within the acceptable range speci-
fied in step 61, the program instructions in steps 62, 63, and 64 are processed 26 times
before the program step after the END (step 66) is executed. These steps are executed
26 times because the initial value was 0. In this example the STEP instruction was
omitted causing the loop variable spots to be incremented by a value of one each time it
was evaluated.
The CASE block structure implements a selected VALUE depending on the index vari-
able. This block structure provides capabilities similar to those of a GO TO statement.
The general form of the CASE block is shown above.
The index variable is a real valued expression whose value is used to select the proper
VALUE and its related statements. The CASE structure evaluates the index variable,
and then examines the VALUE statements sequentially to find the same VALUE as the
index variable. After the statements belonging to the selected VALUE statement are
executed, control of execution resumes at the statement immediately following the END
statement (unless a GO TO statement was encountered).
If no VALUE step is found that contains the same value as the CASE index variable, and
there is an ANY step in the structure, then the group of instructions following the ANY
step is executed.
If no VALUE match is found in the structure, and there is no ANY step, none of the
instructions in the entire CASE structure are executed.
$LIST/P test
.PROGRAM test()
61 pg = BITS (1021,4)
62 CASE pg OF
63 VALUE 1
64 CALL pg01
65 VALUE 2
65 CALL pg02
66 VALUE 3
67 CALL pg03
68 ANY
69 HOME
70 PRINT “An unexpected value was received.”
71 PRINT “Wait override required to continue.”
72 SWAIT 1013
73 END
In the example shown in figure 5-16, step 61 assigns the binary value signals 1021
through 1024 to the real variable pg. Step 62 uses the CASE pg OF command to estab-
lish pg as an index variable, the value of pg is evaluated by the VALUE instructions.
When the value of pg is 1 (signal 1021 ON, signals 1022, 1023, and 1024 OFF), the
VALUE command at step 64 is satisfied and pg01 is called. Steps 65 and 66 follow the
same evaluation process. As long as the value of pg remains 1, 2, or 3, the subroutines
pg01, pg02, and pg03 are executed. If the value of pg is not 1, 2, or 3, the ANY com-
mand in step 68 will be processed and the robot goes to HOME, prints the character
strings specified in steps 70 and 71, and then waits for signal 1013. After the SWAIT is
satisfied, the program processes the next step after the structure.
The RESET command is used to reset all external output signals to OFF. The RESET
command does not turn OFF dedicated output signals. Before the RESET command is
entered, users should be aware of the affect the command will have on external equip-
ment and peripheral programming.
The format for the SIGNAL command is : SIGNAL (-)signal number, ......... . The SIG-
NAL command is used to set external output signals and internal status signals to ON or
OFF. To turn the desired signal(s) ON, the signal number(s) are entered after the SIG-
NAL command and are separated by a “,”. If the signal(s) are to be turned OFF, a “-”
symbol is placed before the signal number. Signals that have been assigned as dedi-
cated signals for specific conditions cannot be turned on and off with the SIGNAL com-
mand. Input signals cannot be designated with the SIGNAL command. The range of
signals that can be affected by the SIGNAL command include: 1 to the number of exter-
nal output signals the controller is configured for and 2001 to 2256 for internal status
signals. For example, SIGNAL 2,4,-5 turns outputs 2 and 4 ON and output 5 OFF.
The format for the PULSE command is : PULSE signal number, time (seconds). The
PULSE command is used to turn ON a specified signal for a set period of the time. The
range of signals that can be affected by the PULSE command include: 1 to the number
of external output signals the controller is configured for and 2001 to 2256 for internal
status signals. Signals that have been assigned as dedicated signals for specific condi-
tions cannot be used with the PULSE command. Signals can only be turned ON with
the PULSE command, they cannot be PULSED off. If a time value is not specified, 0.2
seconds is the default setting and signals are pulsed on for 0.2 seconds. For example,
PULSE 4,5.6 turns output 4 ON for 5.6 seconds.
The format for the DLYSIG command is : DLYSIG signal number, time (seconds). The
DLYSIG command is used to turn a specified signal ON or OFF for a set period of time.
The range of signals that can be affected by the DLYSIG command include: 1 to the
number of external output signals the controller is configured for and 2001 to 2256 for
internal signals. Signals that have been assigned as dedicated signals for specific
conditions cannot be used with the PULSE command. Signals can be turned ON or
OFF with the DLYSIG command. A “-” is used before the signal number if the signal is to
be turned OFF. For example, DLYSIG 2,4.5 turns output 2 ON after 4.5 seconds have
elapsed, DLYSIG -2,4.5 turns output 2 OFF after 4.5 seconds have elapsed.
The format for the RUNMASK command is: RUNMASK starting signal, number of
signals. The RUNMASK command allows signals that were turned on within a program
to remain ON only while the program is being executed. If a signal is turned ON within a
program by a SIGNAL, PULSE, or DYLDSIG instruction, the RUNMASK command
causes the signal to turned OFF when program execution stops.
The starting signal is the first signal number to be affected by the RUNMASK command.
The number of signals specifies how many signals are affected by the RUNMASK com-
mand. If the number of signals is omitted, only one signal will be affected. A negative
value before the signal number indicates that the mask function is to be canceled; that
is, the unmasked signals are not turned OFF when program execution stops.
The format for the BITS command is: BITS starting signal number, number of sig-
nals = value. The BITS command is used to set a specified number of output signals to
a binary value or to display the current status of the signals specified. The starting
signal number is the smallest signal number to be set (least significant bit). The number
of signals (bits) is how many signals are to be evaluated (maximum 16), starting from
the starting signal number. The range of signals that can be used with the BITS com-
mand include: 1 to the number of external output signals the controller is configured for
and 2001 to 2256 for internal status signals. Signals that have been assigned as dedi-
cated signals for specific conditions cannot be used with the BITS command. For ex-
ample, the instruction BITS 2001,3 displays the binary value of internal signals 2001,
2002, and 2003. In another example, the instruction BITS 1-8=100 sets the signal
states of signals 1 through 8 to a binary value of 100 (binary 1100100 or signal numbers
8, 7, and 3 would be ON).
The EXTCALL command (external call) is used to select an external program number
(subroutine) by utilizing the RPS function and designated external input signals.
2. The program then scans for the RPS-ON signal to be turned ON.
3. When the RPS-ON signal is detected, a binary number is calculated from the desig-
nated input signals and a external subroutine program is called. The inputs used for
subroutines program numbers include binary signals RPS1 through RPS64. The
EXTCALL instruction selects programs with a (Pg) prefix and the number of the
calculated binary signal status.
The EXTCALL instruction is effective only when external input signals have been desig-
nated for RPS-ST, RPS-ON, RPS1 - RPS64, and the RPS system switch is ON.
5.7.8 ON COMMAND
The format for the ON command is: ON signal number CALL program name, priority
or ON signal number GOTO label, priority. The ON command is used to monitor the
specified external input signal and, when the signal is turned to the desired state,
CALLs the specified program name (subroutine), or, in the case of a GOTO instruction,
proceeds to the specified label. After the ON command has been processed the first
time, the program continuously monitors the specified signal for the desired state. The
CALL or GOTO action of the ON command is not affected by processing of the indi-
vidual program step containing the ON instruction. When the signal number specified
changes state to the specified condition, the program completes the current motion step
it is processing and then CALLs the program name or processes the GOTO statement
and proceeds to the label identified.
The range of signal numbers that can be monitored by the ON command are from 1001
to the number of external signal number that are configured or 2001 to 2256 for internal
signals. Signal monitoring initiated with an ON command is canceled in the following
cases:
• An IGNORE instruction is executed for the signal for which the ON or ONI instruc-
tion was executed.
The format for the ONI command is: ONI signal number CALL program name, prior-
ity or ONI signal number GOTO label, priority. The ONI command is used to monitor
the specified external input signal and when the signal is turned to the desired state,
CALLs the specified program name (subroutine), or, in the case of a GOTO instruction,
proceeds to the specified label. After the ONI command has been processed the first
time, the program continuously monitors the specified signal number for the desired
state. The CALL or GOTO action of the ONI command is not dependant on when the
individual program step containing the ONI instruction is processed. When the signal
number specified changes state to the specified condition, the program terminates the
current motion step it is processing and immediately CALLs the program name or pro-
cesses the GOTO statement and proceedes to the label identified.
The range of signal numbers that can be monitored by the ONI command are from 1001
to the number of external signals that are configured, or 2001 to 2256 for internal sig-
nals. Signal monitoring initiated with an ONI command is canceled in the following
cases:
• An IGNORE instruction is executed for the signal for which the ON or ONI instruc-
tion was executed.
The argument priority is optional. The acceptable range for the priority argument is from
1 to 127. If the priority is omitted, it is defaulted to 1. The greater the priority number
indicated, the higher the priority.
The signal monitoring does not process according to the state of the signal itself. The
interruption caused by a satisfied ONI command occurs when the signal state changes.
When an ONI instruction is in a program and the signal number being monitored is ON,
the interruption does not occur until the signal is turned OFF then ON again. To be
detected, signal changes must remain stable for at least 50 msec. Signal changes are
ignored while program execution is stopped.
In this example, the program starts monitoring the external input signal 1001(WX1) the
first time this line of code is processed. When signal 1001 changes from ON to OFF
(designated by the minus sign before the signal number), the current robot motion is
stopped at once, and execution branches to the program named “alarm”. If the priority
of the current program is 10 or higher, the branch does not take place until the priority of
the current program is below 10.
The IGNORE command cancels signal monitoring initiated by the ON or ONI instruction.
This command has the effect of clearing the last ON or ONI instruction.
The format for the TYPE and PRINT commands is: TYPE (or PRINT) device number:
print data. The TYPE and PRINT commands result in the same output format on the C-
series controller multi function panel. The device number identifies if the output is to be
displayed on a personal computer or multi function panel. If the output is to go to a
personal computer, a 1: is entered. If the output is to go to a multi function panel, a 2: is
entered. If no device number is entered, the default setting is 1: . If a multi function
panel is being used and the device number is set to 1:, the output from the PRINT and
TYPE commands is displayed only if the user places the multi function panel in the
keyboard mode. When a 2: is entered for the device number and a TYPE or PRINT
message is to be output, the multi function panel automatically changes from the current
display to the keyboard display mode. The system switch MESSAGES must be ON for
PRINT and TYPE commands to be displayed.
The TYPE and PRINT commands can be used in conjunction with string expressions by
placing the characters to be displayed between quotation marks. For example, the
program instruction TYPE “Kawasaki Robotics Inc.” outputs “Kawasaki Robotics Inc.” to
the display screen. The value of real variables and calculations can also be output to
the display screen with the TYPE and PRINT commands by placing the data to be
evaluated between ( ) marks. A comma is required between arguments used with the
PRINT and TYPE commands. For example, if the real variable total_parts has a value
of 50 assigned to it and the program instruction
TYPE “The number of total parts is ”, (total_parts) ,“.”
is entered, the output to the display screen will be: The number of total parts is 50. An
example of the TYPE and PRINT commands used with a calculation of variables follows:
the real variable total_parts has a value of 50 assigned to it, the real variable
parts_comp has a value of 20 assigned to it and the program instruction
TYPE “The number of parts processed is ”, (total_parts - parts_comp) ,”.”
is entered, the output to the display screen will be: The number of parts processed is
30.
The output from TYPE and PRINT commands can be modified to display the information
that is formatted to the programmers specifications. The following format specifications
are used to control the format of numeric values, blank spaces, and carriage returns.
The format setting becomes effective for subsequent parameters until another format
instruction is given.
/D Used for the default format. This is the same as /G15.8 except that following
zeros, and all spaces are removed.
/Em.n The value is displayed in scientific notation (for example, 1.234E+02), whole
numbers in “m” digits and the fractional part in “n” digits. (The value of “m”
should be larger than “n” by six [6] or more, and smaller than thirty-two [32].)
/Fm.n The value is displayed in fixed point notation (for example, -1.234), whole num-
bers in the “m” digits field with the fractional part in the “n” digits field.
/Gm.n If the value is 0.01 or more and can be displayed in the format “F” in the “m” digit
field, the value is displayed in “F” format. Otherwise, the value is displayed in the
“Em.n” format.
/Hm The value is displayed as a hexadecimal number in the “n” digit field.
/ln The value is displayed as a decimal number in the “n” digit field.
The following formats are used to insert special characters between character strings.
/Cn A set of carriage returns (CR) and line feeds (LF) is output for “n” times. If this
format is the first or the last argument in the PRINT instruction, there will be “n”
blank lines on the terminal.
/S This is effective only when this format is the first argument. This format sup-
presses the output of (CR) and (LF) at the beginning of a message.
/Vn If n=1, the upper area of the screen is enlarged. If n=0, the lower area of the
screen is enlarged.
The format for the PROMPT command is: PROMPT device number, “...character
string message...”, variable value to be processed. The PROMPT command is used
to allow the operator to interact with the program being processed by providing a means
to input variable data.
The device number specifies the type of interface being used. A “1” is entered if a PC is
used while a “2” is entered if the interface device is a multifunction panel. If the device
number is omitted, the multi function panel is set as the default interface device.
The character string message is entered by the programmer and is the message that
the operator reads and responds to. The response of typing a value and pressing the
ENTER key, assigns a value to the specified real variable. When a program is executing
and a PROMPT command is processed, the program does not process any additional
steps until the PROMPT command has been responded to. If no value is entered at the
PROMPT message, a value of zero is assigned.
$LIST/P test
.PROGRAM test()
71 HOME
72 PROMPT “Please enter the number of parts to be processed”, parts
73 JMOVE pickup
74 FOR totpt = 1 TO parts
75 LMOVE pt1
76 CLOSE
77 LMOVE pt2
.....
81 END
The example in figure 5-17 shows the PROMPT command in step 72 being used to
send a message to the operator (multi function panel in operation). When the operator
enters a number as a response to the PROMPT message, the value is assigned to the
real variable parts. In step 74 of the program a loop variable is being set up with the
FOR...TO...END control flow structure, the end value of the counter is assigned the
value entered from the PROMPT command, parts.
AS LANGUAGE FUNCTIONS
AS LANGUAGE FUNCTIONS
AS Language functions are operators that create a value. Functions are most often
program instructions combined as a part of the evaluation and determination process
within a program. However, some functions can stand alone in a program. AS Lan-
guage functions are divided into four categories: real value functions, location functions,
mathematical functions, and character string functions.
The format for the SIG function is: SIG (signal number, signal number, .....). The SIG
function is used to return a logical (true -1 or 0 false) value based on the status of the
specified signals. If more than one signal is included in the SIG function, the evaluation
performed is a logical AND. All signal states specified in the function must be satisfied
for the response to be true.
The format for the BITS function is: BITS (starting signal number, number of signals).
The BITS function is used to read consecutive binary signals and return the decimal
value which corresponds to the binary bit pattern of the specified signals. The starting
signal number is the first signal number to be read. This signal number is also referred
to as the least significant bit in the function. The number of the signals to be read identi-
fies how many signals are to be evaluated beginning with starting signal number. When
number of signals is not specified, one (1) is assumed. The maximum number of signals
that can specified is sixteen (16).
AS LANGUAGE FUNCTIONS
In the example shown in figure 6-2 the BITS function is used to assign a numeric value
to the real variable x. The numeric value of x will change according to the signal state of
the signals 1008 through 1011. The LIST/R command is used to show what the numeric
return will be based on three different signal state combinations.
The format for the TIMER function is: TIMER (timer number). The TIMER function
returns the current value (in seconds) of the indicated timer. The timer number repre-
sents the number of the timer to be read. The timer number must range from 1 to 10.
Using the TIMER function, the current value of a timer can be read, used in conjunction
with a PRINTor TYPE command, or used with conditional program instructions. The
value of the TIMER indicates the sum of the value last set by the TIMER instruction, and
the elapsed time (in seconds) since the last execution of the TIMER instruction.
In the example shown in figure 6-3 the TIMER function is used to display the time it
takes to complete 5 steps of the program “timestate”.
AS LANGUAGE FUNCTIONS
The format for the DISTANCE function is: DISTANCE (transformation value, transfor-
mation value). The DISTANCE function calculates the straight line distance between
the two transformation locations and returns a value in mm. The order of the two points
listed in the command does not affect the value of the result. For example,
assigns the value of the straight line distance in mm between the location start and the
location HOME to the real variable “x”.
The format for the DX, DY, and DZ function is: DX (transformation value) or DY (trans-
formation value) or DZ (transformation value). The DX, DY, and DZ functions calcu-
late the X, Y, or Z component base coordinate value in mm. The result can be assigned
to a real variable. For example,
y=DX (Start)
assigns the X component base coordinate value in mm to the real variable “y”.
The format for the ASC function is: ASC (character string, character number). The
ASC function is used to return the ASCII value of the specified character (character
number) in the given character string as a real value. If the character number is omitted,
the ASCII value of the first character is returned. For example, the command
w = ASC (“sample”, 2)
assigns the ASCII value of character “a” (97) to real variable “w”. ASCII values can be
found in the appendix of this manual.
The format for the LEN function is: LEN (string). The LEN function is used to return the
number of characters which are contained in the specified string. For example, the
command
r = LEN (“sample”)
AS LANGUAGE FUNCTIONS
The TRUE function is used to return a value of -1.0 which represents the logical value of
a TRUE or ON condition. For example,
r = TRUE
The FALSE function is used to return a value of 0.0 which represents the logical value
of a FALSE or OFF condition. For example,
w = FALSE
The format for the INT function is: INT(expression). The INT function is used to return
the nearest integer value of the expression, rounded down from the left of the decimal
point. For example:
The format for the TASK function is: TASK(task number). The TASK function is used to
return the execution status of a PC program. A 1 or 2 is entered to represent the robot
and 1001, 1002, and 1003 are used to represent the PC program.
No execution returns 0
Program executing returns 1
Program in HOLD returns 2
Program waiting for stepper 3
AS LANGUAGE FUNCTIONS
The ERROR function is used to return the error code number and message being gen-
erated. For example, the command
TYPE $ERROR(ERROR)
types the error code number and message currently being generated.
The format for the SWITCH function is: SWITCH(switch name). The SWITCH function
is used to return a -1.0 (ON) or 0.0 (OFF) value of the identified switch. For example:
The format for the MAXVAL command is: MAXVAL (real variable 1, real variable 2, ...
etc.). The MAXVAL function is used to return the highest value of the identified real
variables. For example, if a=10, b=15, and c=20, the command
m = MAXVAL (a,b,c)
The format for the MINVAL command is: MINVAL (real variable 1, real variable 2, ...
etc.). The MINVAL function is used to return lowest value of the identified real variables.
For example, if a=10, b=15, and c=20, the command
m = MINVAL (a,b,c)
AS LANGUAGE FUNCTIONS
The DEST function returns the transformation location which represents the planned
destination location of the current robot motion.
The DEST function can be used to indicate the destination to which the robot was mov-
ing after the robot motion was interrupted for some reason. This location value can be
used for all motion instructions. The location where the robot actually stops and the
location that the DEST function returns to are not always identical. If the robot motion
has been interrupted for some reason (for example, when the HOLD/RUN switch on the
panel is turned to the HOLD position), the robot stops immediately and the DEST func-
tion returns the robot to the original destination location.
The #DEST function returns the precision location which represents the planned desti-
nation location of the current robot motion.
The #DEST function can be used to indicate the destination to which the robot was
moving, after the robot motion was interrupted for some reason. This location value can
be used for all motion instructions. The location where the robot actually stops and the
location that the #DEST function returns are not always identical. If the robot motion
has been interrupted for some reason, (for example, when the HOLD/RUN switch on the
panel is turned to the HOLD position) the robot stops immediately and the #DEST
function returns the robot to the original destination location.
The DEST function is also used to continue the motion that was interrupted because of
an ONI CALL program instruction. By inserting the following steps in an interrupt sub-
routine, the interrupted motion can be resumed. For example:
AS LANGUAGE FUNCTIONS
The format for the FRAME function is: FRAME(location1, location2, location3, loca-
tion4). The FRAME function is used to return transformation values that represent a
unique relative coordinate system. In the FRAME function, location1 and location2 are
the transformation location values which determine the direction of the X-axis of the new
coordinate system. The direction of the X-axis will be from location1 to location2. The
location3 transformation value determines the direction of the Y-axis of the new coordi-
nate system. The direction of the Y-axis is determined such that the X-Y plane contains
location1, location2, and location3. The location4 transformation value is the origin of
the new coordinate system. Figure 6-4 shows how a relative coordinate system can be
defined with the FRAME function.
POINT F1 = FRAME(O1,X1,Y1,O1)
The following section of a program is an example of a palletizing program that uses the
FRAME function. The FRAME function must be used with a compound transformation,
precision points are not affected by the FRAME command.
AS LANGUAGE FUNCTIONS
The FRAME function is used when the orientation of the tasks being performed are not
parallel and perpendicular to the base coordinate system. To improve the accuracy of
the new coordinate system, the four locations should be defined at positions as far away
from one another as possible. The tool definition and orientation must also be consid-
ered when defining locations to be used by the FRAME function to define a relative
coordinate system.
The NULL function is used to return a transformation value with all component values
being 0. The NULL function can be used as a convenient method for generating a
transformation value with no rotational component when using the shift function. For
example the command
defines the transformation variable “new” having only the specified X, Y, and Z compo-
nents shifted from the transformation location “old”. In the example below, the NULL
function is used to return a distance from the origin of the base coordinate system to the
transformation location “test.loc”.
AS LANGUAGE FUNCTIONS
The HERE function is used to return the current transformation location of the tool
center point. In the following example, the HERE function is used to calculate the dis-
tance from the robot’s current position to a previously defined transformation location
named “spot”.
The value (distance in mm) assigned to the real variable dist can be utilized by the
programmer in a number different ways, including: printing the calculation, using the
information in a mathematical expression, or utilizing the calculation in a logical evalua-
tion.
The #HERE function is used to return the current precision location in joint angles of the
robot. The #HERE function can be used to assign precision locations to previously
undefined precision locations.
The format for the TRANS function is: TRANS (X component, Y component, Z compo-
nent, O component, A component, T component). The TRANS function returns a
value of a transformation location which consists of the coordinate system components
(X, Y, Z) and rotation (O, A, T). The TRANS function can be used to assign location
components or in conjunction with the DECOMPOSE command to assign elements of
an ARRAY to specified locations. In the following example,
the transformation components of the ARRAY variable “s” are assigned to the transfor-
mation location named “wing”. In this example, 200 mm are added to the Y component
and 300 mm are added to the Z direction component.
The format for the #PPOINT function is: #PPOINT (jt1, jt2, jt3, jt4, jt5, jt6). The
#PPOINT function returns the precision location which consists of the given compo-
nents. The precision component of each joint of the robot is represented as jt1, jt2, jt3,
jt4, jt5, and jt6. If a value for a specified joint is omitted, it is set to zero (0). The
#PPOINT command can be used to position the robot to specific joint angles or to
manipulate the joint angles of previously defined precision points.
AS LANGUAGE FUNCTIONS
The format for the RX, RY, and RZ function is: RX (angle), RY (angle), and RZ (angle).
The RX, RY, and RZ functions return transformation values that represent rotation
around the specified axis of the base coordinate system. For example, the command
assigns a transformation value which is 30 degrees of rotation about the X-axis of the
base coordinate system to the transformation location named crnr.
The format for the SHIFT function is: SHIFT (transformation_location BY X_shift,
Y_shift, Z_shift). The SHIFT function returns a transformation value which represents
the shifted position from the specified transformation location by the given shift amounts.
The X_shift, Y_shift, and Z_shift elements of the command represent the shift value to
be added to the corresponding transformation components of the specified transforma-
tion location. The following program section is an example of a palletizing program that
uses the SHIFT function.
In this example, the location “start” is assigned to the location “put” with the point com-
mand. Two FOR TO control flow structures are established. The structure to fill up the
rows is nested so that a complete row is filled before the program shifts to fill the next
row. Each time the instructions are processed the location start is moved 100 mm in the
row direction and 75 mm in the column direction. Six rows and eleven columns will be
filled before the program processes instructions outside of the two loops defined with the
FOR TO structure.
AS LANGUAGE FUNCTIONS
The format for the AVE_TRANS function is: AVE_TRANS (transformation 1, transfor-
mation 2). The AVE_TRANS function returns the average X, Y, and Z component loca-
tion of the two specified locations.
The BASE function returns the location components of the defined BASE.
The TOOL function returns the location components of the defined TOOL.
The following table identifies the mathematical functions, provides a brief description of
each function and shows the format for mathematical functions for programming pur-
poses.
A robot control program is a program which results in the direct movement of the robot.
In the robot control program, all program instructions including robot motion instructions
can be used.
Unlike robot control programs, PC program instructions cannot cause robot motion. The
only exception to this requirement for PC programs is the BRAKE instruction. In addi-
tion, the BASE and TOOL instructions are not available for PC programs. PC programs
can be used to display messages on the terminal by means of the PRINT instruction.
All internal and external binary signals can be used in PC programs.
SLOGIC programs are used to provide logic instructions for remote I/O or ControlNet
communication. SLOGIC programs execute from the optional 1FS board and provide
instructions for signal mapping, timers and counters similar to ladder logic programs.
SLOGIC programs are created on the 1GA board and downloaded to the 1FS board.
1. Step number: A step number is assigned to each line of a program. Steps are
numbered consecutively beginning with 1. Step numbers are automatically adjusted
whenever lines are inserted or deleted. The only step number that can be blank
(contain no information) is the step inserted after the last step of the program.
2. Label: Step numbers cannot be used as branch destinations with the program
instruction GOTO. Therefore, labels are used for identifying specific locations within
a program for the purpose of branching to other parts of a program. A label can be
either an integer from 1 to 9999 or a character string up to 15 characters. Labels
are inserted at the beginning of a program line.
3. Comment: A semicolon (;) indicates that all of the information to the right of the
semicolon is a comment. Comments are not processed as program instructions
when the program is executed. Comments are used by programmers to help ex-
plain the contents of the program. Comment lines with no label and no instruction
can be created for improved program readability.
NOTE
In order to execute a robot control program, first select the program to be run. If the
program to be executed is already selected, the monitor command EXECUTE can be
used. This runs the program one time and a message is displayed indicating the pro-
gram was completed. The EXECUTE command can also be used with the optional
argument of a program name to run a program that is not on the stack. The number of
times a program is to be executed can be entered after the program name. To specify
the program is to be run continuously a -1 is entered.
The PRIME command, in conjunction with the CYCLE START button, can also be used
when executing programs The PRIME command is used to specify the step of the
program where execution starts, if no number is specified with the PRIME command,
program execution starts with the first step of the program. When a program is run for
the first time or for debugging a program, it is a good idea to confirm each program line
by line using the STEP command or the CHECK key on the multi function panel.
If the running program is to be started using controller or multi function panel switches,
refer to the C Series Controller Operations and Programmming Manual.
An EMERGENCY STOP button (located on the multi function panel and controller
cabinet) should be pressed anytime an operator needs to stop robot motion immediately.
However, it is recommended that the emergency stop buttons not be used as a routine
method of stopping robot motion. When an emergency stop button is pressed, power to
the motors is immediately turned off and the brakes applied. Because normal decelera-
tion of the robot does not occur in an emergency stop, the mechanical unit may be
subjected to severe dynamic shock loads.
The AS Language command ABORT can be used to stop program execution. With this
command, the robot completes the current instruction and stops after a normal decel-
eration to the taught location. Motor power remains ON when the ABORT command is
issued. Motor power can then be turned OFF by pressing an EMERGENCY STOP
button.
If the running program is to be stopped using controller or multi function panel switches,
refer to the C Series Controller Operations and Programmming Manual.
7.5 FLOWCHARTING
The procedure for writing complicated AS Language programs often begins with creat-
ing a flowchart to identify the major elements of the process. AS language programs
are then written to meet the objectives identified in the flowchart. Figure 7-1 shows an
example of a working flowchart.
MAINLINE PROGRAM
START
[PG 00]
INITIALIZE ALL
PARAMETERS,
SYSTEM SWITCHES
CALCULATE ALL
POSITIONS AT
PARTS CAROUSEL
(prog. calc_lay)
Yes
BEGIN
HOME POS 1
MAINTENANCE
POSITION Yes CALL PROG 08
CHECK
No
CALL pick_part
ROBOT CLEAR
OF CAROUSEL
CONTINUED
ON PAGE 2
MAINLINE PROGRAM
FROM PAGE 1
(pg 00 cont'd)
RESET INDEX
(layer counter)
ROTATE CAROUSEL
No
GO TO BEGIN
No
ROTATE CAROUSEL
HOME POS 1
CALL load_press
DISPLAY ROBOT
CYCLE TIME
TO PDU
GO TO BEGIN
PROGRAM LMOVE
START
load_press #outs_ld_press
JMOVE PULSE
#to_press_1 part loaded signal
SWAIT LMOVE
okay.to.load.press #to_press_3
RESET JMOVE
clear.of.press #to_press_1
LMOVE SET
#to_press_2 clear.of.press
LMOVE SET
#to_press_3 robot cycle complete
LMOVE
HOME
#abv_ld_press
LMOVE
#at_ld_press
OPEN GRIPPER
LMOVE
#bel_ld_press
The monitor instruction DO ALIGN is used to ensure that the tool mounting flange is
parallel with the x and y axes of the base coordinate system. After the tool mounting
flange has been aligned, the robot should be jogged in the base mode to maintain this
orientation. Jog the robot so that the center of the tool mounting flange is at the fixed
reference point as shown in figure 7-3.
Jog the robot away from the fixed reference point and install the tool to be dimensioned.
After the tool has been installed, jog the robot so that the new tool center point is at the
fixed reference point. The tool must be oriented so that the desired z tool coordinate
axis is perpendicular to the base coordinate x and y axes. The monitor command HERE
a+b is entered to define and record the compound transformation location b. Figure 7-3
shows an example of this.
The monitor command POINT t= -b is entered to assign the inverse of the compound
transformation b to the variable t. The inverse of b is used because the compound
transformation b is the location of the NULL tool center point relative to the fixed refer-
ence point. The monitor command TOOL t is entered to assign the value of variable t to
an AS Language tool. To confirm that the new tool dimensions have been recorded
properly, jog the robot away from the fixed reference point. Select the jogging TOOL
mode and jog the robot using the rx, ry, and rz keys. The tool center point remains fixed
while the robot arm rotates about that point. Ensure that the path from the robot’s cur-
rent position to the fixed reference is clear. Set the repeat condition speed to 10%.
Place the robot in the repeat mode and enter the monitor command DO JM a, the tool
center point travels to the fixed reference point.
.PROGRAM PG00()
1 ; Mainline program The ; identifies a comment only, anything to the
right of the ; is not evaluated as a program instruc-
tion. Mainline program identifies the type of pro-
gram to the reader of the program code.
7 WAIT BITS (1021,4) The WAIT command causes the program to sus-
pend execution until the specified condition (BITS
1021,4) is satisfied. The BITS command is used to
specify that 4 signals be evaluated for their binary
value, the first signal is 1021 (binary value of 1) the
fourth signal is 1024 (binary value of 8), if any
combination of these signals are present, the
program continues processing.
12 CALL pg8 If the program reaches this line of code, the in-
struction CALL pg8 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg8.
14 CALL pg10 If the program reaches this line of code, the in-
struction CALL pg10 is executed. The CALL
command causes the program to execute the
specified subroutine, in this example, pg10.
17 IF NOT SIG (1001) GOTO 100 In this line of code, the signal state of input signal
1001 (WX1, move to pounce) is evaluated for an
off or on condition. If input signal 1001 signal is
on, the next program instruction is processed. If
input signal 1001 is off, the GOTO 100 section of
the instruction is processed and the program
searches for the label 100 and continues process-
ing beginning with that instruction.
21 CALL pg1 If the program reaches this line of code, the in-
struction CALL pg1 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg1.
23 CALL pg2 If the program reaches this line of code, the in-
struction CALL pg1 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg1.
25 CALL pg3 If the program reaches this line of code, the in-
struction CALL pg3 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg3.
27 CALL pg4 If the program reaches this line of code, the in-
struction CALL pg4 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg4.
29 CALL pg5 If the program reaches this line of code, the in-
struction CALL pg5 is executed. The CALL com-
mand causes the program to execute the specified
subroutine, in this example, pg5.
.PROGRAM pg90()
4 PULSE 23, 0.2 The pulse command is used to turn output signal
23 (weld initiate output) on for a period of 0.2
seconds.
8 WHILE TIMER (1) <= 2 DO The instruction WHILE TIMER (1)<= 2 DO is part
of a control flow structure. If the value of timer 1 is
less than or equal to 2, then the program instruc-
tions inside the structure are processed. The last
step of the structure is defined by an END com-
mand. If the value of timer 1 is greater than 2
when this instruction is processed, the program
processes the first step after the control flow
structure.
.END
8.0 PC INTERFACE
This unit covers operation of the C-series controller from a personal computer. To prop-
erly utilize the information in this unit, the user will need a basic understanding of the
MS-DOS and Microsoft Windows operating environments as well as general computer
procedures.
• Change system data: software limits, dedicated I/O, repeat speed, system switches
• Print data
To interface a PC with the C-series controller the following items are required:
• Personal computer running DOS 3.x, or higher, with a 3.5 inch 1.44MB disk drive
(user supplied)
• RS232C, D shell, 9 pin female to 9 pin female, null modem cable interface option, or
user supplied cable.
• Kawasaki diskette containing the AS monitor software, KCMON for DOS based
operation or KCWIN for windows based operation.
The user will need to install the AS monitor software files from the Kawasaki diskette to
the hard drive of the PC. The AS monitor software gives the user the ability to interface
with the robot system through the PC. The KCMON and KCWIN software contains the
source code needed to execute AS Language commands.
The following process describes installation of KCMON files onto the C: drive for use in
the DOS mode. To load files onto another drive designation the same process can be
followed.
1. Ensure that the interface cable between the robot and the PC is properly con-
nected.
2. Power up the controller and make sure it is in the TEACH and HOLD modes.
3. Make certain that the write protect tab on the KCMON diskette is set to write pro-
tect.
4. Turn on the PC and allow it to go through its power-up sequence. If the PC auto-
matically boots into Windows the user will need to exit Windows and enter DOS.
5. Make a backup copy of all the files on the KCMON disk in case the first copy be-
comes corrupted.
• KCMON_.EXE
• KCMON.BAT
• EDT.BAT
• FUTL.BAT
• KCMONENV.DAT
• FORMAT.EXE
7. Make a new directory on your C: drive for the KCMON files to be copied into.
9. Type: INST C:\ KCMON then press the ENTER key. This copies six files from the
diskette to the KCMON directory on the C: drive.
10. Change back to drive C: and display the contents of the new directory using the DIR
command to ensure that the designated files were successfully copied.
11. Edit the config.sys file of the C: drive to include the following: DEVICE = C: \ DOS
\ANSI.SYS
12. Type KCMON from the newly created directory to display the KCMON opening
screen.
The following process describes installation of KCWIN files onto the C: drive for use with
the Windows Operating System.
1. Ensure that the interface cable between the robot and the PC is properly con-
nected.
2. Power up the controller and make sure it is in the TEACH and HOLD modes.
3. Make certain that the write protect tab on the KCWIN diskette is set to write protect.
5. Make a backup copy of all the files on the KCWIN disk in case the first copy be-
comes corrupted.
8. The files KCWIN.EXE and KCWINE.EXE are copied to the root directory. The file
KCWIN.INI is copied to the WINDOWS directory.
9. If desired, create a short cut icon to be displayed with the start menu for easy ac-
cess to the AS monitor program.
8.4 PC OPERATION
Auxiliary function 95, ENVIRONMENTAL DATA2, must be accessed and the setting for
operation from a PC terminal set to connected. When the PC is properly connected
and the AS monitor software program is running, all of the commands and functions that
were available from the multi function panel keyboard can be accessed with the PC.
Some notebook PC’s may not be set up to read/write to SRAM PC Cards. If this is the
case with the device you are using, the proper Windows™ install and setup drivers will
need to be specified.
Open the Notepad text editor and add the following lines in this order to the end of the
Config.sys file:
device=c:\windows\system\csmapper.sys
device=c:\windows\system\cardddrv.exe/slot=n (“n” repersents the number or PCMCIA
slots available in your computer, on most notebooks “n”=2)
Save your changes and restart the computer. When the computer reboots, access
Windows Explorer and verify that “n” new drives (one for each PCMCIA slot) are avail-
able.
! CAUTION
The notebook computer should not be connected when
initializing the controller or when SRAM cards are being
formatted by the controller. It is possible that the con-
troller will attempt to format the hard drive of the note-
book when these operations are being performed.
Unlike robot control programs, PC programs cannot use instructions that cause robot
motion. The only exception to this requirement for PC programs is the BRAKE instruc-
tion. In addition, the BASE and TOOL instructions are not available for PC programs.
PC programs can be used to display messages on the terminal by means of the PRINT
instruction. All internal and external binary signals can be used in PC programs.
The format for the PCSTATUS command is: PCSTATUS PC program number. The
PCSTATUS command is used to display the status of a specified PC program. The PC
program number specifies which PC program will be displayed. The acceptable range
for the PC program number setting is from 1 to 3. When the PC program number is
omitted, 1 is assumed.
The PCSTATUS command displays the status of the specified PC program in the format
shown in figure 9-1.
The format for the PCEXECUTE command is: PCEXECUTE program name, execution
cycles, starting step. The PC EXECUTE command is used to execute PC programs.
This command is identical to the EXECUTE monitor command except that this com-
mand executes a PC program instead of a robot control program.
The format for the PCABORT command is: PCABORT PC number. The PCABORT
command is used to stop the execution of PC programs. The PC number specifies the
number of the PC program to be aborted, 1 to 3. The PCABORT command is identical
to the ABORT monitor command except that this command aborts the current PC pro-
gram instead of the current robot control program.
The format for the PCCONTINUE command is: PCCONTINUE PC number, NEXT.
The function of the PCCONTINUE command is to resume execution of a PC program
that has been interrupted by a WAIT condition. If the PCCONTINUE command is issued
with the NEXT argument, the WAIT instruction currently being executed by the PC
program is skipped. The PCCONTINUE command is identical to the CONTINUE moni-
tor command, except that it handles process control programs instead of robot control
programs.
The PCKILL command is used to remove the current PC program from active status. A
PC program cannot be removed from the PC program stack if it is executing. The
PCKILL command is identical to the KILL monitor command, except that it handles
process control programs instead of robot control programs.
The format for the PCSTEP command is: PCSTEP PC program name , execution
cycles, starting step. The PCSTEP command is used to execute a single step of a PC
program. The PC program name is the name of the PC program that is to have a step
executed. Execution cycles is the number of cycles for the PC program to be executed
with the PCSTEP command. The starting step is the step number of the program which
is executed first.
The format for the PCSCAN command is: PCSCAN time. The PCSCAN command is
used to specify the length of time it will take to process the PC program one time. The
time is specified in increments of one second. If the PCSCAN command is not used,
the PC program will be processed at the CPU speed.
_____________________________________________________________________
ERROR CODE -50 Warning! Cannot move along straight line in this configura-
tion.
ERROR CODE -57 Set low speed because of exceeding joint max. speed in
check.
When joint speed is checked with commanded speed, the difference exceeds accept-
able range.
ERROR CODE -102 Application is changed. Turn OFF & ON the control power.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -200 Cannot execute a program because motor power is OFF.
ERROR CODE -202 Cannot execute a program because teach lock is ON.
⇒Turn the TEACH LOCK switch to OFF and execute the program again in repeat mode.
_____________________________________________________________________
Hard-wired switches for teach pendant and multi function panel must be jumped and
equipment configuration identified in environmental data functions.
_____________________________________________________________________
ERROR CODE -211 Cannot edit a program because the TEACH LOCK switch
is ON.
Occurs when an attempt is made to edit or execute a program that is currently running.
Displayed if any of the following commands are entered while a program is running:
EXECUTE, CONTINUE, TOOL, BASE, DO. SYSINIT or CYCLE START.
ERROR CODE -304 Cannot execute because in error now. Reset error.
Occurs when attempt is made to start robot motion if an error has not been cleared.
Displayed when the DO command is entered with an instruction that is not of acceptable
format.
⇒Execute the instruction from within a program or use acceptable instruction format for
DO command.
_____________________________________________________________________
Occurs when a PC program is running and instructions are entered that are not allowed.
ERROR CODE -314 Cannot execute because the program is already used.
Occurs when a program being edited is selected to run by a CALL, ON, ONI or PC
program instruction.
⇒Stop editing the program or stop the program that is calling the program being edited.
_____________________________________________________________________
Displayed when a command to change the step is entered while a welding sequence is
in progress.
⇒Wait until after the weld sequence is completed or force a weld complete condition.
_____________________________________________________________________
The error message is generated when an E-stop is applied and the position of the robot
is not within a range of the commanded position. The error deviation range is specified
in auxiliary function 42.
⇒Before the error is reset, operators must be aware of the robot’s position within the
work envelope.
_____________________________________________________________________
One of the following operations were attempted when the robot was processing a spot
weld sequence (waiting for the Retract/Extend signal after the weld complete signal had
been received).
1. Cycle start (including EXECUTE, CONTINUE command).
2. Program selection or step change.
3. Record.
⇒Input the Retract/Extend detection signal to the robot or press the WX key and wait
override key on the multi function panel.
November 20, 1998 10-5
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
_____________________________________________________________________
Step change, program change, or program execution were attempted while the spot
weld sequence was executing (after Retract/Extend input signal and weld complete
signal have been received). For example, the robot is executing move delay time after
weld complete.
⇒Perform step change, program registration or program execution after the spot weld-
ing sequence.
_____________________________________________________________________
You cannot perform functions on the personal computer while the multi function panel is
in use.
⇒ Perform functions on the PC after the multi function panel has completed operation.
_____________________________________________________________________
Cannot COPY, DELETE or XFER command because current step is being executed.
When the program was used in the editor, the program was deleted.
_____________________________________________________________________
Occurs when an attempt to delete a program is made and that program is still on the
stack (selected).
Input data from AS Language monitor command is improper for the instruction.
Input data from AS Language editor commands exceeds the number of user specified
items allowed by the format.
Data entered for the POINT or HERE commands exceeds the allowable range.
Occurs if data entered with the WHERE command is not an integer between 1 and 6.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when an AS Language command is entered that does not follow the correct
format or contains typing or spelling errors.
Occurs when an AS Language command is entered that has typing errors, incorrect
spelling or is in the wrong format.
Displayed because a program or monitor command was entered that could not be ex-
ecuted while a program is running.
A program instruction that is not acceptable to use with the DO command was entered.
⇒Place the desired instruction within a program or choose an acceptable instruction for
use with a DO command at the monitor prompt.
_____________________________________________________________________
Occurs when the AS Language instruction entered was not acceptable for the mode of
operation. For example: a monitor command was entered in the editor mode.
⇒Use instructions and commands that are compatible with the input mode.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Input data from AS Language editor commands exceeds the number of user specified
items allowed by the format.
Occurs when functions are used to assign values to variables but the data is incompat-
ible. For example: assigning XYZ coordinate data to precision points.
Displayed when illegal variable or program name is entered from the editor or monitor
modes. For example: JM ##a (to many precision symbols) or CALL #a (not an accept-
able program name).
Displayed when an attempt is made to use a variable that has previously been defined
as an array. May also occur if the order of an array is reversed when editing or entering
monitor commands.
Occurs when parentheses are not entered as a pair, containing both a left and right
parenthesis.
A non-binary operator has been entered where a command expected a binary operator.
Displayed when monitor commands are followed by unexpected qualifiers. For example:
LIST W (expected characters would include P, L, and R for program, location, and real
variables; “W” causes error).
Occurs in the editor mode when a GOTO instruction is combined with a reserved char-
acter. For example: GOTO #a (“#” is a reserved character).
Occurs when commands or instructions are entered with an incorrect format. For ex-
ample: TOOL a=b (TOOL a would be correct, “=b” causes error).
Displayed when a system switch is incorrectly identified. For example: SWITCH light
(there is no system switch named “light”).
Displayed when a switch name has been entered that is not available for the software
version that is operating in the controller.
⇒Use only system switches that are compatible with the software version that is operat-
ing.
_____________________________________________________________________
Occurs when the TYPE or PRINT command is not used with an acceptable format
portion of the instruction.
⇒Use only specified format instructions with TYPE and PRINT commands.
_____________________________________________________________________
A specific program label name can only be used once per program. Error is displayed if
the same label name is entered a second time in the same program.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Attempted to create an array variable with the same name as an existing non-array
variable.
⇒Confirm non-array variable exists. Select new name for array variable or select non-
array variable.
_____________________________________________________________________
A non-array variable exists with the same name as the array variable that was specified
for the decompose instruction.
⇒Select a new name for the array variable that was specified for the decompose in-
struction.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
The type of argument, i.e. location variable, real variable, is different than the argument
in the origin program.
⇒Correct the type of the argument in the called program or origin program.
_____________________________________________________________________
Occurs when an extra END statement is present and there is no corresponding struc-
ture.
⇒Use correct syntax and components in control flow structures, check structure of END
statements.
_____________________________________________________________________
ERROR CODE -453 Step:xxx Cannot terminate DO with END.
This error is displayed when the control flow structure DO….UNTIL is entered with an
END statement .
Occurs when the control flow structure CASE OF….END is entered without a value to
evaluate.
Displayed when control flow structure does not contain the correct structure for
IF…THEN… ELSE…END commands.
Displayed when control flow structure does not contain the correct structure for
CASE…of… VALUE…ANY…END commands.
Displayed when control flow structure does not contain the correct structure for
DO…UNTIL.
Occurs when control flow structure that requires an END statement does not contain the
necessary END.
Displayed when a variable is entered that is already part of the system memory. For
example: a location named “weld1” is entered when a program named “weld1” is already
in the memory.
⇒Do not use variable names for more than one item.
_____________________________________________________________________
Displayed when a variable is entered that is already part of the system memory. For
example: a location named “weld1” is entered when a program named “weld1” is already
in the memory.
⇒Do not use variable names for more than one item.”
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -466 Illegal clock value.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
ERROR CODE -490 Program name not specified.
Displayed when no program is on the stack and the EDIT command is entered without
specifying a program name.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when the program is executed and instructions are encountered that cannot be
processed as AS Language commands.
When a vision system is incorporated and the transmission of data is interrupted (trans-
mission line problem or stoppage of the program) this error will be displayed.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -545 Record inhibited. Set “”record accept”” and operate again.
Displayed when an attempt was made to enter data, but the RECORD INHIBIT system
switch was set to inhibit.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when there is a problem with the communication link between the controller and
a host communication PC.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Two types of selections are possible for the serial port. This error occurs when port
numbers other than the sensor port are specified.
The prompt instruction was executed by two or more programs at the same time.
⇒Do not execute the prompt instruction from two or more programs at the same time.
_____________________________________________________________________
The RECEIVE instruction and the SEND instruction were executed by two or more
programs at the same time.
⇒Do not execute these instructions from two or more programs at the same time.
_____________________________________________________________________
Attempt was made to execute a command that cannot be used at that terminal. Some
commands can only be used at the multi function panel and some only at the PC.
ERROR CODE -599 Waiting input data for PROMPT. Connect input device.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when a weld complete signal is not received in a specified time period.
⇒Override the wait condition, ensure that weld complete signal specifications are cor-
rectly identified, check the operation of the weld gun or controller.
_____________________________________________________________________
Occurs when the output signals for the extend and retract operation of a spot welding
application are not properly set.
⇒Check operation of welding equipment, ensure signal numbers are correctly set.
_____________________________________________________________________
Occurs when the input signal for the retract operation of a spot welding application is not
received.
⇒Check the operation of welding equipment, check the signal number setting in auxil-
iary function 114-10.
_____________________________________________________________________
ERROR CODE -614 Extend pos. monitor error.
Occurs when the input signal for the extend operation of a spot welding application is
not received.
⇒Check the operation of welding equipment, check the signal number setting in auxil-
iary function 114-10.
_____________________________________________________________________
Displayed when the weld complete signal has been received before the weld initiate
output has not been issued.
⇒Check operation of welding equipment, check the signal number setting in auxiliary
function 114-11.
_____________________________________________________________________
In the check mode, retractable gun output signals are monitored and compared to open/
close data for a specific step. If the data does not compare, an error is displayed.
⇒Check settings in clamp conditions, check operation of gun with clamp key.
_____________________________________________________________________
Mutually exclusive dichotomy OX. For example, when OX1 and OX2 are set in a mutu-
ally exclusive dichotomy, the dichotomy is inhibited. Both are being turned ON (OX+1,2)
or OFF (OX=-1,2).
Mutually exclusive dichotomy OX. The signal set in mutually exclusive dichotomy OX
was operated with BITS, PULSE, and DLYSIG, etc. (inhibit).
The robot was stopped after it began executing a circular motion and moved 4 mm or
more away from its calculated path (jogging or brake slippage, etc.). Attempting to
continue execution of the path from this position will result in this error.
⇒ Move the robot closer to the calculated path or restart the program a step prior to the
circular path.
_____________________________________________________________________
The program reached an instruction which cannot be executed in check back mode.
⇒Execute after selecting a step that can be checked backward. If possible, check
forward.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -673 Angle between JT2 and JT3 is out of range at start loca-
tion.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -674 Angle between JT2 and JT3 is out of range at end loca-
tion.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -700 No free memory.
⇒Delete unused programs and variables, or, expand system memory to maintain the
required capacity.
_____________________________________________________________________
No program is on the stack at the time of cycle start or execution command (without a
program being specified).
ERROR CODE -801 No program step. The step specified for execution does
not exist.
Occurs when executing the GOTO command and the destination label is not defined.
ERROR CODE -803 Undefined variable. Variable data for a specific argument
in a command is not defined.
The location variable for the BASE, TOOL or POINT command is not specified. Also, a
named position in a program is not defined in system memory.
_____________________________________________________________________
ERROR CODE -805 Undefined string variable. String variables that are evalu-
ated by ASC and LEN functions are not defined.
⇒Define the string variables to be evaluated or correct the name of the string variable
used for evaluation.
_____________________________________________________________________
The program name or label associated with an ON or ONI command does not exist.
ERROR CODE -808 Illegal value. The numeric value entered exceeds the
upper or lower limits of the acceptable range.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when the system encounters a mathematical evaluation that involves division by
“0”. Typically associated with the FRAME function and circular interpolation.
Character strings associated with arithmetic or comparative operators or the LEN func-
tion are too long.
The type of data in an argument is incompatible with the operation being performed.
Occurs when the system is evaluating the argument in an expression and the data of
the argument is found to be incompatible or missing.
⇒Correct the program so that data is compatible with arguments and expressions.
_____________________________________________________________________
In the argument of a SQRT function, a negative number was entered for evaluation.
⇒Do not enter negative numbers for evaluation by the SQRT function.
_____________________________________________________________________
Occurs when the array subscript number exceeds the acceptable range from 0 to 9999.
Displayed when the parameter specified for an command or instruction is illegal. For
example: TOOL 2112 (after the TOOL command a defined transformation location or null
is expected, 2112 causes error).
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
This is displayed when the SIG or BITS command is used and the specified signal
number is beyond the range permitted by the system configuration.
Displayed when a timer was specified that was not within the acceptable range of be-
tween 1 and 10.
When the RUNMASK, SIGNAL, BITS, PULSE, or SWAIT commands are used with a
signal number that exceeds the range permitted by system configuration, this error is
displayed.
⇒Check signal number specified in instruction and ensure it is within system configura-
tion.
_____________________________________________________________________
Displayed when the clamp number entered exceeds the maximum permitted by system
configuration.
Occurs when an instruction like the BITS command is evaluated and there is no corre-
sponding value set.
This error is displayed when the RUNMASK, SIGNAL, BITS, PULSE, or SWAIT com-
mands are used with a signal number that exceeds the range permitted by system
configuration.
⇒Check signal number specified in the instruction and ensure it is within system con-
figuration.
_____________________________________________________________________
Occurs when erroneous data has been entered in the setting of the TIME and DATE
function. For example: a date of Feb. 30.
When using the RENAME command a new program name must be specified. If an
existing name is used to rename a program this error will be displayed.
Displayed when an attempt was made to KILL a program that was in the process of
executing.
⇒Stop program execution with HOLD or ABORT commands before program is removed
from the stack with a KILL command.
_____________________________________________________________________
Occurs when a previously dedicated signal was used as a general purpose signal.
⇒Use signals that have not been dedicated for general functions.
_____________________________________________________________________
Occurs when the required input signals are not dedicated at the time an attempt to run
an externally selected program is made.
ERROR CODE -839 Cannot use negative number. Displayed when a negative
number has been used in conjunction with the PULSE or
ACCURACY commands.
⇒Use only positive numbers in the acceptable range for the PULSE and ACCURACY
commands.
_____________________________________________________________________
Occurs when more than 20 subroutines are nested with EXTCALL or CALL instructions.
Displayed when an attempt has been made to set the software lower limits of robot
travel to a value that is too low.
Displayed when an attempt has been made to set the software upper limits of robot
travel to a value that is too high.
Displayed when an attempt has been made to set the software lower limits of robot
travel to a value that is too low.
Displayed when an attempt has been made to set the software upper limits of robot
travel to a value that is too high.
Prior to beginning a program or motion to a step, the software has calculated the loca-
tion to be outside of the allowable upper or lower software limits.
⇒Correct location to within working envelope or expand software limits to accept loca-
tion.
_____________________________________________________________________
While executing a motion to a step, the software has calculated the location destination
of the specific joint number to be outside of the allowable upper or lower software limits.
⇒Correct location to within working envelope or expand software limits to accept loca-
tion.
_____________________________________________________________________
While executing a motion to a step, the software has calculated the location destination
of all joints to be outside of the allowable upper or lower software limits.
⇒Correct location to within working envelope or expand software limits to accept loca-
tion.
_____________________________________________________________________
System software has determined that the start and end points of a linear move will
cause the robot to exceed the acceptable motion parameters.
Occurs when the DRIVE command is used and specifies a joint number that is not part
of the robot configuration.
A PC program cannot contain instructions that initiate robot motion. If a motion instruc-
tion is encountered in a PC program this error will be displayed.
The value selected for auxiliary data (speed, timer, tool etc.) exceeds allowable range.
Circular interpolation moves cannot be processed because the points identified are too
narrow or are on a straight path.
Occurs when a command for a sealing application is evaluated by a controller that is not
configured for sealing applications.
⇒Contact customer service for option specifications after confirming the purchase
specification.
_____________________________________________________________________
The program storage area of the system memory has been damaged and is not linking
data correctly.
In the repeat mode, the commanded position of the joint identified has exceeded 1.3
times the maximum arm speed. In the check mode, the commanded position of the
joint identified has exceeded 200 mm/sec.
The commanded position for the joint identified has exceeded a specific motion range
during a fixed time period. Condition is monitored in both the check and repeat modes.
ERROR CODE -1017 Angle between JT2 and JT3 is out of range.
The commanded position for JT2 and JT3 cannot be reached due to the nature of the
mechanical links that exist between these points for the U-series, EH, and ES robots.
This error does not apply to JS-series robots. The main cause of this error is that the
taught positions, including positions through which the robot moves, are bad.
ERROR CODE -1019 Check sum error of system data. The check sum data of
the system data of the AS software was rewritten.
When downloading the system information such as model number, number of axis was
changed. This check sum data should not change and the error will occur. When the
error occurs in situations other than downloading, the error is caused by defective
memory back-up, defective 1A board, or memory error from noise.
⇒Use Aux 78 CLEAR CHECK SUM ERROR or CHSUM command to reset the data.
When the error cannot be reset using the check sum commands, the command with the
abnormality is shown. Rewrite the command and use CHSUM or Aux 78 to clear the
error.
_____________________________________________________________________
When control power is applied, a voltage check is performed on the batteries that main-
tain RAM memory when power is off. This message is displayed if low voltage is de-
tected.
ERROR CODE -1025 AS Flash memory sum check error. A check sum error of
AS system data in flash memory on 1GA board occurred
when the power was turned on.
The check sum data is created when the FCHK command is executed and is recorded
in flash memory during download. Main causes of the error are:
1. When the AS system was down-loaded, the FCHK command was not executed.
2. The addressing of the FCHK command was wrong.
3. The flash memory and 1GA board are defective.
4. The system data in the flash memory is damaged.
⇒Confirm the content of the command as_load.cmd file in the IC card if error occurs
immediately after downloading the AS system. Download system again. If error contin-
ues after download, exchange the 1GA board.
_____________________________________________________________________
ERROR CODE -1026 Servo Flash memory sum check error. A check sum error
of the servo system in flash memory on 1GA board oc-
curred when the power was turned on.
The check sum data is created when the FCHK command is executed and is recorded
in flash memory during download. Main causes of the error are:
1. When the servo system was downloaded, the FCHK command was not executed.
2. The addressing of the FCHK command was wrong.
3. The flash memory and 1GA board are defective.
4. The system data in flash memory is damaged.
⇒If the error occurs immediately after download, confirm the content of as_load.cmd in
the IC card and download again. If the error persists, change the 1GA board.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -1100 CPU Error. This error is caused by several types of inter-
ruptions detected by the CPU on the 1GA board. May be
associated with memory anomalies.
On the 1GA board, a bus error (in the VME bus line, data processing was not able to be
done normally) has occurred (detected with the AS software). Main causes include:
1. Defect in the 1GA board.
2. Defect in the AS software.
3. Noise malfunction.
⇒Confirm which board the error occurred on by referring to the message that appears
on the PC. This error does not appear on the multi function panel or the small teach
pendant.
⇒If the initialization prompt appears, answer “no”, then reload software. If the error
returns, initialize the system and reload software. If the multi function panel or PC are
not functional, system initialization cannot be performed.
⇒If this error occurs during certain specific operations it may indicate a defect in the AS
system.
⇒Replace the 1GA board if the error cannot be reproduced or cleared.
_____________________________________________________________________
This error occurs when the CPU does not receive a response from one of the I/O bus
devices within a specific time.
⇒Replace the 1FR or 1FS board, call KRI Service Department for advice.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
The first address of the No.1 power sequence board (1FP board) cannot be read when
control power is turned ON. Main causes for this error include:
1. The power sequence board (1FP board) is not installed in the correct card slot.
2. Mistake in the address of the power sequence board.
3. Defect in the power sequence board.
⇒Make sure the 1FP board is addressed as power sequence board No. 1 and is in-
stalled in the 1FP card rack slot. Check and replace the board if necessary.
_____________________________________________________________________
The first address of the No.2 power sequence board (1FP board) cannot be read when
the control power is turned ON. Main causes for this error include:
1. The power sequence board (1FP board) is not installed in the correct card slot.
2. Mistake in the address of the power sequence board.
3. Defect in the power sequence board.
⇒Make sure the 1FP board is addressed as power sequence board No. 2 and is in-
stalled in the 1FP card rack slot. Check and replace the board if necessary.
_____________________________________________________________________
Cannot read the first addresses of I/O boards (1FR board, etc.) based on the number of
signals that have been set with DO (output point), or DI (input point) of the ZSIGSPEC
command, when the control power supply is turned on. This error is not used when a
1FS board is installed. Main causes include:
1. Incorrect value set with the ZSIGSPEC command.
2. Error in board address of I/O board (1FR board, etc.).
3. Defect of I/O board (1FR board, etc.).
⇒Set the correct number of signals with the ZSIGSPEC command. I/O cards are typi-
cally mounted in the card rack from right to left in ascending order. But, because of
VME buss communication, this is not critical. The robot can run without I/O boards.
However, the number of maximum signals in the software which can be set with the
ZIGSPEC command is DO, DI=256, INT=512, but DO and DI are restricted by hardware
and other options.
_____________________________________________________________________
The 1GA board sets more than seven axes at control power ON, but the IC (SIO) for
serial communications for command line 3 and 4CH communication with the servo
board is not installed. This error typically does not occur because SIO is installed on
standard 1GA boards but may not be on the prototype boards. Main causes of this error
include more than seven axes set with a prototype board with SIO not mounted or a
defect in the 1GA board.
An error signal, not classified through the error summary, is generated by the 1FP board
and not recognized by the AS software. Main causes include:
1. The error detection function of the power sequence board does not correspond to
the error processing function of the AS software.
2. Defect in the power sequence board.
3. Defect in the AS software.
⇒Replace the power sequence board. Install a higher version of the AS software.
_____________________________________________________________________
Installation of the built-in sequencer board is checked when the control power supply is
turned ON. This error occurs when the built-in sequencer board is not installed.
ERROR CODE -1249 Servo parameter Changed! Control power turn OFF & ON.
The servo software was not successfully loaded from the FLASH memory on the 1GA
board to the servo board when control power was turned ON. Main causes include:
1. Defect in the servo board (one axis amplifier).
2. Defect of the harness between power sequence board and servo board.
3. Error in mother board jumper setting.
4. The servo software is not in the flash memory on the 1GA board.
5. Malfunction caused by noise, etc.
6. Servo software and AS software versions incompatible.
7. Versions of ROM in servo software and servo board not compatible.
⇒Replace the 1GA, servo board, and each harness. Confirm the servo software and
the servo board monitor ROM version and install the corresponding servo software
again. The confirmation of the version can be confirmed by AUX 90, Software Version
Display, or ID command.
_____________________________________________________________________
Communications in the command line of each CPU of the servo board (1GB board etc.)
failed twice consecutively. The command line always communicates every 4 msec.
When each CPU of the servo board stops, this error might be detected. Main causes
include:
1. Defect in the 1GA board.
2. Defect in the servo board.
3. Defect in each communication harness.
4. Noise malfunction.
ERROR CODE -1252 Servo board (A) hardware error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1253 Servo board (B) hardware error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1254 Servo board (C) hardware error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1255 Servo board (D) hardware error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1256 Servo board (A) software error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1257 Servo board (B) software error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1258 Servo board (C) software error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
ERROR CODE -1259 Servo board (D) software error code = xxxx.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness. When this error occurs, contact KRI to report the details.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
After a setting was changed with AUX 976 servo parameter, the data sent to the servo
board was different than the data received, two or more times. Main causes of this error
include:
1. Defect in the 1GA board.
2. Defect in the servo board.
3. Defect of each communication harness.
4. Versions of servo and AS software incompatible.
5. Malfunction by noise.
⇒Replace the 1GA board, the servo board and each harness. Be sure the versions of
the AS software and the servo software are compatible. If error cannot be reset, reset
data with AUX 976. If error still cannot be reset, cycle control power.
_____________________________________________________________________
The watch dog circuit on the 9ZB board has detected a software problem. This is
caused by a defective servo board or a problem with the servo software.
Servo software has returned the error code to the AS software. Main causes include:
1. Malfunction in the servo or AS software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board or the 1GA board.
5. Versions of servo and AS software incompatible.
⇒Install correct versions of servo and AS software. Replace the 1GA board, the servo
board, and each harness.
_____________________________________________________________________
Occurs when software recognizes motor power on even though there is no signal feed-
back indicating motor power is on. Main causes include:
1. Defect in the power sequence board (1FP board, etc.)
2. Defect in the relay board.
3. Malfunction in the error detection circuit and error processing of each board.
4. Auxiliary contact of magnet conductor for motor power is defective.
5. Malfunction with the servo software or the AS software.
⇒Replace the magnetic conductor for the power sequence board, relay board, and
motor power.
_____________________________________________________________________
Brake open command has not returned within 2 seconds. This abnormality is caused by
a defective power sequence board, servo board, or harness between the two boards.
⇒Exchange the power sequence board and the servo board, etc.
_____________________________________________________________________
The feedback current from a current sensor in the power block exceeded 144% of the
maximum. This error can be caused by the following abnormalities:
1. Short in the U, V, W from the power block to motor and ground wire.
2. Defect in the motor.
3. Defect in the power block.
4. Defect in the servo board (1GB board etc.)
⇒Check the connection for the U, V, W and ground line to the power block. Replace the
separation harness if necessary. Replace the motor or servo unit if necessary.
_____________________________________________________________________
General servo system error. This error indicates that a servo system error has occurred.
Main causes include a defect in the connection of the harness between the power
sequence board and the servo board.
⇒Check the servo error codes that follow this error for additional information. Check the
harness connections between the 1HP board and 1GB board. Replace the 1HP board.
_____________________________________________________________________
ERROR CODE -1411 Error of servo A, code is xxxx. If xxxx=1, servo CPU
failure at power-up process. If xxxx=7, servo CPU has
failed in program download process from FLASH to SRAM.
If xxxx=90, servo CPU has failed in the servo program
initializing process. If xxx=91, servo has failed in the main
program start process. If xxxx=FF98, an illegal interrupt
has occured at the servo CPU.
Occurs when AS software detects servo CPU error or AS software does not have proper
message error code from servo CPU.
⇒If xxxx code is 1,7,90, or 91, reinstall servo software. Replace 1GE board, replace
9ZA board, replace 1BX board. If xxxx code is FF98, disconnect the encoder signal
line, 1GE-CN3. If error message changes to 1553, reinstall servo software, replace 1GE
board, replace 9ZA board, replace 1BX board. If error message does not change,
reconnect 1GE-CN3 and locate bad encoder. Disconnect encoders one at a time and
check error message, when message displays error 1553, a bad encoder has been
located. Replace encoder.
_____________________________________________________________________
ERROR CODE -1412 Error of servo B, code is xxxx. If xxxx=1, servo CPU failure
at power-up process. If xxxx=7, servo CPU has failed in
Occurs when AS software detects servo CPU error or AS software does not have proper
error code message from servo CPU.
⇒If xxxx code is 1,7,90, or 91, reinstall servo software. Replace 1GE board, replace
9ZA board, replace 1BX board. If xxxx code is FF98, disconnect the encoder signal
line, 1GE-CN3. If error message changes to 1553, reinstall servo software, replace
1GE board, replace 9ZA board, replace 1BX board. If error message does not change,
reconnect 1GE-CN3 and locate bad encoder. Disconnect encoders one at a time and
check error message. When message displays error 1553, a bad encoder has been
located. Replace encoder.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
When the control power supply is turned ON, the ID code data of the 1GM board and
the AS software installed on the 1GB board do not correspond. Main causes include:
1. 1GM board is not suitable for the AS software (robot model).
2. The AS software does not correspond to the 1GM board.
ERROR CODE -1422 Error of servo C, code is xxxx. If xxxx=1, servo CPU
failure at power-up process. If xxxx=7, servo CPU has
Occurs when AS software detects servo CPU error or AS software does not have proper
message error code from CPU.
⇒If xxx code is 1,7,90, or 91 reinstall servo software. Replace 1GE board, replace 9ZA
board, replace 1BX board. If xxx code is FF98, disconnect the encoder signal line, IGE-
CN3. If error message changes to 1553, reinstall servo software, replace 1GE board,
replace 9ZA board, replace 1BX board. If error message does not change, reconnect
1GE-CN# and locate bad encoder. Disconnect encoders one at a time and check error
message, when message displays error 1553, a bad encoder has been located. Re-
place the encoder.
_____________________________________________________________________
ERROR CODE -1423 Error of servo D, code is xxxx. If xxxx=1, servo CPU failure
at power-up process. If xxxx=7, servo CPU has failed in
program download process from FLASH to SRAM. If
xxxx=90, servo CPU has failed in the servo program initial-
izing process. If xxx=91, servo has failed in the main pro-
gram start process. If xxx=FF98, an illegal interrupt has
occurred at the servo CPU.
Occurs when AS detects servo CPU error or AS software does not have proper mes-
sage error code from CPU.
⇒If xxx code is 1,7,90, or 91 reinstall servo software. Replace 1GE board, replace 9ZA
board, replace 1BX board. If xxx code is FF98, disconnect the encoder signal line, IGE-
CN3. If error message changes to 1553, reinstall servo software, replace 1GE board,
replace 9ZA board, replace 1BX board. If error message does not change, reconnect
1GE-CN# and locate bad encoder. Disconnect encoders one at a time and check error
message, when message displays error 1553, a bad encoder has been located. Re-
place the encoder.
_____________________________________________________________________
The current feedback from the power block exceeded maximum continuous ratings.
Main causes include:
Mechanical -
1. The robot arm has contacted an external item hindering movement.
2. The harness is caught in the robot arm.
3. The decelerator, the gear, or the bearing are damaged.
4. Gear decelerator backlash is too narrow.
5. Payload weight exceeds robot specifications for capacity.
6. Robot motion pattern exceeds ratings of the motor.
7. Motor brake is not released.
Electrical-
1. Motor power line U, V, and W phase are disconnected.
2. The brake line is disconnected or brake drive circuit is damaged.
3. The power block is damaged.
4. Defect in the servo board.
5. Malfunction of the motor.
⇒Check the decelerator, etc. for mechanical failure. Replace as necessary. Re-teach-
ing robot motion is necessary. Check the harness and servo unit for electrical malfunc-
tions and replace if necessary.
_____________________________________________________________________
Motor thermal circuit is open due to motor overheat or harness problem. Not all robot
models utilize thermal switches in the motors. Main causes include:
1. Disconnected thermal line.
2. Defective connection in the separation harness.
3. Defect in the servo board.
4. When the thermal is built-in:
The robot rated weight capacity is exceeded.
The ambient temperature exceeds limits for use.
Constant execution of abrupt high speed direction changes.
Defect robot cooling fan or cooling air purge system.
Servo system holding the robot arm in high load position for extended periods.
Defect in the thermal switch.
⇒When the thermal switch opens, error cannot be reset until cooling is complete.
⇒Confirm continuity of thermal line. Replace the harness or servo board as necessary.
⇒Use the auto servo off function, AUX 91, to prevent the servo system holding a high
load arm position for extended periods.
_____________________________________________________________________
Joint speed calculated with encoder value exceeded a regulated value. This error is
caused by the following abnormalities:
1. Disconnected motor power line U, V, and W phase, and defective power block.
2. Wiring error in motor power line and encoder line.
3. Disconnected encoder single line, short circuit and defective main body of encoder.
4. Robot dependent upon singularity motion.
5. Defect in the servo board and power block.
6. Moment of inertia exceeded the motor torque.
⇒Check for disconnection, short circuit, and proper wiring. Replace the harness and
encoder if necessary. Replace the servo unit. Rewrite program teach data such as
speed and position in the case of singularity motion.
_____________________________________________________________________
The difference between the current value from the encoder and the command value in
the AS software exceeded a regulated value. Main causes include singularity motion or
the following abnormalities:
Mechanical -
1. The robot arm has contacted an external item hindering movement.
2. The harness is caught in the robot arm.
3. The decelerator, the gear, or the bearing are damaged.
4. Gear decelerator backlash is too narrow.
5. Payload weight exceeds robot specifications for capacity.
6. Robot motion pattern exceeds ratings of the motor.
7. Motor brake is not released.
Electrical-
1. Motor power line U, V, and W phase are disconnected.
2. The brake line is disconnected or brake drive circuit is damaged.
3. The power block is damaged.
4. Defect in the servo board.
5. Malfunction of the motor.
⇒Check the decelerator, etc. for mechanical failure. Replace as necessary. Re-teach
robot motion as necessary. Check the harness and servo unit for electrical malfunctions
and replace if necessary. Correct the teach data in case of singularity motion.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Back up battery for the 1FG board decreased to 3.2 volts. This is caused by expired
longevity of the backup battery, a defective encoder battery backup board or the follow-
ing:
1. Defective encoder
2. Short in the harness from the encoder battery backup board to the encoder.
3. Amount of battery consumption has increased.
4. Battery discharge.
5. Battery alarm signal from the encoder batter backup board was disconnected.
6. Defective servo board.
⇒Exchange the battery. There is a possibility that internal encoder data may be lost.
Zero the robot and check alignment markings. Check each harness for short circuit.
Replace the encoder, the servo board, or the encoder battery backup board, if neces-
sary.
_____________________________________________________________________
Occurs when there is a difference between the rotation data in the serial encoder data
and the calculated rotation data by incremental technique.
When control power is switched ON, the current encoder value is compared to a refer-
ence value at the time the power was turned OFF. If the values do not match, this error
occurs. Normal occurrence is due to the following:
1. Back up battery failure due to disconnection or discharged battery.
2. Control power supply was turned OFF during operation.
3. Motor replacement.
4. Robot arm operated by force.
⇒ Data may have been lost due to backup battery. See error -1511. Exchange the
battery. There is a possibility that internal encoder data may be lost. Zero the robot and
check alignment markings. Check each harness for short circuit. Replace the encoder,
the servo board or the encoder battery backup board if necessary.
_____________________________________________________________________
Data from encoder not continuous. This error is caused by a disconnected encoder
signal line or a short circuit, or a defect in the main body of the encoder.
⇒Check for disconnection or short circuit for encoder signal line. Replace the main
body of the encoder. Error may also be cause by the servo board, replace if necessary.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when there is a difference between encoder data in the serial encoder data and
the calculated data by incremental technique.
⇒Replace encoder, replace 1GE board. Check connections at encoder, 1FG board,
and separation harness. Check connections, jumpers, and switches on 1GE/1GB board.
Check for continuity in the machine harness and separation harness. Replace 1FG
board.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when encoder continuously outputs busy signal during controller reads of en-
coder data at initial power-up.
⇒In the case of a conveyor encoder, ensure power-up speed is below 300 RPM. Check
connections at encoder, 1FG board, jumpers, and switches on 1GE/1GB board. Re-
place encoder, replace 1GE/1GB board, replace 1FG board. Check for continuity in the
machine harness and separation harness.
_____________________________________________________________________
Occurs when the encoder does not respond to data request signal from the 1GB/1GE
board.
⇒Check connections at encoder, 1FG board, and separation harness. Check connec-
tions, jumpers, and switches on 1GE/1GB board. Replace encoder, replace 1GE/1GB
board. Check for continuity in the machine harness and separation harness. Replace
1FG board.
_____________________________________________________________________
Occurs when the encoder serial data is not correctly transmitted according to communi-
cation protocol.
⇒Check connections at encoder, 1FG board, and separation harness. Check connec-
tions, jumpers, and switches on 1GE/1GB board. Replace encoder, replace 1GE/1GB
board. Check for continuity in the machine harness and separation harness. Replace
1FG board.
_____________________________________________________________________
Occurs when the M-code data from the encoder has error pattern.
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
Occurs when the encoder A and B incremental pulses are abnormal. The encoder
INPALM bit sent with the serial data=1.
The state of the MR sensor in the encoder does not match with JT ENCODER in one
rotation.
An error signal from the IPM module in the power block was detected. This error may be
caused by:
1. Defect in the power block.
2. Defect in the servo board.
3. Short-circuit of the motor power line U, V, and W phase.
4. Defective cooling fan in the servo unit.
5. Defect in the harness between the servo board and the power blocks.
⇒Replace the servo unit. Check for short circuit in the motor harness and replace if
necessary.
_____________________________________________________________________
The current sensor cable between the servo board and the power blocks is not con-
nected. This error may be cause by a defect in the 1GB board.
⇒Check connection and continuity in the current sensor cable between the 1GB board
and the power block. Replace the 1GB board if necessary.
_____________________________________________________________________
The +/-12V supply to the 1GB board is below specified limits of +10.75V and -10.4V.
This error may be caused by a defect in the harness between the 1GB board, the
mother board and the AVR, or a defect in the 1GB board.
⇒Check the voltage and replace the 1GB board and the AVR as necessary.
_____________________________________________________________________
Current was sent to regenerative resistors for six or more consecutive seconds. Main
causes include:
1. Abrupt direction changes at high speed.
2. Burned out resistors or defective power block.
3. Defect in the servo board (1GB board, etc.)
4. Defective connection or harness between the servo board and the power block.
5. Defect in the optional second regenerative resistance unit (when used).
⇒Avoid abrupt high speed direction changes. Change accuracy and or speed, and add
points.
Install optional second regenerative resistance unit.
_____________________________________________________________________
ERROR CODE -1568 Servo unit P-N low voltage [Servo (x)].
The voltage between P-N supplied to the power block is 60VDC or less at servo on.
Main causes include:
1. Defect of MS.
2. Defect in the relay board (1FY board).
3. Defect in the power sequence board (1FP board)
4. Defect in the power unit.
5. Defect in the servo board.
6. Defect in the motor power circuit.
7. Defect in the harness between the operation unit and the servo units or the connec-
tions.
⇒Check the motor power circuit and the equipment, replace as necessary. Check the
power sequence board, the relay board ,and the servo unit, and replace as necessary.
_____________________________________________________________________
ERROR CODE -1569 Servo unit P-N- high voltage [Servo (x)].
The voltage between P-N supplied to the power block exceeded 410VDC. This error is
caused by:
1. Defect in regenerative resistance control circuit, failed scorch of regenerative resis
tance, defect in the voltage monitoring circuit, or defect in the power block.
2. Defect of servo board (1GB board, etc.)
3. Temperature of the controller environment is high.
4. Defective power block.
5. Defect in the regenerative resistance unit.
6. Defect in the servo board (1GB board).
7. Defect in the harness between the power block and regenerative units.
⇒Replace the servo unit and the regenerative unit. Reduce the ambient temperature
and check each harness.
_____________________________________________________________________
Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
During the execution of a program, all joints must reach total coincidence within a given
accuracy and time (approx. 5 seconds) This error occurs if the difference between the
designated value and current value exceeds the established accuracy.
This error occurs when the software can specify the axis that has caused the over travel
condition. If the joint number cannot be specified, ERROR CODE 1602 Limit switch is
broken, is displayed. Main causes include:
1. Use set work envelope set smaller than current values.
2. Axis was moved using the manual brake release and the limit switch was turned ON.
3. The limit switch was turned ON by over shot by inertia.
⇒ Check and exchange the harness and the limit switch. Set the work envelope to an
appropriate value. Change the installation angle of the axis restriction limit switch to an
appropriate value. Replace the power sequence board if necessary.
_____________________________________________________________________
This error occurs when the software cannot specify the axis that has caused the over
travel condition. If the joint number can be identified, the “ERROR CODE 1601 Limit
switch of jt-x is ON.”
⇒Set the user work envelope in an appropriate value. Change the installation angle of
the axis restriction limit switch to an appropriate value. Check harness and limit switch
and replace as necessary. Check the power sequence board and replace if necessary.
_____________________________________________________________________
This error occurs when there is an instantaneous decrease in the primary power to the
AVR for control power supply. The main causes for this error are:
1. NFB for the control power supply was turned OFF.
2. AC200/220V supplied to AVR for the control power supply caused the instantaneous
decrease.
3. Defective AVR for control power supply.
4. Defective NFB for control power supply or NFB tripped.
5. Defect in the primary power supply.
6. Defective power sequence board.
7. Defect in the relay board.
⇒It is normal for this error to occur when NFB for control power supply is turned OFF.
Check power supply circuit in AVR for the control power supply and NFB.
_____________________________________________________________________
24VDC to the power sequence board has dropped below 21.6V. Main causes include
the following abnormalities:
1. Defect in the AVR for control power supply.
2. Defect in the power sequence board.
3. Defect in the relay board.
4. Short circuit in the motor power on circuitry, the EMERGENCY STOP switch and axis
restriction limit switch circuits.
5. Short in machine valve and sensor circuits.
⇒Check the power supply, machine valve, and the sensor circuits for short circuits.
Check the AVR, the power sequence board, and the relay board and replace as neces-
sary.
_____________________________________________________________________
Voltage level of the AVR for the control power supply was too high. The main causes of
this error include a defect in the AVR, the power sequence board, the relay board or the
power supply circuit.
⇒Verify that the power supply to the controller are within ratings. Check the AVR.
_____________________________________________________________________
Voltage level of the AVR for the control power supply was too low. The main causes of
this error include an instantaneous drop in the power supply; a defect in the AVR or
NFB, the power sequence board, the relay board or the power supply circuit.
⇒Verify that the power supply to the controller is within ratings. Check the AVR and
NFB.
_____________________________________________________________________
⇒Replace the AVR and each board for the control power supply. Check for short cir-
cuits in the MFP, the operation panel, and separation harness and replace as necessary.
_____________________________________________________________________
ERROR CODE -1805 Memory is locked because of AC_FAIL.
After a power supply abnormality (ACFAIL), the .memory was accessed during the
controller shut down period.
Figure 10-1 shows troubleshooting processes that may be helpful if the controller be-
comes unresponsive to commands or an error code has been encountered that cannot
be cleared. Troubleshooting should begin with confirmation of basic integrity of the
system: ensure that the power supply is on and meeting supply requirements, all cables
are correctly attached, all peripheral equipment is wired correctly, etc.
Remove the
1GA board from the
rack and allow RAM
memory to deplete
Begin electrical
troubleshooting and repair if
qualified, call service
technician for further
assistance
APPENDIX
APPENDIX
A.0 APPENDIX .................................................................................................... A-2
A.1 Remote I/O and Controlnet ............................................................................ A-2
A.1.1 SLOGIC ......................................................................................................... A-2
A.1.1.1 Slogic Program Name .................................................................................... A-5
a.1.1.2 SSTOP Command ......................................................................................... A-5
A.1.1.3 SUPLOAD Command .................................................................................... A-5
A.1.1.4 SDOWNLOAD Command .............................................................................. A-5
A.1.1.5 SOUT Command ........................................................................................... A-5
A.1.1.6 SCNT Command............................................................................................ A-6
A.1.1.7 SFLK Command ............................................................................................ A-6
A.1.1.8 SFLP Command ............................................................................................ A-6
A.1.1.9 STIM Command ............................................................................................. A-7
A.1.1.10 RI/O Monitor, Aux 180 .................................................................................... A-7
A.1.1.11 RI/O PLC (NAC) Setting, Aux 181 ............................................................... A-12
A.1.2 Controlnet .................................................................................................... A-13
A.2 Motion Control and Location Definition ........................................................ A-15
A.2.1 C1MOVE and C2MOVE Command ............................................................. A-15
A.2.3 FMOVE Command ....................................................................................... A-17
A.2.4 MVWAIT Command ..................................................................................... A-19
A.2.5 BSPEED Command ..................................................................................... A-19
A.2.6 TRHERE Command ..................................................................................... A-20
A.3 Spray Gun and Clamp Commands .............................................................. A-20
A.3.1 GUNONTIMER and GUNOFFTIMER Commands ....................................... A-20
A.3.2 GUNON and GUNOFF Commands ............................................................. A-20
A.3.3 OPENS Commands ..................................................................................... A-21
A.3.4 CLOSES Command ..................................................................................... A-21
A.3.5 RELAXS Command ..................................................................................... A-21
A.4 System Parameters and Switches ............................................................... A-22
A.4.1 NCHON and NCHOFF Commands ............................................................. A-22
A.4.2 WEIGHT Command ..................................................................................... A-22
A.4.3 MC Command .............................................................................................. A-22
A.4.4 AUTOSTART.PC Switches ........................................................................... A-22
A.4.5 ERRSTART.PC Switch ................................................................................. A-22
A.4.6 AFTER.WAIT.TMR Switch............................................................................ A-23
A.5 Function Commands .................................................................................... A-23
A.5.1 DEXT Function ............................................................................................ A-23
A.5.2 PRIORITY Function ..................................................................................... A-23
A.5.3 PCSCAN Command .................................................................................... A-23
A.6 AS Language Commands ............................................................................ A-24
APPENDIX
A.0 APPENDIX
The appendix covers information pertaining to optional features available with C-series
controller AS Language programming. Options include instructions that control Remote
I/O, additional motion commands, additional system switches, and functions.
The C-series controller provides the capability to control remote input/output functions
using SLOGIC programming with two configurations of the 1FS circuit board. These
configurations are the remote input/output (R I/O) and RS-485, and ControlNet. The C
Controller 1FS board performs functions that are similar to the AD controller 1AS board,
but does not provide parallel I/O (PI/O) or analog outputs. These functions are per-
formed by the 1FR (PI/O) or 1GW (analog) boards.
A.1.1 SLOGIC
Relay circuitry and wiring for the controller interface with peripheral devices is reduced
by utilizing the SLOGIC software programming function. SLOGIC programming is simi-
lar in theory to the ladder logic programming used with PLCs. Table A-1 shows a com-
parison of SLOGIC program instructions and ladder logic. Making signal assignments
for remote inputs and outputs using SLOGIC is faster and easier than making changes
to discrete hard-wired systems. With discrete hard-wired systems, signal assignment
changes are made by physically changing the wiring connections. Using SLOGIC
programming, signal assignment changes are made by simply editing the program.
Figure A-1 shows the signal numbers available for communication with the 1FS board.
SLOGIC program instructions can be used to specify outputs, timers, and counters.
SLOGIC program instructions are edited on the 1GA board (main CPU) via the multi
function panel and then transferred to the 1FS (R I/O) board, which executes the
SLOGIC program.
APPENDIX
APPENDIX
APPENDIX
Naming a SLOGIC program is different than other AS Language programs. The only
name that can be assigned to a SLOGIC program is spg.
The SSTOP (abbreviated SS) command is a monitor command used to stop the execu-
tion of the spg program. The SLOGIC program cannot be uploaded or downloaded if it
is still executing. When the SS command is entered the remote signal processing will
stop.
The SUPLOAD (abbreviated SU) command is a monitor command used to transfer the
SLOGIC (spg) program from the 1FS board to the 1GA board. The 1FS board does not
have the capability to edit the spg program. If an spg program already exists on the
1GA board when the SU command is entered, it will be overwritten with the uploaded
program from the 1FS board. Once the current spg program is on the main CPU board,
all of the AS Language editor commands are available to the programmer. When the
editing process has been completed, the spg program must be downloaded back to the
1FS board for processing.
The SOUT command is a SLOGIC program instruction, the format for the SOUT com-
mand is: SOUT signal number = signal expression. When the SLOGIC program is
executing and the signal expression is true, the SLOGIC output signal number to the
right of the = sign will be generated. In this example,
SLOGIC output signal 1001 (controller input signal WX1) will be turned on when 1FS
inputs 1 and 2 are on.
APPENDIX
The SCNT command is a SLOGIC program instruction, the format for the SCNT com-
mand is: SCNT counter signal number = count up signal, count down signal,
counter clear signal, count value. The counter signal number to the left of the = sign
is the output signal from the 1FS board when the counter has reached the count value
and ranges from signal number 2701 to 2716. The counter up signal to the right of the =
sign is the input signal to the 1FS board that records an increase by the counter. The
counter down signal to the right of the = sign is the input signal to the 1FS board that
records an decrease to the counter. The counter clear signal is the output signal to the
1FS board that is used to reset the counter to a 0 value. The count value is the number
of times the count signal must change state before the counter signal number is gener-
ated as an output from the 1FS board. The following is an example of the SCNT com-
mand:
In this example, assuming the count down signal 110 does not change state, when the
count up signal 101 changes state 10 (count value) times, signal 2701 (counter signal
number) will be output from the 1FS board. When signal 102 (counter reset signal)
turns on the counter will be reset to 0. In the second line of code, the 1FS board will
output signal 307 (possibly an indicator light) when the counter has reached the count
value.
The SFLK command is a SLOGIC program instruction, the format for the SFLK com-
mand is: SFLK flicker signal number = time. When the SLOGIC program is executing
and a signal identified with the SFLK command is specified, the signal will turn on and
off with the frequency specified by the time argument of the SFLK command.
The SFLP command is a SLOGIC program instruction, the format for the SFLP com-
mand is: SFLP output signal number = set signal, reset signal. When the SLOGIC
program is executing and the set signal specified with the SFLP command is on, the
output signal number will turn on. When the reset signal specified with the SFLP com-
mand is on, the output signal number will turn off. When the set signal and the reset
signal specified with the SFLP command are both on, the output signal number will be
turned off.
APPENDIX
The STIM command is a SLOGIC program instruction, the format for the STIM com-
mand is: STIM timer signal number = input signal, time. The timer signal number to
the left of the = sign is the output signal from the 1FS board when the timer has reached
the time value. The input signal to the right of the = sign is the input signal to the 1FS
board that starts the timer count. The time value is the length of time in seconds from
when the timer starts its count to the time when the timer signal number is generated as
an output from the 1FS board. The following is an example of the STIM command:
In this example, 2.4 seconds after input signal 36 turns on, signal 2601 (timer signal
number) will be output from the 1FS board. In the second line of code, the 1FS board
will output signal 360 (possibly an indicator light) when the timer has reached the time
value.
This function allows the user to view various functions regarding the remote I/O func-
tions (Figure A-2).
1 SIG N AL S TAT U S
2 TIM ER AN D C O U NT ER
STAT US
3 SL O G IC M O N ITO R
4 L AST W ELD D ATA
5 SL O G IC STAT U S
FU N C TIO N N U M BER :
F1 F2 F3 F4
The signal status screens shown in figure A-3 allows the user to view the status of all
Remote I/O and robot signals. Figure A-3 shows two of five signal status screens. Use
the NEXT PG buttons to scroll to the remaining screens
APPENDIX
APPENDIX
The TIMER AND COUNTER STATUS function allows the user to view the timer or
counter values (Figure A-4). The elapsed time or number of counts is also displayed.
The first screen shows the status of timers and the second screen shows the status of
counters. Navigate between the screens using the PRE PG and NEXT PG buttons.
APPENDIX
The S-LOGIC MONITOR screen (Figure A-5) allows the user to monitor output signals
which are used by the Slogic program. It also displays the status of the signal. When
this function is accessed, key in the desired output signal at the prompt and press the
ENTER key on the multi function panel.
3 S LO G IC M O N ITO R
S IG N A L N U M B E R 0
F1 F2 F3 F4
Select signal numb
by pressing the numeric
keys and the press ENTER
!
0 9
EN T E R
!
A U X .18 0 R I/O M ON ITO R 3 S LO G IC M O N ITO R
2 SOUT 3 02 = 2
3 SOUT 3 03 = 3
4 SOUT 1 00 1 = 15 01
5 SOUT 1 00 2 = 15 02
6 SOUT 1 00 3 = 15 04
7 SOUT 1 00 4 = 15 04
8 SOUT 1 00 5 = 15 05
9 SOUT 1 00 6 = 15 06
10 SOUT 1 00 7 = 15 07
F1 F2 F3 F4 F5 F6
PR E PG N E XT PG E X IT
APPENDIX
The LAST WELD DATA screen displays the weld sequence parameters. Use the NEXT
PG and PRE PG buttons to scroll between the three available screens. Figure A-6
shows LAST WELD DATA screens.
W E L D C O N T. # 1 W E L D C O N T. # 2 WEL D C O NT. #
S E Q U E NC E N O . 12 12 12
S T EP P ER N O . 9 9 9
PRESENT STEP C O M P. C O M P. C O M P.
W E LD S M A D E 3456 3456 3456
P O W E R FAC TO R 6 deg 6 deg 6 deg
W E LD P R IM A RY C U R R E N T 6666 A 6666 A 6666 A
W E LD S E C. C UR R E N T # 1 45.6 KA 45.6 KA 45.6 KA
W E LD S E C. C UR R E N T # 2 45.6 KA 45.6 KA 45.6 KA
W E LD LIN E V O LTAG E 456 V 456 V 456 V
F1 F2 F3 F4 F5 F6
N E XT PG EX IT
" !
F2 F3
P R E PG N E XT PG
" !
AU X.180 R I/O M O NITO R 4 L AST W EL D DATA
W EL D C O NT. #4 W E L D C O N T. # 5 W E L D C O N T. # 6
S E Q U E NC E N O . 12 12 12
S T EP P ER N O . 9 9 9
PRESENT STEP C O M P. C O M P. C O M P.
W E LD S M A D E 3456 3456 3456
P O W E R FAC TO R 6 deg 6 deg 6 deg
W E LD P R IM A RY C U R R E N T 6666 A 6666 A 6666 A
W E LD S E C. C UR R E N T # 1 45.6 KA 45.6 KA 45.6 KA
W E LD S E C. C UR R E N T # 2 45.6 KA 45.6 KA 45.6 KA
W E LD LIN E V O LTAG E 456 V 456 V 456 V
F1 F2 F3 F4 F5 F6
P R E PG N E XT PG EX IT
" !
F2 F3
P R E PG N E XT PG
" !
AU X.180 R I/O M O NITO R 4 L AST W EL D DATA
W EL D C O NT. #7 W E L D C ON T. # 8
S E Q U E NC E N O . 12 12
S T EP P ER N O . 9 9
PRESENT STEP C O M P. C O M P.
W E LD S M A D E 3456 3456
P O W E R FAC TO R 6 deg 6 deg
W E LD P R IM A RY C U R R E N T 6666 A 6666 A
W E LD S E C. C UR R E N T # 1 45.6 KA 45.6 KA
W E LD S E C. C UR R E N T # 2 45.6 KA 45.6 KA
W E LD LIN E V O LTAG E 456 V 456 V
F1 F2 F3 F4 F5 F6
P R E PG EX IT
APPENDIX
The S-LOGIC STATUS screen allows the user to view the status of the Slogic program
(Figure A-34). It displays the status of Slogic programs as active (RUN) or inactive
(STOP). It also indicates how many steps are used in the Slogic program, the number
of bytes free in the memory, and the date and time the Slogic program was downloaded.
S L O G IC S TATU S R U N /S TO P
S L O G IC S TE P S 0
S L O G IC M E M O R Y 0 BY TE S FR E E
D O W N L O A D E D D ATA 9 8 -0 4 -0 9 1 6 :50 :3 1
F1 F2 F3 F4
AUX function 181 allows the user to view information about the PLC Node Adapter Chip
(NAC) settings (Figure A-35). Changes cannot be made on this screen; it is used only
for displaying the current settings.
U S ED Y ES /N O
B AU D R ATE (b p s ) 5 7 6 0 0 /11 5 2 0 0/2 3 0 40 0
R A C K A D D R E SS 0
L A ST R A C K Y ES /N O
S TA RT IN G Q U A R TE R 1
R A C K S IZE [1 /4 ]/[1 /2 ]/[3 /4 ]/[FU L L ]
S IG N A L BITS 3 2 /6 4
F1 F2 F3 F4
APPENDIX
A.1.2 CONTROLNET
The ControlNet network (Figure A-9) is an open control network that provides real-time,
high-throughput applications by linking PLC processors, I/O, computers, operator inter-
faces, and other intelligent devices. The ControlNet network combines the functionality
of an I/O network and a peer-to-peer network, while providing high-speed performance
for both functions.
The ControlNet network transfers data at 5M bit/s, and provides deterministic, repeat-
able transfers of mission critical control data (e.g., I/O updates and processor interlock-
ing).
Due to its fast update times, the network can support highly distributed systems, espe-
cially those with high-speed digital I/O or heavy analog I/O content. I/O chassis and
other devices can be located hundreds of meters from PLC processors; or, for distrib-
uted processing, a processor can be located at the I/O chassis where it can monitor its
own resident I/O while communicating via the network to a supervisory controller.
The ControlNet network can process the following automation and control data on a
single coaxial cable: peer-to-peer messaging, remote programming, troubleshooting,
and I/O updates and PLC processor interlocking.
I/O and PLC processor interlocking update times that match application requirements
can be selected. The network’s media access method places a higher priority on I/O
updates and processor interlocking; these messages always take precedence over
transfers of non-time-critical data (e.g., program uploads/ downloads and messaging).
The network simplifies PLC programming by eliminating the need to program block
transfers.
APPENDIX
computer running
RSView software EMERGENCY STOP
1770-KFC
serial/parallel 1784-KTCX
interface module
PLC-5/20C
processor
ControlNet Network
DeviceNet PLC-5/40C
Windows NT/95 FLEX I/O adapter
scanner processor
computer with 1794-ACN PLC-5/40C
1771-SDN processor
1786-CP cable
1784-KTC
A ControlNet network is simple and cost-effective to install, and offers flexible installation
options. Allen-Bradley offers PLC processors with built-in ControlNet communication,
ControlNet adapters for I/O chassis, and ControlNet interface cards for personal com-
puters. Although the Control-Net network is based on bus technology, repeaters can be
used to implement tree and star topologies. For added reliability, a redundant set of
cables may be added between nodes. The additional cables provide a backup path if a
primary cable fails. Each node compares the quality of the signals from each cable and
uses the cable with the better signal. The 1FS board provides a redundant connection
to the network via two BNC connectors (channel A and B).
Windows NT/95 computers can access real-time data over the network using RSLinx
software. This software functions as a communications engine for software products
such as Rockwell Software’s man machine interface software RSView, and program-
ming software such as PLC-5 A.I. series programming software. RSLinx can also pro-
vide plant floor data to commercially available applications (e.g., Microsoft Excel and
Access) for display, logging, or trending.
APPENDIX
The network uses standard RG-6 coaxial cable and BNC connectors. ControlNet also
supports fiber-optic media. Fiber-optic repeaters allow increased network distances and
accommodate changes in topology.
The network uses taps with integrated drop cables for node connections. Up to 99
addressable nodes (with taps) can be installed anywhere along the network’s trunk
cable, with a maximum length per segment ranging from 250 meters (820 ft) to 1,000
meters (3,280 ft), depending on how many taps are used. There is no minimum tap
separation. The network can be accessed from every node, including ControlNet I/O
adapters, using the network access port.
The ControlNet network is compatible with a range of products, and can be added to
existing systems. The PLC-5 processor includes standard ports for communication with
devices on Universal Remote I/O and Data Highway Plus networks.
The ControlNet network provides a time-critical link between PLC processors and I/O
devices, and the architectural link between information and device layers of a communi-
cation architecture.
The format for the C1MOVE and C2MOVE command is: C1MOVE location, clamp
number and C2MOVE location, clamp number. C1MOVE and C2MOVE commands
are commands that are used to create a circular interpolation path. The commands
C1MOVE and C2MOVE specify the arc of the robot path to reach the taught location.
Three locations are needed for the controller to calculate a circular path trajectory. The
first location is the beginning of the arc and can be specified with any of the following
commands: Align, C1MOVE, C2MOVE, DELAY, DRAW, TDRAW, DRIVE, HOME,
JMOVE, JAPPRO, JDEPART, LMOVE, LAPPRO, LDEPART, STABLE, or XMOVE. The
second location is defined by the C1MOVE command and is a location that is on the arc
that connects the arc beginning and arc ending points. The C2MOVE command defines
the arc end point.
APPENDIX
The location specifies the destination of the C1MOVE or C2MOVE. The location speci-
fied must be the name of a location variable and can be a precision point, transforma-
tion, or compound transformation location.
The optional argument clamp number specifies the clamp number to be opened or
closed when the robot reaches the destination location. To open a clamp, type a “,” after
the location and specify the clamp number. To close a clamp, type a “,” after the location
and type a “-” before the clamp number. If the clamp number is omitted, the clamp
signal will not change. Examples of the C1MOVE and C2MOVE are shown in figure A-
10.
p t2
JMOVE pt1
C1MOVE pt2
C2MOVE pt3
p t1 p t3
pt2
JMOVE pt1
C1MOVE pt2
C2MOVE pt3
C1MOVE pt4
pt1 pt5
C2MOVE pt5 pt3
pt2
pt4
JMOVE pt1
C1MOVE pt2
C2MOVE pt3 pt1 pt3
C1MOVE pt4
C2MOVE pt1
pt4
APPENDIX
The format for the FMOVE is: FMOVE, location, clamp number. The FMOVE com-
mand is used in conjunction with the FIXED TOOL DIMENSIONS function and allows
the user to program moves that are relative to an external fixed point in the work enve-
lope. This type of interpolation is called fixed linear interpolation (FLIN). In a FMOVE,
the robot path is calculated to maintain a set relationship to a fixed point. Applications
for FLIN moves include moving a part around a fixed sealing dispenser or a fixed stud
welding gun. Figure A-11 shows the auxiliary function screen used to enter the dimen-
sions for a fixed tool to be used with FLIN moves. Figure A-12 shows how the path of a
windshield being moved by a robot would be different with a LMOVE and FMOVE. The
FMOVE path enables the programmer to reduce the number of programmed points
needed to maintain a fixed distance from the sealing dispenser.
FIXED TOOL1
X DIRECTION 0.0mm
Y DIRECTION 0.0mm
Z DIRECTION 0.0mm
O ROTATION 0.0deg
A ROTATION 0.0deg
T ROTATION 0.0deg
APPENDIX
APPENDIX
The format for the MVWAIT command is: MVWAIT distance in mm or time in sec-
onds. The MVWAIT command is used to determine when the next program instruction
is executed. Figure A-13 shows two examples of the MVWAIT command with the
PREFETCH.SIGINS switch in the on position.
LMOVE pt1
MVWAIT 100m m
SIGNAL 21
100 mm
Location pt1
Location pt1
The format for the BSPEED command is: BSPEED speed. The BSPEED command is
used to change the playback speed of block step programs. The actual playback speed
of the program will be the product of the specified speed in the BSPEED command
combined with the repeat condition speed and the program step speed. The playback
speed cannot exceed 100%. The robot will continue to operate at the specified
BSPEED until the next BSPEED command is processed.
APPENDIX
The format for the TRHERE command is: TRHERE location variable. The TRHERE
command is used to add the traverse axis component to the compound transformation.
The specified location variable can be either a transformation location or a compound
transformation.
The format for the GUNONTIMER and GUNOFFTIMER commands are: GUNONTIMER
gun number, time and GUNOFFTIMER gun number, time. The GUNONTIMER and
GUNOFFTIMER commands are used to specify the timing of spray gun applications.
The spray gun will be turned on or off before it normally would if the specified time is a
negative number. For example, the command
GUNONTIMER 1, -0.5
will turn spray gun number 1 on 0.5 seconds sooner then if the command was not in-
cluded in the program. If the specified time is a positive number, the on or off action of
the spray gun will be delayed beyond the time then if the command was not included in
the program.
The format for the GUNON and GUNOFF commands are: GUNON gun number, dis-
tance and GUNOFF gun number, distance. The GUNON and GUNOFF commands
are used to specify the timing of spray gun applications. The spray gun will be turned on
or off before it normally would if the specified distance is a negative number. For ex-
ample, the command
GUNON 2, -100
will turn spray gun number 2 ON 100 mm sooner then if the command was not included
in the program. If the specified distance is a positive number, the on or off action of the
spray gun will be delayed beyond the time then if the command was not included in the
program.
APPENDIX
The format for the OPENS command is: OPENS clamp number. The OPENS com-
mand is used to specify the output signal timing of electromagnetic valves and clamps.
The OPENS command similar to the OPEN and OPENI commands. The OPEN com-
mand will generate the clamp open output signal when robot motion to the following
point begins. The OPENI command will generate the clamp open output signal when
continuous path robot motion is interrupted at the completion of a path. The OPENS
command will generate the clamp open output signal at once when the command is
processed. The OPENS command is not influenced by the setting of the
PREFETCH.SIGINS switch.
The format for the CLOSES command is: CLOSES clamp number. The CLOSES
command is used to specify the output signal timing of electromagnetic valves and
clamps. The CLOSES command similar to the CLOSE and CLOSEI commands. The
CLOSE command will generate the clamp close output signal when robot motion to the
following point begins. The CLOSEI command will generate the clamp close output
signal when continuous path robot motion is interrupted at the completion of a path. The
CLOSES command will generate the clamp close output signal at once when the com-
mand is processed. The CLOSES command is not influenced by the setting of the
PREFETCH.SIGINS switch.
The format for the RELAXS command is: RELAXS clamp number. The RELAXS com-
mand is used to specify the output signal timing of dual electromagnetic valves used
with pneumatic clamps. The RELAXS command will turn both sides of the clamp off.
The RELAXS command is similar to the RELAX and RELAXI commands. The RELAX
command will generate the clamp relax output signal when robot motion to the following
point begins. The RELAXI command will generate the clamp relax output signal when
continuous path robot motion is interrupted at the completion of a path. The RELAXS
command will generate the clamp relax output signal at once when the command is
processed. The RELAXS command is not influenced by the setting of the
PREFETCH.SIGINS switch.
APPENDIX
The NTCHON and NCHOFF commands are monitor or program instruction commands
that turn the notch filter on and off. The notch filter affects the processing parameters of
the PWM for servo motor speed control. The new setting of the notch filter, as specified
with the NTCHON or NTCHOFF command is effective after the execution of the follow-
ing commands: PRIME, STEP, MSTEP, and EXECUTE. Before utilizing the NTCHON
and NTCHOFF commands it is recommended that Kawasaki Robotics engineering
group be contacted to provide details regarding program playback performance.
The format for the WEIGHT command is: WEIGHT payload. The weight command is a
program instruction, the payload is specified in kg up to the maximum payload. The
WEIGHT command affects the processing parameters of the PWM for servo motor
speed control. Acceleration and deceleration parameters are also affected by the
WEIGHT command.
A.4.3 MC COMMAND
The AUTOSTART.PC system switches allow execution of the specified process control
program to begin as soon as controller power is applied. Three process control pro-
grams can begin execution with this process, AUTOSTART.PC, AUTOSTART2.PC, and
AUTOSTART3.PC. When the process control programs to be used with the
AUTOSTART.PC switches are created they must be named to correspond with the
specified switch. For example, the process control program named AUTOSTART2.PC
begins execution when control power is applied if AUTOSTART2.PC system switch is
turned on.
The ERRSTART.PC system switch allows execution of the specified process control
program to begin as soon as a specified error occurs. When the process control pro-
gram to be used with the ERRSTART.PC switch is created, it must be named
ERRSTART.PC to correspond with the specified switch.
APPENDIX
The AFTER.WAIT.TMR system switch determines when timers specified in block step
programs begin their count. With the AFTER.WAIT.TMR switch in the off state, timer
count begins when the robot reaches coincidence with the taught location. With the
AFTER.WAIT.TMR switch in the ON position, timer count begins when the robot reaches
coincidence with the taught location and all wait conditions are satisfied.
The DEXT format is a real value function used to assign an element of a location vari-
able to a real variable. The format for using the DEXT function is: real variable = DEXT
(location name, element number). The following example of the DEXT function as-
signs the y (element 2) distance component of the transformation location dog to the
real loc.y.
In the above example, if the components of location dog are 1151, 1375, 950, -36, 87,
113, the value of real variable loc.y will be 1375.
The PRIORITY function is a real value function used to assign the priority level of the
current program to a real variable. The format for using the PRIORITY function is: real
variable =PRIORITY. The following example of the PRIORITY function will assign the
value of the program (as specified with the LOCK command) to the real variable stat.
stat = PRIORITY
In the above example, if the currently selected program was defined with the LOCK 2
command, the value of stat will be 2.
The format for the PCSCAN command is: PCSCAN time. The PCSCAN command is a
process control program instruction that is used to set the scan time of the process
control program. If the specified time is 1.5 seconds, the execution of the program is
processed every 1.5 seconds. If the specified time is less then the normal processing
time of the program, this command has no effect on the program.
APPENDIX
Table A-2 lists the AS Language commands, the abbreviation for each command and
the format for the command. The table also shows the type of command that each
command is. The type of command corresponds to the letters listed below.
E - Editor Commands
F - Function
K - Other Keywords
M - Monitor Command
O - Operator
P - Program Instructions
S - Switch
APPENDIX
APPENDIX
APPENDIX
Copies an existing
COPY new name=old name +
COPY COP program(s) to a new M
old name
program name
Trigonometry function of
COS COS F COS(real value expression)
cosine calculation
CP(continuous path) switch
allows robot to make
CP CP S CP
smooth transitions from one
location to another
CS (cycle start) switch sets
CS CS how cycle start can be S CS
activated
Switch sets how program
CYCLE.STOP CY execution restarts after an S CYCLE.STOP
External Hold.
Sets robot deceleration
DECEL DECE P DECEL deceleration ALWAYS
parameters
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
Returns a 0 transformation
NULL NULL F NULL
value
The value of a TRUE
ON ON condition returns a -1.0 F ..... ON .....
value
Used to turn selected
OFF OFF M switch name ,....... OFF
system switches off
Used to turn selected
OFF OFF P switch name ,....... OFF
system switches off
The value of a FALSE
OFF OFF condition returns a 0.0 F ... OFF ....
value
Used to turn selected
ON ON M switch name, ........ ON
system switches on
Used to turn selected
ON ON P switch name, ........ ON
system switches on
APPENDIX
Suspends execution of
PAUSE PA P PAUSE
current program
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
GLOSSARY
GLOSSARY
This glossary contains definitions of terms used by operators, programmers, and main-
tenance personnel who work with Kawasaki robots. The definitions are listed in alpha-
betical order.
A
• ACCELERATE
To speed up a process.
• ACCURACY
A measure of the difference between the commanded robot arm position and the
actual position. Also identifies how well an indicated value conforms to a true value
(i.e., an actual or accepted standard value).
• ACRONYM
A term made up of the initial letters of words in a set phrase. For example, LED is an
acronym for light emitting diode.
• ADDRESS
A number that identifies a specific location in the computer’s or processor’s memory.
Means of identifying a location or data in a control system.
• ADDRESSING
Computer operations store data in specific memory locations or addresses. The
largest memory location determines the amount of data that can be stored. The
larger the number, the larger the possible program.
• AIR CUT
Moving a weld gun into position but without generating an arc.
• ALGORITHM
A finite set of well-defined rules or procedures for solving a problem step-by-step.
• ALPHANUMERIC
Pertaining to a set of symbols that contain both letters and numbers, either individu-
ally or in combination.
• AMBIENT TEMPERATURE
The temperature of air or liquid that surrounds a device.
• AMPERE (AMP)
A unit of electrical current flow that is equivalent to one (1) coulomb per second.
One (1) volt across one (1) ohm of resistance causes a current flow that is equivalent
to one (1) amp.
GLOSSARY
• ANALOG
A continuously changing electrical voltage signal. In robot systems, the magnitude
or value of the signal represents commanded robot axis motion.
• ANALOG DATA
Information that is represented by a characteristic of the value or magnitude of an
electrical signal, such as the amplitude, phase, or frequency of the voltage, the
amplitude or duration of a pulse, the angular position of a shaft, or the pressure of a
fluid number.
• ANTI-FRICTION BEARING
A rolling element which is used to support a rotating shaft.
• ARC SENSOR
A sensor that detects weld lines utilizing arc characteristics.
• ARGUMENT
A value applied to a procedure; data used by a function or other command. For
instance, in the AS command JMOVE flange, 2. The variable, flange, and the clamp
number 2 are the arguments of the function JMOVE.
• ARRAY
An ordered set of addresses or their values. Elements of an array can be referenced
individually or collectively. Array elements all have the same type of data, for in-
stance, integer or character, and are usually presented in rows and columns.
• ARTICULATED
To join together permanently or semi-permanently by means of a pivot connection for
operating separate segments as a unit.
• ARTICULATED ROBOT
A robot arm which contains at least two consecutive revolute joints, acting around
parallel axes, resembling human arm motion. The work envelope is formed by partial
cylinders or spheres. The two basic types of articulated robots, vertical and
horizontal, are sometimes called anthropomorphic because of the resemblance to
the motions of the human arm.
• ASCII
An acronym for American Standard Code for Information Interchange. This standard
8-bit code is used by many devices, such as keyboards and printers.
• AS LANGUAGE
Kawasaki robot language used to communicate commands and instructions from a
keyboard to the CPU.
GLOSSARY
• ASSIGNMENT
An instruction used to express a sequence of operations, or used to assign operands
to specified variables, or symbols, or both.
• ASYNCHRONOUS
A means of data communication where the data is sent a character at a time pre-
ceded by a start bit and followed by a stop bit. No direct timing signal links the trans-
mitter and receiver.
• AUXILIARY DATA
Information about a point, other than the positional data, such as speed, accuracy,
weld schedule and clamp condition.
• AXIS
A straight line about which sections of the mechanical unit rotate (e.g., joints JT1,
JT2, JT3 etc.).
B
• BACKLASH
The clearance, slack, or play between adjacent gears, or the jar or reaction often
caused by such clearance when the parts are suddenly put in action or are in
irregular action.
• BASE COORDINATE
A fixed coordinate system having an origin at the intersection of the X, Y, and Z axes.
• BAUD RATE
Determines the number of bits per second (bps) or characters transmitted between
devices.
• BCD
An acronym for binary coded decimal. The BCD 8-4-2-1 code expresses each deci-
mal digit by its own 4-bit binary equivalent. The 8-4-2-1 code is identical to binary
through the decimal number 9. Above the decimal number 9 each decimal digit is
represented by its own 4-bit binary equivalent. For example, using the 8-4-2-1 bi-
nary-coded system, the number 10 is interpreted as 0001 0000.
• BINARY CODE
A system in which characters are represented by a group of binary digits, that have
the value of either 0 or 1, true or false, on or off.
• BIT
Acronym for binary digit, having one of two values: 0 or 1.
GLOSSARY
• BOOT
The method by which computers are brought from a non-operating to an operating
state. During this sequence, the computer memory is usually reset. This is often
performed to restart the computer after a crash, to bring it on-line.
• BUFFER
A temporary memory storage area in a computer or electronic device.
• BUG
A problem in a software or hardware element of a system.
• BUS
The primary communication path in the controller along which internal signals are
sent among processors and memories.
C
• CABLE CARRIER
A device which carries cables and hoses (including power sources) from a stationary
location to a linear moving device.
• CARTESIAN COORDINATE
A location in space defined by three axes at right angles to each other, commonly
labeled X, Y, Z.
• cc
cubic centimeter
• CELL
A manufacturing unit consisting of two or more work stations or machines, and the
material transport mechanisms and storage buffers that interconnect them.
• CENTER OF GRAVITY
The point at which the entire weight of a body may be considered as concentrated,
so that if supported at this point the body would remain in equilibrium in any position.
• CHARACTER
A term that describes all numbers, letters, and other symbols typically found on a
computer keyboard.
• CHECK MODE
A procedure that allows the user to check positional data and auxiliary data while in
the teach mode with the Kawasaki robot . This procedure is in many ways analogous
to reverse point and forward point operations in other robot models.
GLOSSARY
• CHECKSUM
A method by which the contents of data or a transmission are verified to be accurate.
This method ‘sums’ all the characters and translates them into a number which is
appended to the data.
• CHEMICAL ANCHOR
A threaded rod installed in a structure (e.g., a concrete floor) and secured by epoxy,
for the purpose of securing hardware.
• CIRCULAR INTERPOLATION
A path taken by the robot that connects at least three points with an arching motion.
The CPU will calculate a path that places the taught points on a section of a circle.
• CLOSED-LOOP SYSTEM
A system in which a command value is output and a feedback value is returned. The
resulting error, the difference between the command and the feedback, is used to
correct the signal. In a robot system, the command signal is output by the controller,
causing the robot arm to move, and the feedback signal is produced by the encoder,
which reads the current position of the arm.
• CODE
A set of rules for expressing information in a language that is understood and pro-
cessed by a control system.
Also, a term for instructions in a computer program. Code performs a process, and
data is the information that is processed.
• COMMAND
An analog signal, or group of signals or pulses, which cause a specified function to
be performed. An instruction or request in a computer program that performs a
particular action. Commands that are needed to run the operating system are called
a command language.
• COMMENT
Optional, non-executing remarks added to a program to explain various aspects of
the program.
• COMPILER
A system task that translates a program written in source code, into binary code that
can be understood by the processor.
• COMPOUND TRANSFORMATION
A location in the Cartesian coordinate system that is defined relative to another
Cartesian coordinate location.
GLOSSARY
• CONTIGUOUS FILE
A file that is stored in continuously adjacent areas of memory, in contrast to a file
which is scattered to make more efficient use of disk space.
• CONTROLLED AXIS
A robot axis that is operated by electrical or hydraulic power.
• CONTROLLER
An electronic device, with processing capabilities and software, which controls the
robot actions and functions.
• CONVEYER TRACKING
Used to make the robot follow a part on a conveyor, without the use of a traverse
axis.
• COORDINATE
A set of numbers that locate a point in space.
• CPU
Acronym for central processing unit. A collection of hardware in a computer which
performs all calculations, handles I/O, and executes programmed tasks.
• CRASH
A situation where the computer fails to operate, due to a software or hardware prob-
lem.
• CRT
An acronym for cathode ray tube. A CRT is a charge storage tube in which the
information is written by means of the cathode ray beam.
• CURRENT LOOP
A circuit in which a portion of the output is returned to modify the control circuit
output. This circuit may be used as a limiting device, for safety protection.
• CURSOR
A pointer or indicator on a computer screen, that identifies the current position on the
screen.
GLOSSARY
• CYCLE
A complete path of projectory performed by the robot for a specific application.
• CYCLOIDAL DRIVE
A mechanical gear reduction unit that reduces the speed of the input and increases
the torque capacity. The cycloidal unit consists of an internal arrangement of discs
and pins that are driven by an eccentric drive cam. This type of gear reduction offers
low gear train backlash and the capability to achieve high reduction ratios from a
single contained unit.
D
• DATA
A term given to information, instructions, words or symbols that are usually transmit-
ted, processed, or stored as a group.
• DETENT
A part of a mechanism that locks or unlocks a movement.
• DISCONNECT
A switch that isolates a circuit or one or more pieces of electrical apparatus after the
current has been interrupted by other means.
• DEVIATION ERROR
In all mechanical devices, the actual position of the mechanical unit will lag behind
the electrical command of the controller. An allowable limit is assigned for this differ-
ence. However, if the controller detects a condition where the difference between
this mechanical value and the desired electrical position is larger than the estab-
lished value limit, the robot controller will generate a deviation error. This error is
sometimes referred to as a FOLLOWING ERROR in the robot industry.
• DEBUG
The process by which an operator’s program is checked for mistakes and then cor-
rected.
• DECIMAL NUMBER
Numbers in the base-10 numbering system, which uses the numerals 0 - 9.
• DEDICATED
A term used to describe a system resource, such as an I/O device or terminal, which
is used for only one purpose, or assigned a single function.
GLOSSARY
• DEDICATED SIGNAL
A term used to describe a signal which is used for only one purpose, or assigned a
single function. Both inputs and outputs can be dedicated.
• DEFAULT
A value or operation that is automatically entered by the system, if the operator does
not specify one. Typically, the default is the standard or expected response.
• DELETE
A command which will eliminate unwanted data.
• DELIMITER
A character which separates a group of items or a character string, from other
groups, or which terminates a task.
• DEVICE
Any peripheral hardware connected to the processor and capable of receiving,
sorting, or transmitting data.
• DIAGNOSTICS
Function performed by the processor to identify and check for error conditions in the
robot arm and peripheral devices.
• DIP SWITCH
DIP is an acronym for dual in-line package. A set of small switches on circuit boards
that can be set for different configurations.
• DIRECTORY
A logical structure that organizes a group of similar files.
• DISK
A high-speed, random-access memory device.
• DISK-BASED SYSTEM
System in which programs and files are stored on the hard disk and are read into
memory when requested by the user.
• DISK PACK
A device which is used to store additional data in a computer system, and is usually
removable.
GLOSSARY
E
• ECHO
Process in which characters that are typed on a keyboard are also displayed on the
screen or are sent to the printer.
• EDITOR
An aid for entering information into the computer system and modifying existing text.
• ENCODER
An electromechanical device that is connected to a shaft to produce a series of
pulses that indicate the position of the shaft.
• EPROM
Acronym for erasable programmable read-only memory. The contents of this
memory (computer chip) are retained, even when power to the system is turned off.
Usually stores executive programs and critical system variables.
• ERROR LOG
A report which contains a sequential list of system error messages.
• ERROR MESSAGE
Messages displayed on the plasma screen of the robot controller, when the action
requested by the operator could not be completed. Error messages can occur when
components malfunction or if an incorrect command is typed by the operator.
• EXPRESSION
A combination of real-valued variables and functions, and mathematical and logical
operators. When evaluated, this combination yields a numeric value.
F
• FEEDBACK
The transmission of a signal from a measuring device (e.g., encoder, transducer) to
the device which issued the command signal within a closed-loop system. See
CLOSED-LOOP SYSTEM.
• FIELD SIGNALS
All electrical signals that exit or enter an electrical panel.
GLOSSARY
• FILE
A set of related records or data elements, which are stored using one name and are
arranged in a structure that can be used by a program.
• FILESPEC
Includes the name, creation date and size of the specified file.
• FIXED DISK
An electromagnetic mass storage device which is not removable. Hard disks have
much higher storage capacity than floppy disks.
• FLOPPY DISK
An electromagnetic mass storage device which can be removed and exchanged.
• FORM FEED
Process which causes a printer to advance the paper to the top of the next page.
• FUNCTION
A formula or routine for evaluating an expression.
G
• GAIN
A proportional increase in power or signal value relative to a control signal. The
ratios of voltage, power, or current as related to a reference or control signal input.
• GLOBAL
Refers to a function or process that affects the entire system or file.
• GRAY CODE
A positional binary number notation in which any two numbers whose difference is
one are represented by expressions that are the same except in one place or column
and differ by only one unit in that place or column.
H
• HALF-DUPLEX COMMUNICATION
Data transmission between two devices, where the signal is sent in only one direc-
tion at a time.
• HANDSHAKING PROTOCOL
Communication rules used for data transmissions between devices. Each device
must recognize the same protocol in order to communicate.
GLOSSARY
• HANG
A term which refers to the state of a computer system that seems to be inoperative
when processing should be taking place.
• HARDSTOP
A mechanical constraint or limit on motion.
• HARDWARE
Physical equipment and devices such as computer hard disk, cables, printer, etc.
• HAZARDOUS SIDE
The unsafe side of a component or panel, such as the inside of the control panel
when power is applied and functions are being performed.
• HOLD
When an external or an internal input is available for a hold condition, the robot will
stop its motion and servo drive power will be removed from the robot. When an
external hold reset is performed, the servo drive power will be energized.
• HOME POSITION
Refers to the starting or resting position of the robot.
• HYBRID ENCODER
On the Kawasaki robot a hybrid encoder is used to generate positional data, and is
composed of an incremental encoder that generates incremental pulses, and an
absolute encoder that generates gray code binary data.
I
• ID
Abbreviation for Identification.
• INCHING
A value that is used during the jogging process that allows the user to position the
robot in small minute increments.
• INCREMENTAL CODE
A digital closed loop feedback code that provides digital feedback pulses to the robot
controller for the purpose of providing positional information. These incremental
pulses are generated by an encoder through the use of an optical disk with alternat-
ing opaque and transparent bars or lines around the periphery of the disk. On one
side of the disk a light source is mounted, and on the opposite side a phototransistor
When the disk rotates, the phototransistor is alternately forced into saturation and
cutoff, producing the digital signal.
GLOSSARY
• INPUT
Transmission of an external signal into a control system.
• INTERACTIVE SYSTEM
System where the user and the operating system communicate directly; the user
through the keyboard, and the operating system via the display screen.
• INTERLOCK
An arrangement whereby the operation of one part or mechanism automatically
brings about or prevents the operation of another.
• INTERPRETER
A program that changes English-like commands into machine language. An inter-
preter translates and executes one command at a time.
• INSTRUCTIONS
Discrete steps in a computer program that are commands or statements that tell a
computer to do something or identify data.
• INTEGER
A whole number, a number without a fractional part such as 7, -318, or 19.
• INTERFACE
The circuitry that fits between a system and a peripheral device to provide compat-
ible coupling between the two pieces of equipment.
• INTERPOLATION
The mathematical process that the CPU utilizes to plot a path for the robot to travel
from one position to another. A mathematical process that evaluates a number of
dependent and independent variables for the purpose of comparison and prediction.
• INTERRUPT
An external signal that halts program execution so that the computer can service the
needs of some peripheral device or subsystem.
GLOSSARY
• INVERTER
A circuit which switches a positive signal to a negative signal, and vice versa.
• I/O
Acronym for Input/Output. The interconnections through which the computer and its
peripheral devices communicate.
• IPM
Acronym for Intelligent Power Module
J
• JOG
A term used to describe the process in which the user moves the mechanical unit
through interaction with the robot controller and the teach pendant. Sometimes
referred to as slewing.
• JOINT
1. A term used to describe the individual axes of a robot.
2. A term used to describe the jogging process in which the robot is jogged one axis
at a time.
• JOINT MOVE
A mode of operation in which the robot moves from one point to the next with an
arching path. All axes motors (required for the move) begin and end their rotation at
the same time. The tool center point does not follow a linear path to reach the taught
position.
L
• LABEL
An identifier for a program command line. To identify an instruction, memory loca-
tion, or part of a program.
• LAN
An acronym for local area network. A group of computer terminals interconnected by
cables, allowing communication of information via the network.
• LCD
An acronym for liquid crystal display. This type of display is made of material whose
reflectance or transmittance of light changes when an electric field is applied.
GLOSSARY
• LIMIT SWITCH
An electrical switch positioned to be switched when a motion limit occurs, thereby
deactivating the actuator that caused the motion.
• LINEAR MOVE
An operation where the rate and direction of relative movement of the robot arm are
continuously under computer control.
• LINE PRINTER
A high-speed output device that prints a line at a time.
• LINE TURN-AROUND
Changing the source of transmission in half-duplex communications.
• LOGICAL OPERATION
Any of several operations that manipulate information according to the rules of logic
(e.g., AND, OR, NOT, and exclusive OR).
• LM
Abbreviation for linear motion.
• LOAD
The weight applied to the end of the robot arm.
• LOCKOUT
Serving to prevent operation of a device or part of it.
• LSB
Abbreviation for least significant bit.
M
• MANIPULATOR
Another term for the mechanical portion of the robot system.
• MACHINE LANGUAGE
A low-level computer language, usually written in binary code.
• MASS-STORAGE DEVICE
An input/output device that retains data input to it. Examples include: hard disk
drives, magnetic tapes, floppy diskettes, and disk packs.
• MECHANICAL UNIT
robot (excluding controller)
GLOSSARY
• MEMORY
An area of the computer which stores data, either permanently or temporarily. When
a program is requested, it is first loaded into memory so it can be accessed quickly
by the processor.
• MHz
Abbreviation for megahertz. One million cycles per second.
• MIRROR IMAGE
A process which converts the positive and negative values of a taught path from a
right-handed robot to a left-handed robot, or vice versa. The actions of the opposing
robots are then coordinated and synchronized.
• mm
Abbreviation for millimeter.
• MNEMONIC
A term used to help the operator remember a large string of words or commands.
• MODEM
A signal conversion device that modulates and demodulates data into an audio
signal for transmission.
• MOMENT OF INERTIA
Used to calculate end of arm tooling and handling weights. The sum of the products
formed by multiplying the mass of the load by the square of the distance from the
tool mounting flange.
• MONITOR PROGRAM
An administrative computer program that oversees operation of a system. The AS
monitor accepts user input and initiates the appropriate response, follows instruc-
tions from user programs to direct the robot, and performs the computations neces-
sary to control the robot.
• MSB
Abbreviation for most significant bit.
• msec
Abbreviation for millisecond (0.001 seconds).
GLOSSARY
N
• NOISE
Any unwanted disturbance within a dynamic, mechanical, or electrical system.
• NULLED
An electrical zero state.
O
• OCTAL NUMBER
A numeral in the base-8 numbering system, which uses the numerals 0 - 7.
• OFF LINE
A state in which communications between two devices cannot occur (e.g., between a
printer and a computer, if the printer is off line).
• ON LINE
A state in which communication between two devices can occur.
• OPERATING SYSTEM
A set of system tasks and commands that are entered by the operator and inter-
preted and performed by the system.
• OPEN LOOP
A control which does not use feedback to determine its output.
• OPERATOR
Any mathematical action or function. The arithmetic operators are: add, subtract,
multiply, divide, modulo, and exponentiate. The relational operators are: greater than,
less than, equal to, and their combinations. The logical operators are: AND, OR,
exclusive OR, negate. The binary logical operators are AND, OR, exclusive OR,
ones complement.
• OPTO
An optical isolator or level converter.
• OVERFLOW
When a value or buffer exceeds a predefined limit.
GLOSSARY
• OVERTRAVEL
An error condition that exists when the robot exceeds its normal software limit val-
ues, and then actuates an overtravel limit switch.
• OVERVELOCITY
When an axis exceeds a preset value for velocity.
• OX (OUTPUT EXTERNAL)
Information transferred from the robot controller through output modules to control
output devices.
P
• PARITY
Method by which errors are detected. In this method the combined binary values of
a byte are flagged as 1 or 0.
• PARSE
To break a command string into individual elements, so it can be interpreted.
• PASSWORD
A code, entered by the user, to permit access to protected information.
• PAYLOAD
The maximum weight that a robot can handle satisfactorily during its normal
operations and extensions.
• PC PROGRAM
PC is an acronym for process control. A PC program cannot contain any step that
causes robot motion. PC programs are used to evaluate logic and variables and
execute program CALL and GOTO commands
• PERIPHERAL DEVICE
Hardware equipment which is external to the CPU, but that transmits and/or receives
I/O from the processor. Examples include: printer, CRT screen, or disk.
• PHASE
The angular relationship between current and voltage in alternating current circuits.
In a waveform or period function, the fraction of the period that has elapsed, as
measured from a reference point. Phase angle is determined by multiplying the
phase by 360 degrees.
GLOSSARY
• PINCH POINT
Any point where it is possible for a part of the body to be injured between the moving
or stationary parts of a robot and the moving or stationary parts of associated
equipment, or between the material and moving parts of the robot or associated
equipment.
• PLA
Acronym for programmable logic array. Used in many servo drive circuits.
• PLAYBACK
An operation where a taught path is run for evaluation purposes.
• PLC
Acronym for programmable logic controller. Usually referred to as the cell module
controller.
• POINT-TO-POINT
A robot motion control in which the robot can be programmed by a user to move
from one position to the next. The intermediate paths between these points cannot
be specified.
• POLARITY KEYS
These teach pendant or multi function panel keys allow the user to jog or slew the
robot in the Joint, Base (XYZ), or Tool coordinates system.
• PORT
The connection point of an opening or passage that is usually located outside the
housing of a device.
• POSITIONAL DATA
The location in space of the robot manipulator.
• POUNCE POSITION
A positional location at a point near the workpiece, clear of the transfer mechanism
and part, from which the robot is ready to begin production.
• PRINTED CIRCUIT
An assembly of electronic elements that provide a complete path of electrical current
through conductive material deposited between terminals on an insulated surface.
• PRECISION POINT
The play back of robot location based on the angular position of the six axes, joint
angles.
GLOSSARY
• PRINTING
A process in which characters are stamped on a surface, usually paper.
• PROGRAM
A predefined, step-by-step set of instructions that are entered into a computer so a
specific process can be performed repeatedly without reentering all the steps. Robot
paths are stored and run as part of programs.
• PROGRAM EDIT
Modification of an existing program.
• PROCESSOR
Generally, any hardware or software system for carrying out programs and acting on
data.
R
• RAM
Acronym for random access memory. An area used by the CPU for processing and
temporarily loading programs so they can be accessed quickly. The contents of RAM
are lost when the computer is powered down, unless battery backup is provided.
• REAL NUMBER
A number with a fractional part, such as 1.75, -31.89, .5, -4.00, etc.
• REAL-TIME
The actual time during which the computer analyzes and processes data: informa-
tion is usually processed as it is received.
• REAL VARIABLE
AS language term for a variable that has had a real value assigned to it.
• REPEAT MODE
A mode of operation that allows the user to check positional and auxiliary information
at a selected speed value, in a continuous or a step by step type of movement of the
mechanical unit.
GLOSSARY
• REPEATABILITY
The measurement of the closeness of agreement among repeated measurements of
the same variable under the same conditions.
• REWRITE MODE
A mode of operation which allows the user to rewrite positional, or auxiliary data,
and to insert or delete step address locations.
• RISC
Acronym for reduced instruction set computer.
A memory device which is programmed at the factory and whose contents thereafter
cannot be altered.
• RS-232C
An ASCII specification for connections and communication between serial devices.
• RUN
A mode of operation that allows the user to select servo motor power to provide drive
energy to the robot, allowing it to perform such modes of operation as teach, check,
repeat, and rewrite.
S
• SAFETY PLUG
A device used with safety fencing to interlock the opening of the fence with the
removal of power to the robot.
• SCROLL
When more information exists than can be displayed on one screen, the operator
can move up and down through the data to view it. When data is scrolled to the
screen, the information previously viewed moves up off the screen, and new informa-
tion enters the screen from the bottom.
• SENSOR
A device used to detect various conditions: proximity, heat, pressure, etc. An electri-
cal signal from the sensor can be used to communicate information to a robot pro-
gram.
• SERIAL
A method of transmitting data by which only one bit is sent or received at any one
point in time.
GLOSSARY
• SEQUENTIAL ACCESS
A method used by many computers whereby data is read in the order in which it is
physically stored.
• SINGULARITY POSITION
When the robot is processing a linear or circular move and two or more joints are in
alignment. The CPU can not process the ambiguity of a singularity configuration and
an error is generated.
• SOFTWARE LIMITS
Programmed values that are included in a program at the point before a mechanical
device hits an overtravel limit switch or a hard limit.
• SOFTWARE
A set of written programs and instructions that are executed by a computer system.
• SOURCE CODE
A program that contains the actual software instructions entered by the user, in
contrast to object code which is source code that has been translated into a lan-
guage which can be interpreted by the computer.
• STRING
A series of characters that have been entered in a distinct sequence that can be
interpreted as a valid statement or command.
• STROKE
The movement in either direction of a mechanical part having a reciprocating motion.
The entire distance passed through in such a movement.
• SUBSCRIPT
A set of numbers that identifies an element of an array.
• SUBROUTINE
A set of instructions that is run by another routine.
• SYMBOL
A character or design that has a distinct meaning and/or is associated with some-
thing.
• SYNTAX
The proper way in which commands and phrases should be typed in order to be
understood by the control system. If the operator incorrectly types a command (i.e.,
misspelled or invalid characters), a syntax error message will be displayed.
GLOSSARY
• SYSTEM DATA
Data that is specific to a individual robot. Zeroing data, upper and lower software
limits, and software switch settings are all examples of system data.
• SYSTEM SWITCH
Software switches that are set to determine various configurations and characteris-
tics of the robot system performance.
T
• TEACH MODE
A mode selected on the operator panel, during which robot arm axes positions can
be taught by the operator and are recorded by the robot.
• TEACH PENDANT
A hand-held, portable device used by the operator during teach and jogging opera-
tions.
• TOOL COORDINATES
A Cartesian coordinate system in which the origin point is at the face plate of the
robot and the orientation of the tool can be expressed in terms of a 3-dimensional
space representation of X, Y, and Z projections.
• TOOL MODE
A mode of operation in which all motions are calculated to maintain the orientation of
the tool in space.
• TORQUE
Something which produces or tends to produce rotation or torsion and whose
effectiveness is measured by the product of the force and the perpendicular distance
from the line of action of the force to the axis of rotation.
• TRANSFORMER
A device to convert the current of a primary circuit into variations of voltage and
current used in secondary circuits.
• TRANSFORMATION
A mathematical description of a location that defines the position and orientation of
the location without regard for the configuration of the robot when it is at that loca-
tion.
• TRAP POINT
GLOSSARY
• TWO’S COMPLEMENT
A means of representing a negative number as one more than the binary comple-
ment of the absolute value of the number.
• TRIANGULAR WAVEFORM
A waveform that has the shape of a triangle and is used in determining sampling
values for servo drive circuits that utilize pulse width modulation.
U
• UHF
Acronym for ultra-high frequency.
V
• VARIABLE
The name of a memory location or stored value. A variable can refer to a scalar or
an array.
• VELOCITY COMMAND
This analog signal is directly proportional to motor speed, and provides the initial
signal that is processed by the servo drive system to drive a servo motor.
• VELOCITY ERROR
When the robot controller detects an axis that has exceeded a preset value for
velocity, the robot controller will E-stop the robot.
• VOLT
A unit of electrical potential difference and electromotive force. One volt is equivalent
to the force required to produce one amp of current through one ohm of resistance.
W
• WORK ENVELOPE
The effective range or reach of a robot’s axes.
GLOSSARY
• WORLD COORDINATES
A Cartesian coordinate system in which the origin point is near the base of the robot,
and robot movement can be expressed in terms of a 3-dimensional space represen-
tation of X, Y, and Z projections.
• WRITE
In computer systems, a process in which information is output to and stored by a
device or area in memory.
• WS (WELD SCHEDULE)
Data that is stored in the weld controller and provides the specific current, clamp
pressures, etc. for spot welding applications.
• WX (WAIT EXTERNAL)
The wait external signal is one of many inputs that are processed by the robot con-
troller. When the robot encounters a wait external condition, the robot will cease
motion and the servo power will be removed.
Z
• ZEROING
This procedure provides the robot controller with encoder data that is referenced
from a known mechanical position (zeroing witness marks, in simple zeroing, or
inclinometer values in precision zeroing) and then establishes an encoder value for
this known position. Two methods can be used, simple and precision zeroing. Some
robot manufacturers call this procedure mastering or calibration.
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
T W
Taps, A-15 WAIT, 4-36
TASK Function, 6-5 WAIT Command, 5-20, 7-12
TCP, 4-44, 5-3, 5-4, 5-6, 5-7, 5-8, 5-10, 5-11 WAIT OVERRIDE Function, 5-20
TDRAW Command, 5-8 Weight, 1-6
TEACH, 4-35 WEIGHT Command, A-22
Teach Lock Switch, 3-7 Welding Clamp Subroutine, 7-16
Teach Pendant, 1-6 WHERE, 4-37
TEACH/REPEAT Switch, 3-8 WHILE...DO...END, 5-25
TEACH/REPEAT switch, 3-7 Windows™, 8-5
THEN Command, 5-23 Windows NT/95, A-14
TILL Condition, 5-9 Work Cell, 2-4
TIME, 4-40 Work Envelope, 2-4
Timed Movement, 5-12
Timer and Counter Status Screens, A-9
X
TIMER Command, 7-16 XD, 4-13
TIMER Function, 6-3 XFER, 4-21
TIMER Status, A-9 XMOVE Command, 5-9
TO Command, 5-28 XP, 4-13
TOOL, 4-44 XQ, 4-14
Tool Dimensions, 4-50, 7-9 XS, 4-14
TOOL Function, 6-12 XY, 4-13
TOOL NULL, 5-5
TOOL NULL Command, 7-9 Z
TRANS Function, 6-10
Transformation Location, 6-10 Zeroing, 4-55
Transformation Locations, 1-8, 1-9, 4-32 ZSIGSPEC, 4-52
Transformation Values, 6-8 ZZERO, 4-55, 4-56
Transformations, 1-6
Trap Points, 2-4
Traverse Axis, A-20
TRHERE Command, A-20
TRUE Function, 6-5
TWAIT, 4-36