Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 340

Kawasak

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.

All Rights Reserved.

Copyright © 1999, Kawasaki Robotics (USA), Inc.


Wixom, Michigan 48393

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.

KAWASAKI ROBOTICS (USA), INC. TRAINING

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.

For additional information contact:

Kawasaki Robotics (USA), Inc.


Training and Documentation Dept.
28059 Center Oaks Court
Wixom, Michigan 48393
C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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

I.0 INTRODUCTION.................................................................................................. 1-2


I.1 Robot Controller Design Specifications ................................................................ 1-3

November 20, 1998 I-1


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

AS Language programs provide outstanding performance in terms of robot trajectory


control. Program location points can be stored and played back as either joint angles
representing the manipulator configuration (precision points) or geometrically defined
locations in the work envelope (transformations). Transformation locations can also be
defined based on their relative position to one another (compound transformations).
These capabilities allow program locations to be shifted and moved based on param-
eters and variables identified in the AS Language program.

I-2 November 20, 1998


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

INTRODUCTION

I.1 ROBOT CONTROLLER DESIGN SPECIFICATIONS

Control System: 32 bit RISC main CPU


32 bit RISC CPU for multi function panel unit
32 bit RISC servo CPU controller (one per 3 axes)
Software controlled AC servo drive system using pulse width
modulation (PWM) circuitry

Number of Axes: 6 standard; 7th optional

Motion Control: Teach mode - Joint


Base
Tool

Repeat mode - Joint move


Linear move
Circular move (optional)
FLIN move (optional)

Memory: CMOS RAM

Memory Capacity: Standard - 1024 KB (approximately 4,000 steps)


Optional - 4096 KB (approximately 34,000 steps)

Accuracy: Adjustable in increments of 0.0001 mm within the ranges


below:

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

November 20, 1998 I-3


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

INTRODUCTION

Speed: Proportional speed - percentage of maximum joint or TCP


speed. Adjustable in increments of 0.0001 up to 100%
(rounding occurs as necessary).

Absolute speed - speed of TCP in mm/s. Adjustable in


increments of 0.0001 mm/s up to maximum robot TCP
speed (rounding occurs as necessary).

Data Editing: Step insertion and deletion, and rewriting of auxiliary and
positional data.

Software Features: Continuous path motion control - CP ON/OFF


Time delays
Coordinate modification
Process control programs (3)
Peripheral equipment control
Interrupt signal control
Error interrupt control
Input of real, string, and integer variables
Local variables
Subroutine calls with arguments (maximum stack = 20)
Program weld schedules
Servo shutdown timer
Auto start function

I/O Signals: 1FR I/O board 32 inputs/32 outputs (256 maximum)


(including dedicated signals)
1FS RI/O board (optional)
Robot I/O 256 I/O (including dedicated signals)
Robot internal 256
Relay circuit 32 I/O
A-B PLC 64 I/O
Weld controller 32 I/O
Non-retentive 128 I/O
Retentive 16 1/0
Timers 16 1/0
Counters 16 1/0
Message display 64 1/0
Slogic status 16 1/0

Control Net (option)

I-4 November 20, 1998


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

INTRODUCTION

Dedicated Signals: Outputs - Motor power ON


Error occurrence
Automatic
CYCLE_START
Teach mode
HOME1
HOME2
Power ON
RGSO
Ext. program select (RPS) enabled

Dedicated Signals: Inputs - Ext. motor power ON,


Ext. error reset
Ext. cycle start
Ext. program
Select start (JUMP)
JUMP_ON
JUMP_OFF
JUMP_ST
Ext. program select start (RPS)
RPS_ON
RPS_ST
Number of RPS code signal
First signal number of RPS code
Program reset
Ext. hold (EXT_IT)
Ext. condition wait (EXT_WAIT)
Ext. slow repeat mode

Error Messages: Error code messages, self-diagnosis, error logging, opera-


tion logging

Special Features: Program check mode


Adjustable restriction of JT1
Terminal box on robot arm (optional)
Robot application interface panel (optional)
Overtravel limit switch - JT1 (JT2, JT3 optional)
Power lockout
Ethernet (optional)

Multi Function Panel: Deadman safety switches


(optional) 8 inch color LCD
Touch panel
Teach-lock function

November 20, 1998 I-5


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

INTRODUCTION

Emergency stop switch


Pen for touch panel
PC card insertion section

Teach Pendant: Deadman safety switches


(optional) Teach-lock function
Emergency stop switch
Membrane switch keypad
Alphanumeric LCD
Supplemental
Data Storage: PC SRAM memory card, 2 or 4 MB, PCMCIA 2.1 slot (op-
tional)
Floppy disk drive (optional)
Personal computer (optional)

Power Requirements: Standard Spec.: 3-phase 200/220 VAC

North Am Spec.: 3-phase 400/440/460/480/515/575 VAC

European Spec.: 3-phase 380/400/415/440/460/480 VAC

Tolerance: +/- 10%

Frequency: 50/60 Hz

Rated Load: 10.5 kVA

Ground: less than 100 ohm ground line separated


from welder power ground

Dimensions: Standard Spec.: W x D x H, 460.8mm x 430mm x


1240mm
(inches) (18.1 x 16.9 x 48.8)

North Am. Spec.: W x D x H, 550mm x 500mm x 1150mm


(inches) (21.7 x 19.7 x 45.3)

European Spec.: W x D x H, 550mm x 500mm x 1150mm


(inches) (21.7 x 19.7 x 45.3)

Weight: Standard Spec.: approx. 80 kg (176 lbs)

North Am. Spec.: 250 kg (550 lbs)

European Spec.: 250 kg (550 lbs)

I-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.0 OVERVIEW ..................................................................................................... 1-2


1.1 Syntax Conventions ......................................................................................... 1-3
1.1.1 Monitor Mode Syntax ....................................................................................... 1-4
1.1.2 Editor Mode Syntax ......................................................................................... 1-5
1.2 Location Variables ........................................................................................... 1-6
1.2.1 Precision Locations ......................................................................................... 1-8
1.2.1.1 Naming Precision Locations ............................................................................ 1-8
1.2.2 Transformation Locations ................................................................................. 1-8
1.2.2.1 Naming Transformation Locations ................................................................... 1-9
1.2.2.2 Compound Transformation Locations .............................................................. 1-9
1.3 Numeric Information ...................................................................................... 1-10
1.3.1 Integers.......................................................................................................... 1-10
1.3.2 Real Numbers ................................................................................................ 1-11
1.3.3 Logical Values ................................................................................................ 1-11
1.3.4 ASCII Values .................................................................................................. 1-11
1.3.5 Numeric Operators ........................................................................................ 1-11
1.3.6 Order of Operations ....................................................................................... 1-13
1.4 Real Variables ................................................................................................ 1-13
1.5 String Variables .............................................................................................. 1-14
1.6 Array Variables ............................................................................................... 1-15

November 20, 1998 1-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.0 OVERVIEW

AS Language is a computer control language that is resident in the non-volatile memory


of the controller. As soon as controller power is applied and the initial boot-up process is
completed, the AS Language program is available to the programmer. The multi function
panel and/or a personal computer can be used to access AS Language.

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.

1-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.1 SYNTAX CONVENTIONS

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

In addition to keywords and commands, AS Language programs contain elements that


are freely identified by the programmer. When programming with AS Language, freely
defined elements can be entered in either uppercase or lowercase without causing a
syntax error. However, if the freely defined element were entered in uppercase, when it
is processed the program will automatically convert it to lowercase. For example, if a
location variable was entered in uppercase letters as “FIRST_WELD”, it would be ac-
cepted and automatically converted and stored as “first_weld”.

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.

Many AS Language commands have an element called an “argument”. An argument is


additional information for the program instruction provided by the programmer. For
example, in the instruction SPEED 50 mm/sec, 50 is the programmer provided argu-
ment. Some commands have optional arguments that may, or may not, be identified
according to the programmer’s preference. At least one space is required between
program instructions and arguments. If the space is not present to act as separator
between the instruction and argument, a syntax error will be displayed when the return
key is pressed. If more than one space is entered between the instruction and argu-
ment, the entry will be accepted and the extra spaces automatically removed from the
line of code. If the instruction format calls for more than one argument, a comma must
be used as a delimiter to separate arguments.

AS Language instructions are processed following the conventions established by the


American Standard Committee for Information Interchange, ASCII. All ASCII characters
have a numeric value assigned for their identification. The ASCII format used by AS
Language is compatible with all standard word processing programs. This compatibility
makes it possible to write AS Language programs with word processing programs and
then down load them to the controller.

November 20, 1998 1-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.1.1 MONITOR MODE SYNTAX

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

Figure 1-1 Monitor Commands Syntax

1-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.1.2 EDITOR MODE SYNTAX

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?

Figure 1-2 Editor Mode Syntax

November 20, 1998 1-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.2 LOCATION VARIABLES

AS language instructions can be used to identify two types of positional information,


precision points and transformations. Each type of location has different characteristics
and can be selected by the programmer to meet specific program needs. Locations are
identified with names and are stored in the system memory as location variables.

The Cartesian coordinate system is used to identify locations in three dimensional


geometric space. The axes are identified as X, Y, and Z with the intersection being the
origin of the coordinate system. In Kawasaki robot applications, the origin of the Carte-
sian coordinate system is located in the base of the robot. This coordinate system is
also referred to as the base coordinate system.

Y
Figure 1-3 Cartesian Coordinate System

1-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 1-4 Left Hand Rule


In addition to the base coordinate system, Kawasaki robots utilize a second (tool) coor-
dinate system to define the location and orientation of the tool center point. The tool
coordinate system’s X, Y, and Z directions change as the robot wrist is moved, while the
base coordinate system’s orientation is fixed and does not change with robot movement.
Figure 1-5 shows the orientation of the tool coordinate system when joints 4, 5, and 6
are in the zero or aligned position.

Figure 1-5 Tool Coordinate System

November 20, 1998 1-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.2.1 PRECISION LOCATIONS

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.

An advantage of programming precision locations is that the robot configuration or


posture will always be the same as when the position was taught. Block step program-
ming uses precision locations.

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.

1.2.1.1 NAMING PRECISION LOCATIONS

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.

1.2.2 TRANSFORMATION LOCATIONS

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.

1-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

Advantages of transformation locations include the ability to manipulate taught positions


based on dimensional movements in the Cartesian coordinate system. Secondary
coordinated systems for framing and work coordinates become available to the program-
mer when transformation locations are defined. When a tool is replaced with one having
different dimensions, transformation locations do not need to be retaught (assuming the
new tool dimensions are correctly registered). Another advantage and powerful feature
of transformation locations is the ability to define locations as combinations of location
values. This type of location is called a compound or relative transformation. Such
values are used to define the location relative to another location. When compound
transformation locations are defined, and the original location is moved, all locations that
were defined relative to the original location will also be moved.

A disadvantage of transformation locations is that the specific robot configuration or


posture at the time of teaching may not be the same as when the robot travels to that
location as part of a program. When using transformations and compound transforma-
tions, programmers must understand the properties of these types of locations to pre-
vent unwanted robot motion or error messages.

1.2.2.1 NAMING TRANSFORMATION LOCATIONS

Transformation location points must be assigned names to identify them as variables.


Names of transformation 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.

1.2.2.2 COMPOUND TRANSFORMATION LOCATIONS

Compound transformations are represented by defining robot locations and orientations


relative to other transformation locations. This is useful in situations when several loca-
tions are defined relative to a reference location. To change the location of all points that
are relative to a reference point, only the transformation location of the reference must
be updated. All locations defined relative to the reference point are automatically re-
vised to reflect the change of the reference point location.

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.

November 20, 1998 1-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

A+D A+C

A+D A+C
"NEW" A A+B

A A+B

Figure 1-6 Compound Transformations

1.3 NUMERIC INFORMATION

In the AS Language system, numerical expressions are used in programs to provide a


variety of information. Numerical expressions consist of a combination of numerals,
variables, operators, and functions which return numeric values. Numeric expressions
can be used for mathematical calculation and as part of program instructions. Four
types of numerical information are available to the AS Language programmer.

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:

572 Decimal Notation


^B101 Binary Notation of 5
^H1000 Hexadecimal Notation of -4096

1-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.3.2 REAL NUMBERS

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.

1.3.3 LOGICAL VALUES

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

1.3.4 ASCII VALUES

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.

1.3.5 NUMERIC OPERATORS

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.

November 20, 1998 1-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

Table 1-1 Numeric Operators

Type of Operator Symbol or Format Description

+ Addition

_ Subtraction

* Multiplication
Arithmetic Operators
/ Division

^ Power (exponential)

MOD Remainder

< Less Than

<=, (=<) Less Than or Equal To

== Equal To
Relational Operators
<> Not Equal To

>=, (=>) Greater Than or Equal To

> Greater Than

AND Logical AND

NOT Logical Complement


Logical Operators
OR Logical OR

XOR Exclusive Logical OR

BAND Binary AND

BOR Binary OR
Binary Operators
BXOR Binary XOR

COM Binary Complement

1-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

OVERVIEW

1.3.6 ORDER OF OPERATIONS

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:

1. Evaluate functions and arrays.


2. Process relational operators of pair character strings.
3. Process power operators “ ^ “.
4. Process unary operators “-”.
5. Process multiplication “*” and division “/” operators from left to right.
6. Calculate residues (MOD operators) from left to right.
7. Process addition “+” and subtraction “-” operators from left to right.
8. Process relational operators from left to right.
9. Process COM operators from left to right.
10. Process BAND operators from left to right.
11. Process BOR operators from left to right.
12. Process BXOR operators from left to right.
13. Process NOT operators from left to right.
14. Process AND operators from left to right.
15. Process OR operators from left to right.
16. Process XOR operators from left to right.

1.4 REAL VARIABLES

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.

November 20, 1998 1-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

1.5 STRING VARIABLES

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:

PRINT “Kawasaki” Kawasaki will be displayed on the status screen.


PRINT “5+7 = ” , 5+7 5+7 = 12 will be displayed on the status screen.

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 :

$name_of_ variable = “string expression”

1-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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:

$First = “Kawasaki” The character string Kawasaki is assigned


to the string variable $First.

$Next = “ Robotics” The character string Robotics is assigned


to the string variable $Next.

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

1.6 ARRAY VARIABLES

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

HERE edge edge[1] = 120.45


DECOMPOSE edge[1] = edge edge[2] = 145.67
FOR i = 1 TO 6 edge[3] = -95.43
Type “edge[“,i,”] = “, edge[i] edge[4] = 90.45
END edge[5] = 45.02
edge[6] = 10.58

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.

November 20, 1998 1-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.0 SAFETY ............................................................................................................ 2-2


2.1 Introduction ....................................................................................................... 2-2
2.2 Safety Conventions and Symbology .................................................................. 2-3
2.2.1 Warning/Caution Symbols ................................................................................. 2-3
2.3 Safety Categories .............................................................................................. 2-4
2.3.1 Personal Safety ................................................................................................. 2-4
2.3.2 Safety During Operation .................................................................................... 2-6
2.3.3 Safety During Programming .............................................................................. 2-7
2.3.4 Safety During Inspection and Maintenance....................................................... 2-8
2.4 Safety Features ................................................................................................. 2-9
2.5 Work Envelope Drawings ................................................................................ 2-10

November 30, 1998 2-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.0 SAFETY

2.1 INTRODUCTION

Safety is an important consideration in the use of automated and robotic equipment in


the industrial environment. All operators, maintenance personnel, and programmers
must be aware of all automated equipment, peripheral and robotic equipment that occu-
pies the work cell, and their associated operational and maintenance procedures. For
this reason it is recommended that all personnel who operate, maintain, and program
Kawasaki robots, attend a Kawasaki approved training course that would be pertinent to
each employee’s specific job responsibilities.

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:

1. OCCUPATIONAL SAFETY AND HEALTH STANDARDS, available from the Depart-


ment of Labor, Washington, D.C.

2. AMERICAN NATIONAL STANDARD FOR INDUSTRIAL ROBOTS AND ROBOT


SYSTEMS-SAFETY REQUIREMENTS (ANSI/RIA R15.06-1992), available from the
American National Standards Institute, Inc. 1430 Broadway, New York, New York 10018

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.

2-2 November 30, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.2 SAFETY CONVENTIONS AND SYMBOLOGY

2.2.1 WARNING/CAUTION SYMBOLS

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.

November 30, 1998 2-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.3 SAFETY CATEGORIES

Personnel safety can be described in one of four categories:

• Personal safety

• Safety during operation

• Safety during programming

• Safety during inspection and maintenance

A description of each follows in this section.

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

• Locate all emergency stop buttons or switches.

• Avoid trap points in which personnel could become trapped between a moving
device and any stationary devices.

2-4 November 30, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

• If any personnel observe unsafe working conditions, report them immediately to


your supervisor or plant safety coordinator.

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

• Utilize E-stops to stop robot motion in emergency situations only.

November 30, 1998 2-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.3.2 SAFETY DURING OPERATION

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

• Never block the operator’s path of retreat.

• During the teach operation of the robot always have a path of retreat planned.

• AVOID pinch points.

2-6 November 30, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.3.3 SAFETY DURING PROGRAMMING

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

• AVOID pinch points.

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

November 30, 1998 2-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.3.4 SAFETY DURING INSPECTION AND MAINTENANCE

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.

• Assign only qualified personnel to perform all maintenance procedures.

• Consult all available documentation before attempting any repair or service proce-
dures.

• Use only replacement parts approved by Kawasaki Robotics (USA), Inc.

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

• During inspection and maintenance procedures, if your installation is equipped with


safety fences and safety plugs, remove and hold the safety plug while performing
these operations. In addition, the safety procedures outlined above should be
adhered to.

2-8 November 30, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

SAFETY

2.4 SAFETY FEATURES

To safeguard the user, the Kawasaki robot system is equipped with many safety fea-
tures. Some of these safety items include:

• All E-stops are hard-wired.

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

• Robot velocities are constantly monitored by software. Should an over-velocity


condition be detected, the robot will fault in a velocity error condition.

• 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 robot axes have software limits.

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

November 30, 1998 2-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
2.5 WORK ENVELOPE DRAWINGS
Figure 2-1 FA06L Work Envelope
2-10 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-2 FA06N Work Envelope
November 30, 1998 2-11
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-3 FS06L Work Envelope
2-12 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-4 FS06N, FS10C Work Envelope
November 30, 1998 2-13
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-5 FS10E Work Envelope
2-14 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-6 FS10L Work Envelope
November 30, 1998 2-15
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-7 FS10N Work Envelope
2-16 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-8 FA20N Work Envelope
November 30, 1998 2-17
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-9 FP20N Work Envelope
2-18 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-10 FS20C Work Envelope
November 30, 1998 2-19
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-11 FS20N Work Envelope
2-20 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-12 FS30L Work Envelope
November 30, 1998 2-21
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-13 FS30N, FS45C Work Envelope
2-22 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-14 FS45N Work Envelope
November 30, 1998 2-23
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-15 UT-Series Work Envelope
2-24 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-16 UX70 Work Envelope
November 30, 1998 2-25
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-17 UX100/120/150 Work Envelope
2-26 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-18 UX200 Work Envelope
November 30, 1998 2-27
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-19 UX300 Work Envelope
2-28 November 30, 1998
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
SAFETY
Figure 2-20 UZ100/200/150 Work Envelope
November 30, 1998 2-29
Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

3.0 POWER ON/OFF PROCEDURES .................................................................... 3-2


3.1 Controller Power On/Off Procedures................................................................. 3-2
3.1.1 Controller Power On Procedures ....................................................................... 3-2
3.1.2 Controller Power Off Procedures ...................................................................... 3-2
3.2 Servo Motor Power-On Procedures .................................................................. 3-7
3.2.1 Servo Motor Power-On in the Repeat Mode ..................................................... 3-7
3.2.2 Servo Motor Power-On in the Teach Mode ....................................................... 3-7
3.3 Methods for Stopping the Robot........................................................................ 3-8
3.3.1 Emergency Stop Switch .................................................................................... 3-8
3.3.2 HOLD/RUN Switch ............................................................................................ 3-8
3.3.3 TEACH/REPEAT Switch .................................................................................... 3-8

November 20, 1998 3-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

3.0 POWER ON/OFF PROCEDURES

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.

3.1 CONTROLLER POWER ON/OFF PROCEDURES

3.1.1 CONTROLLER POWER ON PROCEDURES

1. Ensure that all personal are clear of the work cell and that all safety devices are in
place and operational.

2. Turn the HOLD/RUN switch to the HOLD position.

3. Place the controller main disconnect switch in the ON position. At this time the
CONTROL POWER indicator lamp illuminates.

3.1.2 CONTROLLER POWER OFF PROCEDURES

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.

3. Place the controller main disconnect switch in the OFF position.

3-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

Control Powe
Indicato

Main Disconne
Switch

Figure 3-1 Standard C Controller

November 20, 1998 3-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

ON OFF

TEACH LOCK

EMERGENCY STOP

ERROR MOTOR POWER

Disconnect ERROR RESET CYCLE START

Switch TEACH REPEAT HOLD RUN

HOST

MFP
AC115V 1A

Control
Power
Indicator

Figure 3-2 North American C Controller

3-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

ON OFF

TEACH LOCK

EMERGENCY STOP

ERROR MOTOR POWER

ERROR RESET CYCLE START

TEACH REPEAT HOLD RUN

HOST

Disconnect MFP
AC115V 1A

Switch

Control
Power
Indicator

Figure 3-3 European C Controller

November 20, 1998 3-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

EMERGENCY STOP

ERROR MOTOR POWER

ERROR RESET CYCLE START

TEACH REPEAT HOLD RUN

Figure 3-4 North American and European C Controller Switch Panel

CONTROL ERROR ERROR RESET HOLD RUN TEACH REPEAT CYCLE START MOTOR POWER EMERGENCY STOP
POWER
HOUR METER

Figure 3-5 Standard C Controller Switch Panel

3-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

3.2 SERVO MOTOR POWER-ON PROCEDURES

3.2.1 SERVO MOTOR POWER-ON IN THE REPEAT MODE

1. Place the TEACH LOCK switch on the multi function panel in the OFF position.

2. Place the TEACH/REPEAT switch in the REPEAT position.

3. Press the MOTOR POWER push button. The MOTOR POWER lamp will illuminate.

4. Place the HOLD/RUN switch in the RUN position.

5. The robot is now ready to execute a program.

3.2.2 SERVO MOTOR POWER-ON IN THE TEACH MODE

1. Place the TEACH/REPEAT switch in the TEACH position.

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

Figure 3-6 Multi Function Panel

November 20, 1998 3-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

POWER ON/OFF PROCEDURES

3.3 METHODS FOR STOPPING THE ROBOT

One of three methods can be used to stop robot motion. Each of these methods is
described in the following sections.

3.3.1 EMERGENCY STOP SWITCH

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.

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

3.3.3 TEACH/REPEAT SWITCH

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.

3-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.0 AS LANGUAGE COMMANDS ....................................................................... 4-4


4.1 Terminal Control ............................................................................................. 4-4
4.2 Editing Commands ......................................................................................... 4-5
4.2.1 Edit Command ............................................................................................... 4-5
4.2.2 STEP Command ............................................................................................ 4-6
4.2.3 PRINT Command ........................................................................................... 4-6
4.2.4 LAST Command ............................................................................................ 4-7
4.2.5 INSERT Command ......................................................................................... 4-8
4.2.6 Delete Command ........................................................................................... 4-8
4.2.7 FIND Command ............................................................................................. 4-9
4.2.8 MODIFY Command ..................................................................................... 4-10
4.2.10 REPLACE Command ................................................................................... 4-11
4.2.9 OVER Command ......................................................................................... 4-11
4.2.11 CHANGE Command .................................................................................... 4-12
4.2.12 EXIT Command ........................................................................................... 4-13
4.2.13 XD Command .............................................................................................. 4-13
4.2.14 XY Command ............................................................................................... 4-13
4.2.15 XP Command ............................................................................................... 4-13
4.2.16 XQ Command .............................................................................................. 4-14
4.2.17 XS Command ............................................................................................... 4-14
4.3 Data Control Commands ............................................................................. 4-14
4.3.1 Directory Commands ................................................................................... 4-15
4.3.1.1 DIRECTORY Command ............................................................................... 4-15
4.3.1.2 DIRECTORY/P Command ........................................................................... 4-16
4.3.1.4 DIRECTORY/R Command ........................................................................... 4-16
4.3.1.3 DIRECTORY/L Command ............................................................................ 4-16
4.3.2 LIST Commands .......................................................................................... 4-17
4.3.2.1 LIST Command ............................................................................................ 4-17
4.3.1.5 DIRECTORY/S Command ........................................................................... 4-17
4.3.2.2 LIST/P Command ........................................................................................ 4-18
4.3.2.3 LIST/L Command ......................................................................................... 4-18
4.3.2.4 LIST/R Command ........................................................................................ 4-19
4.3.2.5 LIST/S Command ........................................................................................ 4-19
4.3.3 DELETE Commands .................................................................................... 4-19
4.3.3.2 DELETE/P Command .................................................................................. 4-20
4.3.3.3 DELETE/L Command ................................................................................... 4-20
4.3.3.4 DELETE/R Command .................................................................................. 4-20
4.3.3.5 DELETE/S Command .................................................................................. 4-20
4.3.5 XFER (Transfer) Command ......................................................................... 4-21
4.3.4 RENAME Command .................................................................................... 4-21
4.3.6 COPY Command ......................................................................................... 4-22
4.4 Commands for Program and Data Storage ................................................. 4-22
4.4.1 FORMAT Command..................................................................................... 4-22
4.4.3 SAVE Commands ........................................................................................ 4-23

November 20, 1998 4-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.4.3.1 SAVE Command ........................................................................................ 4-23


4.4.2 FDIRECTORY Command .......................................................................... 4-23
4.4.3.2 SAVE/P Command .................................................................................... 4-24
4.4.3.3 SAVE/L Command..................................................................................... 4-24
4.4.3.4 SAVE/R Command .................................................................................... 4-24
4.4.3.5 SAVE/S Command .................................................................................... 4-25
4.4.3.6 SAVE/SYS Command................................................................................ 4-25
4.4.3.7 SAVE/ELOG Command ............................................................................ 4-25
4.4.4 LOAD Command ....................................................................................... 4-25
4.4.5 FDELETE Command ................................................................................. 4-26
4.5 Program Control Commands ..................................................................... 4-26
4.5.1 SPEED Command ..................................................................................... 4-26
4.5.2 PRIME Command ..................................................................................... 4-27
4.5.3 EXECUTE Command ................................................................................ 4-27
4.5.4 STEP Command ........................................................................................ 4-28
4.5.5 MSTEP Command..................................................................................... 4-28
4.5.6 ABORT Command ..................................................................................... 4-29
4.5.7 HOLD Command ....................................................................................... 4-29
4.5.8 CONTINUE Command .............................................................................. 4-30
4.5.9 STPNEXT Command ................................................................................. 4-30
4.5.10 KILL Command ......................................................................................... 4-30
4.5.11 DO Command ........................................................................................... 4-31
4.6 Commands for Defining Location Variables ............................................... 4-31
4.6.1 HERE Command ....................................................................................... 4-31
4.6.2 POINT Command ...................................................................................... 4-33
4.6.2.1 Variations of the POINT Command ........................................................... 4-34
4.6.3 TEACH Command ..................................................................................... 4-35
4.7 SYSTEM CONTROL Commands .............................................................. 4-35
4.7.1 STATUS Command .................................................................................... 4-36
4.7.2 WHERE Commands .................................................................................. 4-37
4.7.3 IO Command ............................................................................................. 4-39
4.7.4 FREE Command ....................................................................................... 4-40
4.7.5 TIME Command ........................................................................................ 4-40
4.7.6 ULIMIT Command ..................................................................................... 4-41
4.7.7 LLIMIT Command ..................................................................................... 4-42
4.7.8 BASE Command ....................................................................................... 4-43
4.7.9 TOOL Command ....................................................................................... 4-44
4.7.10 SETHOME Command ............................................................................... 4-45
4.7.11 SET2HOME Command ............................................................................. 4-46
4.7.12 ERRLOG Command .................................................................................. 4-46
4.7.13 OPLOG Command .................................................................................... 4-46
4.7.14 SWITCH Command ................................................................................... 4-47
4.7.14.1 CHECK.HOLD Switch ................................................................................ 4-48
4.7.14.2 CP (CONTINUOUS PATH) Switch ............................................................ 4-48

4-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.14.3 CYCLE.STOP Switch ................................................................................. 4-49


4.7.14.4 OX.PREOUT Switch .................................................................................. 4-49
4.7.14.5 PREFETCH.SIGINS Switch ....................................................................... 4-50
4.7.14.6 QTOOL Switch .......................................................................................... 4-50
4.7.14.7 REP_ONCE (Repeat Once) Switch ........................................................... 4-50
4.7.14.8 RPS (Random Program Selection) Switch ................................................ 4-50
4.7.14.9 STP_ONCE (Step Once) Switch ............................................................... 4-51
4.7.14.10 AFTER.WAIT Timer Switch ....................................................................... 4-51
4.7.14.11 MESSAGES Switch ................................................................................... 4-51
4.7.14.12 SCREEN Switch ........................................................................................ 4-51
4.7.14.13 AUTOSTART.PC Switch ............................................................................. 4-51
4.7.14.14 ERRSTART.PC Switch ............................................................................... 4-51
4.7.14.15 DISPIO_01 Switch ..................................................................................... 4-52
4.7.15 ZSIGSPEC Command ............................................................................... 4-52
4.7.16 HSETCLAMP Command ........................................................................... 4-52
4.7.17 DEFSIG Command ................................................................................... 4-53
4.7.18 ZZERO Commands ................................................................................... 4-55
4.7.19 EREST Command ..................................................................................... 4-57
4.7.20 SYSINIT Command ................................................................................... 4-57
4.7.21 HELP Commands ...................................................................................... 4-58
4.7.22 ID Command ............................................................................................. 4-59
4.7.23 BATCHK Command ................................................................................... 4-59
4.7.24 ENCCHK_EMG Command ........................................................................ 4-59
4.7.25 ENCCHK_PON Command ........................................................................ 4-60
4.7.26 SLOW_REPEAT Command ....................................................................... 4-60
4.7.27 REC_ACCEPT Command ......................................................................... 4-61
4.7.28 ENV_DATA Command ............................................................................... 4-61
4.7.29 ENV2_DATA Command ............................................................................. 4-62
4.7.30 CHSUM Command .................................................................................... 4-62
4.8 Binary Signal Control Commands ............................................................. 4-63
4.8.1 RESET Command ..................................................................................... 4-63
4.8.2 SIGNAL Command .................................................................................... 4-63
4.8.3 PULSE Command ..................................................................................... 4-64
4.8.4 DLYSIG Command .................................................................................... 4-64
4.8.5 BITS Command ......................................................................................... 4-64

November 20, 1998 4-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.0 AS LANGUAGE COMMANDS

4.1 TERMINAL CONTROL

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 Q This command is used to resume the updating of displayed information


after it was stopped with a CTRL S command.

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.

4-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

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

4.2.1 EDIT COMMAND

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.

The program that is currently being executed cannot be edited or deleted.

$EDIT test, 5
.PROGRAM test()
5 LMOVE bb
5?
6 JMOVE cc
6?
7 SPEED 50 always
7?

Figure 4-1 EDIT Command

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.

November 20, 1998 4-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.2.2 STEP COMMAND

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?

Figure 4-2 STEP Command

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.

4.2.3 PRINT COMMAND

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.

4-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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?

Figure 4-3 PRINT Command

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.

4.2.4 LAST COMMAND

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?

Figure 4-4 LAST Command


In the example shown in figure 4-4, the LAST command is used at step 7 to display step
6. The STEP command could be used to perform the same operation.

November 20, 1998 4-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.2.5 INSERT COMMAND

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?

Figure 4-5 INSERT Command

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

4.2.6 DELETE COMMAND

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.

4-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

Original Deletion Program After


Program Process Editing

$EDIT test, 5 $EDIT test, 5 $EDIT test, 5


.PROGRAM test() .PROGRAM test() .PROGRAM test()
5 LMOVE bb 5 LMOVE bb 5 LMOVE bb
5? 5? 5?
6 JMOVE cc 6 JMOVE cc 6 JMOVE cc
6? 6? 6?
7 SPEED 50 always 7 SPEED 50 always 7 JMOVE weld3
7? 7? DELETE 3 7?
8 JMOVE weld1 7 JMOVE weld3 8 HOME
8? 7? 8?
9 JMOVE weld2 8 HOME 9 JMOVE pounce
9? 8? 9?
10 JMOVE weld3 9 JMOVE pounce
10? 9?
11 HOME
11?

Figure 4-6 DELETE Command

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.

4.2.7 FIND COMMAND

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.

November 20, 1998 4-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-7 FIND Command

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.

4.2.8 MODIFY COMMAND

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?

Figure 4-8 MODIFY Command

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

4-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.2.9 OVER COMMAND

The OVER(WRITE) command (abbreviated O) is used to edit an existing line in a pro-


gram. The abbreviation for the OVER command is O. When this command is entered,
the arrow keys and backspace key are used to modify the line.

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?

Figure 4-9 OVER Command

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.

4.2.10 REPLACE COMMAND

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.

November 20, 1998 4-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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?

Figure 4-10 REPLACE Command

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.

4.2.11 CHANGE COMMAND

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?

Figure 4-11 CHANGE Command

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

4-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.2.12 EXIT COMMAND

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
$

Figure 4-12 EXIT Command

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.

November 20, 1998 4-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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?

Figure 4-13 XS Command

4.3 DATA CONTROL COMMANDS

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.

4-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

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

4.3.1.1 DIRECTORY COMMAND

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

Figure 4-14 DIRECTORY Command

November 20, 1998 4-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.3.1.2 DIRECTORY/P COMMAND

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

Figure 4-15 DIRECTORY/P Command

4.3.1.3 DIRECTORY/L COMMAND

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

Figure 4-16 DIRECTORY/L Command

4.3.1.4 DIRECTORY/R COMMAND

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

Figure 4-17 DIRECTORY/R Command

4-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.3.1.5 DIRECTORY/S COMMAND

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

Figure 4-18 DIRECTORY/S Command

4.3.2 LIST COMMANDS

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.

4.3.2.1 LIST COMMAND

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.

November 20, 1998 4-17


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.3.2.2 LIST/P COMMAND

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

Figure 4-19 LIST/P Command

4.3.2.3 LIST/L COMMAND

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

Figure 4-20 LIST/L Command

4-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.3.2.4 LIST/R COMMAND

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

Figure 4-21 LIST/R Command

4.3.2.5 LIST/S COMMAND

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

Figure 4-22 LIST/S Command

4.3.3 DELETE COMMANDS

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.

4.3.3.1 DELETE COMMAND

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.

November 20, 1998 4-19


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

4.3.3.2 DELETE/P COMMAND

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.

4.3.3.3 DELETE/L COMMAND

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.

4.3.3.4 DELETE/R COMMAND

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.

4.3.3.5 DELETE/S COMMAND

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.

4-20 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.3.4 RENAME COMMAND

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

Figure 4-23 RENAME Command

4.3.5 XFER (TRANSFER) COMMAND

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.

November 20, 1998 4-21


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

$XFER pg01,2 = pg02,5,4

BEFORE AFTER
pg01 pg02 pg01

1 JMOVE a 1 JMOVE a 1 JMOVE a


2 JMOVE b 2 JMOVE b 2 JMOVE aaa
3 JMOVE c 3 JMOVE c 3 JMOVE bbb
4 JMOVE d 4 JMOVE d 4 JMOVE ccc
5 JMOVE aaa 5 JMOVE ddd
6 JMOVE bbb 6 JMOVE b
7 JMOVE ccc 7 JMOVE c
8 JMOVE ddd 8 JMOVE d

Figure 4-24 XFER Command

4.3.6 COPY COMMAND

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.

4.4 COMMANDS FOR PROGRAM AND DATA STORAGE

4.4.1 FORMAT COMMAND

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.

4-22 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.4.2 FDIRECTORY COMMAND

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

869453 bytes free


$

Figure 4-25 FDIRECTORY Command

4.4.3 SAVE COMMANDS

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.

4.4.3.1 SAVE COMMAND

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.

The SAVE command is used to store programs, subroutines of specified programs,


variables, and system information (robot data, base transformations, tool values, switch
settings, etc.) in a specified file onto a floppy disk or PC card. When a program name is
not specified, all programs, variables, and system information will be saved. When a
program name is included with the SAVE command, all system information is stored
along with the specified program(s) and any subroutines. Only the variables used by the
specified program(s) and subroutines will be saved. File extensions are added to file
names automatically by the processor, based on the type of information they contain.
Files created with the SAVE command will have an extension of .AS.

November 20, 1998 4-23


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

4.4.3.2 SAVE/P COMMAND

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.

4.4.3.3 SAVE/L COMMAND

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.

4.4.3.4 SAVE/R COMMAND

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.

4-24 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.4.3.5 SAVE/S COMMAND

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.

4.4.3.6 SAVE/SYS COMMAND

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.

4.4.3.7 SAVE/ELOG 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.

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

November 20, 1998 4-25


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.4.5 FDELETE COMMAND

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

4.5 PROGRAM CONTROL COMMANDS

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.

4.5.1 SPEED COMMAND

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.

$LIST/P pg01 $ LIST/P pg02


.PROGRAM PG01() .PROGRAM pg02()
1 SPEED 1000 mm/s ALWAYS 1 JOINT SP9 ACCU1 TIM0 TOOL1 OX WX
2 LMOVE aa 2 LINEAR SP6 ACCU1 TIM0 TOOL1 OX WX
3 LMOVE bb 3 JOINT SP9 ACCU1 TIM0 TOOL1 OX WX
4 LMOVE cc 1 LINEAR SP6 ACCU1 TIM0 TOOL1 OX WX
.END .END
$SPEED 50 $SPEED 60
$ $

Figure 4-26 SPEED Command

4-26 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.5.2 PRIME COMMAND

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.

4.5.3 EXECUTE COMMAND

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.

November 20, 1998 4-27


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.5.4 STEP COMMAND

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.

4.5.5 MSTEP COMMAND

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.

4-28 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

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

4.5.6 ABORT COMMAND

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.

4.5.7 HOLD COMMAND

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.

November 20, 1998 4-29


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.5.8 CONTINUE COMMAND

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

Figure 4-28 CONTINUE Command

4.5.9 STPNEXT COMMAND

The STPNEXT command is used when the REPEAT CONDITION, STEP_CONT/


STEP_ONCE is set to STEP_ONCE. Each time the STPNEXT command is entered,
the controller will process the next step of the program.

4.5.10 KILL COMMAND

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.

4-30 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

4.6 COMMANDS FOR DEFINING LOCATION VARIABLES

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.

4.6.1 HERE COMMAND

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.

November 20, 1998 4-31


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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
$

Figure 4-29 HERE Command

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.

4-32 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.6.2 POINT COMMAND

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

Figure 4-30 POINT Command

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.

November 20, 1998 4-33


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

4.6.2.1 VARIATIONS OF THE POINT COMMAND

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)

Figure 4-31 Variations of the POINT Command

4-34 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

4.6.3 TEACH COMMAND

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.

4.7 SYSTEM CONTROL COMMANDS

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.

November 20, 1998 4-35


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.1 STATUS COMMAND

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)

Figure 4-32 STATUS Command

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

Motor power off: motor power is off.

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:

Monitor Speed (%)=10.0


ALWAYS Program Speed (%)= 100.0
ALWAYS Accuracy [mm]=1.0

4-36 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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:

Completed cycles: execution cycle already completed. (0~32,767)

Remainder cycles: remaining execution cycles. If you specified -1 as execution


cycles in the EXECUTE command, “Infinite” is displayed.

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

4.7.2 WHERE COMMANDS

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.

The various WHERE commands display the following type of information:

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.

November 20, 1998 4-37


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

......
......

......
......

......

Figure 4-33 WHERE Commands

4-38 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-34 IO Command

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.

November 20, 1998 4-39


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.4 FREE COMMAND

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

Figure 4-35 FREE Command

4.7.5 TIME COMMAND

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

Figure 4-36 TIME Command

4-40 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.6 ULIMIT COMMAND

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

Figure 4-37 ULIMIT Command

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.

November 20, 1998 4-41


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.7 LLIMIT COMMAND

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

Figure 4-38 LLIMIT Command

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.

4-42 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.8 BASE COMMAND

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

Figure 4-39 BASE Command

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

November 20, 1998 4-43


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

Figure 4-40 BASE Location Movement

4.7.9 TOOL COMMAND

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

Figure 4-41 TOOL Command

4-44 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.10 SETHOME COMMAND

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

Figure 4-42 SETHOME Command

November 20, 1998 4-45


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.11 SET2HOME COMMAND

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.

4.7.12 ERRLOG COMMAND

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.

Time Error Code


Date Error Message

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

Figure 4-43 ERROR Command

4.7.13 OPLOG COMMAND

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.

4-46 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-44 OPLOG Command

4.7.14 SWITCH COMMAND

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

Figure 4-45 SWITCH Command

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.

November 20, 1998 4-47


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

Table 4-1 System Switch Default Settings

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

4.7.14.1 CHECK.HOLD SWITCH

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.

4.7.14.2 CP (CONTINUOUS PATH) SWITCH

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.

4-48 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

Robot path with CP ON


Robot path with CP OFF
TAUGHT POSITION

ACCURACY RANGE

Figure 4-46 CP Switch

4.7.14.3 CYCLE.STOP SWITCH

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.

4.7.14.4 OX.PREOUT SWITCH

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.

November 20, 1998 4-49


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

With the OX preout switch


off, output 2 turns on here
2
With the OX preout switch
on, output 2 turns on here
Program step containing
2 output (OX) signal 2

Robot path

Accuracy range

Figure 4-47 OX.PREOUT Switch

4.7.14.5 PREFETCH.SIGINS SWITCH

The PREFETCH.SIGINS switch is used in conjunction with AS Language instructions


and has the same effect on signal timing that the OX.PREOUT switch has with blockstep
instructions. The default setting for the PREFETCH.SIGINS switch is on.

4.7.14.6 QTOOL SWITCH

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.

4.7.14.7 REP_ONCE (REPEAT ONCE) SWITCH

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.

4.7.14.8 RPS (RANDOM PROGRAM SELECTION) SWITCH

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.

4-50 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.14.9 STP_ONCE (STEP ONCE) SWITCH

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.

4.7.14.10 AFTER.WAIT TIMER SWITCH

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.

4.7.14.11 MESSAGES SWITCH

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.

4.7.14.12 SCREEN SWITCH

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.

4.7.14.13 AUTOSTART.PC SWITCH

The AUTOSTART.PC, AUTOSTART2.PC, and AUTOSTART3.PC switches will automati-


cally start the associated PC program when control power is applied. The default setting
for these switches is off.

4.7.14.14 ERRSTART.PC SWITCH

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.

November 20, 1998 4-51


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.14.15 DISPIO_01 SWITCH

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.

4.7.15 ZSIGSPEC COMMAND

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.

4.7.16 HSETCLAMP COMMAND

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)

Figure 4-48 HSETCLAMP Command

4-52 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.17 DEFSIG COMMAND

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.

Table 4-2 Dedicated Signal Conditions

OUTPUTS INPUTS

MOTOR ON EXT.MOTOR ON

ERROR EXT.ERROR RESET

AUTOMATIC EXT.CYCLE START

RUN IN PANEL SWITCH


EXT_IT not set to hold EXT.PROGRAM RESET
Repeat in panel switch (EXRST)
Repeat continous
EXT.program selct (Jump)
Step continous
Jump_ON
TEACH LOCK OFF
Jump_OFF
CYCLE START ON
Jump_ST
RGSO on
Dryrun mode off
EXT_IT (External Hold)

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

POWER ON EXT. SLOW REPEAT MODE

RGSO

Ext.Prog select (RPS) enabled

November 20, 1998 4-53


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

NOTE

The signals for Jump_ON, Jump_OFF, and Jump_ST


are all defined as a group when EXT. program select
(Jump) is set. The signals for RPS_ON and RPS_ST
are all defined as a group when EXT. program select
(RPS) is set. However, Jump_ST and RPS_ST are both
output signals but are defined with their associated sig-
nals from the DEFSIG input screen.

$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 DEFSIG Command

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.

4-54 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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
$

Figure 4-50 DEFSIG Output Command

4.7.18 ZZERO COMMANDS

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

November 20, 1998 4-55


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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)

Figure 4-51 ZZERO Command

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

Figure 4-52 ZZERO 10_ Command

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.

4-56 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

Figure 4-53 ZZERO _ Command

4.7.19 EREST COMMAND

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.

4.7.20 SYSINIT COMMAND

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.

November 20, 1998 4-57


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

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

Figure 4-54 HELP Commands

4-58 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-55 ID Command

4.7.23 BATCHK COMMAND

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.

4.7.24 ENCCHK_EMG COMMAND

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.

November 20, 1998 4-59


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-56 ENCCHK_EMG Command

4.7.25 ENCCHK_PON COMMAND

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

Figure 4-57 ENCCHK_PON Command

4.7.26 SLOW_REPEAT COMMAND

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?

Figure 4-58 SLOW_REPEAT Command

4-60 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.7.27 REC_ACCEPT COMMAND

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

Figure 4-59 REC_ACCEPT Command

4.7.28 ENV_DATA COMMAND

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.

November 20, 1998 4-61


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-60 ENV_DATA Command


4.7.29 ENV2_DATA COMMAND

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

Figure 4-61 ENV2_DATA Command

4.7.30 CHSUM COMMAND

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.

4-62 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure 4-62 CHSUM Command

4.8 BINARY SIGNAL CONTROL COMMANDS

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.

4.8.1 RESET COMMAND

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.

4.8.2 SIGNAL COMMAND

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.

November 20, 1998 4-63


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE COMMANDS

4.8.3 PULSE COMMAND

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.

4.8.4 DLYSIG COMMAND

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.

4.8.5 BITS COMMAND

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

4-64 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.0 AS LANGUAGE PROGRAM INSTRUCTIONS ............................................... 5-3


5.1 Motion Control Commands .............................................................................. 5-3
5.1.1 JMOVE Command ........................................................................................... 5-3
5.1.2 LMOVE Command ........................................................................................... 5-4
5.1.3 JAPPRO Command ......................................................................................... 5-4
5.1.4 LAPPRO Command ......................................................................................... 5-6
5.1.5 JDEPART Command........................................................................................ 5-6
5.1.6 LDEPART Command ....................................................................................... 5-7
5.1.7 HOME and HOME2 Commands ...................................................................... 5-7
5.1.8 DRIVE Command ............................................................................................ 5-7
5.1.9 DRAW Command ............................................................................................ 5-8
5.1.10 TDRAW Command .......................................................................................... 5-8
5.1.11 ALIGN Command ............................................................................................ 5-9
5.1.12 XMOVE Command .......................................................................................... 5-9
5.1.13 HMOVE Command ........................................................................................ 5-10
5.1.14 DELAY Command .......................................................................................... 5-10
5.1.15 STABLE Command ........................................................................................ 5-11
5.2 SPEED and ACCURACY Commands ............................................................ 5-12
5.2.1 SPEED Command ......................................................................................... 5-12
5.2.2 ACCURACY Command .................................................................................. 5-13
5.2.3 ACCEL Command ......................................................................................... 5-13
5.2.4 DECEL Command ......................................................................................... 5-13
5.2.5 BREAK Command ......................................................................................... 5-14
5.2.6 BRAKE Command ......................................................................................... 5-14
5.3 Clamp Control Commands ............................................................................ 5-14
5.3.1 OPEN Command ........................................................................................... 5-14
5.3.2 OPENI Command .......................................................................................... 5-15
5.3.3 CLOSE Command ......................................................................................... 5-15
5.3.4 CLOSEI Command ........................................................................................ 5-16
5.3.5 RELAX Command ......................................................................................... 5-16
5.3.6 RELAXI Command ........................................................................................ 5-16
5.4 Configuration Instructions .............................................................................. 5-16
5.4.1 RIGHTY and LEFTY Commands ................................................................... 5-16
5.4.2 ABOVE and BELOW Commands .................................................................. 5-17
5.4.3 UWRIST and DWRIST Commands ............................................................... 5-17
5.5 Program Control Commands ......................................................................... 5-17
5.5.1 GOTO Command ........................................................................................... 5-17
5.5.2 IF Command .................................................................................................. 5-18
5.5.3 CALL Command ............................................................................................ 5-19
5.5.4 RETURN Command ...................................................................................... 5-20
5.5.5 WAIT Command ............................................................................................ 5-20
5.5.6 SWAIT Command .......................................................................................... 5-20
5.5.7 TWAIT Command .......................................................................................... 5-21
5.5.8 PAUSE Command .......................................................................................... 5-21

November 20, 1998 5-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.5.9 HALT Command ............................................................................................ 5-21


5.5.10 STOP Command ........................................................................................... 5-21
5.5.11 SCALL Command .......................................................................................... 5-21
5.5.12 LOCK Command ........................................................................................... 5-22
5.5.13 ONE Command ............................................................................................. 5-22
5.5.14 RETURNE Command (Return Error) ........................................................... 5-22
5.6 Control Flow Structure Instructions ............................................................... 5-22
5.6.1 IF...THEN...ELSE...END Command ............................................................... 5-23
5.6.3 DO...UNTIL Command .................................................................................. 5-26
5.6.5 CASE...OF...VALUE...ANY...END Command ................................................. 5-29
5.7 Binary Signal Control Commands .................................................................. 5-30
5.7.1 RESET Command ......................................................................................... 5-30
5.7.2 SIGNAL Command ........................................................................................ 5-31
5.7.3 PULSE Command ......................................................................................... 5-31
5.7.4 DLYSIG Command ........................................................................................ 5-31
5.7.5 RUNMASK Command .................................................................................... 5-32
5.7.6 BITS Command ............................................................................................. 5-32
5.7.7 EXTCALL Command ..................................................................................... 5-32
5.7.8 ON Command ................................................................................................ 5-33
5.7.9 ONI Command............................................................................................... 5-34
5.7.10 IGNORE Command ....................................................................................... 5-35
5.8 INPUT and OUTPUT Instructions .................................................................. 5-35
5.8.1 TYPE and PRINT Commands ....................................................................... 5-35
5.8.2 PROMPT Command ...................................................................................... 5-37

5-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.0 AS LANGUAGE PROGRAM INSTRUCTIONS

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.

5.1 MOTION CONTROL COMMANDS

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.

5.1.1 JMOVE COMMAND

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

November 20, 1998 5-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.2 LMOVE COMMAND

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

5.1.3 JAPPRO COMMAND

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.

5-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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.

Location “spot” was defined


Tool TCP dimensions are
with robot in this configuration
defined with Z tool axis

Tool center point

Program Instruction: JAPPRO spot,200

200mm
Location named “spot”

Tool TCP dimensions are


Tool center point defined as tool null, Z tool axis

Program Instruction: JAPPRO spot,200

200mm
Location named “spot”

Figure 5-2 JAPPRO Command

November 20, 1998 5-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.4 LAPPRO COMMAND

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.

5.1.5 JDEPART COMMAND

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.

Location “place” was defined Tool TCP dimensions


with robot in this configuration are defined with
Z tool axis

Tool center point

Program Instruction: JDEPART 200

200mm
Location named “place”

Figure 5-3 JDEPART Command

5-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.6 LDEPART COMMAND

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.

5.1.7 HOME AND HOME2 COMMANDS

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.

5.1.8 DRIVE COMMAND

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

November 20, 1998 5-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.9 DRAW COMMAND

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

5.1.10 TDRAW COMMAND

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

5-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.11 ALIGN COMMAND

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.

5.1.12 XMOVE COMMAND

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.

Program Instructions: XMOVE bottom TILL 1001


LMOVE stack

Robot moving toward


location “bottom”

Location named stack

Direction changes when


Input signal WX 1001 input 1001 turns ON
turns ON

Location named “bottom”

Figure 5-4 XMOVE Command

November 20, 1998 5-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.1.13 HMOVE COMMAND

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

5.1.14 DELAY COMMAND

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

5-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

$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

Figure 5-5 DELAY Command

5.1.15 STABLE COMMAND

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

Figure 5-6 STABLE Command

November 20, 1998 5-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.2 SPEED AND ACCURACY COMMANDS

5.2.1 SPEED COMMAND

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 50 Sets next motion speed to 50%.

SPEED 75 ALWAYS Sets the motion speed to 75% until it is changed


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

SPEED 8 s Sets the time it will take to complete the next


motion step.

5-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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

5.2.3 ACCEL COMMAND

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.

5.2.4 DECEL COMMAND

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.

November 20, 1998 5-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.2.5 BREAK COMMAND

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

Figure 5-7 BREAK Command

5.2.6 BRAKE COMMAND

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.

5.3 CLAMP CONTROL COMMANDS

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.

5.3.1 OPEN COMMAND

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.

5-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.3.2 OPENI COMMAND

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.

Figure 5-8 OPEN and OPENI Commands

5.3.3 CLOSE COMMAND

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.

November 20, 1998 5-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.3.4 CLOSEI COMMAND

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.

5.3.5 RELAX COMMAND

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.

5.3.6 RELAXI COMMAND

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.

5.4 CONFIGURATION INSTRUCTIONS

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.

5.4.1 RIGHTY AND LEFTY COMMANDS

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.

5-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.4.2 ABOVE AND BELOW COMMANDS

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.

5.4.3 UWRIST AND DWRIST COMMANDS

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.

5.5 PROGRAM CONTROL COMMANDS

5.5.1 GOTO COMMAND

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.

November 20, 1998 5-17


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

$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

Figure 5-9 GOTO Command

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.

IF n>20 GOTO 100


IF SIG(1001,-1002) GOTO 250

5-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.5.3 CALL COMMAND

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

Figure 5-10 CALL Command

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

November 20, 1998 5-19


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.5.4 RETURN COMMAND

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.

If no RETURN instruction exists in the called subroutine, program execution returns to


the caller program in the same way that it would had the RETURN instruction been at
the end of the subroutine.

5.5.5 WAIT COMMAND

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.

5.5.6 SWAIT COMMAND

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.

5-20 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.5.7 TWAIT COMMAND

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

5.5.8 PAUSE COMMAND

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.

5.5.9 HALT COMMAND

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.

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

5.5.11 SCALL COMMAND

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.

November 20, 1998 5-21


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.5.12 LOCK COMMAND

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.

5.5.13 ONE COMMAND

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.

5.5.14 RETURNE COMMAND (RETURN ERROR)

The RETURNE command is a PC program command and is used to return program


execution to the step following the step where an error was generated. The RETURNE
command is used in conjunction with the ONE command to execute the next step of a
program after an error has occurred.

5.6 CONTROL FLOW STRUCTURE 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.

5-22 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.6.1 IF...THEN...ELSE...END COMMAND

The format for this structure is:

IF logical expression THEN


........
program instructions to be executed when the logical
expression is true
........
ELSE (optional)
........
program instructions to be executed when the logical
expression is false
........
END

The IF...THEN...ELSE...END control flow structure is an extension to the Logical IF


instruction. This structure permits more than one program instruction to be executed if
the logical expression being evaluated is true. The logical IF statement permits only a
single statement to be given after the logical expression. The IF...THEN...ELSE...END
control flow structure also permits an optional ELSE instruction to be included. If the
logical expression is not true and the structure includes an ELSE instruction, the pro-
gram instructions that follow the ELSE are processed. It includes statements to be
executed whenever the logical condition is false.

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.

November 20, 1998 5-23


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

$LIST/P test $LIST/P test


.PROGRAM test() .PROGRAM test()
10 x=x+1 21 IF SIG (1011) THEN
11 IF x<20 THEN 22 LMOVE tipclean
12 JMOVE pounce 23 TWAIT 12
13 LMOVE picup 24 END
14 JMOVE dropspt 25 GOTO line
15 ELSE
16 HOME
17 SWAIT 1003
18 END
19 GOTO 250

Figure 5-11 IF...THEN...ELSE...END Command

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.

5.6.2 WHILE...DO...END COMMAND

The format for this control flow structure is:

WHILE logical expression DO


........
program instructions to be executed when the logical
expression is true
........
END

5-24 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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

Figure 5-12 WHILE...DO...END Command

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.

November 20, 1998 5-25


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

$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

Figure 5-13 WHILE...DO...END Command


In the example shown in figure 5-13, the real (loop) variable “welds” is initialized with a
value of zero in step 31. The first time step 32 is processed the value of “welds” is 0.
Since 0 is less then 50, the robot executes the three motion steps 33, 34, and 35. Step
36 increments the value of “welds” by 1, the program does not process out of the struc-
ture at this time but re-evaluates the value of “welds” in step 32. This looping process
repeats itself 51 times until the value of “welds” is not less than 50,

The END instruction is a non-executable command. If program execution is transferred


to a statement inside a control flow structure, the program instructions are executed in
sequential order, and the END command is ignored. Program execution may be trans-
ferred to a statement outside the control flow structure at any time. The WHILE...DO
statement cannot be the range statement in a DO loop, nor the given statement in a
logical IF.

5.6.3 DO...UNTIL COMMAND

The format for the DO....UNTIL control flow structure is:

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.

5-26 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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)

Figure 5-14 DO...UNTIL Command

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.

5.6.4 FOR...TO...STEP...END COMMAND

The format for this control flow structure is:

FOR loop variable = start value TO end value


STEP step value
........
program instructions to be processed
........
END

November 20, 1998 5-27


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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

Figure 5-15 FOR...TO...STEP...END Command

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.

5-28 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.6.5 CASE...OF...VALUE...ANY...END COMMAND

The format for this control flow structure is:

CASE index variable OF


VALUE (1st)
........
program instructions to be processed
........
VALUE (2nd)
........
program instructions to be processed
........
ANY
........
program instructions to be processed
........
END

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.

November 20, 1998 5-29


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

$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

Figure 5-16 CASE...OF...VALUE... ANY... END Command

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.

5.7 BINARY SIGNAL CONTROL COMMANDS

5.7.1 RESET COMMAND

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.

5-30 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.7.2 SIGNAL COMMAND

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.

5.7.3 PULSE COMMAND

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.

5.7.4 DLYSIG COMMAND

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.

November 20, 1998 5-31


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.7.5 RUNMASK COMMAND

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.

5.7.6 BITS COMMAND

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

5.7.7 EXTCALL COMMAND

The EXTCALL command (external call) is used to select an external program number
(subroutine) by utilizing the RPS function and designated external input signals.

To utilize the EXTCALL command, the following programming sequence is required.

1. RPS-ST signal must be turned ON.

2. The program then scans for the RPS-ON signal to be turned ON.

5-32 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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.

• A corresponding interruption occurs.

• An ON (or ONI) instruction is executed for the same signal.

November 20, 1998 5-33


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.7.9 ONI COMMAND

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.

• A corresponding interruption occurs.

• An ON (or ONI) instruction is executed for the same signal.

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.

ONI -1001 CALL alarm,10

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.

5-34 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.7.10 IGNORE COMMAND

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.

5.8 INPUT AND OUTPUT INSTRUCTIONS

5.8.1 TYPE AND PRINT COMMANDS

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.

November 20, 1998 5-35


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

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.

/Un The cursor is moved up by “n” lines.

/Vn If n=1, the upper area of the screen is enlarged. If n=0, the lower area of the
screen is enlarged.

5-36 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE PROGRAM INSTRUCTIONS

5.8.2 PROMPT COMMAND

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

Figure 5-17 PROMPT Command

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.

November 20, 1998 5-37


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.0 AS LANGUAGE FUNCTIONS ......................................................................... 6-2


6.1 Real Value Functions ....................................................................................... 6-2
6.1.1 SIG Function.................................................................................................... 6-2
6.1.2 BITS Function .................................................................................................. 6-2
6.1.3 TIMER Function ............................................................................................... 6-3
6.1.4 DISTANCE Function ........................................................................................ 6-4
6.1.5 DX, DY, and DZ, Functions .............................................................................. 6-4
6.1.6 ASC Function .................................................................................................. 6-4
6.1.8 TRUE Function ................................................................................................ 6-5
6.1.10 INT Function .................................................................................................... 6-5
6.1.11 TASK Function ................................................................................................. 6-5
6.1.12 ERROR Function ............................................................................................. 6-6
6.1.13 SWITCH Function ............................................................................................ 6-6
6.1.14 MAXVAL Function ........................................................................................... 6-6
6.1.15 MINVAL Function ............................................................................................. 6-6
6.2 Location Functions .......................................................................................... 6-7
6.2.1 DEST Function ................................................................................................ 6-7
6.2.2 #DEST Function .............................................................................................. 6-7
6.2.3 FRAME Function ............................................................................................. 6-8
6.2.4 NULL Function ................................................................................................. 6-9
6.2.5 HERE Function .............................................................................................. 6-10
6.2.6 #HERE Function ............................................................................................ 6-10
6.2.7 TRANS Function ............................................................................................ 6-10
6.2.8 #PPOINT Function ........................................................................................ 6-10
6.2.9 RX, RY, RZ Function ...................................................................................... 6-11
6.2.11 AVE_TRANS Function ................................................................................... 6-12
6.2.12 BASE Function .............................................................................................. 6-12
6.2.13 TOOL Function .............................................................................................. 6-12
6.3 Mathematical Functions ................................................................................. 6-12

November 20, 1998 6-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

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

6.1 REAL VALUE FUNCTIONS

6.1.1 SIG FUNCTION

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.

$LIST/P sigstate LIST/R


.PROGRAM sigstate() x=-1 y=0 z=-1
11 x= SIG (1001)
12 y= SIG (1004)
13 z= SIG (1020, -1004)

Figure 6-1 SIG Function


In the example shown in figure 6-1, the SIG function is used to assign logical true/false
values to the real variables x, y, and z. For this example, when the LIST/R command
was entered, signal 1001 is on, signal 1004 is off, and signal 1020 is on. The value
stored for real variables x and z is -1 (true), the value stored for real variable y is 0
(false).

6.1.2 BITS FUNCTION

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

6-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

$LIST/P bitstate LIST/R


.PROGRAM bitstate() x=1 (1008 ON, 1009, 1010, and 1011 OFF)
11 x= BITS (1008,4) LIST/R
x=5 (1008 and 1010 ON, 1009 and 1011 OFF)
LIST/R
x=10 (1009 and 1011 ON, 1008 and 1010 OFF)

Figure 6-2 BITS Function

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.

6.1.3 TIMER FUNCTION

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.

$EX timstate,-1 Print Output:


.PROGRAM timstate()
... The time to complete steps 42 to 46 was 14.58 seconds.
41 TIMER 1 = 0
42 JMOVE aa
43 LMOVE bb
44 JAPPRO pp,200
45 LMOVE pp
46 LDEPART,150
47 PIRNT “The time to complete steps 42 to 46 was ”,/F5.2,TIMER (1), “ seconds.”

Figure 6-3 TIMER Function

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

November 20, 1998 6-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.1.4 DISTANCE FUNCTION

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,

x=DISTANCE (Start, HOME)

assigns the value of the straight line distance in mm between the location start and the
location HOME to the real variable “x”.

6.1.5 DX, DY, AND DZ, FUNCTIONS

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

6.1.6 ASC FUNCTION

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.

6.1.7 LEN FUNCTION

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

assigns a value of 6 to real variable “r”.

6-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.1.8 TRUE FUNCTION

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

assigns a value of -1.0 to the real variable “r”.

6.1.9 FALSE FUNCTION

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

assigns a value of -1.0 to the real variable “w”.

6.1.10 INT FUNCTION

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:

x = INT(0.123) 0 is returned for x


y = INT(10.8) 10 is returned for x
w = INT(-5.76) -5 is returned for x
t = INT(3.125E+2) 131 is returned
INT(cost+0.5) The value of cost, rounded to the
nearest integer, is returned.

6.1.11 TASK FUNCTION

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

November 20, 1998 6-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.1.12 ERROR FUNCTION

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.

6.1.13 SWITCH FUNCTION

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:

d = SWITCH(CP) If the CP switch is ON, a value of -1.0


is returned as the value of “d”. If the
CP switch is OFF, a value of 0.0 is
returned as the value of “d”.

6.1.14 MAXVAL FUNCTION

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)

assigns a value of 20 to the real variable “m”.

6.1.15 MINVAL FUNCTION

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)

assigns a value of 10 to the real variable “m”.

6-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.2 LOCATION FUNCTIONS

6.2.1 DEST FUNCTION

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.

6.2.2 #DEST FUNCTION

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:

POINT save = HERE ; Store current location in the variable


“save”
POINT old = DEST ; Stores the destination location in
the variable “old”
JDEPART 50 ; Backs the tool away by 50 mm

JMOVE old ; Starts motion to the planned destin-


ation

November 20, 1998 6-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.2.3 FRAME FUNCTION

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)

Figure 6-4 FRAME Function

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.

6-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

POINT pal = FRAME (org,x,y,org)


POINT put = start
FOR lay = 0 TO lay.max
FOR col = 0 TO col.max
FOR row = 0 TO row.max
POINT put = SHIFT(start BY100*row, 75*col, 200*lay)
POINT put_pt = pal+put
JAPPRO #a, 100
LMOVE #a
LDEPART 100
JAPPRO put_pt, 100
LMOVE put_pt
LDEPART 100
END
END
END

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.

6.2.4 NULL FUNCTION

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

Point new = SHIFT (NULL BY x.shift, y.shift, z.shift) + old

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

dist = DISTANCE (NULL, test.loc)

November 20, 1998 6-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.2.5 HERE FUNCTION

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

dist = DISTANCE (HERE, 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.

6.2.6 #HERE FUNCTION

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.

6.2.7 TRANS FUNCTION

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,

POINT wing = TRANS (s[0],s[1]+200, s[2]+300, s[3], s[4],s[5])

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.

6.2.8 #PPOINT FUNCTION

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.

6-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.2.9 RX, RY, RZ FUNCTION

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

POINT crnr = RX(45)

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.

6.2.10 SHIFT FUNCTION

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.

POINT put = start


FOR col = 0 TO 5
FOR row = 0 TO 10
POINT put = SHIFT(start BY100*row, 75*col, 0)
JAPPRO #a, 100
LMOVE #a
LDEPART 100
JAPPRO put, 100
LMOVE put
LDEPART 100
END
END

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.

November 20, 1998 6-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

AS LANGUAGE FUNCTIONS

6.2.11 AVE_TRANS FUNCTION

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.

6.2.12 BASE FUNCTION

The BASE function returns the location components of the defined BASE.

6.2.13 TOOL FUNCTION

The TOOL function returns the location components of the defined TOOL.

6.3 MATHEMATICAL FUNCTIONS

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.

Table 6-1 Mathematical Functions

Keyword Function Format

ABS Returns absolute value of specified numerical ABS (value)


expression.

SQRT Returns square root of numerical expression. SQRT(value)

PI Returns constant 3.1415... PI

SIN Returns sine value of specified angle. SIN(angle)

COS Returns cosine value of specified angle. COS(angle)

Returns the arctangent value of an angle which


ATAN2 ATAN2(v1,v2)
tangent equals v1/v2.

RANDOM Returns random number between 0.0 and 1.0 RANDOM

6-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.0 CREATING AND EXECUTING PROGRAMS ................................................ 7-2


7.1 Types of AS Language Programs .................................................................. 7-2
7.1.1 Robot Control Programs ................................................................................ 7-2
7.1.2 PC Program (Process Control) ...................................................................... 7-2
7.1.3 SLOGIC Programs ......................................................................................... 7-2
7.2 Program Step Format .................................................................................... 7-3
7.3 Program Execution......................................................................................... 7-3
7.3.1 Executing Robot Control Programs................................................................ 7-4
7.3.1.1 Stopping Robot Control Programs ................................................................. 7-4
7.4 Executing PC Programs ................................................................................. 7-5
7.5 Flowcharting .................................................................................................. 7-5
7.6 Compound Transformations and Tool Dimensions ......................................... 7-9
7.7 Sample Programs ........................................................................................ 7-11

November 20, 1998 7-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.0 CREATING AND EXECUTING PROGRAMS

An AS Language program is a collection of instructions which directs the system to


move the robot, interface with other automation devices, evaluate variables, perform
mathematical calculations, execute logic instructions, and set external signals. AS
Language provides programmers the options and flexibility to program for unique appli-
cations and requirements.

7.1 TYPES OF AS LANGUAGE PROGRAMS

7.1.1 ROBOT CONTROL PROGRAMS

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.

7.1.2 PC PROGRAM (PROCESS CONTROL)

A PC program is a program which can be executed simultaneously with a robot control


program. A PC program is used to monitor or to control external devices through exter-
nal binary signals. PC programs can evaluate variables, perform mathematical calcula-
tions, execute logic instructions, and set external or internal signals.

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.

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

7-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.2 PROGRAM STEP FORMAT

Each step of an AS Language program has the following format:

step number label program instruction ; comment

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.

7.3 PROGRAM EXECUTION

NOTE

Many operators utilize a “mainline” program to select all


robot control programs. While not a necessity, mainline
programs are routinely named pg00. If your robot is in-
tegrated into a system that is designed to operate with a
mainline program, it is important that the mainline pro-
gram is selected to start production. If an individual pro-
gram is selected and run independent of the mainline
program, the required operations of the mainline pro-
gram will not be processed.

November 20, 1998 7-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.3.1 EXECUTING ROBOT CONTROL PROGRAMS

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.

7.3.1.1 STOPPING ROBOT CONTROL PROGRAMS

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-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.4 EXECUTING PC PROGRAMS

PC programs are executed by the PCEXECUTE monitor command, or when a


PCEXECUTE instruction is processed in a robot control program. The PCABORT
command stops execution of the PC program after the current step is completed. The
PCEND command stops execution of the specified PC program at the end of the current
cycle. The PCCONTINUE monitor command resumes execution suspended by the
PCABORT command or because of an error.

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.

November 20, 1998 7-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

MAINLINE PROGRAM
START
[PG 00]

INITIALIZE ALL
PARAMETERS,
SYSTEM SWITCHES

CALCULATE ALL
POSITIONS AT
PARTS CAROUSEL
(prog. calc_lay)

VERIFY ROBOT JOG ROBOT OR


AT HOME No CHECK-STEP
POSITION BACK TO HOME POS.

Yes

BEGIN

HOME POS 1

MAINTENANCE
POSITION Yes CALL PROG 08
CHECK

No

CALL pick_part

ROBOT CLEAR
OF CAROUSEL

CONTINUED
ON PAGE 2

Figure 7-1 Working Flowchart

7-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

MAINLINE PROGRAM
FROM PAGE 1
(pg 00 cont'd)

NO PART COUNT RESET NO PARTS


Yes
>3 COUNTER

RESET INDEX
(layer counter)

ROTATE CAROUSEL
No

GO TO BEGIN

INDEX> RESET INDEX


Yes
INDEX_MAX (layer counter)

No
ROTATE CAROUSEL

HOME POS 1

CALL load_press

DISPLAY ROBOT
CYCLE TIME
TO PDU

GO TO BEGIN

Figure 7-1 Working Flowchart (continued)

November 20, 1998 7-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

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

TWAIT 0.25 SEC

LMOVE
#bel_ld_press

Figure 7-1 Working Flowchart (continued)

7-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

7.6 COMPOUND TRANSFORMATIONS AND TOOL DIMENSIONS

The controllers ability to compute compound transformations can be utilized to calculate


the tool dimensions of an installed tool. To accomplish this, a precise reference point is
required to be set inside the work envelope (preferably along the y-axis). To work with
an AS Language defined tool, the monitor command QTOOL OFF must be entered. To
ensure the controller is not calculating dimensions based on a previously installed tool,
the monitor command TOOL NULL must be entered. Figure 7-2 shows a example of the
NULL tool center point and the fixed reference point.

Figure 7-2 Tool Transformation Preparation

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.

November 20, 1998 7-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

Figure 7-3 Defining the Location a

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.

Figure 7-4 Defining the Compound Transformation a+b

7-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

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.

7.7 SAMPLE PROGRAMS

The following AS Language program is an example of a “mainline” program. Programs


like this are used to call other subroutine programs based on signal inputs from another
peripheral device, usually a PLC.

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

2 ; The ; is used to add a space for readability.

3 100 HOME 100 is a label to be used with GOTO statements.


HOME is a location that the robot travels to when
this line of code is processed. The HOME position
has unique characteristics regarding how it is
defined, the commands necessary to move the
robot to the HOME position, and the dedicated
output signals that can be assigned to it.

4 BREAK The BREAK command stops the program from


processing ahead and ensures the robot reaches
the HOME position before output signals are set.

5 SIGNAL 1,-2,3,5,6 The SIGNAL command sets output signals 1 (clear


to advance transfer), 3 (clear to unclamp), 5 (zone
1 clear), and 6 (zone 2 clear) to the ON condition.
Signal 2 (clear to retract transfer) is set to the OFF
condition.

November 20, 1998 7-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

6 ; The ; is used to add a space for readability.

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.

8 pg = BITS (1021,4) In this line of code, the binary value of signals


1021 through 1024 (BITS (1021,4)) are assigned
(=) to the real variable pg.

9 SIGNAL -3 The SIGNAL command is used to set output


signal 3 (clear to unclamp) to the off condition.

10 CASE pg OF The CASE pg OF command is a control flow


structure that evaluates the real variable pg. If the
value of pg matches the VALUE statement, the
program instructions following the instruction are
processed. If none of the VALUE statements
match the value of the variable pg, the program
processes the first instruction after the END state-
ment identifying the last step of the control flow
structure. As long as the value of pg matches a
VALUE statement within the control flow structure
the program continues to process inside the struc-
ture.

11 VALUE 8: In this line of code, if the VALUE of pg is 8, the


next line of the program is processed. If the value
of pg is not 8, then the program will scan past this
line of code and continue to evaluate the VALUES
for a match with pg.

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.

7-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

13 VALUE 10: In this line of code, if the VALUE of pg is 10, the


next line of the program will be processed. If the
value of pg is not 10, then the program scans past
this line of code and continues to evaluate the
VALUES for a match with pg.

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.

15 END The END command identifies the end of the con-


trol control flow structure, CASE pg OF....VALUE
xxx. If the value of the specified variable is not
matched within the control flow structure the pro-
gram proceedes to process the first instruction
after the END statement.

16 ; The ; is used to add a space for readability.

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.

18 pg = BITS (1021,4) In this line of code, the binary value of signals


1021 through 1024 (BITS (1021,4)) are assigned
(=) to the real variable pg.

November 20, 1998 7-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

19 CASE pg OF The CASE pg OF command is a control flow


structure that evaluates the real variable pg. If the
value of pg matches the VALUE statement, the
program instructions following the instruction are
processed. If none of the VALUE statements
match the value of the variable pg, the program
processes the first instruction after the END state-
ment identifying the last step of the control flow
structure. As long as the value of pg matches a
VALUE statement within the control flow structure
the program continues to process inside the struc-
ture.

20 VALUE 1: In this line of code, if the VALUE of pg is 1, the


next line of the program is processed. If the value
of pg is not 1, then the program scans past this
line of code and continues to evaluate the VALUES
for a match with pg.

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.

22 VALUE 2 In this line of code, if the VALUE of pg is 2, the


next line of the program is processed. If the value
of pg is not 2, then the program scans past this
line of code and continues to evaluate the VALUES
for a match with pg.

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.

24 VALUE 3 In this line of code, if the VALUE of pg is 3, the


next line of the program is processed. If the value
of pg is not 3, then the program scans past this
line of code and continues to evaluate the VALUES
for a match with pg.

7-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

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.

26 VALUE 4 In this line of code, if the VALUE of pg is 4, the


next line of the program is processed. If the value
of pg is not 4, then the program scans past this
line of code and continues to evaluate the VALUES
for a match with pg.

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.

28 VALUE 5 In this line of code, if the VALUE of pg is 5, the


next line of the program is processed. If the value
of pg is not 5, than the program scans past this
line of code and continues to evaluate the VALUES
for a match with pg.

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.

30 END The END command identifies the end of the con-


trol flow structure, CASE pg OF....VALUE xxx. If
the value of the specified variable is not matched
within the control flow structure the program
proceedes to process the first instruction after the
END statement.

31 GOTO 100 The command GOTO 100 causes the program to


search for the label 100 and continue processing
beginning with that instruction.
.END

November 20, 1998 7-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

The following AS Language program is an example of a welding clamp subroutine


program. Programs like this are used to communicate with a weld controller. Welding
clamp specifications are defined in auxiliary function 114.

.PROGRAM pg90()

1 ; Weld Sequence Program The ; is used to identify a comment. Any informa-


tion to the right of the ; is not processed as part of
the program. "Weld Sequence Program" identifies
the type of program for readers.

2 ; The ; is used to place a space in the program for


ease of reading.

3 IF SIG(-23) THEN The instruction IF SIG(-23) THEN is part of a


control flow structure. If signal 23 (weld initiate
output) is off, then the program instructions inside
the structure is processed. The last step of the
structure is defined by an END command. If signal
23 is on when this instruction is processed, the
program processes the first step after the control
flow structure.

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.

5 END The END command is used it identify the last step


of the IF THEN structure.

6 SWAIT -1018 The SWAIT command is used to evaluate the input


signal 1018 (weld complete signal, sent from the
weld controller). If signal 1018 is off, the program
continues processing. If signal 1018 is on, the
program stops processing at this step until signal
1018 changes to the off state.

7 TIMER 1 = 0 The command TIMER 1 = 0 is used to assign (=)


the value of 0 to timer number 1. This initializes
timer 1 to a value of zero. Timer 1 begins timing
immediately after this instruction is processed.

7-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

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.

9 IF SIG(1018) THEN The instruction IF SIG(1018) THEN is part of a


control flow structure. This structure is “nested”
inside the WHILE DO structure. When structures
are nested, the program evaluates the innermost
structure first. If input signal 1018 (weld complete
signal from the weld controller) is on, then the
program instructions inside the structure are pro-
cessed. Because of the previous WHILE TIMER
(1) DO instruction the program monitors the weld
complete signal for 2 seconds. The last step of the
structure is defined by an END command. If signal
input 1018 is off when this instruction is pro-
cessed, the program processes the first step after
the control flow structure.

10 RETURN When the RETURN instruction is processed,


program processing will leave pg90 and returns to
the program that originally called it.

11 END The END command is used it identify the last step


of the nested IF THEN structure.

12 END The END command is used it identify the last step


of the WHILE DO structure.

13 Signal 7 This command turns output signal 7 (time delay


exceeded) on.

14 SWAIT 1018 The SWAIT 1018 instruction causes the program


to wait for input signal 1018, the weld complete
signal from the weld controller. When signal 1018
is on, the program continues processing the next
instruction. When signal 1018 is off, the program
waits at this step until 1018 turns on or the wait
condition is overridden.

November 20, 1998 7-17


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

CREATING AND EXECUTING PROGRAMS

15 SIGNAL -7 This command turns output signal 7 (time delay


exceeded) off.

16 RETURN When the RETURN instruction is processed,


program processing leaves pg90 and returns to
the program that originally called it.

.END

7-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROGRAMMING WITH PERSONAL COMPUTER

8.0 PC INTERFACE ................................................................................................... 8-2


8.1 PC Interface Overview ......................................................................................... 8-2
8.2 PC Interface Configuration ................................................................................... 8-3
8.3 Installing Kawasaki AS Monitor Software............................................................. 8-3

November 20, 1998 8-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROGRAMMING WITH PERSONAL COMPUTER

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.

8.1 PC INTERFACE OVERVIEW

The Kawasaki C-series controller is designed to communicate serially over a standard


RS232C, D shell, 9 pin female to 9 pin female, null modem cable interface with a per-
sonal computer (PC). The RS232C connector cable can be purchased locally or as an
option from Kawasaki. The PC interface provides the user a programming method
utilizing a larger keyboard than is available with the multi function panel. With a PC the
user can do the following:

• View system data

• Type AS Language commands from the monitor prompt

• Edit AS Language programs

• Edit SLOGIC programs

• Edit block style programs

• Import, manipulate, and save data in a DOS or Windows environment

• Test program data

• Change system data: software limits, dedicated I/O, repeat speed, system switches

• Save/load all system data to/from diskette or hard drive

• Print data

8-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROGRAMMING WITH PERSONAL COMPUTER

8.2 PC INTERFACE CONFIGURATION

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.

8.3 INSTALLING KAWASAKI AS MONITOR SOFTWARE

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.

The following procedure is used to install the KCMON software:

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.

November 20, 1998 8-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROGRAMMING WITH PERSONAL COMPUTER

6. Confirm that the diskettes both contain the following files:

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

8. Change to the drive containing the KCMON software diskette.

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.

4. Turn on the PC and allow it to go through its power-up sequence.

5. Make a backup copy of all the files on the KCWIN disk in case the first copy be-
comes corrupted.

6. Confirm that the diskettes both contain the following files:


• KCWIN.EXE
• KCWINE.EXE
• KCWIN.INI

8-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROGRAMMING WITH PERSONAL COMPUTER

7. From the start menu, select run and enter A: install.

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.

November 20, 1998 8-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROCESS CONTROL PROGRAMS

9.0 PROCESS CONTROL PROGRAMS ................................................................. 9-2


9.1 Process Control Commands .............................................................................. 9-2
9.1.1 PCSTATUS Command ....................................................................................... 9-2
9.1.2 PCEXECUTE Command .................................................................................... 9-3
9.1.3 PCABORT Command ........................................................................................ 9-3
9.1.4 PCCONTINUE Command .................................................................................. 9-3
9.1.5 PCKILL Command ............................................................................................. 9-3
9.1.6 PCSTEP Command ........................................................................................... 9-3
9.1.7 PCSCAN Command........................................................................................... 9-4

November 20, 1998 9-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROCESS CONTROL PROGRAMS

9.0 PROCESS CONTROL PROGRAMS

A process control (PC) program is an AS language program which can be executed


simultaneously with a robot control program or up to two other PC programs. A PC
program is used to monitor or to control external devices through external binary signals.
PC programs can evaluate variables, perform mathematical calculations, execute logic
instructions, and set external or internal signals.

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.

9.1 PROCESS CONTROL COMMANDS

9.1.1 PCSTATUS COMMAND

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.

PC status: Program is not running


Execution cycles
Completed cycles: 11
Remaining cycles: Infinite
Program name Prio Step No.
pc_test 0 1 PRINT “step1”

Figure 9-1 PCSTATUS Command

9-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROCESS CONTROL PROGRAMS

9.1.2 PCEXECUTE COMMAND

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.

9.1.3 PCABORT COMMAND

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.

9.1.4 PCCONTINUE COMMAND

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.

9.1.5 PCKILL COMMAND

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.

9.1.6 PCSTEP COMMAND

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.

November 20, 1998 9-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

PROCESS CONTROL PROGRAMS

9.1.7 PCSCAN COMMAND

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.

9-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

10.0 ERROR CODES/HELP INFORMATION ........................................................... 10-2


10.1 Error Recovery ................................................................................................ 10-60

November 20, 1998 10-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

10.0 ERROR CODES/HELP INFORMATION


This unit provides information about the error codes that are displayed on the multi
function panel or other user interfaces that provide display screen information. The error
codes are listed by code number and the message that is displayed with the associated
code. An expanded explanation of the message is provided along with possible meth-
ods to clear or prevent the specific error. Troubleshooting information is preceeded by a
⇒ symbol.

_____________________________________________________________________

ERROR CODE -50 Warning! Cannot move along straight line in this configura-
tion.

Joint speed may exceed maximum, joints 4 and 6 aligned.

⇒Change angle of joint 5, slow the speed, change to joint mode.


_____________________________________________________________________

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.

⇒Slow the speed.


_____________________________________________________________________

ERROR CODE -100 Matrix Calculation Error.

The vector element of the matrix cannot be operated because of 0.

⇒ Change and recalculate value.


_____________________________________________________________________

ERROR CODE -101 Turn off motor power.

Motor power cannot turn on according to command and instruction.

⇒ Turn motor power OFF and execute command and instruction.


_____________________________________________________________________

10-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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.

Program will not start because motor power is not on.

⇒Turn motor power ON.


_____________________________________________________________________

ERROR CODE -201 Cannot execute a program in TEACH mode.

Programs cannot run when in the teach mode of operation.

⇒Ensure that the controller is in the REPEAT mode of operation.


_____________________________________________________________________

ERROR CODE -202 Cannot execute a program because teach lock is ON.

Programs cannot be run with the teach lock in the on position.

⇒Turn the TEACH LOCK switch to OFF and execute the program again in repeat mode.

_____________________________________________________________________

ERROR CODE -207 Turn to HOLD at HOLD/RUN sw.

Occurs when an attempt to perform DO, STEP, MSTEP, CONTINUE, or EXECUTE


commands is made with the RUN/HOLD switch in the RUN position. Only applies if the
CHECK HOLD system switch is ON.

⇒Turn the RUN/HOLD switch to HOLD position.


_____________________________________________________________________

ERROR CODE -208 Teach pendant is not connected.

Hard-wired switches for teach pendant and multi function panel must be jumped and
equipment configuration identified in environmental data functions.

⇒Install teach pendant or configure system accordingly.

_____________________________________________________________________

November 20, 1998 10-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -211 Cannot edit a program because the TEACH LOCK switch
is ON.

Programs cannot be edited if the TEACH LOCK switch is ON.

⇒Turn TEACH LOCK switch OFF.


_____________________________________________________________________

ERROR CODE -300 Program is already running.

Occurs when an attempt is made to edit or execute a program that is currently running.

⇒Stop the program prior to editing or checking.


_____________________________________________________________________

ERROR CODE -302 Can’t continue. Use EXEC.

The CONTINUE command is not permitted because of program selection status.

⇒Use the EXECUTE command to start program.


_____________________________________________________________________

ERROR CODE -303 Robot is moving now.

Displayed if any of the following commands are entered while a program is running:
EXECUTE, CONTINUE, TOOL, BASE, DO. SYSINIT or CYCLE START.

⇒Stop the program or confirm the operation to be performed.


_____________________________________________________________________

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.

⇒Clear any errors and re-enter the command.


_____________________________________________________________________

ERROR CODE -306 Cannot execute with DO command.

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

10-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -308 PC program is running.

Occurs when a PC program is running and instructions are entered that are not allowed.

⇒Stop the PC program and enter the command.


_____________________________________________________________________

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

ERROR CODE -316 Waiting weld completion.

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

ERROR CODE -317 Position offset error at last E-stop JTxx.

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

ERROR CODE -318 Waiting retract or extend pos. input signal.

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

ERROR CODES/HELP INFORMATION

_____________________________________________________________________

ERROR CODE -319 Spot sequence is running.

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

ERROR CODE -320 Cannot operate because teach pendant in operation.

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

ERROR CODE -324 Cannot execute with MC instruction.

MC instruction could not be carried out.

⇒ Use instruction which can be executed by MC instruction.


_____________________________________________________________________

ERROR CODE -325 Cannot execute the instruction in robot program.

Command and instruction cannot be used or executed.

⇒ Rewrite the command or instruction.


_____________________________________________________________________

ERROR CODE -326 Cannot delete because used by another command.

Cannot COPY, DELETE or XFER command because current step is being executed.

⇒ Perform DELETE commands after execution ends.


_____________________________________________________________________

10-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -327 Used in programs.

The variable used with the program was deleted.

⇒ Confirm the deleted variable.


_____________________________________________________________________

ERROR CODE -328 Used in editor.

When the program was used in the editor, the program was deleted.
_____________________________________________________________________

ERROR CODE -329 KILL or PCKILL to delete program.

Occurs when an attempt to delete a program is made and that program is still on the
stack (selected).

⇒Select another program or KILL/PC KILL the program, then delete.


_____________________________________________________________________

ERROR CODE -350 Illegal input data.

Input data from AS Language monitor command is improper for the instruction.

⇒Enter data that is within acceptable range.


_____________________________________________________________________

ERROR CODE -351 Too many arguments.

Input data from AS Language editor commands exceeds the number of user specified
items allowed by the format.

⇒Verify input data and format of command.


_____________________________________________________________________

ERROR CODE -353 Input data is too big.

Data entered for the POINT or HERE commands exceeds the allowable range.

⇒Enter data that is within acceptable range.


_____________________________________________________________________

November 20, 1998 10-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -360 Illegal WHERE parameter.

Occurs if data entered with the WHERE command is not an integer between 1 and 6.

⇒Ensure that data is within acceptable range.


_____________________________________________________________________

ERROR CODE -361 Illegal PC number.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -365 Illegal Robot number.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -367 Illegal priority.

Priority level designation is wrong.

⇒ Input a correct priority level.


_____________________________________________________________________

ERROR CODE -368 Invalid coordinate value.

Upper limit value is less than value of lower limit.

⇒ Input the correct upper limit coordinates.


_____________________________________________________________________

ERROR CODE -400 Syntax error.

Occurs when an AS Language command is entered that does not follow the correct
format or contains typing or spelling errors.

⇒Correct format or spelling of command/instruction.


_____________________________________________________________________

10-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -401 Invalid statement.

Occurs when an AS Language command is entered that has typing errors, incorrect
spelling or is in the wrong format.

⇒Correct the input data spelling or format.


_____________________________________________________________________

ERROR CODE -402 Ambiguous statement.

Displayed when an abbreviation is entered incorrectly or has missing letters.

⇒Enter the correct abbreviation or entire command.


_____________________________________________________________________

ERROR CODE -403 Cannot use this command or instruction here.

Displayed because a program or monitor command was entered that could not be ex-
ecuted while a program is running.

⇒Stop program execution or wait for completion.


_____________________________________________________________________

ERROR CODE -404 Cannot execute with DO command.

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

ERROR CODE -405 Statement cannot be executed.

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

November 20, 1998 10-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -406 Not a program instruction.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -407 Too many arguments

Input data from AS Language editor commands exceeds the number of user specified
items allowed by the format.

⇒ Verify input data and format of command.


_____________________________________________________________________

ERROR CODE -408 Missing argument.

Displayed when a DO command is not followed by an acceptable program instruction.

⇒Correct the input and re-enter.


_____________________________________________________________________

ERROR CODE -410 Illegal expression.

A real number expression must be present for processing DECOMPOSE command(s).


Also displayed when incorrect numerical information is entered with arguments.

⇒Ensure correct format and numerical expressions are entered.


_____________________________________________________________________

ERROR CODE -411 Illegal function.

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.

⇒Ensure function is compatible with variables.


_____________________________________________________________________

ERROR CODE -412 Illegal argument of function.

Occurs when function and argument are not in correct format.

⇒Use correct format for functions and arguments.


_____________________________________________________________________

10-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -413 Invalid variable (or program) name.

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

⇒Define program names and variables correctly.


_____________________________________________________________________

ERROR CODE -414 Illegal variable type.

Displayed when illegal variable is entered from editor or monitor modes.


For example: b = #a + b (combining location and real variables using an arithmetic
operator).

⇒Use compatible variable type for commands or instructions.


_____________________________________________________________________

ERROR CODE -415 Illegal array index.

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.

⇒Enter the correct array variable information.


_____________________________________________________________________
ERROR CODE -416 Missing parenthesis.

Occurs when parentheses are not entered as a pair, containing both a left and right
parenthesis.

⇒Enter parentheses in left and right pairs.


_____________________________________________________________________

ERROR CODE -417 Expected to be a binary operator.

A non-binary operator has been entered where a command expected a binary operator.

⇒Input a binary operator.


_____________________________________________________________________

November 20, 1998 10-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -419 Illegal qualifier.

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

⇒Use only acceptable qualifiers.


_____________________________________________________________________

ERROR CODE -420 Invalid label.

Occurs in the editor mode when a GOTO instruction is combined with a reserved char-
acter. For example: GOTO #a (“#” is a reserved character).

⇒Do not use reserved characters in label identification.


_____________________________________________________________________

ERROR CODE -421 Invalid name.

Displayed when an unidentified program, file, variable, etc., is used in a command.

⇒Use only names that have been defined.


_____________________________________________________________________

ERROR CODE -422 Missing expected 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).

⇒Use correct format for commands and instructions.


_____________________________________________________________________

ERROR CODE -423 Illegal switch name.

Displayed when a system switch is incorrectly identified. For example: SWITCH light
(there is no system switch named “light”).

⇒Use only available switch names.


_____________________________________________________________________

10-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -424 Ambiguous switch name.

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

ERROR CODE -425 Illegal format qualifier.

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

ERROR CODE -426 Duplicate statement label.

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.

⇒Use label names only once per program.


_____________________________________________________________________

ERROR CODE -430 Cannot define as array.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -431 Dimension exceeds 3.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -432 Different dimensional array exist.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

November 20, 1998 10-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -433 Array variable exist.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -434 Non array variable exist.

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

ERROR CODE -435 Array variable expected.

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

ERROR CODE -440 Local variable expected.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -441 Unexpected suffix.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -442 Mismatch of arguments at subroutine call.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

10-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -443 Mismatch of argument type at subroutine call.

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

ERROR CODE -450 Control structure error.

Displayed when an illegal program control flow structure is evaluated.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________

ERROR CODE -451 Step:xxx Wrong END statement.

Occurs when an illegal END statement is entered during editing.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________

ERROR CODE -452 Step:xxx Extra END statement.

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 .

⇒ Use correct syntax and components in control flow structures.


_____________________________________________________________________

November 20, 1998 10-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -454 Step:xxx No VALUE statement after CASE.

Occurs when the control flow structure CASE OF….END is entered without a value to
evaluate.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________

ERROR CODE -455 Step:xxx Preceding IF missing.

Displayed when control flow structure does not contain the correct structure for
IF…THEN… ELSE…END commands.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________

ERROR CODE -456 Step:xxx Preceding CASE missing.

Displayed when control flow structure does not contain the correct structure for
CASE…of… VALUE…ANY…END commands.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________

ERROR CODE -457 Step:xxx Preceding DO missing.

Displayed when control flow structure does not contain the correct structure for
DO…UNTIL.

⇒Use correct syntax and components in control flow structures.


_____________________________________________________________________
ERROR CODE -458 Step:xxx Can’t find END of xxx.

Occurs when control flow structure that requires an END statement does not contain the
necessary END.

⇒ Use correct syntax and components in control flow structures.


_____________________________________________________________________

10-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -459 Step:xxx Too many control structures.

Occurs when 11 layers of control flow structure are exceeded.

⇒Limit control flow structure to 11 layers.


_____________________________________________________________________
ERROR CODE -460 Variable (or program) already exists.

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

ERROR CODE -461 Variable of different type already exists.

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

ERROR CODE -464 Internal buffer over.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -465 Undefined Variable (or program).

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 -470 Expect “=”

The argument is missing the necessary “=”.

⇒Check the argument and correct it.


_____________________________________________________________________

November 20, 1998 10-17


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -471 Expect “)”

The argument is missing the necessary “)”.

⇒Check the argument and correct it.


_____________________________________________________________________

ERROR CODE -472 Expect “]”

The argument is missing the necessary “]”.

⇒Check the argument and correct it.


_____________________________________________________________________

ERROR CODE -473 “Expect “TO”

The argument is missing the necessary “TO”.

⇒Check the argument and correct it.


_____________________________________________________________________

ERROR CODE -474 “Expect “BY”

The argument is missing the necessary “BY”.

⇒Check the argument and correct it.


_____________________________________________________________________

ERROR CODE -475 Expect “:”

The argument is missing the necessary “:”.

⇒Check the argument and correct it.

_____________________________________________________________________

ERROR CODE -476 “Expect ”ON/OFF”

An instruction other than ON/OFF was used with a SYSTEM SWITCH.

⇒Check the ON/OFF status SYSTEM SWITCH and input it correctly.

10-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

⇒Identify the name of the program to be edited.


_____________________________________________________________________

ERROR CODE -494 Program is interlocked by another procedure.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -499 Invalid statement.

Occurs when the program is executed and instructions are encountered that cannot be
processed as AS Language commands.

⇒Use correct syntax and components for AS Language commands.


_____________________________________________________________________

ERROR CODE -507 Communication error.

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

ERROR CODE -514 Device is not ready.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -523 Illegal file name.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -543 Data read error.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

November 20, 1998 10-19


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -544 Floppy disk data transfer error.

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.

⇒Change the setting of the RECORD INHIBIT system switch.


_____________________________________________________________________

ERROR CODE -551 Cannot open the file.

Specific information on this error code was not available at the time of publication.

_____________________________________________________________________

ERROR CODE -580 Retry error.

Occurs when there is a problem with the communication link between the controller and
a host communication PC.

⇒Check the integrity of the controller and host PC link.


_____________________________________________________________________
ERROR CODE -581 Stop of process.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -583 Receive not data after receive request.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -584 Too long receive data (MAX=255 character).

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

10-20 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -585 Abnormal data (EOT) received in communicating.

(Option: Host communication I correspondence.)


Refer to the host communication manual for details.
_____________________________________________________________________

ERROR CODE -586 Time out.

(Option: Host communication I correspondence.)


Refer to the host communication manual for details.
_____________________________________________________________________

ERROR CODE -591 Illegal device number.

Two types of selections are possible for the serial port. This error occurs when port
numbers other than the sensor port are specified.

(Option: Host communication I correspondence.)


Refer to the host communication manual for details.
_____________________________________________________________________

ERROR CODE -596 Cannot attach terminal.

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

ERROR CODE -597 Cannot attach communication port

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

ERROR CODE -598 Cannot execute on this terminal.

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.

⇒Use the above command from the proper terminal.


_____________________________________________________________________

November 20, 1998 10-21


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -600 Motor power OFF. Displayed whenever an emergency


stop is encountered.

⇒Reset emergency stop button and reapply motor power.


_____________________________________________________________________

ERROR CODE -610 Weld completion time over.

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

ERROR CODE -611 Illegal extend (retract) output signal.

Occurs when the output signals for the extend and retract operation of a spot welding
application are not properly set.

⇒Check the setting in auxiliary function 114.


_____________________________________________________________________

ERROR CODE -612 Weld fault input.

Displayed when the controller receives a weld fault signal.

⇒Check operation of welding equipment, ensure signal numbers are correctly set.
_____________________________________________________________________

ERROR CODE -613 Retract pos. monitor error.

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.

10-22 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

_____________________________________________________________________

ERROR CODE -615 Weld completion signal is already inputted.

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

ERROR CODE -616 Gun retract position mismatch.

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

ERROR CODE -653 Illegal DOUBLE OX output.

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

⇒Modify using the teaching screen.


_____________________________________________________________________

ERROR CODE -654 Cannot use DOUBLE OX.

Mutually exclusive dichotomy OX. The signal set in mutually exclusive dichotomy OX
was operated with BITS, PULSE, and DLYSIG, etc. (inhibit).

⇒Modify using the teaching screen.


_____________________________________________________________________

November 20, 1998 10-23


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -662 Start point position error for circle.

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

ERROR CODE -671 Cannot execute in check back mode.

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

ERROR CODE -672 Cannot execute in ONE program.

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

ERROR CODE -675 Terminal is not connected.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

10-24 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -676 Cannot input /output to multi function panel.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________
ERROR CODE -700 No free memory.

No free memory is available to teach or edit programs.

⇒Delete unused programs and variables, or, expand system memory to maintain the
required capacity.
_____________________________________________________________________

ERROR CODE -800 Program does not exist.

No program is on the stack at the time of cycle start or execution command (without a
program being specified).

⇒Identify program to be executed.


_____________________________________________________________________

ERROR CODE -801 No program step. The step specified for execution does
not exist.

⇒Select valid step numbers for execution.


_____________________________________________________________________

ERROR CODE -802 Nonexistent label.

Occurs when executing the GOTO command and the destination label is not defined.

⇒Ensure valid labels are used within the program.


_____________________________________________________________________

ERROR CODE -803 Undefined variable. Variable data for a specific argument
in a command is not defined.

⇒Ensure variables are properly defined.


_____________________________________________________________________

November 20, 1998 10-25


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -804 Undefined location data.

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.

⇒Define all locations identified in programs.

_____________________________________________________________________

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

ERROR CODE -807 Undefined program or label.

The program name or label associated with an ON or ONI command does not exist.

⇒Define the program or label used with the ON or ONI command.


_____________________________________________________________________

ERROR CODE -808 Illegal value. The numeric value entered exceeds the
upper or lower limits of the acceptable range.

⇒Enter data that is within acceptable range.


_____________________________________________________________________
ERROR CODE -809 Undefined array suffix.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -810 Divided by zero.

Occurs when the system encounters a mathematical evaluation that involves division by
“0”. Typically associated with the FRAME function and circular interpolation.

⇒Check data source for calculations.


_____________________________________________________________________

10-26 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -812 Character string is too long.

Character strings associated with arithmetic or comparative operators or the LEN func-
tion are too long.

⇒Correct the program.


_____________________________________________________________________

ERROR CODE -813 Illegal exponential operation.

Numeric values that have exponents must be positive in value.

⇒Correct equations in program.


_____________________________________________________________________

ERROR CODE -814 Expression too complicated.

A numeric calculation too complex to be evaluated was encountered.

⇒Simplify mathematical equations.


_____________________________________________________________________

ERROR CODE -815 No expressions to evaluate.

The type of data in an argument is incompatible with the operation being performed.

⇒Correct the program to evaluate compatible expressions.


_____________________________________________________________________

ERROR CODE -816 Unexpected error while evaluating expression.

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

ERROR CODE -817 SQRT parameter is negative.

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

November 20, 1998 10-27


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -820 Illegal array index.

Occurs when the array subscript number exceeds the acceptable range from 0 to 9999.

⇒Ensure the range of array subscripts is acceptable.


_____________________________________________________________________

ERROR CODE -821 Illegal argument value.

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

⇒Use correct argument values.


_____________________________________________________________________

ERROR CODE -822 Illegal joint number.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -823 Illegal signal number.

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.

⇒Use acceptable signal numbers for system configuration.


_____________________________________________________________________

ERROR CODE -824 Illegal timer number.

Displayed when a timer was specified that was not within the acceptable range of be-
tween 1 and 10.

⇒Specify timers in the range between 1 and 10.


_____________________________________________________________________

10-28 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -825 Illegal signal number.

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

ERROR CODE -826 Illegal clamp number.

Displayed when the clamp number entered exceeds the maximum permitted by system
configuration.

⇒Use only clamp numbers that are supported by system configuration.


_____________________________________________________________________

ERROR CODE -827 Illegal time value.

Displayed when a negative number is entered as part of a DELAY or TIMER command.

⇒Correct the time setting to a positive number.


_____________________________________________________________________

ERROR CODE -828 No value set.

Occurs when an instruction like the BITS command is evaluated and there is no corre-
sponding value set.

⇒Correct program code to evaluate existing values.


_____________________________________________________________________

ERROR CODE -829 Illegal signal number.

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

November 20, 1998 10-29


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -832 Illegal time input data.

Occurs when erroneous data has been entered in the setting of the TIME and DATE
function. For example: a date of Feb. 30.

⇒Input time and date information correctly, mm/dd/yy.


_____________________________________________________________________

ERROR CODE -834 Program name already exists.

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.

⇒Specify unused program names when renaming programs.


_____________________________________________________________________

ERROR CODE -835 Can’t KILL because the program is running.

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

ERROR CODE -837 Cannot use dedicated signal.

Occurs when a previously dedicated signal was used as a general purpose signal.

⇒Use signals that have not been dedicated for general functions.
_____________________________________________________________________

ERROR CODE -838 Not RPS mode.

Occurs when the required input signals are not dedicated at the time an attempt to run
an externally selected program is made.

⇒If RPS is to be used the necessary signals must be dedicated.


_____________________________________________________________________

10-30 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -840 Too many subroutines.

Occurs when more than 20 subroutines are nested with EXTCALL or CALL instructions.

⇒Do not exceed 20 nested subroutines.


_____________________________________________________________________

ERROR CODE -842 Nonexistent subroutine. Displayed when the program


identified by a CALL, ON, or ONI does not exist.

⇒Select only existing programs to be run as subroutines.


_____________________________________________________________________
ERROR CODE -846 No program exist.

Pertinent program does not exist in DIRECTORY and LIST commands.

⇒Correct program or make program.


_____________________________________________________________________

ERROR CODE -850 Out of absolute lower limit.

Displayed when an attempt has been made to set the software lower limits of robot
travel to a value that is too low.

⇒Set lower software travel limits to an acceptable range.


_____________________________________________________________________

ERROR CODE -851 Out of absolute upper limit.

Displayed when an attempt has been made to set the software upper limits of robot
travel to a value that is too high.

⇒Set upper software travel limits to an acceptable range.


_____________________________________________________________________

November 20, 1998 10-31


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -852 Out of user lower limit.

Displayed when an attempt has been made to set the software lower limits of robot
travel to a value that is too low.

⇒Set lower software travel limits to an acceptable range.


_____________________________________________________________________

ERROR CODE -853 Out of user upper limit.

Displayed when an attempt has been made to set the software upper limits of robot
travel to a value that is too high.

⇒ Set upper software travel limits to an acceptable range.


_____________________________________________________________________

ERROR CODE -855 Motion start location of jt-x is out of range.

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

ERROR CODE -856 Motion and location of jt-x is out of range.

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

ERROR CODE -857 Destination is out of range.

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

10-32 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -858 Illegal configuration for linear motion.

System software has determined that the start and end points of a linear move will
cause the robot to exceed the acceptable motion parameters.

⇒Change motion interpolation to a joint move; move location to avoid configuration.


_____________________________________________________________________

ERROR CODE -871 Illegal joint number.

Occurs when the DRIVE command is used and specifies a joint number that is not part
of the robot configuration.

⇒Confirm robot configuration before using the DRIVE command.


_____________________________________________________________________

ERROR CODE -872 Cannot execute motion instruction in PC program.

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.

⇒Correct the PC program by removing motion instructions.


_____________________________________________________________________

ERROR CODE -873 Illegal auxiliary data number.

The value selected for auxiliary data (speed, timer, tool etc.) exceeds allowable range.

⇒Correct the value of auxiliary data.


_____________________________________________________________________
ERROR CODE -874 No circular location.

Program circular motion instructions must have C1 moves followed by either a C1 or C2


move.

⇒Correct program instructions.


_____________________________________________________________________

November 20, 1998 10-33


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -875 No C1MOVE(CIR1) ins.

Program circular motion instructions must have C2 moves preceded by a C1 move.

⇒Correct program instructions.


_____________________________________________________________________

ERROR CODE -876 Cannot create circle.

Circular interpolation moves cannot be processed because the points identified are too
narrow or are on a straight path.

⇒Correct program instructions.


_____________________________________________________________________

ERROR CODE -877 Cannot execute, because of sealing type.

Occurs when a command for a sealing application is evaluated by a controller that is not
configured for sealing applications.

⇒Correct program instructions to match software configuration.


_____________________________________________________________________

ERROR CODE -879 Cannot execute, because of not sealing type.

Occurs when a GUNON, GUNOFF, GUNONTIME or GUNOFFTIME command for a


sealing application is evaluated by a controller that is not configured for sealing applica-
tions.

⇒Correct program instructions to match software configuration.


_____________________________________________________________________

ERROR CODE -896 Option is not set up, can’t execute.

⇒Contact customer service for option specifications after confirming the purchase
specification.
_____________________________________________________________________

ERROR CODE -1003 Data base error.

The program storage area of the system memory has been damaged and is not linking
data correctly.

⇒Initialize once to try to clear problem, troubleshoot CPU board.


_____________________________________________________________________

10-34 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1012 Command position of jt-x has suddenly changed.

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.

⇒Troubleshoot servo amp system.


_____________________________________________________________________

ERROR CODE -1014 Commanded position of jt-x is out range.

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.

⇒Correct taught positions to avoid out of range locations.


_____________________________________________________________________

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.

⇒Change the taught positions.


_____________________________________________________________________

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

November 20, 1998 10-35


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1022 RAM battery low voltage <board name>.

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.

⇒Back up system and program data and replace batteries.


_____________________________________________________________________

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

10-36 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1051 Cannot execute in this robot arm.

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.

⇒Replace defective components or reload software.


_____________________________________________________________________

ERROR CODE -1101 Main CPU BUS error.

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

ERROR CODE -1102 VME BUS error.

November 20, 1998 10-37


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1200 Encoder board is not installed.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1201 Power sequence board is not installed.

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

ERROR CODE -1202 No2 power sequence board is not installed.

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

ERROR CODE -1203 No x I/O board is not installed.

10-38 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1204 Option SIO port is not installed.

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.

⇒Replace the 1GA board.


_____________________________________________________________________

ERROR CODE -1205 Power sequence board any error.

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

ERROR CODE -1206 Built-in sequence board is not installed.

November 20, 1998 10-39


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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.

⇒Install the built -in sequencer board.


_____________________________________________________________________

ERROR CODE -1248 Number of Axis Changed! SYSINI

The number of axis assigned to the robot has changed.

⇒Change the number of axes and initialize the system.


_____________________________________________________________________

ERROR CODE -1249 Servo parameter Changed! Control power turn OFF & ON.

Servo parameters in system data changed during LOAD.

⇒Turn control power supply OFF and ON.


_____________________________________________________________________

ERROR CODE -1250 Servo board (X) Initialize error.

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

ERROR CODE -1251 Servo board (X) communication error.

10-40 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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.

⇒Replace the 1GA, servo board, and each harness.


_____________________________________________________________________

ERROR CODE -1252 Servo board (A) hardware error code = xxxx.

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Version levels of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

November 20, 1998 10-41


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Version levels of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

10-42 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

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

Main causes of this problem include the following abnormalities:


1. Defect in the servo software.
2. Noise malfunction.
3. Defect in the harness between servo board and power sequence board.
4. Defect of the servo board.
5. Versions of servo and AS software incompatible.
6. Malfunction in the servo or AS software.

⇒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 -1260 Option changed! SYSINI

November 20, 1998 10-43


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1261 Servo board (x) parameter setting error.

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

ERROR CODE -1300 9ZB board watch dog error.

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.

⇒Replace the servo board.


_____________________________________________________________________

ERROR CODE -1306 Servo board command error

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

ERROR CODE -1308 Motor power off.

10-44 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1333 Monitor ID of servo board mismatch!

ROM version of each unit of 1GB board is different.

⇒Replace the 1GB board.


_____________________________________________________________________

ERROR CODE -1334 Servo control line error.

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

ERROR CODE -1401 Amp over current jt-x.

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

ERROR CODE -1407 AMP power unit error.

November 20, 1998 10-45


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

10-46 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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
program start process. If xxxx=FF98, an illegal interrupt
has occurred at the servo CPU.

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.

_____________________________________________________________________

ERROR CODE -1413 Regenerative resistor overheat or disconnect.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1420 Current detector type A(B) mismatch!

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.

⇒Install the 1GB board equipped with 1GM board.


⇒Load the robot system data when this error occurs immediately after initializing.
⇒Reinitialize and re-load the robot/system data if this error occurred immediately after
loading the data.
_____________________________________________________________________

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

November 20, 1998 10-47


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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 xxx=FF98, an illegal interrupt
has occurred at the servo CPU.

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.

_____________________________________________________________________

ERROR CODE -1500 Motor overload jt-x.

10-48 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1501 Motor hot.

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

ERROR CODE -1503 Speed error jt-x.

November 20, 1998 10-49


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1504 Position envelope error jt-x.

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

ERROR CODE -1505 Velocity envelope error jt-x

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

10-50 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1506 Commanded speed error jt-x.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1507 Commanded acceleration error jt-x.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1510 Encoder harness broken jt-x.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1511 Encoder battery low voltage.

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

ERROR CODE -1513 Encoder rotation data abnormal jt-x.

Occurs when there is a difference between the rotation data in the serial encoder data
and the calculated rotation data by incremental technique.

⇒Replace encoder, replace 1GE/1GB 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. Re-
place 1FG board.
_____________________________________________________________________

November 20, 1998 10-51


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1516 Encoder data abnormal jt-x.

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

ERROR CODE -1517 Cannot read initial data encoder jt-x.

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

ERROR CODE -1518 Miscount of encoder data jt-x.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1521 Mismatch ABS and INC encoder of jt-x.

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

10-52 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1524 Encoder line error of jt-x

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1550 Encoder initialize error jt-x.

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

ERROR CODE -1553 Encoder response error jt-x.

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

ERROR CODE -1554 Encoder communication error jt-x.

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

November 20, 1998 10-53


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1555 Encoder data conversion error jt-x.

Occurs when the M-code data from the encoder has error pattern.

⇒Replace encoder, replace 1GE/1GB 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.
_____________________________________________________________________

ERROR CODE -1556 Encoder ABS-track error jt-x.

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1557 Encoder INC-pulse error jt-x.

Occurs when the encoder A and B incremental pulses are abnormal. The encoder
INPALM bit sent with the serial data=1.

⇒Replace encoder, replace 1GE/1GB 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. Re-
place 1FG board.
_____________________________________________________________________

ERROR CODE -1558 Encoder MR-sensor error jt-x.

The state of the MR sensor in the encoder does not match with JT ENCODER in one
rotation.

⇒Replace the encoder harness.


_____________________________________________________________________

10-54 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1559 Power module error jt-x.

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

ERROR CODE -1561 Current sensor disconnect [Servo (x)].

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

ERROR CODE -1563 Servo unit 12V DC error [Servo (x)].

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

November 20, 1998 10-55


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1567 Regenerative resistor error [Servo (x)].

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

10-56 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

ERROR CODE -1570 Regenerative resistor over-heat [Servo (x)].

Specific information on this error code was not available at the time of publication.
_____________________________________________________________________

ERROR CODE -1600 Uncoincidence error jt-x.

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.

⇒Load condition, teaching points, position of mechanical stopper. Check interference


from friction brake. Adjust or replace the decelerators.
_____________________________________________________________________

November 20, 1998 10-57


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1601 Limit switch of joint-x is ON.

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

ERROR CODE -1602 Limit switch signal line is broken.

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

ERROR CODE -1800 AC primary power off.

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

10-58 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

ERROR CODE -1801 24VDC power source is low.

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

ERROR CODE -1802 Primary power source is high.

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

ERROR CODE -1803 Primary power source is low.

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

ERROR CODE -1804 5VDC or ± 12DVC is abnormal.

5VDC or +/-12VDC is out of specifications.

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

November 20, 1998 10-59


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

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

⇒Cycle the controller power OFF and ON.


_____________________________________________________________________

10.1 ERROR RECOVERY

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.

10-60 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

Locate error in the error code


Source of error known Troubleshoot
table and determine the Run program
characteristics and possible and correct and continue
causes of the error source of to monitor
error

Source of error unknown

Error cleared and robot Run program


Press the yellow
runs normally and continue
reset button on the
controller panel to monitor

Error will not clear or


machine is in a “locked” mode

Have any changes been


made to system? New Error clears and robot
Ensure the robot Run program
internal parts, interface Yes runs normally
system data and and continue
components added or programs are to monitor
removed, signal interface compatible
agrees with program, etc.
No

Error or “locked” Run program


Cycle the condition cleared
controller power and continue
off and on to monitor

Error still present

With control Error or “locked” Run program


power on, press the condition cleared and continue
red reset button on the to monitor
1GA board

Continued on next page

Figure 10-1 Trouble Shooting Process

November 20, 1998 10-61


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

ERROR CODES/HELP INFORMATION

Continued from previous pg

Create Error or “locked” Reset Run program


backup information condition cleared system settings not and continue
files and initialize the set to defaults after to monitor
system initialization

Error still present

Remove the
1GA board from the
rack and allow RAM
memory to deplete

Reinstall Error clears and robot


1GA board, Run program
runs normally
initialize the and continue
system, zero to monitor

Begin electrical
troubleshooting and repair if
qualified, call service
technician for further
assistance

Figure 10-1 Trouble Shooting Process (cont’d)

10-62 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

November 20, 1998 A-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

A.1 REMOTE I/O AND CONTROLNET

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.

A-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-1 Sample SLOGIC Program Instructions

Ladder Logic SLOGIC Program Instruction

November 20, 1998 A-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Robot CPU (1GA)


Robot Output 1 ~ 256 OX signals = Robot Output signals 1-256
Robot Input 1001 ~ 1256 WX signals = Robot Input signals 1001-1256
Robot Internal 2001 ~ 2256

1001 ~ 1256 1 ~ 256


PLC Weld
Serial Serial
Input Input
1501 ~ 1564 1601 ~ 1632
1FS Board
Allen-Bradley Weld
PLC *SLOGIC Functions Controllers
(Internal Signals) (maximum 8)

501 ~ 564 601 ~ 632


PLC Weld
Serial Serial
Output 1301~1428 301~428 901~902 Output

Magnetic relay output


(e.g., Motor Power OFF,
I/O Boards External Hold, etc.)*
(1GW, maximum 4,
optional)

*SLOGIC Functions (Internal Signals)

Relays: Non-Retentive 2301 ~ 2428


Relays: Retentive 2501 ~ 2516 * In addition to 901 and 902,
Relays: Timers 2601 ~ 2616 an additional magnetic
Relays: Counters 2701 ~ 2716 relay output "SRUN" signal
SLOGIC Status Signals 2801 ~ 2816 is available. This signal
W/C #1 Not Connected 2801 indicates that SLOGIC is
W/C #2 Communication Error 2802 running. It does not have
NAC Communication Error 2803 a signal number.
Battery Error 2804
W/C #2 Not Connected 2805
W/C #2 Communication Error 2806
Spare 2807 ~ 2816
Message Display 2901 ~ 2964

SLOGIC messages must be named $w2901 ~ $w2964.


Refer to AS Language manual for steps to create
string variables (e.g., $w2901 = "message").

Signal for Last Weld Current 2965

Figure A-1 1FS Signal Numbers

A-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.1.1.1 SLOGIC PROGRAM NAME

Naming a SLOGIC program is different than other AS Language programs. The only
name that can be assigned to a SLOGIC program is spg.

A.1.1.2 SSTOP COMMAND

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.

A.1.1.3 SUPLOAD COMMAND

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.

A.1.1.4 SDOWNLOAD COMMAND

The SDOWNLOAD (abbreviated SD) command is a monitor command used to transfer


the SLOGIC (spg) program from the 1GA board to the 1FS board. If an spg program
already exists on the 1FS board when the SD command is entered, it will be overwritten
with the downloaded program from the 1GA board. After the SD command is entered
the screen will prompt the user to enter a password before the download will be accom-
plished. The password for downloading spg programs is 4989.

A.1.1.5 SOUT COMMAND

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,

SOUT 1001 = 1 and 2

SLOGIC output signal 1001 (controller input signal WX1) will be turned on when 1FS
inputs 1 and 2 are on.

November 20, 1998 A-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.1.1.6 SCNT COMMAND

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:

SCNT 2701 = 101, 110, 102, 10


SOUT 307 = 2701

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.

A.1.1.7 SFLK COMMAND

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.

A.1.1.8 SFLP 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.

A-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.1.1.9 STIM COMMAND

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:

STIM 2601 = 36, 2.4


SOUT 360 = 2601

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.

A.1.1.10 RI/O MONITOR, AUX 180

This function allows the user to view various functions regarding the remote I/O func-
tions (Figure A-2).

A U X .180 R I/O M O NITO R

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

Figure A-2 RI/O Monitor

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

November 20, 1998 A-7


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Figure A-3 RI/O Signal Status Screens

A-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

Figure A-4 Timer and Counter Status Screens

November 20, 1998 A-9


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

A U X .18 0 R I/O M O N ITO R

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

Figure A-5 Slogic Monitor Screen

A-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

AU X.180 R I/O M O NITO R 4 L AST W EL D DATA

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

Figure A-6 Last Weld Data Screens

November 20, 1998 A-11


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

A U X .18 0 R I/O M O N ITO R


S LO G IC STAT U S

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

Figure A-7 Slogic Status Screen

A.1.1.11 RI/O PLC (NAC) SETTING, AUX 181

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.

A U X .18 1 R I/O P LC (N A C) S E TTIN G


*N A C C O NT R O L

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

Figure A-8 RI/O PLC(NAC) Setting

A-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 A-13


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Windows NT/95 ON OFF


C Series Controller
with 1FS board
TEACH LOCK

computer running
RSView software EMERGENCY STOP

with RSLinx PanelView 1200e


ERROR MOTOR POWER

ERROR RESET CYCLE START

TEACH REPEAT HOLD RUN


Windows NT/95
MFP
HOST

AC115V 1A Operator Terminal computer running


RSI PLC-5 A.I.
programming software
with RSLinx

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

ControlNet I/O adapter


1771-ACNR
DeviceNet Network

Figure A-9 ControlNet Network

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.

A-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

The ControlNet network provides real-time communication between PLC processors,


I/O chassis, personal computers, third-party hardware and software, and related I/O
devices. The network also allows the user to perform other functions such as program-
ming the processors on the network and configuring network devices from a single
terminal.

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.

A.2 MOTION CONTROL AND LOCATION DEFINITION

A.2.1 C1MOVE AND C2MOVE COMMAND

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.

November 20, 1998 A-15


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

Figure A-10 Circular Interpolation

A-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.2.3 FMOVE COMMAND

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

Figure A-11 FIXED TOOL DIMENSIONS Screen

November 20, 1998 A-17


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Figure A-12 FMOVE Command

A-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.2.4 MVWAIT COMMAND

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

Robot Path To pt1

Location pt1

Signal 21 Turns ON Here


LMOVE pt1
MVWAIT .5S
SIGNAL 21

Robot Path To pt1

Location pt1

Position Of Robot .5 Seconds After


Beginning Travel To Location pt1

Figure A-13 MVWAIT Command

A.2.5 BSPEED COMMAND

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.

November 20, 1998 A-19


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.2.6 TRHERE COMMAND

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.

A.3 SPRAY GUN AND CLAMP COMMANDS

A.3.1 GUNONTIMER AND GUNOFFTIMER COMMANDS

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.

A.3.2 GUNON AND GUNOFF COMMANDS

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.

A-20 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.3.3 OPENS COMMANDS

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.

A.3.4 CLOSES COMMAND

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.

A.3.5 RELAXS COMMAND

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.

November 20, 1998 A-21


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.4 SYSTEM PARAMETERS AND SWITCHES

A.4.1 NCHON AND NCHOFF COMMANDS

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.

A.4.2 WEIGHT COMMAND

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 MC command is used as a prefix to monitor commands to allow monitor commands


to be processed within a program. The MC commands are: MCABORT, MCCONTINUE,
MCERESET, MCEXECUTE, MCHOLD, and MCSPEED.

A.4.4 AUTOSTART.PC SWITCHES

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.

A.4.5 ERRSTART.PC SWITCH

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.

A-22 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.4.6 AFTER.WAIT.TMR SWITCH

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.

A.5 FUNCTION COMMANDS

A.5.1 DEXT FUNCTION

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.

loc.y = DEXT (dog, 2)

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.

A.5.2 PRIORITY FUNCTION

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.

A.5.3 PCSCAN COMMAND

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.

November 20, 1998 A-23


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

A.6 AS LANGUAGE COMMANDS

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

A-24 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands

Command Abbrev. Description Type Format (Argument)


Stops execution of program
ABORT AB after completion of current M ABORT
step
Forces robot configuration
ABOVE AB P ABOVE
to have JT3 above the wrist

ABS ABS Returns the absolute value F ABS(real)

Sets robot acceleration


ACCEL ACCE P ACCEL acceleration ALWAYS
parameters
Sets accuracy range of
ACCURACY ACCU P ACCURACY range ALWAYS
robot path
Controls when TIMER
AFTER.WAIT.TMR AF S ...AFTER.WAIT.TMR...
function begins
Aligns tool mounting flange
ALIGN AL to be parallel with nearest P ALIGN
base coordinate axis
Logical statement where all
AND AND conditions must met for it to O AND
be considered true
Returns an ASCII value of
ASC ASC F ASC(string, index)
selected characters
Trigonometry calculation of
ATAN2 ATAN2 F ATAN2(real1, real2)
the arctangent
Returns the average value
AVE_TRANS(transformation
AVE_TRANS AVE_TRANS ot two transformation F
value, transformation value2)
locations
Starts PC program
AUTOSTART.PC AUTOSTART. execution when power is S ...AUTOSTART.PC...
applied to the controller
Starts PC program
AUTOSTART2.PC AUTOSTART2. execution when power is S ...AUTOSTART2.PC...
applied to the controller
Starts PC program
AUTOSTART3.PC AUTOSTART3. execution when power is S ...AUTOSTART3.PC...
applied to the controller

BAND BAND Binary logical AND O ... BAND .....

Sets the location of the


BASE BA origin for the base M BASE transformation
coordinate system

November 20, 1998 A-25


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Sets the location of the
origin for the base
BASE BA P BASE transformation
coordinate system to the
specified transformation
Returns the location of the
BASE BASE origin for the base F BASE
coordinate system
The battery error check
BATCHK BAT function occurs on power M BATCHK
up procedure
Forces robot configuration
BELOW BE P BELOW
to have JT3 below the wrist
Sets the output state of the
BITS least significant signal,
BITS BI selected signals to the M
number of signals = value
binary value assigned
Sets the output state of the
BITS least significant signal,
BITS BI selected signals to the P
number of signals = value
binary value assigned
Returns binary signal value BITS (start_number,
BITS BITS
of specified signals number_of_signals)
Binary OR, a logical
statement where either
BOR BOR O ..... BOR .....
condition must met for it to
be considered true

BRAKE BRA Used to stop robot motion P BRAKE

Stops the program from


processing future steps
BREAK BRE P BREAK
until current step is
completed
Used to set speed of block
BSPEED BSP P BSPEED speed
step programs

BXOR BX Binary exclusive logical OR O ..... BXOR .....

Circular interpolated motion


CIMOVE location name, clamp
C1MOVE C1 to a location that lies on the P
number
path of an arc
Circular interpolated motion
C2MOVE location name, clamp
C2MOVE C2 to a location that is at the
number
end of an arc
Causes program execution
CALL CA P CALL program name
to shift to a subroutine

A-26 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


A type of a contol flow
CASE real variable
CASE CASE structure to evaluate P
OF...VALUE...ANY...END
variables
Determines what
CHECK.HOLD CH commands will be effective S CHECK.HOLD
while using keyboard
Returns value of ASCII
$CHR $CHR F $CHR(real-value)
character
Used in editing to change
CHANGE C from one program to E C program name, start stop
another
Resets check sum error on
CHSUM CH M CHSUM
power up

CLAMP CLAMP Identifies CLAMP P CLAMP clamp1 through clamp8

CLOSE CLOSE Closes clamp gripper P CLOSE Clamp number

Close clamp gripper, "I"


CLOSEI CLOSEI specifies when output is P CLOSEI Clamp number
generated
Close clamp gripper, "S"
CLOSES CLOSES specifies when output is P CLOSES Clamp number
generated
Mathamatical ones
COM COM O .... COM ......
complement

CONTINUE CON Resume execution M CONTINUE NEXT

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

November 20, 1998 A-27


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Used to break arrays into DECOMPOSE array name
DECOMPOSE DECO P
component parts [index] = location

DEFSIG DEF Defines special signals M DEFSIG OUTPUT/INTPUT

Stops the program from


processing additional
DELAY DEL P DELAY time
instructions for a specified
time period

DELETE D Deletes program step(s) E D Number of steps

Deletes specified data from DELETE (/P) (/L) (/R) (/S)


DELETE DEL M
the system memory program/location/variable, ......
Returns the transformation
DEST DEST information of current F DEST
motion
Returns the precision point
#DEST #DEST information of current F #DEST
motion
Returns the specified
DEXT DEXT element of the location F DEXT (location name, index)
name
Lists specified data in the DIRECTORY (/P) (/L) (/R) (/S)
DIRECTORY DI M
system memory program/location/variable,......
Switch that changes the
DISPIO_ 01 DIS input and output display S DISPIO_ 01
from x and O to 1 and 0
Returns the distance from
DISTANCE (transformation,
DISTANCE DISTANCE one transformation location F
transformation)
to another
Delays output signal by the
DLYSIG DL M DLYSIG signal number, time
specified time
Delays output signal by the
DLYSIG DL P DLYSIG signal number ,time
specified time
Allows the execution of
DO DO many program instructions M DO instruction
from the monitor prompt

DO DO Do structure P DO .... UNTIL ....

Moves the robot from its


DRAW X direction, Y direction,
current location, in a
Z direction, X rotation, Y
DRAW DRA straight line by the specified P
rotation, Y rotation, Z rotation,
distance in the base
speed
coordinate system

A-28 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Moves a single joint of the
DRIVE DRI robot the specified degrees P DRIVE joint, degrees, speed
from its current location
Forces joint 5 to have a
DWRIST DW P DWRIST
negative position
Returns the X component
DX DX F DX(location)
of the specified location
Returns the Y component
DY DY F DY(location)
of the specified location
Returns the Z component
DZ DZ F DZ(location)
of the specified location
Used to enter the editor
EDIT ED M EDIT program name, step
mode
Part of the IF control flow
ELSE EL P IF ...ELSE ...END
structure
Switch; checks current
ENCCHK_EMG ENCCHK_E position with position when S ENCCHK_EMG
E stop was pressed
Switch; checks current
ENCCHK_PON ENCCHK_P position with position when S ENCCHK_PON
power was turned off
Used to identify the last
END EN step of a control flow P FOR ...END ,CASE ...END
structure
Used to set the ENVIRON-
ENV_DATA ENV M ENV_DATA
MENT DATA information
Used to set the ENVIRON-
ENV2_DATA ENV2 M ENV2_DATA
MENT2 DATA information

ERRLOG ERR Displays the error log M ERRLOG

ERESET ERE Resets error conditions M ERESET

ERROR ERROR Returns error number F ERROR

When the specified error


ERRSTART.PC ERRS occurs, the designated PC S ...ERRSTART.PC...
program begins executing
EXECUTE program name,
EXECUTE EX Execute program M
cycles, step number
Used to exit the editor
EXIT E E E
mode

November 20, 1998 A-29


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Calls subroutine program
EXTCALL EX E EXTCALL
selected by signals
FALSE FALSE Returns false value, 0.0 F ... FALSE ...
Deletes files from PC card
FDELETE FDE M FDELETE file name, ....
or disk
Lists files stored on PC
FDIRECTORY FDI M FDIRECTORY
card or floppy disks
Searches text for specified
FIND F E F character string
characters
Formats PC card or floppy
FORMAT FO M FORMAT
disk
Part of FOR control flow FOR loop variable = start value
FOR FOR P
structure TO end value ... END
Returns dimensions for a
FRAME (location 1, location 2,
FRAME FRAME new relative coordinate F
location 3, location 4)
system
Shows the amount of free
FREE FR M FREE
memory in controller
Causes program execution
GOTO GO to branch to a label within P GOTO label IF condition
the program
Controls output signal for
GUNOFF GUNOFF spray gun operation based P GUNOFF gun number, distance
on distance from location
Controls output signal for
GUNOFF- GUNOFFTIMER gun number,
GUNOFFTIMER spray gun operation based P
TIMER time
on time
Controls output signal for
GUNON GUNON spray gun operation based P GUNON gun number, distance
on distance from location
Controls output signal for
GUNON- GUNONTIMER gun number,
GUNONTIMER spray gun operation based P
TIMER time
in time
HALT HA Stops program execution P HALT
Displays a alphabetic list of
HELP HEL all AS Language M HELP
commands
Displays a alphabetic list of
all AS Language
HELP/DO HEL/DO commands that can be M HELP/DO
used with the DO
instruction

A-30 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Displays a alphabetic list of
HELP/F HEL/F all AS Language function M HELP/F
commands
Displays a alphabetic list of
HELP/M HEL/M all AS Language monitor M HELP/M
commands
Displays a alphabetic list of
all AS Language monitor
HELP/MC HEL/MC M HELP/MC
commands for program
control
Displays a alphabetic list of
HELP/P HEL/P all AS Language program M HELP/P
commands
Displays a alphabetic list of
HELP/PPC HEL/PPC all AS Language process M HELP/PPC
control program commands
Records current robot
location as a transformation
HERE HE or precision point if the P HERE location name
location name is preceded
by a # symbol
Records current robot
location as a transformation
HERE HE or precision point if the M HERE location name
location name is preceded
by a # symbol
Returns current robot
HERE HERE location transformation F HERE
values
Returns current robot
#HERE #HERE location as a precision F #HERE
point value
A linear interpolated robot
motion used to prevent
HMOVE location name, clamp
HMOVE HM configuration errors from P
number
having the wrist joints
aligned(hybrid interpolation)

HOLD HO Stops program execution M HOLD

Moves the robot to the


HOME HO HOME position with a joint P HOME home position number
move
Moves the robot to the
#HOME #HOME HOME precision point F #HOME(home position number)
position with a joint move

November 20, 1998 A-31


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Displays the clamp
specification information,
HSETCLAMP HS M HSETCLAMP
clamp data can also be
changed from this screen
Inserts new program
I I E I
step(s) when editing
Displays the current
ID ID M ID
software version
Part of a control flow
IF IF P IF ....THEN.....ELSE....END
conditional structure
An optional argument used
IF IF with the GOTO command P IF condition GOTO label
to set conditions
Cancels the monitoring of
IGNORE IG specified signals by P IGNORE signal number(s)
"interruption" commands
Used with the DEFSIG
INPUT I command to specify K DEFSIG INPUT
dedicated input signals

INT INT Returns the integer value F INT(expression)

Displays input and output


IO IO M IO signal number
signals and their status
Moves the robot, with a
joint move, to a location
that is the specified JAPPRO location name,
JAPPRO JA P
distance from the specified distance
location, in the Z tool
direction.
Moves the robot, with a
joint move, the specified
JDEPART JD distance from the current P JDEPART distance
location in the Z tool
direction.
Robot motion characterized
by all joints begining and
ending their motion at the JMOVE location name, clamp
JMOVE JM P
same time, the resultant number
path of the tool is an
arching path
Used to remove the current
KILL KI program from the stack for M KILL
deletion

A-32 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Moves the robot with a
linear move, to a location
that is the specified LAPPRO location name,
LAPPRO LA P
distance from the specified distance
location, in the Z tool
direction
Used when editing to select
LAST L E L
the previous step
Moves the robot with a
linear move, from the
LDEPART LD current location the P LDEPART distance
specified distance, in the Z
tool direction
Forces robot configuration
LEFTY LE P LEFTY
to resemble a left arm
Returns the number of
LEN LEN characters in the specified F LEN(string)
string
Displays data and its LIST (/P) (/L) (/R) (/S)
LIST LI M
current value program/location/variable
Used to set the lower limit
LLIMIT LL of travel for each joint of M LLIMIT joint-displacement value
the robot arm
Used to set the lower limit
LLIMIT LL of travel for each joint of P LLIMIT joint-displacement value
the robot arm
Robot motion characterized
by the tool center point
LMOVE location name, clamp
LMOVE LM being driven in a straight P
number
line from the current
location to the destination
Loads data from a floppy
disk or PC card to the
controller system memory,
LOAD LO M LOAD/Q file name
the optional /Q will cause a
prompt to be displayed for
each type of information
Used to change the priority
LOCK LO P LOCK Priority number
status of a robot program
Editor command to replace
M M existing characters with E M /existing string/ new string
new charactes
Used to execute monitor
MC M instructions from within a P MC monitor command
program

November 20, 1998 A-33


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Message switch used to
MESSAGES ME S MESSAGES
enable message display

MM/S MM/S Millimeter/Second K ..... MM/S

MM/MIN MM/M Millimeter/Minute K ..... MM/MIN

Remainder from division


MOD MOD O ..... MOD .....
operation
Executes one motion step MSTEP program, count, step
MSTEP MS M
of a program at a time number
Effects signal timing and
MVWAIT MVWAIT program processing, can P MVWAIT numeric value
be set to distance or time
Executes the next step of
NEXT N K CONTINUE NEXT
the program
Turns the notch filter on,
the notch filter affects servo
NCHOFF NCHOF feedback info. and P NCHOFF
acceleration/deceleration
timing
Turns the notch filter off,
the notch filter affects servo
NCHON NCHON feedback info. and P NCHON
acceleration/deceleration
timing

NOT NOT Negation of information O ..... NOT ......

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

A-34 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Part of the program
ON signal CALL program
ON ON interruption instruction used P
name, priority
for monitoring signals

Part of the program


ON ON interruption instruction used P ON signal GOTO label, priority
for monitoring signals

Used to call a subroutine


ONE ONE program when a specified P ONE program name
error occurs

Sets interruption condition,


ONI signal CALL program
ONI ONI used to call subroutine P
name, priority
programs

Sets interruption condition,


ONI signal GOTO label,
ONI ONI used to GOTO a label within P
priority
the program

OPEN OPEN Opens clamp hand P OPEN clamp number

OPENI OPENI Opens clamp hand P OPENI clamp number

OPENS OPENS Opens clamp hand P OPENS clamp number

Displays history of the last


OPLOG OP M OPLOG
100 operations performed

Logical statement where


OR OR either condition will satisfy O ..... OR .....
the condition

Sets signal timing for OX


OX.PREOUT OX S ....OX.PREOUT....
signals

Used with the DEFSIG


OUTPUT O command to specify K DEFSIG OUTOUT
dedicated output signals

Overwrite command used


for editing with the PC, not
OVER O E O
available with the multi
function keyboard

Suspends execution of
PAUSE PA P PAUSE
current program

Stops current PC program


PCABORT PCA M PCABORT PC number :
execution

November 20, 1998 A-35


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Stops current PC program
PCABORT PCA P PCABORT PC number
execution
Resumes PC program PCCONTINUE PC number :
PCCONTINUE PCC M
execution NEXT
Terminates the PC program
PCEND PC number : task
PCEND PCEN execution at the next STOP M
number
instruction
Terminates the PC program
PCEND PC number : task
PCEND PCEN execution at the next STOP P
number
instruction
Executes the specified PC PCEXECUTE PC number :
PCEXECUTE PCEX M
program program, cycles, step number
Executes the specified PC PCEXECUTE PC number :
PCEXECUTE PCEX P
program program, cycles, step number
Used to remove the current
PCKILL PCK M PCKILL PC number :
PC program from the stack
Sets the scan frequency
PCSCAN PCSC P PCSCAN time
time for the PC program
Displays status information
PCSTATUS PCSTA for the specified PC M PCSTATUS PC number :
program
Used to execute a single PCSTEP PC number : program
PCSTEP PCSTE step of the specified PC M name, execution cycles, start
program step number
The value of pi (approx.
PI PI F PI
3.14) is returned

POINT PO Defines location variable M POINT location1 = location2

POINT PO Defines location variable P POINT location1 = location2

Defines location variable


POINT/A PO/A M POINT/A location1 = location2
component A
Defines location variable
POINT/A PO/A P POINT/A location1 = location2
component A
Defines location variable
POINT/O PO/O M POINT/O location1 = location2
component O
Defines location variable
POINT/O PO/O P POINT/O location1 = location2
component O
Defines location variable POINT/OAT location1 =
POINT/OAT PO/OAT M
components OAT location2
Defines location variable POINT/OAT location1 =
POINT/OAT PO/OAT P
components OAT location2

A-36 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Defines location variable
POINT/T PO/T M POINT/T location1 = location2
component T
Defines location variable
POINT/T PO/T P POINT/T location1 = location2
component T
Defines location variable
POINT/X PO/X M POINT/X location1 = location2
component X
Defines location variable
POINT/X PO/X P POINT/X location1 = location2
component X
Defines location variable
POINT/Y PO/Y M POINT/Y location1 = location2
component Y
Defines location variable
POINT/Y PO/Y P POINT/Y location1 = location2
component Y
Defines location variable
POINT/Z PO/Z M POINT/Z location1 = location2
component Z
Defines location variable
POINT/Z PO/Z P POINT/Z location1 = location2
component Z
Defines location variable
POINT/7 PO/7 M POINT/7 location1 = location2
component of 7th axis
Defines location variable
POINT/7 PO/7 P POINT/7 location1 = location2
component of 7th axis
Displays the status of
POWER POWER S SWITCH POWER
Motor Power, ON/OFF
Returns the Joint angle
#PPOINT #PPOINT F #PPOINT(jt1,jt2,jt3,jt4,jt5,jt6 )
displacement value
System switch used to set
PREFETCH.SIGINS PR signal timing for AS S ....PREFETCH.SIGINS....
language output signals
Sets specified program to
desired step number and
PRIME PRIM M PRIME program, cycle, step
execution cycles before
execution
Displays specified
PRINT PRIN information on the selected M PRINT device : output data,......
display screen
Displays specified
PRINT PRIN information on the selected P PRINT device : output data,.
display screen
Print instruction used to
display the specified
PRINT P E P number of steps
number of program steps
without extra lines

November 20, 1998 A-37


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Sets robot program run
PRIORITY PRIORITY F PRIORITY
status priority
Used to prompt operator to
PROMPT device, output
PROMPT PROM enter specified data to be P
character string, variable
used as a real variable
Used to turn output signal
on for a specified length of
PULSE PU M PULSE signal number, time
time (if time is not entered,
0.2 will be used as default)
Used to turn output signal
on for a specified length of
PULSE PU P PULSE signal number, time
time (if time is not entered,
0.2 will be used as default)
Sets the type of tool used
to calculate robot path, ON
QTOOL Q S ....QTOOL....
for blockstep, OFF for AS
Language
Used to repalce characters
R R E R characters
when editing from the PC
Returns a random value
RANDOM RANDOM F RANDOM
from 0.0 to .999
Switch prohibits recording
REC _ ACCEPT REC S REC _ ACCEPT
of data when set to inhibit
Turns off both sides of an
RELAX RELAX P RELAX clamp number
electromechanical valve
Sets output signal timing to
RELAXI RELAXI turn off both sides of an P RELAXI clamp number
electromechanical valve
Sets output signal timing to
RELAXS RELAXS turn off both sides of an P RELAXS clamp number
electromechanical valve
Used to rename an existing RENAME new name = old
RENAME REN M
program name
Shows the status of the
REPEAT REPEAT S SWITCH REPEAT
TEACH/REPEAT switch
Shows the status of
REP _ ONCE REP S SWITCH REP_ONCE
REPEAT/CONT switch
Used to turn off all general
RESET RES M RESET
purpose output signals
Returns execution of sub-
RETURN RET routine program to caller P RETURN
program

A-38 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Returns execution of
program to designated
RETURNE RETURNE P RETURNE
program when sepecifid
error orrurs
Forces robot configuration
RIGHTY RI P RIGHTY
to resemble right arm
Programs are selected for
RPS RP execution by signals from S .... RPS ....
remote source (PLC)
Shows the status of the
RUN RUN S SWITCH RUN
HOLD/RUN switch
Allows signals to be ON
only while the program is
RUNMASK first signal, number
RUNMASK RU being executed, when the P
of signals
program stops running, the
signals turn OFF
Returns transformation
RX RX representing rotation about F RX(angle)
X-axis
Returns transformation
RY RY representing rotation about F RY(angle)
Y-axis
Returns transformation
RZ RZ representing rotation about F RZ(angle)
Z-axis
Used to select the specified
program step for editing, if
S S no step number is entered, E S step number
the first step will be
displayed
Saves data on PC card or
SAVE file name = program
SAVE SA floppy disk in the specified M
name .....
file
Saves program and
SAVE (/P) (/L) (/R) (/S) (/SEL)
SAVE/P,L,R,S SA/P,... associated variable data to M
file name = program name ....
a specified file

SAVE/ELOG SA/ELOG Saves error log information M SAVE/ELOG file name

SAVE/SYS SA/SYS Saves system data M SAVE/SYS file name

Used to set an output SCNT counter = count up


signal that is associated signal, count down signal,
SCNT SCN M
with a counter reaching a counter clear signal, count
specified value number for output

November 20, 1998 A-39


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Used to set an output SCNT counter signal = count up
signal that is associated signal, count down signal,
SCNT SCNT P
with a counter reaching a counter clear signal, count
specified value. number for output
SCNTRESET counter signal
SCNTRESET SCNTR Used to reset the counter M
number
SCNTRESET counter signal
SCNTRESET SCNTR Used to reset the counter P
number
Switch allows information to
SCREEN SC S SWITCH SCREEN
scroll on display
Used to define the HOME
SETHOME SETH position and accuracy M SETHOME accuracy, HERE
range for output signal
Used to define the HOME2
SET2HOME SET2 position and accuracy M SET2HOME accuracy,HERE
range for output signal
Sets the ON/OFF time of
SFLK SFLK M SFLK flicker signal = time
flicker signal
Sets the ON/OFF time of
SFLK SFLK P SFLK flicker signal = time
flicker signal
Sets an output signal
SFLP output signal = set
SFLP SFLP based on the status of a M
signal, reset signal
set signal and reset signal
Sets an output signal
SFLP output signal = set
SFLP SFLP based on the status of a P
signal, reset signal
set signal and reset signal
Returns the shifted
transformation value, from SHIFT(transformation value BY
SHIFT SHIFT F
the original location and dx, dy, dz)
shifted by the given amount
Returns a logical TRUE -1
or FALSE 0.0 based on
SIG SIG F SIG (signal number ,.......)
signal states being
evaluated by a logical AND
Used to turn specified
output signals on or off, a -
SIGNAL SI M SIGNAL signal number ,.......
symbol before the signal
will turn it off
Used to turn specified
output signals on or off, a -
SIGNAL SI P SIGNAL signal number ,......
symbol before the signal
will turn it off

A-40 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Returns the trigonometry
SIN SIN F SIN(real value expression)
value of the sine operation
Works with a dedicated
input signal, causes the
SLOW_REPEAT SL M SLOW_REPEAT
repeat speed to diminish to
the slow repeat speed
Output signal from the 1FS
board, output is generated SOUT signal number = signal
SOUT SO M
when conditional statement condition
is satisfied
Output signal from the 1FS
board, part of a SLOGIC
SOUT signal number = signal
SOUT SO program, output is P
condition
generated when conditional
statement is satisfied
Sets the overall program
SPEED SP M SPEED speed
playback speed

SPEED SP Sets program step speed(s) P SPEED speed ALWAYS

Returns the square root


SQRT SQRT F SQRT(real value expression)
value of the expression
Stops the robot motion for
STABLE STA P STABLE time
the specified time

STATUS STA Displays system status M STATUS

Executes a single program STEP program, count, step


STEP STE M
step number
Used to set a timer to begin
timing when a specified
STIM timer signal = input
STIM STI signal turns on and M
signal, time
generate an output signal
when the time has elapsed
A SLOGIC program
instruction, used to set a
timer to begin timing when
STIM timer signal = input
STIM STI a specified signal turns on P
signal, time
and generate an output
signal when the time has
elapsed
Terminates program
STOP STO P STOP
execution

November 20, 1998 A-41


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Used when STP_ONCE is
STPNEXT STP turned on to execute the M STPNEXT
next step in the program
When this switch is on, only
STP_ONCE ST one step of the program S STP_ONCE
can be executed at a time
Causes the program to wait
SWAIT SW until the specified signal is P SWAIT signal number, ........
in the specified condition
Returns the logical value of
SWITCH SWITCH the specified switch, TRUE F SWITCH (switch name)
ON -1, or FALSE OFF 0.0
Used to display status and SWITCH switch name, = ON
SWITCH SW M
set system switches (or = OFF)
Initializes system, deletes
SYSINIT SYS all programs and returns to M SYSINIT
default system settings
Causes the robot to move TDRW X direction, Y direction,
from the current location, in Z direction, X rotation, Y
TDRAW TD P
a straight line, the distance rotation, Y rotation, Z rotation,
specified in the instruction speed
Used to program multiple
locations with the same
TEACH TE M TEACH location name
name and incremented by
1
Displays the status of the
TEACH_LOCK TEACH_LOCK TEACH LOCK switch S SWITCH TEACH_LOCK
ON/OFF
Logical statement that is
THEN THEN part of the IF control flow K IF logical THEN ... ELSE ..END
structure
Sets data and time for
TIME TI identifying error messages M TIME yy-mm-dd hh:mm:ss
and ops log entries
Assigns a specified time to TIMER timer number = Set
TIMER TI
the designated timer time.
Returns a real time value
TIMER TIMER for the length of time the F TIMER(timer number)
timer has been counting

A-42 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Part of the FOR...TO
control flow loop structure,
TO TO K FOR .... TO .... END
the value that the loop
variable will count "to"
Specifies tool
TOOL TO M TOOL transformation value
transformation value
Specifies tool
TOOL TOOL P TOOL
transformation value
Adds transformation
TRADD TRADD component of the traverse F TRADD (transformation value)
axis to a location
Returns a transformation
TRANS TRANS F TRANS (X,Y,Z,O,A,T)
having the specified value
Records the transformation
TRHERE TRHE location including the M TRHERE location name
traverse axis component
Records the transformation
TRHERE TRHE location including the P TRHERE location name
traverse axis component

TRUE TRUE Logical TRUE value of -1.0 F ... TRUE ...

Causes program execution


TWAIT TW to wait until specified time P TWAIT time
has elapsed
Displays specified TYPE device: information to be
TYPE TY information on the device M displayed, (value of real
identifed variable)
Displays specified TYPE device: information to be
TYPE TY information on the device P displayed, (value of real
identifed variable)
Sets the upper software
ULIMIT UL M ULIMIT joint movement value
limit of robot travel
Sets the upper software
ULIMIT UL P ULIMIT joint movement value
limit of robot travel
Conditional portion of DO
control flow structure,
UNTIL UN program instructions will be P DO... UNTIL.... logical condition
processed as long as the
logical condition is satisfied
Forces joint 5 to have a
UWRIST UW P UWRIST
positive position

November 20, 1998 A-43


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


Causes program execution
WAIT WA to wait until condition is P WAIT condition
satisfied
Changes servo feedback
calculations to compensate
WEIGHT WE M WEIGHT payload weight
for the payload being
moved
Changes servo feedback
calculations to compensate
WEIGHT WE P WEIGHT payload weight
for the payload being
moved
Displays the current robot
WHERE W position, joint speed, M WHERE display mode (1 to 6)
encoder value, or offsets
Conditional portion of the
WHILE DO control flow
structure, program WHILE logical condition .... DO
WHILE WH P
instructions will be .... END
processed as long as the
logical condition is satisfied
Used to cut (XD), copy
(XY), paste (XP), paste in
XD, XY, XP, XQ, XD, XY, XP, XD line number, XY line
reverse order (XQ) program E
and XS XQ, and XS number, XP, XQ, and XS
data to a paste buffer, and
view paste buffer data (XS)
Used to transfer data from XFER destination program, start
one program to another or step number = souce program,
XFER XF M
a different location of the first step number, number of
same program steps to transfer
Robot will move to the next
location until the specified
XMOVE location TILL signal
XMOVE X signal is received, when the P
number
signal is received, motion
transitions to next location

XOR XOR Exclusive logical OR O ... XOR ...

Sets available signal


ZSIGSPEC ZSIG number setting based on M ZSIGSPEC
configuration

ZZERO ZZ Used to set zeroing data M ZZERO joint number

A-44 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

APPENDIX

Table A-2 AS Language Commmands (Continued)

Command Abbrev. Description Type Format (Argument)


+ + Addition O ..... + .....

- - Subtraction O ..... - .....

* * Multiplication O ..... * .....

/ / Division O ..... / .....

^ ^ Power O ..... ^.....

< < Less than O ..... < .....

<= <= Less than or equal to O ..... <=.....

== == Mathematically equal to O ..... ==.....

<> <> Not equal to O ..... <>.....

>= >= Greater than or equal to O ..... >=.....

> > Greater than O ..... > .....

=< =< Less than or equal to O ..... =< ....

=> => Greater than or equal to O .... => ....

November 20, 1998 A-45


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

GLOSSARY

GLOSSARY ................................................................................................................ G-2

November 20, 1998 G-1


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-3


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-5


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

• CONTINUOUS PATH CONTROL


A type of robot control in which the robot moves according to a replay of closely
spaced points programmed on a constant time base during teaching.

• CONTROL ERROR CODE


A code which identifies system problems whenever an alarm condition occurs.

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

November 20, 1998 G-7


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-8 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-9


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

• EMERGENCY STOP (E-Stop)


An immediate stop of robot motion, selected by the operator with a switch.

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

G-10 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-11


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-12 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

GLOSSARY

• INPUT
Transmission of an external signal into a control system.

• INTEGRATED CIRCUIT (IC)


A combination of interconnected circuit elements which are within a continuous
substrate.

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

• INTRINSIC SAFETY BARRIER (ISB)


An electronic device used in robot controllers to restrict current and voltage to a safe
level.

November 20, 1998 G-13


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-14 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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)

November 20, 1998 G-15


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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

G-16 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-17


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-18 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-19


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

• PULSE WIDTH MODULATION (PWM)


A modulation process in which the instantaneous sampling of the modulating wave is
caused to modulate the duration of the pulse. This type of modulation is also re-
ferred to as pulse duration modulation (PDM), or pulse length modulation (PLM).

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.

G-20 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

• ROM (read-only memory)

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.

November 20, 1998 G-21


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

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.

G-22 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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

November 20, 1998 G-23


C SERIES CONTROLLER
Kawasak AS LANGUAGE REFERENCE MANUAL

GLOSSARY

see pinch point


• TTL
Acronym for transistor-transistor logic.

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

G-24 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

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.

November 20, 1998 G-25


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

INDEX ..................................................................................................................... IN-2

November 20, 1998 IN-1


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

Symbols Auto Servo Off Timer, 4-61


Autostart.PC Switches, 4-51
#DEST function, 6-7 Aux Function 181, A-12
#HERE function, 6-10 AVE_TRANS Function, 6-12
#PPOINT function, 6-10
*, 4-15 B
/Cn, 5-36
/D, 5-36 BASE, 4-43
/Em.n, 5-36 Base Coordinate System, 1-6
/Fm.n, 5-36 BASE Function, 6-12
/Gm.n, 5-36 BATCHK, 4-59
/Hm, 5-36 BELOW Command, 5-17
/ln, 5-36 Binary Operators, 1-11
/S, 5-36 Binary Signal Control, 4-63
/Un, 5-36 Binary Signals, 6-2
/Vn, 5-36 Binary Value, 5-32
1FR, A-2 BITS, 4-64
1FS board, A-2 BITS Command, 5-32, 6-2, 6-3, 7-12
1FS board, A-5, A-7, A-14 Block Structure, 5-29
1GA board, A-2, A-5 BNC Connectors, A-14, A-15
1GW, A-2 BRAKE Command, 5-14
Branch, 5-17, 5-18
A BREAK, 5-15, 5-16
BREAK Command, 5-14, 7-11
Abnormal Check Sum, 4-62 BS Key, 4-11
ABORT, 4-29, 4-30 BSPEED Command, A-19
ABORT Command, 7-4
ABOVE Command, 5-17 C
Absolute Speed, 5-12
Absolute Velocity, 5-12 C1MOVE and C2MOVE commands, A-15
ACCEL Command, 5-13 CALL, 5-33, 5-34
Accuracy, 1-3 CALL Command, 5-19, 7-12
ACCURACY Command, 5-13 CALL Instructions, 5-27
After Wait Timer Switch, 4-51 Caller Program, 5-20
AFTER.WAIT.TMR System Switch, A-23 Cartesian Coordinate System, 1-6, 1-9
ALIGN Command, 5-9 CASE Command, 5-29
Allen Bradley, A-14 CASE OF Command, 5-30, 7-14
ALWAYS, 4-36, 5-12 CASE...OF...VALUE...ANY...END, 5-29
Ambiguity Errors, 5-10 CHANGE, 4-12
American Standard Code, 1-11 Character String Functions, 6-2
American Standard Committee, 1-3 Character String Message, 5-37
Analog Outputs, A-2 CHECK Key, 7-4
ANSI/RIA, 2-2 CHECK.HOLD, 4-48
ANY Command, 5-29 CHSUM, 4-62
Argument, 1-3 Circular Interpolation, A-15
Array, 1-15, 6-10 Clamp, 5-3, 5-4
Array Variables, 1-15 Clamp Control Commands, 5-14
AS Language Functions, 6-2 Clear Check Sum Error, 4-62
AS Monitor Software, 8-3 CLOSE Command, 5-15, A-21
ASC Function, 6-4 CLOSEI Command, 5-16
ASCII, 1-3 CLOSES Command, A-21
ASCII Character, 1-14 CMOS RAM, 1-3
ASCII Characters, 1-3 COM, 1-11
ASCII Values, 1-11 Comment, 7-3

IN-2 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

Compound Transformation, 4-31, 6-8, 7-9, 7-11 DISTANCE Function, 6-4


Compound Transformtion Locations, 1-9 DLYSIG, 4-64
Conditional Expression, 5-18 DLYSIG Command, 5-31
Conditional GOTO, 5-17 DO, 4-31, 4-48
Config.Sys, 8-5 DO HOME, 5-7
CONTINUE, 4-27, 4-29, 4-30, 4-48 DO HOME2, 5-7
CONTINUE NEXT Command, 5-20 DO Loop, 5-26
Control Flow Structure, 5-22, 5-26, 7-12, 7-16 DO...UNTIL, 5-26
Control-Net, A-13 DRAW Command, 5-8, 5-14
Control-Net Diagram, A-14 DRIVE Command, 5-7
Control-Net Topologies, A-14 DWRIST Command, 5-17
Coordinate System, 6-8 DX Function, 6-4
COPY, 4-22 DY Function, 6-4
Counter Status, A-9 DYLDSIG, 5-32
CP, 4-48 DZ Function, 6-4
CP Switch, 5-13
CYCLE START, 4-27, 7-4 E
Cycle Stop Switch, 4-49 EDIT, 1-5
CYCLE.STOP, 4-49 Editor Mode, 1-2
D Editor Mode Syntax, 1-5
Eemergency Stop button, 7-4
Data Editing, 1-4 ELSE Instruction, 5-23
Data Highway Plus, A-15 Emergency Stop Switch, 3-2, 3-8
DECEL Command, 5-13 ENCCHK_EMG, 4-59
Decimal Number, 5-36 ENCCHK_PON, 4-60
Decimal Value, 6-2 Encoder Abnormality Error, 4-60
DECOMPOSE Command, 6-10 Encoder Deviation, 4-60
Dedicated Signals END, 5-26
Inputs, 1-5 END Command, 5-25, 5-29, 7-12, 7-13, 7-16
Outputs, 1-5 END Instruction, 5-22
Default Interface Device, 5-37 ENV_DATA, 4-61, 4-62
DEFSIG, 4-53, 4-54 ENV2_DATA, 4-62
DELAY Command, 5-10 Environmental Data, 4-61
DELETE, 4-8, 4-11, 4-19 Environmental Data2, 8-5
DELETE/, 4-20 EREST, 4-57
DELETE/P, 4-20 ERRLOG, 4-46
DELETE/R, 4-20 ERROR Function, 6-6
DELETE/S, 4-20 Error Messages, 1-5
DEST Function, 6-7 ERROR RESET, 4-57
Device Number, 5-35, 5-37 Error Start PC Switch, 4-51
DEXT Format, A-23 ERRSTART.PC, 4-51
Dimensions, 1-6 ERRSTART.PC System Switch, A-22
DIR, 4-15 EXECUTE, 1-3, 4-27, 4-29, 4-48, 5-20, 7-4
DIR/P, 1-4, 4-21 Execution Status, 6-5
DIRECTORY, 4-15, 4-17, 4-23 EXIT, 4-13, 4-54
DIRECTORY/L, 4-16 EXTCALL, 4-50
DIRECTORY/P, 4-16 EXTCALL Command, 5-32
DIRECTORY/R, 4-16 External Fixed Point, A-17
DIRECTORY/S, 4-17 External I/O Signals, 5-20
Discrete Hard Wired Systems, A-2
DISPIO, 4-39 F
DISPIO_01, 4-52 FDELETE, 4-26

November 20, 1998 IN-3


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

FDIRECTORY, 4-23 IGNORE Command, 5-35


Fiber-Optic, A-15 Index Variable, 5-29
FIND, 4-9, 4-10 Initialization, 4-57
FIRST_WELD, 1-3 INSERT, 4-8, 4-11
Fixed Linear Interpolation (FLIN), A-17 INT Function, 6-5
Fixed Point Notation, 5-36 Integer Value, 6-5
Fixed Tool Dimensions, A-17 Integers, 1-10
Flowcharting, 7-5 Internal I/O Signals, 5-20
FOR Command, 5-28 Interruption, 5-34
FOR...TO...STEP...END, 5-28 IO, 4-39
FORMAT, 4-22
Format Specifications, 5-36 J
FRAME Function, 6-8 JA10/JS10 Work Envelope, 2-11
FREE, 4-40 JA5/JC5/JS5/JW5 Work Envelope, 2-10
Functions, 6-2 JAPPRO, 5-4
G JDEPART, 5-6
JMOVE, 5-3
GO TO, 5-29 Joint Approach, 5-4
GOTO, 5-33, 5-34 Joint Depart, 5-6
GOTO Command, 5-17, 7-11 Joint Interpolated, 5-3
GUNOFFTIMER Command, A-20 JS30 Work Envelope, 2-12
GUNONTIMER Command, A-20 JS40 Work Envelope, 2-13
JUMP, 4-50
H Jump, 5-19
HALT, 4-30 K
HALT Command, 5-21
HELP, 4-58 KCMON, 8-3
HELP/DO, 4-58 KCWIN, 8-3
HELP/F, 4-58 Keyboard Mode, 5-35
HELP/M, 4-58 KILL, 4-30
HELP/MC, 4-58
HELP/P, 4-58 L
HELP/PPC, 4-58 Label, 5-17, 5-18, 7-3, 7-11
HERE, 4-31, 4-32, 4-45 Ladder Logic, A-2, A-3
HERE Function, 6-10 LAPPRO, 5-6
Hexadecimal Number, 5-36 LAST, 4-7
HMOVE Command, 5-10 Last Weld Data, A-11
HOLD, 4-29, 4-30 Last Weld Data Screen, A-11
HOLD/RUN Switch, 3-2, 3-7, 3-8 LDEPART, 5-7
HOME, 4-45, 5-7, 7-11 Least Significant Bit, 5-32, 6-2
HOME2, 4-46, 5-7 Left Hand Rule, 1-7
HSETCLAMP, 4-52 LEFTY, 5-16
Hybrid Interpolated, 5-10 LEFTY Command, 5-16
I LEN Function, 6-4
Linear Approach, 5-6
I/O Signals, 1-4 Linear Depart, 5-7
ID, 4-59 Linear Interpolated, 5-4, 5-6
IF Argument, 5-17 LIST, 4-17, 4-18
IF Command, 5-18 LIST/L, 4-18
IF THEN Structure, 7-16 LIST/P, 4-18
IF...THEN...ELSE...END, 5-23 LIST/R, 4-19, 6-2, 6-3
IGNORE, 5-33 LIST/S, 4-19

IN-4 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

LLIMIT, 4-42 OPENI Command, 5-15, A-21


LMOVE, 5-4 OPENS Command, A-21
LOAD, 4-25 Operators, 6-2
Location Functions, 6-2 OPLOG, 4-46
Location Variables, 1-6, 4-31 Order of Operations, 1-13
LOCK Command, 5-22, A-23 OSHA, 2-2
LOCK Priority, 5-22 OVER, 4-11
Logical Expression, 5-25, 5-26 OX Preout Switch, 4-49
Logical IF, 5-23, 5-26 OX.PREOUT, 4-49
Logical Value, 6-2
Logical Values, 1-11 P
Loop Counter, 5-28 Parallel I/O, A-2
Loop Variable, 5-25, 5-26, 5-28 PAUSE, 4-30
Looping, 5-22 PAUSE Command, 5-21
M PC Interface, 8-2
PC Program, 5-19, 7-2
Mainline Program, 7-11 PC Program Instructions, 9-2
Mathematical Functions, 6-2, 6-12 PCABORT Command, 7-5, 9-3
Maximum Speed, 5-12 PCCONTINUE Command, 7-5, 9-3
MC Command, A-22 PCEND Command, 7-5
Memory Capacity, 1-3 PCEXECUTE Command, 7-5, 9-3
MESSAGES, 4-51 PCKILL Command, 9-3
Messages Switch, 4-51 PCMCIA Slot, 8-5
MODIFY, 4-10 PCSCAN Command, 9-4, A-23
Monitor Commands, A-22 PCSTATUS Command, 9-2
Monitor Mode, 1-2 PCSTEP Command, 9-3
Monitor Mode Syntax, 1-4 Playback Accuracy, 5-13
Monitor Speed, 4-26 Playback Mode, 1-2
Motion Control Commands, 5-3 PLC, A-13
Motion Velocity, 5-12 PLC(NAC), A-12
Motor Power Lamp, 3-7 POINT, 4-33, 4-34
Motor Power Lamps, 3-2 POINT/7, 4-34
Motor Power Push Button, 3-7 POINT/A, 4-34
MSTEP, 4-28, 4-29, 4-48 POINT/O, 4-34
Multi Function Panel, 1-6, 5-37, A-2 POINT/OAT, 4-34, 4-35
Multiple Calls, 5-19 POINT/T, 4-34
POINT/X, 4-34, 4-35
N POINT/Y, 4-34, 4-35
Nested Structure, 5-23 POINT/Z, 4-34, 4-35
Node Adapter Chip (NAC), A-12 Power Requirements, 1-6
NOT, 1-11 Precision Location, 6-10
NTCHON and NCHOFF commands, A-22 Precision Locations, 1-8
NULL, 4-43 Precision Points, 1-6
NULL Function, 6-9 PREFETCH.SIGINS, 4-50
NULL Tool Center Point, 7-11 PREFETCH.SIGINS Switch, A-21
Numerical Operators, 1-11 PRIME, 4-27
PRIME Command, 7-4
O PRINT, 4-6, 4-7, 4-51
PRINT Command, 5-35
ON Command, 5-33 Priority, 5-34
ONE Command, 5-22 PRIORITY Function, A-23
ONI Command, 5-34 Process Control Programs, 5-22, A-22
OPEN Command, 5-14

November 20, 1998 IN-5


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

Program Change, 4-61 S


Program Control Commands, 4-26, 5-17
Programmable Logic Controllers (PLCs), 1-2 S-LOGIC Monitor Screen, A-10
PROMPT Command, 5-37 S-LOGIC Status Screen, A-12
PULSE, 4-64, 5-32 SAVE, 4-23
PULSE Command, 5-31 SAVE/ELOG, 4-25
Pulse Command, 7-16 SAVE/L, 4-24
PWM, A-22 SAVE/P, 4-24
SAVE/R, 4-24
Q SAVE/S, 4-25
SAVE/SYS, 4-25
QTOOL, 4-44, 4-50 SCALL Command, 5-21
QTOOL Switch, 4-50, 7-9 Scientific Notation, 5-36
R SCREEN, 4-51
Screen Switch, 4-51
RANDOM, 1-3 Secondary Coordinated Systems, 1-9
Real Numbers, 1-11 Sequence Control, 5-22
Real Value Functions, 6-2 Serial Interface, 8-2
Real Variables, 1-13 Servo Motor Power-on Procedures, 3-7
Record, 4-35 SET2HOME, 4-46, 5-7
Record Acept, 4-61 SETHOME, 4-45, 5-7
RELAX Command, 5-16 SHIFT Function, 6-11
RELAXI Command, 5-16 SIG Command, 6-2
RELAXS Command, A-21 SIGNAL, 4-63, 5-32
Remote Input/Output, A-2 SIGNAL Command, 5-31, 7-11, 7-12
RENAME, 1-4, 4-21 Signal Monitoring, 5-34, 5-35
Repeat Count, 4-28 Signal Timing, 4-49
Repeat Condition, 4-30 Singularity, 5-10
Repeat Once Switch, 4-50 SLOGIC, A-2, A-3
REPLACE, 4-11 SLOGIC Program Name, A-5
RESET, 4-63 SLOGIC Programming, A-2
RESET Command, 5-30 SLOGIC Programs, 7-2
Reset System Data, 4-57 SLOW_REPEAT, 4-60
RETURN Command, 5-20, 7-18 Software Features, 1-4
RETURNE Command, 5-22 SOUT Command, A-5
RG-6 Coaxial Cable, A-15 Special Characters, 5-36
RI/O Monitor, A-7 Special Features, 1-5
RI/O Signal Status, A-8 SPEED, 4-26
RIGHTY, 5-16 Speed, 1-4
RIGHTY Command, 5-16 SPEED Command, 5-12
RISC CPU, 1-3 SPG Program, A-5
Robot Control Program, 7-2 SRAM, 4-59
Robot Controller, 1-3 SRAM PC Cards, 8-5
RPS, Remote Program Selection, 4-50 SSTOP Command, A-5
RPS-ST, 5-32 STABLE Command, 5-11
RS-485, A-2 STATUS, 4-36
RS232C, 8-2 STEP, 4-6, 4-7, 4-28, 4-29, 4-48
RSLinx, A-14 STEP Command, 5-28, 7-4
RSView, A-14 Step Number, 7-3
RUNMASK Command, 5-32 Step Once Switch, 4-51
RX Function, 6-11 STEP_CONT, 4-30
RY Function, 6-11 STEP_ONCE, 4-30
RZ Function, 6-11 STIM Command, A-7

IN-6 November 20, 1998


Kawasak C SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL

INDEX

STOP Command, 5-21 TWAIT Command, 5-21


STOP Instruction, 5-20 TYPE, 4-51
Stopping Robot Motion, 7-4 TYPE Command, 5-35
STP_ONCE, 4-51
STPNEXT, 4-30 U
String Expressions, 5-35 ULIMIT, 4-41
String Variables, 1-14 Unconditional GOTO, 5-17
Subroutine, 5-19, 5-20, 5-25, 5-33 Universal Remote I/O, A-15
SUPLOAD Command, A-5 UNTIL Command, 5-27
SWAIT, 4-30, 4-36 UT-Series Work Envelope, 2-14
SWAIT Command, 5-20, 7-16 UTOSTART.PC System Switches, A-22
Switch, 4-47 UWRIST Command, 5-17
Switch Function, 6-6
Syntax Conventions, 1-3 V
Syntax Error, 1-3
SYSINIT, 4-57 VALUE Command, 5-29, 5-30
System Initialization, 4-57 VALUE Statements, 7-12

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

November 20, 1998 IN-7

You might also like