D Series Controller AS Language Manual
D Series Controller AS Language Manual
Kawasak
D SERIES CONTROLLER
AS LANGUAGE REFERENCE MANUAL
MPPDCONTO63E
Kawasak
Kawasaki Robotics (USA), Inc.
COPYRIGHTED DOCUMENT - INTENDED FOR CUSTOMER REFERENCE ONLY
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
permission of Kawasaki Robotics (USA), Inc.
The descriptions and specifications in this manual were in effect when it was submitted
for publishing. Kawasaki Robotics (USA), Inc. reserves the right to change or discon-
tinue specific robot models and associated hardware and software, designs, descrip-
tions, specifications, or performance parameters at any time and without notice, without
incurring any obligation whatsoever.
This manual presents information specific to the robot model listed on the title page of
this document. Before performing maintenance, operation, or programming procedures,
all personnel are recommended to attend an approved Kawasaki Robotics (USA), Inc.
training course.
REVISION HISTORY
Revision Release
Description of Change Initials
Number Date
INTRODUCTION
INTRODUCTION
I.0 INTRODUCTION
The D Series Controller 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 specifi-
cally for use with Kawasaki robot controllers. This text provides information on creating
programs, running programs, and editing programs using AS Language commands. AS
Language is relatively easy to learn with many keywords, syntax sequences, and inter-
face commands 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 compo-
nent interfacing with AS Language programs includes: programmable logic controllers
(PLCs), lasers, weld controllers, gray scale vision, and remote sensing systems.
INTRODUCTION
F-series
Adjustable between 0.03 mm - 5,000 mm
Z-series
Adjustable between 0.3 mm - 5,000 mm
Data Editing: Step insertion and deletion, and rewriting of auxiliary and
positional data.
INTRODUCTION
INTRODUCTION
INTRODUCTION
Supplemental
Data Storage: PC flash RAM Memory Card 8MB, PCMCIA 2.1 Slot
Floppy disk drive (option)
Personal computer (option)
Frequency: 50/60 Hz
OVERVIEW
OVERVIEW
1.0 OVERVIEW
The Kawasaki robots are controlled by a software-based system called AS. This chapter
describes the overall view of the AS system.
In the AS system, the operator can enter commands or execute programs using AS
Language. The AS system is stored in the nonvolatile memory in the robot controller.
When the control power is set to ON, the AS system is activated and waits for a com-
mand input.
The AS system controls the robot according to the given commands and programs. It
can also execute several types of functions while a program is running. Some of the
functions that are used while a program is running are:
NOTE
In accordance with the international standards organiza-
tion (ISO), location and posture of the robot are referred
to as pose.
OVERVIEW
In the AS system, the robot is controlled and operated based on a program that de-
scribes the necessary tasks and which is made prior to operation (Teaching Playback
Method).
• Monitor commands
• Program instruction
Monitor commands:
Used to write, edit, and execute programs. They are entered after the prompt (>) shown
on the screen, and are immediately executed. Some of the monitor commands are used
within the programs to work as program instructions.
Program instructions:
Used to direct the movements of the robot, to monitor or control external signals, etc., in
programs. A program is a collection of program instructions.
OVERVIEW
1. The robot can be moved in a continuous path motion (CP motion: Continuous Path
motion)
2. Two coordinate systems, base coordinates and tool coordinates, are used for pre-
cise control of the robot movement.
3. The coordinates can be shifted or rotated corresponding to the pose changes of the
workpiece.
5. Programs are operator named and the number of programs is only limited to the
memory available in the controller.
6. Each operation segment can be defined as a separate program and these pro-
grams can be called as subroutines to accomplish complex tasks.
9. Programs and pose (location) data can be displayed on a terminal and saved to a
PC card or an optional floppy drive.
10. Programming can be done off-line using a personal computer loaded with the termi-
nal software (KRterm or KCwin32) provided by Kawasaki.
OVERVIEW
Teach Pendant
Personal
Computer
Peripheral
Controller
OVERVIEW
The operations shown in figure 1-2 are available when a personal computer, with the
KRterm or KCwin32 terminal software loaded, and the teach pendant are connected to
the D series controller.
NOTE
KRterm or KCwin32 monitor software operates with win-
dows 95/98/Me/2000/XP. The appropriate operating
system must be set up.
D Series Controller
TEACH REPEAT
CHECK INTER CANCEL
T. LOCK MENU TEACH
ERROR SPEED A
ERROR HOLD RUN SELECT
RESET
PROG
EXT AXIS
STEP (Robot)
S
GO
CHECK JOG
S CONT
BACK
1
— X +
INS DEL
2
O. WRITE
— Y +
AUX POS
MOD REC MOD 3
— Z +
CL1 CL2 CLn
4
— rx +
SPD ACC TMR TOOL
7 D 8 E 9 F BS 5
— ry +
OX WX WS CC
?
4 A 5 B 6 C CLEAR 6
— rz +
ON OFF CLAUX WRK
1 2 3 C —
7
+
, - J/E
0 . I
6037-1200
KRterm or KCwin32
Used to:
Used to: Select Programs
Enter AS Language Commands Display Program Names and Steps
Create AS Language Programs Manually Control the Robot
Save/Load Programs Monitor Signals
Set Repeat Conditions
Teach Pose Data
Used For Daily Operations: Teach auxiliary Data (Block Teaching)
Select Teach/Repeat Mode
Set Motor Power ON
Cycle Start Programs
Select Hold/Run Mode
Emergency Stop Robot
SAFETY
SAFETY
2.0 SAFETY
Safety is the most important consideration when using industrial automated and robotic
equipment. All operators, teachers, maintenance, and repair personnel must be aware
of all automated, peripheral, and robotic equipment that occupy the safeguarded space
(refer to section 2.1.1 below), and their associated operational, maintenance, and repair
procedures. For this reason it is recommended that all personnel who operate, teach,
maintain, and repair Kawasaki industrial robots (hereafter referred to as robots), attend
a Kawasaki approved training course that pertains to each employee’s specific job
responsibilities.
The information in this unit is intended to enhance existing safety guidelines that are
provided by municipal, state, or national governments; it does NOT supersede existing
rules, regulations, or guidelines. Because safety is the primary responsibility of the user,
owner, and employer, Kawasaki recommends that specific safety guidelines and recom-
mendations be adopted from safety design and implementation professionals.
All safety issues and descriptions, presented in written or oral form by a representative
of Kawasaki Robotics (USA), Inc., are intended to provide general safety precautions
and procedures. These safety precautions and procedures are NOT intended to provide
all safety measures necessary for the protection of personnel and equipment in the work
environment.
Kawasaki robots are safe for use when all safety guidelines are followed. It is the re-
sponsibility of the end user to follow robot operation safety guidelines for the protection
of personnel and equipment.
SAFETY
2.1 TERMINOLOGY
The following terms are used in this safety section and throughout Kawasaki Robotics
(USA), Inc. documentation.
automatic mode Operating mode in which the control system operates in accordance
with the task program.
automatic operation The state in which the robot is executing its programmed task.
continuous path control 1 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 teach-
ing. The points are first recorded as the robot is taught along a desired path, and the
position of each axis is recorded by the control unit on a constant time basis by scan-
ning axis encoders during the robot motion. The replay algorithm attempts to duplicate
that motion. 2 Interpolation of a desired path curve between a few taught points.
continuous path system A type of robot movement in which the tool performs the task
while the motion axes are moving. All motion axes may move simultaneously, each at a
different velocity, in order to trace a required path or trajectory.
controller The manipulator power supply and control system. The controller contains
microprocessors; memory for the operating system, programs, and data; operator and
equipment interfaces; communication hardware and software; and servo amplifiers to
drive the manipulator servo motors.
emergency stop The operation of a circuit that overrides all other robot controls, re-
moves drive power, causes all moving parts to stop, and removes power from other
hazardous functions present in the safeguarded space, and does not cause additional
hazards.
limit switch (also overtravel limit switch) An electrical switch positioned so that when
physical contact with an object occurs, the switch is activated.
SAFETY
operator The person designated to start, monitor, and stop the operation of a robot or
robot system. The operator may also interface with a robot for production purposes.
path The path traced by the tool center point (TCP) during the execution of a task
program.
peripheral equipment The equipment used in conjunction with the robot for a com-
plete robotic system. This equipment includes grippers, dispensers, weld guns, convey-
ors, part positioners, part or material feeders, and any equipment located within the
safeguarded space that is not part of the robot.
pinch point Any point where it is possible for a part of the body to be injured between
the moving or stationary part of a robot and the moving or stationary part of associated
equipment, or between the material and moving part of the robot or associated equip-
ment.
restricted space (formerly known as work envelope) The space defined by the maxi-
mum reach of the manipulator, including the end-effector and work piece, in all direc-
tions, after a limiting device is actuated.
safeguarded space (formerly known as work cell) The space defined by the perimeter
safeguarding devices.
slow speed control A mode of robot motion control where the speed is limited to
250 mm/sec. This allows the teacher to either withdraw from hazardous motion or stop
the robot.
SAFETY
teach pendant (also multi function panel) A portable hand-held programming device
that interfaces with the robot controller. It contains keys (soft or touch keys), switches
(e.g., emergency stop, enabling device, teach/automatic mode), indicators, and a dis-
play. Used to direct the controller to position the robot, record positional and auxiliary
data information, and interface with auxiliary equipment.
teach programming A method of entering a control program into the robot controller.
The robot is manually moved by an operator using a teach pendant. The teacher
records positions and other data which is saved to the robot controller as the robot is
moved through the desired path.
teacher A person who provides the robot with a set of instructions to perform a task.
SAFETY
Four recommended sources for national safety laws and regulations are:
[Link]
[Link]
[Link]
Headquarters
[Link]
SAFETY
[Link]
SAFETY
The following symbol and its enclosed text, when presented in Kawasaki Robotics
(USA), Inc. documentation, provides EXTREMELY IMPORTANT personnel safety infor-
mation. The information relates to the text that directly follows the symbol.
! WARNING
Warning symbols indicate processes or procedures that,
if not followed properly, can result in serious injury or
death to personnel.
The following symbol and its enclosed text, when presented in Kawasaki Robotics
(USA), Inc. documentation, provides VERY IMPORTANT equipment protection informa-
tion. The information relates to the text that directly follows the symbol.
! CAUTION
Caution symbols indicate processes or procedures that,
if not followed properly, can result in equipment
damage.
SAFETY
Various batteries are used for data backup in the robot mechanical unit and controller. if
not used and disposed of properly these batteries may malfunction, ignite, overheat,
explode corrode, leak, etc. Always use and dispose of all batteries in compliance with
the following warnings and cautions.
! WARNING
1. Only use batteries specified by Kawasaki.
! CAUTION
Never dispose of depleted batteries with garbage that is
disposed of in an incinerator, land-fill, dumping-ground,
etc. When disposing of batteries, insulate with tape so
as not to contact other metal. Comply with local regula-
tions and rules for battery disposal.
SAFETY
• Personal safety
All applicable safety procedures must be followed consistently and be an integral part of
standard operating procedures.
• Comply with ALL applicable OSHA, NIOSH, MSHA, local, state, national, and
facility safety specifications and procedures.
• AVOID trap points where personnel can become trapped between moving and
stationary devices.
SAFETY
• Before initiating robot motion, ensure that ALL personnel are clear of the safe-
guarded space and know how the robot will perform when motion is initiated.
• Before operating the robot, ensure the work area is free of tools, lubricants, clean-
ing equipment, and debris.
• If unsafe working conditions are observed, IMMEDIATELY report them to the super-
visor or facility safety coordinator.
• ALL robot operators must be able to identify, by name and function, ALL switches,
control devices, and signals that initiate robot motion.
• NEVER defeat, render useless, jumper out, or bypass any mechanical or electrical
safety device.
• To ensure personnel safety, ALL safety devices approved for use in the facility must
be properly installed and maintained.
• During robot operation, NEVER attempt to stop or brake the mechanical unit with a
part of your body.
• Use E-stop switches to stop mechanical unit motion in emergency situations ONLY.
SAFETY
• Before operating the robot, know the boundaries of the restricted space.
• ALWAYS keep the work area clean and free of debris which includes, but is not
limited to, oil, water, tools, and electronic test equipment.
• Because the teach pendant has provisions to protect the operator during teaching
operations, the ONLY person allowed in the safeguarded space is the person oper-
ating the teach pendant. Teach pendant safety provisions include an E-stop switch
and enabling device.
• Before operating the robot, know the boundaries of the restricted space.
• Because the teach pendant has provisions to protect the operator during teaching
operations, the ONLY person allowed in the safeguarded space is the person oper-
ating the teach pendant. Teach pendant safety provisions include an E-stop switch
and enabling device.
• Before operating the robot in point-to-point mode, the operator must be COM-
PLETELY clear of the safeguarded space. During point-to-point playback opera-
tions, the robot has information about its present location and the next point to
which it is programmed to move. If an object lies between these two points, the
robot will impact the object.
• Playback accuracy and speed affect path coordinate geometry. When changing
program accuracy or speed, ALWAYS test a program in the point-to-point mode, or
at a slow speed, before performing continuous path operation in the repeat mode.
SAFETY
! WARNING
When the robot controller’s main disconnect is set to
OFF, the input side may still be energized. Before per-
forming maintenance on the main disconnect, ALWAYS
set the source disconnect to OFF and tag and lock it
out.
• If an axis is not supported when the servo drive motor is removed, the axis will fall.
The brake assembly is part of the servo drive motor.
• If an axis is not supported and the brake release switch is activated, the axis will fall.
• Before working on pneumatic or high pressure water supplies, turn the supply
pressure off, and purge ALL lines to remove residual pressure.
• Robot controller interlock control circuits are identified with yellow wiring. BEFORE
adjusting or repairing an interlock control circuit device, locate the disconnect sup-
plying power to the device and set it to OFF.
SAFETY
To safeguard the user, Kawasaki robot systems are equipped with many safety features,
including the following:
• The teach pendant and operation panel are equipped with red mushroom-type E-
stop switches. If an optional interface panel is installed, the operation panel E-stop
switch is relocated to the optional interface panel.
• All robot axes are monitored by the robot controller for velocity and deviation errors.
If an over-velocity or deviation condition is detected, the robot faults in a velocity or
deviation error condition.
• Teach and check mode velocities are limited to a maximum of 250 mm/sec
(9.843 in/sec).
• JT1 is equipped with overtravel limit switches. Optional overtravel limit switches are
available for JT2 and JT3.
• All F-series and Z-series mechanical units have overtravel hardstops on the JT1,
JT2, JT3, and JT5 axes.
• All robot axes are equipped with 24 VDC electromechanical brakes that engage
when power is removed. If the robot loses power unexpectedly, the mechanical unit
arm is held in position by the brakes and does not fall.
SAFETY
2.6.3 FS02N/FS03N
SAFETY
2.6.15 ZT130
SAFETY
2.6.16 ZT165
SAFETY
2.6.17 ZT200
AS SYSTEM
AS SYSTEM
3.0 AS SYSTEM
AS Language for the C controller is a software based control system and high-level
language used to interface with the robot controller and control robot motion. The AS
software is permanently stored in the robot controller’s memory and is activated as soon
as controller power is set ON. It continuously generates robot control commands and
can simultaneously interact with a programmer, permitting on-line program generation
and modification. The teach pendant and/or a personal computer is used to access AS
Language.
The AS system consists of the monitor mode, the editor mode, and the playback mode.
• Monitor Mode: This is the default mode in the AS system. Monitor commands are
executed in this mode. The editor or playback modes are accessed from this mode.
• Editor Mode: This mode enables the user to create a new program or modify an
existing program. Only editor commands are accepted by the system in this mode.
• Playback Mode: The system is in the playback mode during program execution.
Computations for robot motion control are performed and commands entered from
the terminal are processed during unoccupied CPU time. Some monitor commands
cannot be executed in playback mode. Refer to unit 4, Monitor and Editor Com-
mands for details.
The AS system is controlled by the system switches described in table 3-1. For detailed
information on system switches refer to unit 8, System Switches.
AS SYSTEM
AS SYSTEM
The following system settings are set during system set-up, using the monitor com-
mands as described below.
AS SYSTEM
AS SYSTEM
Data and commands input at a terminal are first received by the system buffer. Then
they are read by the monitor or program and echoed or displayed on the terminal
screen. The maximum number of characters that can be input at a terminal is 128, and
additional characters input are ignored.
Output of data to a terminal is controlled using the PRINT and TYPE instructions. Eight
bits are displayed on the terminal screen. Data is displayed with a new line starting after
each command unless formatting is specified using specification code “/S” with the
PRINT/TYPE instruction (refer to section 7.8, Message Control Instructions, for detailed
information).
Terminal input and output can be controlled using the commands shown in table 3-3.
These commands are called the terminal control commands. The Ctrl (Control) Key is
pressed with each alphabetical character (the character may be either lower or upper-
case letters). Unlike other AS commands, there is no need to press the ENTER key
after these commands.
Command Function
Ctrl+S Stops display terminal scrolling.
Ctrl+Q Resumes display terminal scrolling stopped by Ctrl+S.
Ctrl+C Cancels the current input line.
Ctrl+H Deletes the last character entered (backspace).
Ctrl+M Terminates the current input line (return).
Ctrl+L Enables the contents of the line previously entered to display on the current input
line. Can be used up to seven times to recover previously entered data (last).
Ctrl+N Used in conjunction with the Ctrl+L command. Ctrl+N changes the contents of the
current input line to the next line in the history of command inputs after the Ctrl+L
command is used. Ctrl+N is only available if Ctrl+L is used more than once (next).
Backspace Deletes the last character entered.
Ctrl+I or Tab Inser ts a blank space into the current input line.
AS SYSTEM
The commands described in table 3-4 are used to save programs, variables, and pose
information in the robot memory, PC card, floppy disk, or computer hard disk.
For more information on data control commands refer to sections 5.2, Program and Data
Control Commands, and 5.3, Program and Data Storage Commands.
AS SYSTEM
The robot can be controlled from a personal computer using AS Language. KCwin32 or
KRterm terminal software must be loaded to the PC and the PC connected to the D-
series controller. KCwin32 and KRterm may be installed on computers running Win-
dows 95/98/Me/2000/XP.
Connecting the computer and the controller using the RS-232C cable enables a single
computer to control a single robot. An Ethernet connection enables multiple computers
to control multiple robots. Terminal software KCwin and KCwin32 can also be used by
connecting to the RS-232C port.
1. Install the software to your hard disk. Copy the following files from the KRterm
floppy disk to any directory of the computer hard disk.
[Link]
[Link] (Japanese version help file)
[Link] (English version help file)
[Link]
2. It is recommended that a shortcut is made on the desktop or in the start menu for
easier start-up of the KRterm software.
AS SYSTEM
1. Ensure the control power for the controller and the computer power are set to OFF.
2. Connect the personal computer to the controller using an RS-232C interface cable
(Figure 3-1).
ON OFF
PC with RS-232C Port
CHECK INTER CANCEL
MENU TEACH
T. LOCK
SPEED A
SELECT
PROG
EXT AXIS
STEP (Robot)
S
GO
CHECK JOG
S BACK
CONT
1
— X +
INS DEL
2
O. WRITE
— Y +
AUX POS
MOD REC MOD 3
— Z +
CL1 CL2 CLn
4
— rx +
SPD ACC TMR TOOL
7 D 8 E 9 F BS 5
— ry +
?
OX WX
4 A 5 B 6 C CLEAR
WS CC
—
6
+
PCMCIA
rz
ON OFF CLAUX WRK
1 2 3 C —
7
+
, - J/E
0 . I
6037-1200
TEACH REPEAT
ERROR
ERROR
RESET HOLD RUN RS-232C
FDD
(OPTION)
RS-232-C
AS SYSTEM
3. Set the computer power to ON, and start the terminal software (KRterm or
KCwin32, KRterm is shown in the following example screens).
4. When the software opens, select the type of connection from the menu bar:
[Communication (C)]–[Connect Parameter (O)] (Figure 3-2).
5. Click the “Serial” tab, check the settings, if the settings are correct, click <OK> (refer
to figure 3-3 for settings).
If the settings are not correct, change the settings as shown in figure 3-3 and click
<OK>.
SET CONNECTION
Serial ETHERNET
COM Options
Port : COM1
Baud Rate : 9600
Data Bits : 8
Stop Bits : 1
OK CANCEL
AS SYSTEM
When the control power for the controller is set to ON before connecting the PC to
the controller, only the prompt “>” is displayed and not the initial screen. In this case
KRterm still works the same.
AS SYSTEM
Ethernet communication (1KN board) is an option that must be purchased and installed
prior to connection and set up.
1. Ensure the control power for the controller and the computer power are set to OFF.
2. Using a LAN cable (cross-cable) connect the personal computer’s Ethernet port to
the controller’s Ethernet port on the 1KN daughter board, mounted to the 1KA
board in the controller card rack (Figure 3-4).
1 2 3 C —
7
+
, - J/E
0 . I
6037-1200
TEACH REPEAT
ERROR
ERROR HOLD RUN
RESET
Personal Computer
AS SYSTEM
4. When the software opens, select the type of connection from the menu bar:
[Communication (C)]–[Connect Parameter (O)] (Figure 3-5).
5. Click the Ethernet tab and enter the IP address and name of the robot to connect to
the network, and click <ADD>. (Figure 3-6)
SET CONNECTION
Serial ETHERNET
IP ADDRESS NAME
[Link] robot 3 ADD
[Link] : robot1
[Link] : robot2
[Link] : robot3 INSERT
CHANGE
DELETE
OK CANCEL
AS SYSTEM
Figure 3-7 Selecting the Robot from the Connect History (C) Drop-Down Menu
7. If the robot address is not displayed in the Connect History (C) drop-down menu,
select [Communication (C)]–[Connect (E)] from the menu bar (Figure 3-8).
AS SYSTEM
8. Select the robot from the select connection screen and click <CONNECT> (Figure
3-9).
SELECT CONNECTION
SELECT CONNECTION
CONNECT CANCEL
Figure 3-9 Selecting the Robot from the Select Connect (E) Screen
9. When the connection is established, the robot name followed by a prompt ”>” is
displayed on the KRterm screen. AS Language commands are entered at the
prompt.
AS SYSTEM
1. SAVE command:
To save the data to the computer hard drive, use the SAVE command (see section
6.3, Program and Data Storage Commands, SAVE command).
Example:
>SAVE [Link]\my documents This saves the data in the specified file.
2. LOAD command:
To load data from the computer to the robot memory, use the LOAD command (see
section 6.3, Program and Data Storage Commands, LOAD command).
Example:
>LOAD [Link]
AS SYSTEM
3. Press the EMERGENCY STOP switch (on the controller) to set the motor power to
OFF.
4. Set the controller control power to OFF. Refer to the D Series Controller Operations
and Programming Manual unit 4, Power ON/OFF Procedures, for more information
on setting the controller power to OFF.
5. To shut-down KRterm, select [FILE(F)]–[END(X)], from the menu bar (Figure 3-11).
END( X )
AS SYSTEM
KRterm Close
! OK to close window
YES NO
7. Shut-down the computer. If there is no need to keep the computer connected to the
controller, ensure the controller and the computer power are set to OFF and discon-
nect the interface cable.
AS SYSTEM
The data displayed on the KRterm screen can be saved as a log file. This is useful to
printout robot operation procedures.
1. To start logging, select [FILE(F)]–[OPEN LOG FILE(O)] from the menu bar (Figure
3-13).
END( X )
2. Select the folder to save the log file to, and name the file (Figure 3-14).
AS SYSTEM
3. During file logging, [Logging Now] is displayed in the title bar (Figure 3-15). The
data displayed on the screen is recorded until the log file is closed.
4. To close the log file and end the file logging, select [FILE(F)]–[CLOSE LOG
FILE(C)], from the menu bar (Figure 3-16).
END( X )
AS SYSTEM
Macro functions are provided in the KRterm and KCwin32 system. If a task is executed
repeatedly, recording the series of instructions/commands for that task in a macro can
be very useful and increase efficiency.
To record a macro, select [FILE (F)]–[MACRO (M)] from the menu bar and enter the file
name to save the macro. To run a macro, use the SEND command on the KRterm
screen.
Select [HELP(H)] from the KRterm or KCwin32 menu bar for detailed instructions.
This section describes the variables and data expressions used with AS Language.
The following rules apply to the usage of upper and the lowercase letters in this manual.
• Variables and any other items that can be specified are shown in lowercase.
• Upper and the lowercase letters can be used when entering data at an AS terminal.
• The keys on the teach pendant or the computer keyboard and the switches on the
controller are shown as the name or label appears on the switch or key.
Abbreviations:
Space, Tab:
• At least one blank space or tab is necessary as a delimiter between the command
(or instruction) and the parameter. Also, a space or tab is necessary between
those parameters not divided by commas or other delimiters. Excess spaces or
tabs are ignored by the system.
Example: SPEED 50
NOTE
A parameter is necessary data to complete commands
or other functions.
ENTER key:
• Monitor commands and program instructions are processed by pressing the ENTER
key. In this manual, the ENTER key is shown as ↵ .
Omitted Parameters:
• Many monitor commands and program instructions have parameters that can be
omitted. If there is a comma after these optional parameters, the comma should be
retained even if the parameter is omitted. If all successive parameters are omitted,
the comma may also be omitted.
Numeric values:
The following rules show how the values are interpreted in various cases.
Distance:
• Used to define the length the robot moves between two points. The unit for distance
is millimeter (mm); the unit is omitted. The values can be negative or positive.
Angles:
• Defines and modifies the robot’s posture at the specified pose, and describes the
degrees of rotation of the robot joints. The values can be negative or positive, with
the maximum angles limited to 180 degrees or 360 degrees, depending on the
commands used.
Scalar variables:
• Unless noted otherwise, these variables define real values. The values for the
variables can range from -3.4E+38 to 3.4E+38 (-3.4×1038 ~ 3.4+1038). When it
exceeds ±999999, it is expressed as xE+y (x is the mantissa, y is an exponent).
Joint number:
• Expresses the joints of the robot in integers from 1 to the number of joints available
(6 joints is the standard). The joints are numbered in order starting from the base
joint. (Expressed as JT1, JT2 ....).
Signal number:
• Identifies binary (ON/OFF) signals (negative signal numbers indicate the OFF
state). The values are given as integers and the ranges are shown in table 4-1.
Keywords:
• Variable names are freely assigned in the AS system, with the exception of key-
words. Keywords, such as commands and instructions in the AS system, are re-
served and cannot be used to name pose data (location data) or variable data.
There are three types of data in the AS system: pose data, numeric data, and character
data.
NOTE
In accordance with the international standards organiza-
tion (ISO) location and posture of the robot are referred
to as pose.
Pose data (positional data) is used to specify the position and posture of the robot in a
given work area. The robot’s position and posture refers to the position and posture of
the tool center point (TCP) of the robot. The position and posture together are called
the pose of a robot.
The pose is determined by the robot location and which way it is facing, therefore; when
a robot is instructed to move, these two things are done at the same time:
This pose data is given by a set of angular or linear displacement values from each
of the robot axes. Using encoder values, rotational axes produce angular displace-
ment described in degrees, and linear axes produce linear displacement described
in millimeters.
Example:
The joints are expressed in order from JT1 to JT6, and the displacement value of
each joint, in degrees, is shown beneath the joint number.
JT1 JT2 JT3 JT4 JT5 JT6
#pose = 0.00, 33.00, -15.00, 0, -40, 30
Transformation value:
The tool transformation value, describing the pose of the tool coordinates relative to
the null tool coordinates, and work based transformation values, defining the pose
of the tool coordinates relative to the work coordinates (Figure 4-1).
Example:
X Y Z O A T
pose = 0, 1434, 300, 0, 0, 0
If the robot has more than six axes, the value of the additional axis is shown with the
transformation values.
Example:
X Y Z O A T JT7
pose = 0, 1434, 300, 0, 0, 0 1000
yt1
yt
Work-Based
Transformation Values
Transformation Values
zw
Base Coordinates
zb1
yw
xw
Work Coordinates
yb1
xb1 zb Work Transformation Values
Base Transformation
Values yb
xb
Null Base Coordinates2
Note1 Null tool coordinates origin are at the center of the robot’s tool mounting flange,
and they are defined by the tool transformation values (0, 0, 0, 0, 0, 0).
Note2 Null base coordinates are set at the robot’s default value, and are defined by the base
transformation values (0, 0, 0, 0, 0, 0)
Joint location values and transformation location values have advantages and disadvan-
tages as described in table 4-2. Use the information in table 4-2 to determine the type
of location value to fit a particular need.
When a pose is defined by joint values, the robot configuration is exactly as recorded in
teach mode. When a pose is defined using a transformation value the robot may take
different configurations to achieve the location as taught in teach mode. This is because
transformation values only set the XYZOAT values of the tool coordinates of the robot
and do not define the axis value of each joint.
Before running a robot motion program in repeat mode, set the robot configuration using
a configuration command UWRIST, DWRIST, LEFTY, RIGHTY, ABOVE, BELOW.
A joint value pose may be used to set the configuration of the robot at a point near
where the transformation locations are used.
Transformation values are defined by the base coordinates, if the base coordinates are
shifted using the BASE command/instruction, the robot’s TCP is shifted by the same
amount. This is one of the advantages of using transformation values.
The operator must be aware of the effect changing the base coordinates has on trans-
formation location values. The same precautions must be taken when the TOOL com-
mand/instruction is used. Failure to account for BASE or TOOL command/instruction
changes may cause damage to the robot or peripheral equipment.
In the AS system, numeric values and expressions are used as numeric data. A nu-
meric expression is a value expressed using numerals and variables combined with
operators and functions. Numeric expressions are used not only for mathematical
calculations, but also as parameters for monitor commands and program instructions.
For example the DRIVE command, specifies three parameters: joint number, degree,
and speed. The parameters are expressed either in numeric values or in expressions.
Example:
DRIVE joint, (start+30)/2, 75 With the variables specified as: joint=2, start=30 then
joint 2 moves +30° at 75% speed
Numeric values used in the AS system are divided into the four types:
1. Real numbers:
Real numbers have both integer and fractional parts. Real numbers can be positive
or negative values between -3.4 E+38 and 3.4 E+38(-3.4´1038 and 3.4´1038) or zero.
Real numbers can be represented in scientific notation. The symbol E separates
the mantissa and the exponent. The exponent may be negative (power of 1/10) or
positive (power of 10).
Example:
Real values are stored with an accuracy of approximately seven digits, actual values
may have less precision because of calculation procedures.
2. Integers:
Integers are real values without fractional parts (whole numbers). The range is from
-16,777,216 to +16,777,215. Values that exceed this range are rounded to seven
significant digits. Integer values are usually entered as decimal notation although
there are times when it is convenient to use binary or hexadecimal notation. ^B
indicates the number is in binary notation. ^H indicates the number is in hexadeci-
mal notation.
Example:
^B101 (5 decimal)
^HC1 (193 decimal)
-^B1000 (-8 decimal)
-^H1000 (-4096 decimal)
3. Logical values:
Logical values have only two states, ON and OFF, or TRUE and FALSE. A value of
-1.0 is assigned for the TRUE or ON state, and a value of 0 (or 0.0) is assigned for
the FALSE or OFF state.
Example:
4. ASCII values:
Example:
The character data referred to in the AS system is defined as a string of ASCII charac-
ters enclosed by quotation marks (“). Since the quotation marks indicate the beginning
and end of a character string, they cannot be included in the string. ASCII control char-
acters (CTRL, CR, LF, etc.) also cannot be included in the string.
A command for printing (displaying on the screen) is entered as shown in the example
below.
Example:
>PRINT “Kawasaki”
4.3 VARIABLES
In the AS system, names are assigned to pose data, numeric data, and character data.
These names are called variables, and the variables are divided into two types: global
variables and local variables. Unless otherwise noted, global variables are referred to
as variables.
Variables for pose data, numeric data, and character data are called pose variable, real
variable, and string variable, respectively. Several values can be grouped and defined
under one name using an array variable.
NOTE
Since most numeric values used in the AS system are
real numbers, numeric variables are referred to as real
number variables or real variables.
Once a variable is defined, the value is saved in the memory and can be used in any
program.
Unlike global variables, local variables are redefined each time the program is executed,
and are not saved in the memory. A local variable name is defined with a “.” (period) at
the beginning of the name.
Local variables are useful when several programs use the same variable name and the
value of the variable changes each time the program is run. Local variables are also
used as a parameter of a subroutine (refer to section [Link] Subroutine with Param-
eters).
Since local variables are not saved in the memory, the value of the local variable .pose
cannot be displayed using the POINT command.
Example:
To see the current value of the local variable, set its value to a global variable in the
program where the local variable is defined, and then use the POINT command.
Example:
Execute the program that defines the local variable before using the POINT command.
>POINT a=.pose
>POINT a
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx
Change? (If not, hit RETURN only)
>
Variable names must start with an alphabetic character and can contain only letters,
numbers, periods, and underlines. The letters used in variable names can be entered
either in lowercase or uppercase. The length of a name is limited to fifteen characters.
AS Language commands should not be used as variable names and in some cases use
as a variable name is prohibited, because they cause ambiguity with the AS system
keywords; however, their abbreviations can be used. For example, the following names
cannot be used:
Precision location names must be preceded by the symbol “#” to differentiate them from
transformation location names. String variables must be preceded by the symbol “$” to
differentiate them from real and transformation variables.
A transformation location and precision location may have the same name, however, the
same name may not be used for transformation values and real values. A defined
variable may be used by any program in the system.
All types of variables can be used as array variables. Arrays consist of several values
under the same name and these values are distinguished from each other by their index
value. In order to designate array elements, attach an element number (index) enclosed
by brackets to the array name. For example, “part[7]” indicates the seventh element of
the array “part”. Indexes should be integers within the range 0 to 9999.
Location, real, string, and array are four types of variables within the AS system. These
four variable types are explained in the following sections.
1. The same pose data can be used repeatedly without having to teach the pose every
time.
4. Calculated values can be used as pose data instead of time consuming process of
teaching poses using the teach pendant.
5. Pose variables are named by the operator, the names can be used to make pro-
grams more understandable.
1. The HERE command stores the robot’s current pose data with the specified name.
Example 1:
For joint values, begin the variable name with a pound sign (#) to differentiate it from
transformation values. When the command is entered, the joint displacement val-
ues of the current pose are displayed and stored in memory.
>HERE #pose
Example 2:
For transformation values, use the HERE command as shown below. The transfor-
mation values of the current pose is displayed and stored in memory.
>HERE pose
X Y Z O A T
60.000 mm 145.050 mm -95.098 mm 90.000° 45.000° 0.000
Change? (If not, hit RETURN only)
>
2. The TEACH command is used with the teach pendant to store a series of poses.
The robot is moved to each pose in the program and recorded as described below.
Move the robot to the first pose, enter TEACH and the variable name, and press the
ENTER key . The pose is recorded as the specified pose variable name, and the
name is issued a number (an element of an array) counting up from 0, unless other-
wise specified (i.e. pt1, pt2, pt3, ... or x[1],x[2],x[3], ... ).
Example 1:
>TEACH #pt1 ; jog the robot to the pose using the teach
pendant and press the REC key.
Each time the REC key is pressed the current pose is recorded as a joint value
location. Each new pose is assigned the same name and the index number
incremented, as shown below.
#pt2
#pt3
#pt4
:
Example 2:
For transformation values, use the same procedure as above, only omit the pound
sign (#) from the pose variable name.
3. The POINT command is used to define a pose using another defined pose variable
or to define it by data entered from the terminal.
To use joint values to define a new variable, use the POINT command as shown
below.
>POINT #pose
JT1 JT2 JT3 JT4 JT5 JT6
0.000 0.000 0.000 0.000 0.000 0.000
Change ? (If not, hit RETURN only)
>
Enter the new values, separating each value with a comma.
xxx, xxx, xxx, xxx, xxx, xxx
To change the value of a defined variable, use the POINT command as shown
below.
>POINT #pose
JT1 JT2 JT3 JT4 JT5 JT6
10.000 20.000 30.000 40.000 50.000 40.000
Change ? (If not, hit RETURN only)
>
Enter the values to change.
30, , , ,20, ;changes the value of JT1 and JT 5 to 30 and 20
To substitute the value of a defined variable, use the POINT command as shown
below.
>POINT pose_1=pose_2
JT1 JT2 JT3 JT4 JT5 JT6
10.000 20.000 30.000 40.000 50.000 40.000
Change ? (If not, hit RETURN only)
The value to define as pose_1 (the current value of pose_2) is displayed. Press the
ENTER key to set the values as they are or change the values as shown in the
above examples.
NOTE
When a pose variable name starting with a pound sign
(#) is used, the variable is stored as a joint value (i.e.
#pick, #start).
Example 2:
For transformation values, use the same procedure as above, only omit the pound
sign (#) from the pose variable name.
1. The HERE instruction stores the robot’s current pose with the specified name.
Example:
HERE pose
2. The POINT instruction substitutes a pose variable with the values from a previously
defined pose.
Example:
POINT pose_1=pose_2
Values of “pose _1” are substituted with the values of the defined variable “pose_2”.
An error occurs if “pose _2” is not defined.
The last component of the compound transformation value, defines the actual pose.
transformation - transformation
This is useful when several poses are defined relative to a reference location.
To change the pose points defined relative to a reference pose, only the transformation
pose of the reference must be updated. All poses defined relative to the reference point
are automatically changed.
Unlike usual addition or subtraction, the commutative law does apply to the transforma-
tion operation. The compound expression “loc.a + loc.b” does not necessarily equal
“loc.b + loc.a” because the turning angles O,A,T are taken into consideration. An ex-
ample of this is shown in figure 4-2.
a1 = (1000, 0, 0, 0, 0, 0)
a2 = ( 0, 1000, 0, 60, 0, 0)
x1
a1+a2 = (1000, 1000, 0, 60, 0, 0) y1
a2+a1 = ( 500, 1866, 0, 60, 0, 0) 1,866 mm a2+a1
X
in
m
m
Y
00
60°
10
a2
1,000 mm a1+a2
a2
1,000 mm
a1
1,000 mm X 500 mm
For example, “Plate” is the name of the transformation pose representing the pose of a
base plate relative to the origin of the base coordinate system of the robot. “Object” is
the relative transformation for the pose of an object relative to the pose of the plate.
The compound transformation “Plate+Object” defines the pose of the object relative to
the origin of the base coordinate system of the robot.
Plate+Object+Pickup
Pickup
Base Coordinate Origin
Object
Plate Plate+Object
To define the compound transformations as shown in figure 4-3, use the following proce-
dure.
1. Move the robot to the pose Plate and enter the command: HERE Plate.
>HERE Plate
2. Move the robot to the pose Object and enter the command: HERE Plate+Object.
>HERE Plate+Object
3. Move the robot to the pose Pickup and enter the command: HERE
Plate+Object+Pickup.
>HERE Plate+Object+Pickup
Ensure that spaces are not entered between the plus sign (+) and the transformation
values. The operator may combine as many transformation values as needed.
If the robot is to pick up an object at the pose “Pickup”, defined relative to the pose
“Object”, the program line is written as shown in the example below.
Example:
JMOVE Plate+Object+Pickup
or
LMOVE Plate+Object+Pickup
NOTE
Do not change the order of the transformation expres-
sion. If the transformation variable ”b” is defined relative
to the transformation variable “a”, “a+b” provides the ex-
pected result, but “b+a” does not (Figure 4-2).
When using compound transformations repeatedly, use the POINT command to lessen
the time to calculate the compound transformation values. For example, to approach
the pose “Pickup” and then to move to that pose, to save calculation time enter the
program lines as shown in the second example below.
Example 1:
If the program lines shown example 2 are entered in place of the program lines shown in
example 2, calculation time is saved.
Example 2:
These two programs result in the same motion, but the latter calculates the compound
transformation only once, so the execution time is shorter when the POINT command is
used. In simple programs, the difference is minor, but in more complex programs it may
make a big difference and improve overall cycle time.
NOTE
For seven axes robots
Example:
POINT p=p1+p2
Example:
POINT/7 p=TRANS(,,,,,,value)
Real variables are defined by using the assignment instruction (=). The format for as-
signing a real variable is:
Example:
a=10.5
count=i*2+8
Z[2]=Z[1]+5.2
The variable on the left side may be either a scalar variable (i.e., count) or an array
element (i.e., x[2]). A variable is defined only when a value is assigned to it. It remains
undefined until a value is assigned, and if a program using an undefined variable is
executed, an error occurs.
The numeric value on the right side may be a constant, a variable or a numeric expres-
sion. When the assignment instruction is processed, the value on the right side of the
assignment instruction is computed first, and then the value is assigned to the variable
on the left side.
If the variable on the left side of the instruction is a new variable and is not assigned a
value, the value on the right is assigned to the variable automatically. If the left side
variable is already defined, the new value replaces the current value.
For example, the instruction “x=3” assigns the value 3 to the variable “x”. It is read,
“assign 3 to x” and not “x is equal to 3”. The following example illustrates the processing
order.
Example:
x=x+1
If this example is a math equation, it is read “x is equal to x plus 1”, which does not
make sense. As an assignment instruction, it is read, “assign the value of x plus 1 to x”.
In this case, the sum of the current value “x” and 1 is calculated and then the resulting
value is assigned to “x” as a new value. Such an equation requires that x be defined in
advance, as shown in the example below.
Example:
x=3
x=x+1
Character string variables are defined using the assignment instruction (=). The format
for assigning a character string variable is:
$string_variable=string_value
Example:
$a1=$a2
$error mess[2]=”time over”
The string variable on the left can be a variable (i.e., $name), or an array element (i.e.,
$line[2]). A variable is defined only when a value is assigned to it. It remains undefined
until a value is assigned, and if a program using an undefined variable is executed, an
error occurs.
The character string on the right side may be a string constant, a string variable or a
string expression. When an assignment instruction is processed, the value on the right
side is computed first, and then the value is assigned to the variable on the left side.
Example 1:
Example 2:
$First = “Kawasaki”
$Last = “Robotics”
$Name = $First+Last+”(USA), Inc.”
In the example 1, the string enclosed in quotation marks (“”) is assigned to the variable
“$name”. If the variable on the left side of the instruction is not defined, this string is
assigned automatically. If the left side variable is already defined, this instruction re-
places the current string with the new string on the right side.
In example 2, the sum of “$First”, “$Last”, and the character string “(USA), Inc.” is as-
signed to the string variable “$Name”. The command PRINT $Name or TYPE $Name
returns the string value:
4.8 ARRAYS
An array is a group of values that share a single name. Location variables can be sca-
lars or arrays. A location scalar is a single location value. 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. For example, “part[7]” refers to element 7 of the array “part.” Indexes
must be integers in the range of 0 ~ 9999. Three examples of arrays are described
below:
Example 1:
PROGRAM OUTPUT
In the above example, the current location of the robot is defined as “edge”. The DE-
COMPOSE instruction extracts component values of edge (XYZOAT) consecutively (1
through 6). The program instructions between the FOR and END statements are ex-
ecuted repeatedly and the TYPE instruction displays the component values of edge
individually.
Example 2:
FOR i = 2 to 6 STEP 2
DRAW 100, 10 * i + 7, 50
HERE weld[i]
END
In the above example, the robot moves 100 mm in the X direction, a calculated amount
(10 * i + 7) mm in the Y direction, and 50 mm in the Z direction, and defines the location
as weld[i].
The FOR statement, in this example, increments the value of “i” in increments of two:
i = 2, i = 4, i = 6.
Example 3:
In the above example, the array is used as a string array. Each move of the robot dis-
plays the strings assigned in the main program.
The interpretation of the value depends on the context in which the expression appears.
For example, an expression specified for an array index is interpreted as yielding an
integer value. An expression specified for a logical value is interpreted as false when it
is evaluated as 0, and true if it is other than 0.
4.10 OPERATORS
For describing expressions, arithmetic, logical, and binary, operators are provided. All,
except three, of these operators combine two values to obtain a single resulting value;
the exceptions are: the two operators (NOT and COM) operate on a single value and
the operator (-) operates on one or two values. The operators are described in table 4-
3.
The logical operators are used in Boolean operations such as logical OR (0+1=1,
1+1=1, 0+0=0), logical AND (0x1=0, 1x1=1, 0x0=0), and logical XOR (0+1=1, 1+1=0,
0+0=0). The logical operators are not used for calculating numeric values, but for deter-
mining the logical state (TRUE or FALSE) of the conditional expression. If a numeric
value is zero (0), it is considered to be FALSE (0). All nonzero values are considered to
be TRUE(-1).
Example:
OPERATION RESULT
0 AND 0 0 (FALSE)
1 AND 1 -1 (TRUE)
1 OR 0 -1 (TRUE)
Binary Operators:
OPERATION RESULT
The binary logical operators perform logical operations for each respective bit of two
numeric values.
Example:
OPERATION RESULT
5 BOR 3 7
0101 BOR 0011 0111
5 BAND 9 1
0101 BAND 1001 0001
The logical expressions result in a logical value TRUE or FALSE. A logical expression
can be used as a condition in which the execution of a program or program steps is
performed. When evaluating logical expressions, the value zero is considered FALSE
and all nonzero values are considered TRUE. Therefore, all real values or real value
expressions can be used as a logical value.
For example, the following two statements have the same meaning, but the second
statement is easier to understand.
IF x <> 0 GOTO 10 (If the value of x is not equal to 0, goto label 10 in the program)
The result of using string operators is a string, and the result of using relational opera-
tors is a real value.
When using relational operators with character strings, the strings are compared char-
acter for character from the first character string. If all the characters are the same, the
two strings is considered equal, but if there is even one difference, the string with the
character having a higher ASCII character code is evaluated as the greater string. If
one of the strings is shorter, the shorter one is evaluated as less. In relational opera-
tions with strings, spaces and tabs are regarded as characters.
Examples:
NOTE
Uppercase and lowercase letters in string expressions
are regarded as different characters.
PROGRAMS
PROGRAMS
5.0 PROGRAMS
This unit describes the procedures used to create and execute AS Language programs.
Robot motion control and process control (PC) programs are described.
A program is a series of instructions used to control robot movement, send output sig-
nals, make calculations, etc. per a set process. An AS Language program name con-
sists of no more than 15 characters starting with an alphabetical character, and can
contain only letters, numbers and periods. The number of programs is limited to the
amount of free memory in the controller. Programs are usually created using the AS
system editor mode, but programs may also be created off-line, using KRterm or
KCwin32 terminal software or PC-ROSET, and loaded to the robot memory.
Robot control programs are programs used to control robot motion. All program instruc-
tions including robot motion instructions are used to create this program.
5.1.2 PC PROGRAM
PC or process control programs are programs executed simultaneously with the robot
motion control program. PC programs are commonly used to control or monitor external
devices by monitoring external I/O signals. The PC program and the robot motion con-
trol program communicate with each other using common variables and internal signals.
PC programs and robot motion control programs use common instructions. A PC pro-
gram can be executed as a robot control program although PC programs cannot include
motion instruction. Instructions that cause robot motion, except for the BRAKE instruc-
tion, cannot be used. BASE and TOOL functions are not available for PC programs.
PROGRAMS
5.1.3 AUTOSTART
A PC program can be set to start automatically when the control power is turned on.
2. Create the program you want to start automatically and name it [Link] (or
[Link] – [Link]).
Example:
MC CONTINUE
In the following example autostart program, the robot monitors motor power and
executes program pg1 when the controller power is set to ON. For clarity, safety check
procedures are omitted, in actual program usage ensure safety check procedures are
included.
Example:
[Link]( )
1 WAIT SWITCH (POWER) ;waits for the MOTOR POWER ON
2 WAIT SIG(27) ;checks if the robot is at home position
3 MC EXECUTE pg1 ;executes pg1 (robot motion program)
NOTE
Set the home position and assign the dedicated signal
HOME1 to signal 27 before executing this program.
PROGRAMS
A program is a list of procedures that the robot follows. This section describes creating
a simple program to instruct the robot to perform a task. When executing a program
through the AS system, program steps (lines) are processed in order from top to bottom
and the operations defined in each step are preformed by the robot.
1. Step number:
2. Label:
Labels are used in a program to branch the program. Labels are used to name a
branch destination from anywhere within the program. A label can be an integer
from 1 to 9999 or a string of up to 15 alphanumeric characters, periods or under-
scores. Alphanumeric labels must begin with an alphabetical character and end
with a colon. Labels are inserted at the beginning of a program line, after the step
number.
3. Comment:
A semicolon (;) indicates all information to the right of the semicolon is a comment.
Comments are not processed as program instructions when the program is ex-
ecuted, and are only used as explanations of the program contents. A program line
may contain a comment only, with no label or instruction. Blank lines can be used
to improve program legibility (A blank line consists of at least one space or tab after
a semicolon).
PROGRAMS
Table 5-1 lists and describes the editor commands. For more information on editor
commands refer to section 6.1.
The parameters in italic can be omitted. A space is required when an argument is used.
PROGRAMS
Preparation:
1. Plan robot operation steps
2. Confirm robot operation steps
3. Set controller and teach pendant for teach mode
Yes
Program poses (locations) correct? No
Yes
Run program in production
PROGRAMS
2. Robot poses/path.
This section describes the procedure for creating a simple AS Language program (Fig-
ure 5-2).
The first step in creating an AS Language program is to define the robot motions
needed to complete the task. The sample program step numbers correspond with the
numbers in figure 5-2.
1., 2. 9.
5. 6.
3., 4. 7., 8.
part
#part #box
2. Move the open handling clamp to a pose 50 mm above the part, at pose “#part”.
PROGRAMS
Define the pose variables “#box” and “#part” as described in section 4.5.1.
Enter the AS Language program instructions through the AS editor as described in the
following procedure.
1. To create a program with the name “demo”, select the keyboard screen, enter “ED
demo” and press the ENTER key on the keyboard touch screen, as shown
below.
>ED demo
.PROGRAM demo ()
1?
>ED demo
.PROGRAM demo ()
1? OPENI
2?
>ED demo
.PROGRAM demo ()
1? OPENI
2 ? JAPPRO #part, 50
3?
4. Enter the remaining instructions needed to complete the program, in the same
manner as above, to match the sample program “demo” steps shown in figure 5-3.
PROGRAMS
>ED demo
.PROGRAM demo ()
1? OPENI
2? JAPPRO #part,50
3? LMOVE #part
4? CLOSEI
5? LDEPART 150
6? JAPPRO #box,200
7? LMOVE #box
8? OPENI
9? LDEPART 180
10? E
>
The “E” in step 10 is not a program instruction, it is an editor command used to exit the
AS editor mode.
When an AS Language program is executed, the steps are executed in sequential order.
For more information on AS Language programing refer to unit 12, Sample Programs.
PROGRAMS
Robot control programs and PC programs are executed differently. The following sec-
tions describes robot control and PC program execution.
Use the following procedure to set the controller to repeat mode to execute a robot
control program.
The procedure described below is used to run a robot control program with the EX-
ECUTE monitor command.
2. Set the monitor speed to 10%. Enter the SPEED monitor command at the keyboard
prompt as shown below.
>SPEED 10
Press the ENTER key on the keyboard or the teach pendant keypad.
>EXECUTE demo
Press the ENTER key on the keyboard or the teach pendant keypad.
4. If the robot does not move as expected, set the HOLD/RUN switch to the HOLD
position (the robot decelerates and stops). If an emergency condition exists, press
the EMERGENCY STOP switch on the teach pendant or the controller operation
panel (the brakes are applied and the robot stops immediately).
PROGRAMS
5. If the robot program executes correctly at 10% speed, gradually increase the speed.
>SPEED 30
Press the ENTER key on the keyboard or the teach pendant keypad. The robot
operates at 30% speed.
>SPEED 80
Press the ENTER key on the keyboard or the teach pendant keypad. The robot
operates at 80% speed.
Once the EXECUTE command is used to execute a program the first time, the CYCLE
START switch can be used re-start the program.
To execute a program more than once, enter the EXECUTE command as shown below.
The procedure described below is used to run a robot control program with the PRIME
monitor command.
2. Set the monitor speed to 10%. Enter the SPEED monitor command at the keyboard
prompt as shown below.
>SPEED 10
Press the ENTER key on the keyboard or the teach pendant keypad.
>PRIME demo
Press the ENTER key on the keyboard or the teach pendant keypad.
4. The program is primed and can be executed using the CYCLE START switch or the
EXECUTE or CONTINUE command.
PROGRAMS
To check the program one step at a time using the STEP command, use the procedure
described below.
2. Set the monitor speed to 10%. Enter the SPEED monitor command at the keyboard
prompt as shown below.
>SPEED 10
Press the ENTER key on the keyboard or the teach pendant keypad.
>PRIME demo
Press the ENTER key on the keyboard or the teach pendant keypad.
4. With the program primed each time the STEP command is entered, the current step
of the robot program is executed. Enter the STEP command as shown below.
>STEP
Press the ENTER key on the keyboard or the teach pendant keypad.
To check the program one step at a time using the CHECK keys, use the procedure
described below.
1. Prime the program to check using the procedure in section [Link], steps 2 and 3.
4. Press and hold one of the enabling devices on the teach pendant.
PROGRAMS
7. Press and hold the CHECK GO key to check forward in the program or press and
hold the CHECK BACK key to check backward.
When the robot reaches the pose in the program step the robot stops. Release the
CHECK GO or CHECK BACK key. Press and hold the CHECK GO or CHECK
BACK key again to move to the next pose in the program.
The following methods for stopping a robot control program are listed in order from the
most urgent to the least urgent.
2. HOLD/RUN switch:
Set the HOLD/RUN switch, on the controller operation panel, to the HOLD position.
This allows the robot to decelerate and stop.
Enter the ABORT or HOLD command at the keyboard prompt as shown below.
>ABORT
Press the ENTER key on the keyboard or the teach pendant keypad.
>HOLD
Press the ENTER key on the keyboard or the teach pendant keypad.
PROGRAMS
The method used to resume robot control program execution depends on what method
was used to stop the program.
The following methods are used to resume execution when the robot is stopped using
the methods described in section [Link], or due to an error condition.
Rotate the EMERGENCY STOP switch clockwise to release the lock and press the
MOTOR POWER switch. With motor power ON press the CYCLE START switch to
resume robot control program execution.
2. HOLD/RUN switch:
Set the HOLD/RUN switch to the RUN position to resume robot control program
execution.
Enter the CONTINUE command at the keyboard prompt, as shown below. If the
robot control program was stopped due to an error condition, reset the error before
entering the CONTINUE command.
>CONTINUE
Press the ENTER key on the keyboard or the teach pendant keypad.
PROGRAMS
PC programs are executed using the PCEXECUTE monitor command or using a pro-
gram instruction executed in a robot control program.
The PCABORT command is used to stop execution of the PC program. The PCEND
command is used to end PC program execution after the current cycle is completed.
Program instructions are executed in order from the top to the bottom of a program.
This consecutive flow is changed when an instruction such as GOTO or IF....GOTO is
executed.
A CALL instruction calls and executes a different program, but this does not change the
order of the flow. When a RETURN instruction is executed, the processing returns to
the caller program and resumes execution at the step following the CALL instruction.
The WAIT instruction stops the program from proceeding to the next step until the speci-
fied condition is met. The PAUSE and HALT instructions stop a program at the step the
instruction is executed.
The STOP instruction may not stop the execution in all cases. If specified execution
cycles are remaining, execution continues with the first step in the main program. Even
if the STOP instruction is executed in a subroutine, the execution returns to the begin-
ning of the main program. If there are no cycles remaining, the execution stops at the
step where the STOP instruction was executed.
5.3.4 SUBROUTINE
A main program can be temporarily suspended and a different program, called the
subroutine, can be called and executed. Using subroutines, the operator/programmer is
able to use a modular program structure that is easier to follow and understand.
PROGRAMS
Subroutines can be used with parameters for more versatility. For example, when a
calculation that uses different input data is used repetitively, create a subroutine to make
the calculation. Use the CALL instruction to branch to the subroutine, and use the input
data as parameters in the calculation (see examples 1 and 2 below).
Up to 25 parameters can be set using real variables, pose variables or string variables.
The variable type must be the same in the main program and the subroutine. When
assigning a parameter name to transformation values an, ampersand “&” is used pre-
ceding the parameter variable name in order to differentiate from a real number variable.
Use local variables (local variable is preceded with a period “.”) in the CALL destination
program (subroutine).
Example 1 The value of real number variable “c” is the sum of input data “a” and “b”.
.PROGRAM main()
1 a=1
2 b=2
3 CALL calc(a,b,c)
4 TYPE c
.PROGRAM calc(.aa,.bb,.cc)
1 .cc=.aa+.bb
To set parameters in the subroutine, as in example 1, enter “EDIT calc,0” at the key-
board prompt. Press the ENTER key,on the keyboard or the teach pendant keypad.
The display is shown below.
0.()
0?
Example 2 The value of transformation value “c” is the sum of transformation values
“a” and “b”.
.PROGRAM position()
1 point a = trans(10)
2 point b = trans(0,20)
3 CALL add(&a,&b,&c)
4 point d = c
.PROGRAM add(.&aa,.&bb,.&cc)
1 point .cc=.aa+.bb
PROGRAMS
Under certain conditions, such as an error condition or when a specific external signal is
received, program execution may be interrupted and another program executed. This
occurs independently from the flow of execution of the main program and is called
asynchronous processing (interruption). When the specified signal (e.g. an external
signal or an error) is detected, the interruption occurs regardless of the execution of the
main program. This interruption is activated using the ON (or ONI) ...CALL instruction.
For more information on the ON and ONI instructions refer to unit 7, Program Instruc-
tions.
This section describes robot motion instructions. The AS system starts processing the
next step in a program as soon as the robot begins motion towards the pose specified in
the current step. For example, the steps in the program shown in figure 5-4 are ex-
plained below.
NOTE
Timing of program step execution is changed depending
on settings of system switches.
JMOVE part1
SIGNAL 1 SIG 1 SIG 1
JMOVE part2
SIGNAL 2 SIG 2 SIG 2
PROGRAMS
When the robot starts motion toward pose part1, external output signal 1 is set ON or
high ([Link] system switch ON). The signal is not set to ON at pose
part1, but as soon as motion starts to pose part1.
When the program encounters the second motion instruction in the program JMOVE
part2, the current motion instruction is completed before performing the next motion
instruction.
When the robot reaches pose part1 and starts motion toward pose part2, external
output signal 2 is set ON or high.
The operator must be aware that the robot control program processes logic, signal and
motion instructions simultaneously. Because of this simultaneous processing, care must
be taken when programming signal instructions.
PROGRAMS
When executing a motion instruction like the one in the example in figure 5-5, the robot
accelerates smoothly up to the current speed setting as it moves toward the pose “pick”.
As the robot approaches “pick”, it gradually decelerates until it stops at the pose. A
series of motions carried out by one motion instruction is called a “motion segment”.
If the CP system switch is ON, the robot accelerates to reach the specified speed, but
does not decelerate when it approaches pos.1, as shown in figure 5-6. Instead, it
makes a smooth transition toward pos.2. When the robot approaches pos.2, it gradually
decelerates and stops at that point. This motion consists of two motion instructions, and
is made up of two motion segments.
CP motion is when the robot performs a series of motions making smooth transitions
between motion segments without stopping at each location.
If the CP switch is OFF the robot decelerates and stops at the end of each motion
segment. CP motion can be used with linear motions and joint motions or with a combi-
nation of joint motions and linear motions (LMOVE, JMOVE, JAPPRO, LDEPART, etc.).
For more information on the CP switch refer to sections 3.2 and 6.6.
PROGRAMS
Some instructions can suspend the execution of a program until the robot reaches
coincidence at the destination pose. This is called CP motion break. These instructions
are useful when the robot should be stationary while certain operations are performed,
such as closing a clamp (Figure 5-7).
JMOVE pos.1
BREAK
SIGNAL 1
SIG 1
The JMOVE instruction moves the robot toward pos.1. The BREAK instruction is ex-
ecuted and suspends the program until the move to pos.1 is completed. With the
BREAK instruction after the JMOVE instruction, the external signal is not output until the
robot comes to a stop.
• BASE
• BREAK
• BRAKE
• CLOSI
• HALT
• ONI
• OPENI
• PAUSE
• RELAXI
• TOOL
The ONI instruction can interrupt motion at any point in the motion segment.
PROGRAMS
NOTE
The robot decelerates and stops if a motion instruction
is not encountered before the execution of the current
motion is completed.
PROGRAMS
The example described below and shown in figure 5-8 demonstrates the AS system
program execution sequence.
With the robot at pose #a, the program steps are executed in the following order:
1. At pose #a, the AS system plans the motion for JMOVE #b and starts moving to-
ward #b.
2. As soon as the motion starts, the next step, SIGNAL 1, is executed (SIG 1 is set to
ON) immediately after the robot departs #a.
4. The execution proceeds to step 4, and the AS system plans LMOVE #c and waits
for the robot to reach #b.
5. When the robot reaches #b, the robot immediately starts moving toward #c and
SIGNAL 2 is executed.
6. During the move to #c, the AS system plans the motion for LMOVE #d, and waits for
the robot to reach #c.
7. When the robot reaches #c, Signal 3 is executed immediately, speed is set to 50%,
and the robot starts moving toward #d.
1 JMOVE #b #a
Signal 1 Output #b
2 SIGNAL 1 Signal 2 Output
3 a=2
4 LMOVE #c
5 SIGNAL 2
6 SPEED 50
7 LMOVE #d
8 SIGNAL 3
Signal 3 Output #c
#d
PROGRAMS
NOTE
The program always processes the next step until it has
to wait for the robot to reach the specified pose.
PROGRAMS
Table 5-2 provides a description of the motion control instructions discussed in this
section.
Instruction Description
ACCURACY Used to set the robot's positioning accuracy at the end of each motion segment.
When the robot reaches the range set by the ACCURACY instruction, the robot
considers the destination achieved and star ts motion to the next destination.
ACELL Used to set the acceleration of the robot at the beginning of a motion segment.
DECEL Used to set the deceleration of the robot at the end of a motion segment.
CP ON/OFF Enables or disables CP motion.
When the robot reaches the set accuracy range (D in figure 5-9), the current motion
path is superimposed over the next motion path to calculate the trajectory for a smooth
transition to the next motion path, without hesitation at the programed pose. The robot’s
current motion path moves continuously toward the next motion path according to these
calculated command values.
The larger the set accuracy range, the sooner the path superimposing (transition) be-
gins.
Command Value
PROGRAMS
Acceleration to the next motion path does not begin until the deceleration ramp (E in
figure 5-10) of the current motion path is reached. Maximum CP motion effect is
reached when the accuracy is set to the distance between where deceleration starts (E
in figure 5-10) and the actual destination pose (B in figure 5-10).
Speed (v)
Time (t)
A EB C
Accuracy Range Setting
If the acceleration and the deceleration values are set lower, the superimposition (transi-
tion) begins earlier and the robot moves in a larger radius trajectory, but the total time it
takes to reach C (Figure 9-11) is not significantly changed.
Speed (v)
Time (t)
A EB C
Accuracy Range Setting
PROGRAMS
If the deceleration is decreased and the acceleration for the next motion segment is
increased, the overall speed does not exceed the specified maximum speed, since the
superposing does not begin until the robot reaches the point where acceleration starts
(figure 5-12, F). The time to complete deceleration and acceleration is the same (figure
5-12, B).
Speed (v)
Time (t)
A EF B C
PROGRAMS
In type 2 motion, the concept of accuracy and velocity in linear motion and circular
motion is different than standard motion type. Standard motion type and type 2 motion
use the same programs without modifications, but the actual motion path and motion
speed changes.
1. Accuracy setting.
By setting a larger accuracy value, the robot can calculate the transition using
the shorter distance of either the remaining distance of the current motion
segment or half the distance of the next motion segment from B to C.
ACCURACY RANGE
200 mm
100 mm
A 1 mm
B
Non-Symetrical Arc
Figure 5-13 Type 2 Motion Joint Interpolation CP Motion and Accuracy Range
PROGRAMS
By setting the accuracy range larger, the robot can calculate the transition
using the shorter distance of either the remaining distance of the current
motion segment, or half the distance of the next motion segment from B to C.
The accuracy value can be set up to the value equal to half the distance of the
second motion segment.
ACCURACY RANGE
200 mm
100 mm
A 1 mm
B
Circular Arc
Figure 5-14 Type 2 Motion Linear Interpolation CP Motion and Accuracy Range
PROGRAMS
When the following conditions exist, the accuracy processing is the same as in
standard motion type:
When the interpolation mode for the next point is changed to joint interpolation
When the motion mode is changed at point B from normal motion to fixed
linear interpolation (FLIN) motion or from FLIN motion to normal motion.
2. Speed setting.
When a small accuracy value is set, speed is determined for joint interpolated
motion using maximum acceleration and deceleration to reach the program
pose.
When a large accuracy value is set, speed is determined for joint interpolated
motion by blending motion segments to make a smooth transition (CP motion).
This transition is limited to accuracies up to the deceleration and acceleration
ramps. Accuracy set larger than the deceleration and acceleration ramps have
no additional effect on the robot path (Figure 5-15).
PROGRAMS
Dec
el
el
Dec
A cc
A cc
el
el
A B C
Accuracies beyond the
deceleration and acceleration
ramps has no additional effect
on the robot path.
Specified Speed
Motion Type 2
Program Poses
(Locations) A B C D E
PROGRAMS
When the following conditions exist, the accuracy processing is the same as in
standard motion type:
When the interpolation mode for the next point is changed to joint interpola-
tion.
When the motion mode is changed at point B from normal motion to fixed
linear interpolation (FLIN) motion or from FLIN motion to normal motion.
NOTE
When executing program steps where the robot posture
changes greatly within a short distance, the time it takes
to change posture exceeds the time it takes to move
that distance at the specified speed. In this case, the
joint movements are given priority and the specified
speed is not achieved during the motion.
PROGRAMS
Linear and joint interpolated motion is standard for all robot models. At times it is neces-
sary to move the robot along a specified or calculated path, these complex motions are
possible because the AS system can make calculations during robot motion. This
process is referred to as “motion along a specified path”.
In the following example, the robot follows a path defined by a series of poses specified
by the array variable “path”. Path 0 to path 10 must be manually taught or defined by
calculations.
Example:
FOR index=0 TO 10
LMOVE path[index}
END
[Link] CP OFF
When the CP switch is OFF, the motion segments are not superimposed and there is no
smooth transition. The acceleration for the second motion segment starts after the first
motion segment is completed and the robot enters the default accuracy range (for ex-
ample, 1 mm for FS10).
Speed (v)
Time (t)
A C
PROGRAMS
When the CP switch is OFF, the motion for the second motion segment begins only
when the deceleration of the first motion segment is zero, even if the accuracy range is
set larger than the end of the first motion segment.
Speed (v)
Time (t)
A B C
Figure 5-18 CP OFF Acceleration and Deceleration with a Large Accuracy Range
When the load data for the robot’s current motion is set, the optimal acceleration and
deceleration is automatically determined. The WEIGHT command/instruction is used to
set the load mass and load mass center point.
NOTE
Always set the correct load mass and center of gravity
location. Incorrect data may weaken or shorten the lon-
gevity of parts or cause overload/deviation errors. For
information on the WEIGHT command/instruction refer
to section 6.6.
MONITOR COMMANDS
MONITOR COMMANDS
Keyword Parameter
NOTE
This symbol is used to represent the ENTER key.
MONITOR COMMANDS
Editor commands are monitor commands used in the edit mode to create and edit
programs. This section describes the editor commands and parameters.
Table 6-1 lists the editor commands and provides a brief description of their functions.
Shaded parameters can be omitted.
MONITOR COMMANDS
Function Enters the AS editor mode to name a new program or edit an exist-
ing program.
Step number:
Selects the step number to start editing. If no step is specified,
editing starts at the last step edited.
NOTE
A program cannot be edited or deleted during execution.
If a program calls a program that is being edited, an er-
ror occurs and the execution of the program is stopped.
MONITOR COMMANDS
Step Number:
Selects the step number to start editing. If no step is specified, the
first step is selected.
MONITOR COMMANDS
MONITOR COMMANDS
Function Displays the number of steps specified starting with the current
step.
Explanation Displays only the specified number of steps. The last step in the list
is selected for editing.
MONITOR COMMANDS
LAST L
MONITOR COMMANDS
INSERT I
All lines entered before exiting the insert mode are inserted into the
program.
>EDIT test
.Program test ()
1 OPENI
1?
2 JAPPRO #part,500
2?
3 LMOVE #part
3?
4 LDEPART 1000
4?
5 JAPPRO #place,500
5? s 4 ;Selects step 4 as the insertion point
4 LDEPART 1000
4? i ;Type “i” and press ENTER
4 I CLOSEI ;Type the instruction and press ENTER
5I ;Press ENTER to complete the procedure
5 LDEPART 1000 ; Step 4 is renumbered step 5
5?
NOTE
To insert a blank line, in the insert mode, press the
SPACEBAR or TAB key, and press the ENTER key.
MONITOR COMMANDS
Function Deletes the specified number of steps plus the current step.
Explanation When the specified steps are deleted all remaining steps are re-
numbered and moved up in the display.
NOTE
If the number of steps specified is greater than the num-
ber of steps in the program, all steps after the current
step are deleted.
MONITOR COMMANDS
Function Searches the current program for the specified character string from
the current step to the last step, and displays the first step that
contains the specified character string.
<EDIT test
.Program test()
1 LMOVE aa
1?
2 LMOVE bb
2?
3 LDEPART 50
3? f home
6 HOME
6?
7 JMOVE #place
7?
MONITOR COMMANDS
New characters:
Specifies the characters that replace the existing characters.
Example Replace the characters “50” in step 3 with the characters “75”.
>EDIT test
.Program test()
1 LMOVE aa
1?
2 LMOVE bb
2?
3 LDEPART 50
3? m/50/75
3 LDEPART 75
3?
MONITOR COMMANDS
Function Replaces existing characters in the current step with the specified
characters.
Use the spacebar to move the cursor under the first character to
replace.
Example Replace the characters “75” in step 3 with the characters “50”.
>EDIT test
.Program test()
1 LMOVE aa
1?
2 JMOVE bb
2?
3 LDEPART 75
3? r 50
3 LDEPART 50
3?
4 JMOVE cc
4?
MONITOR COMMANDS
ONELINE O
Function Places the cursor on the current step for editing. (“O” for “oneline”,
not zero).
With the cursor in the current step use the right and left cursor keys
to move the cursor to the characters to edit.
Use the BS (backspace) key to delete the characters and retype the
correct characters.
Example Replace the characters “bb” in step 2 with the characters “cc”.
>EDIT test
.Program test()
1 LMOVE aa
1?
2 LMOVE bb
2? o Enter “o” and press ENTER key
2 LMOVE bb Use cursor keys to place cursor at end of line
2 LMOVE Use BS (backspace) key to delete characters
2 LMOVE cc Retype correct characters, press ENTER key
NOTE
This command is used on a PC interfaced with the con-
troller. This command is not available from the teach
pendant.
MONITOR COMMANDS
EXIT E
MONITOR COMMANDS
Function Cuts the specified number of steps from a program and stores them
in the paste buffer.
Up to ten steps can be cut. If not specified, only the current step is
cut.
Explanation The XD command cuts the steps and the remaining steps in the
program are renumbered accordingly.
Example The example in figure 6-2 shows the XD command is used to cut
steps 3 and 4 from the program test.
> >
xd 2
dd
4 4 ee
4 4
5 JMOVE dd
5?
6 LMOVE ee
6?
MONITOR COMMANDS
Function Copies the specified number of steps of a program and stores them
in the paste buffer.
Explanation The XY command copies the steps and the steps in the program
remain the same.
Example The example in figure 6-3 shows the XY command is used to copy
steps 2 and 3 from the program “test” into the paste buffer.
> >
xy 2 xy 2
4 4
4 4
5 JMOVE dd 5 JMOVE dd
5? 5?
6 LMOVE ee 6 LMOVE ee
6? 6?
MONITOR COMMANDS
XP (Paste) XP
Function Inserts the contents of the paste buffer before the current step.
Example In example A (Figure 6-4) steps 2 and 3 are cut from the program
and stored in the paste buffer.
Example C (Figure 6-4) shows the cut steps pasted back into the
program as steps 3 and 4.
A B C
.PROGRAM test() .PROGRAM test() .PROGRAM test()
1 LMOVE aa 1 LMOVE aa 1 LMOVE aa
1? 1? 1?
2 LMOVE bb 2 LMOVE dd 2 LMOVE dd
2?xd 2 2? 2?
3 JMOVE cc 3 JMOVE ee 3 LMOVE bb
3? 3?xp 3?
4 LMOVE dd 4 LMOVE ff 4 JMOVE cc
4? 4? 4?
5 JMOVE ee 5 JMOVE ee
5? 5?
6 LMOVE ff 6 LMOVE ff
6? 6?
MONITOR COMMANDS
XQ (Paste Rev.) XQ
Function Inserts the contents of the paste buffer before the current step in
reverse order.
Example In example A (Figure 6-5) steps 2 and 3 are cut from the program
and stored in the paste buffer.
Example C (Figure 6-5) shows the cut steps pasted back into the
program as steps 3 and 4 in reverse order.
A B C
.PROGRAM test() .PROGRAM test() .PROGRAM test()
1 LMOVE aa 1 LMOVE aa 1 LMOVE aa
1? 1? 1?
2 LMOVE bb 2 LMOVE dd 2 LMOVE dd
2?xd 2 2? 2?
3 JMOVE cc 3 JMOVE ee 3 LMOVE cc
3? 3?xq 3?
4 LMOVE dd 4 LMOVE ff 4 JMOVE bb
4? 4? 4?
5 JMOVE ee 5 JMOVE ee
5? 5?
6 LMOVE ff 6 LMOVE ff
6? 6?
MONITOR COMMANDS
XS (Paste Buffer) XS
Explanation Displays the current paste buffer contents. If the paste buffer is
empty, nothing is displayed.
Example The example in figure 6-6 shows the paste buffer contents dis-
played using the XS command.
>
XS
--- Paste Buffer ---
[1]> JMOVE #a
[2]> JMOVE #b
[3]> JMOVE #c
2 JMOVE bb
2?
MONITOR COMMANDS
Example The example in figure 6-7 shows the T command used with a pa-
rameter and without a parameter.
MONITOR COMMANDS
NOTE
The teach pendant must be connected to the controller
and teach mode selected to use the T (TEACH) com-
mand.
MONITOR COMMANDS
This section describes the program and data control commands and parameters.
Table 6-2 lists the program and data control commands and provides a brief description
of their functions.
MONITOR COMMANDS
NOTE
The asterisk “*” is a wild card character which repre-
sents any character. It can be used with all program
and data control commands except the RENAME com-
mand.
MONITOR COMMANDS
CARD_FDIR CARD_FDIR
FD_FDIR FD_FDIR
Explanation All programs, subroutines and variables used in the programs are
listed.
NOTE
When the SCREEN switch is set to ON, the display
does not scroll and stops at the end of the screen. To
continue the display, press the spacebar. To exit the dis-
play, press the ENTER key.
MONITOR COMMANDS
Parameter /P:
Lists program names, but does not display program variable (loca-
tion, real, and string) names.
/L:
Lists pose variable names.
/R:
Lists real variable names.
/S:
Lists string variable names.
MONITOR COMMANDS
NOTE
When the SCREEN switch is set to ON, the display
does not scroll and stops at the end of the screen. To
continue the display, press the spacebar. To exit the dis-
play, press the ENTER key.
MONITOR COMMANDS
Function The LIST command displays the specified program name(s), pro-
gram steps, and program variables (location, real, and string). If a
program name is not specified, all program names, program steps,
and program variables (location, real and string) are displayed.
Parameter /P:
Lists program name and program steps, but does not display pro-
gram variables (location, real and string).
/L:
Lists pose variables and their values.
/R:
Lists real variables and their values.
/S:
Lists string variables and their values.
MONITOR COMMANDS
NOTE
When the SCREEN switch is set to ON, the display
does not scroll and stops at the end of the screen. To
continue the display, press the spacebar. To exit the dis-
play, press the ENTER key.
MONITOR COMMANDS
Function Deletes the specified program and all data associated with the
program from the controller memory.
Parameter /P:
Deletes the specified program only, from the controller memory.
/L:
Deletes the specified pose variable.
/R:
Deletes the specified real variable or real variable array element.
/S:
Deletes the specified string variable or string variable array element.
Explanation The DELETE command deletes the specified program and all
associated data, unless used by another program. This data con-
sists of the following:
All subroutines called by the program.
All pose variables used in the program and in the subroutines of the
program.
All real variables used in the program and in the subroutines of the
program.
The DELETE/P command deletes only the program and not the
subroutines and variables used by the program.
MONITOR COMMANDS
Explanation If array elements are not specified with the /R and /S parameters, all
the elements in the specified array variable are deleted. If array
element(s) are specified, only the specified element(s) are deleted.
Example >DELETE test Deletes the program “test” and all the
subroutines and variables used in program
“test” and associated subroutines.
>DELETE/P pg11,pg12
Deletes the programs “pg11” and “pg12”.
The subroutines and variables are not
deleted.
MONITOR COMMANDS
Function Deletes the specified file(s) from the PC card or floppy disk.
Parameter mode:
0 – Sets the verify mode to OFF.
1 – Sets the verify mode to ON.
2 – Displays the current setting of the verify mode.
MONITOR COMMANDS
Explanation If the new program name specified already exists, an error is gen-
erated.
MONITOR COMMANDS
Step number 1:
Specifies the step number the copied data is inserted before. If a
step is not specified, the data is inserted at the end of the specified
program.
Step number 2:
Specifies the step number in the source program where the data is
copied from. If a number is not specified, the data is copied starting
from the top of the program.
Step count:
Specifies the number of steps to copy from the source program,
starting from the step number specified above (step number 2). If a
step count is not specified, all remaining steps in the program are
copied.
Explanation Copies the specified steps from the specified program and inserts
the copied steps before the specified step in the destination pro-
gram.
NOTE
If the program is displayed using the STATUS,
PCSTATUS, or EDIT command, the XFER command is
not available.
MONITOR COMMANDS
Function Copy copies a complete program to a new program into the control-
ler memory. FD_COPY copies the programs onto a floppy disk, and
CARD_COPY copies the programs onto a PC card.
Explanation When two or more source programs are specified, the programs are
combined into one program under the new program name. The
name specified for the new program cannot be an existing program.
MONITOR COMMANDS
Function Logs and traces the contents of robot control and PC programs that
are executed.
1: = Robot program
1001: = PC program 1
1002: = PC program 2
1003: = PC program 3
1004: = PC program 4
1005: = PC program 5
If the program type is not specified, all the programs are logged.
ON/OFF:
Enables/disables the trace function.
Explanation If the required memory is not reserved using the SETTRACE com-
mand before TRACE ON is specified, error P2034 is displayed as
shown below.
MONITOR COMMANDS
RESTRACE RESTRACE
Function Releases the memory set aside using the SETTRACE command.
Explanation If the RESTRACE command is used while logging, the error P2033
is displayed as shown below.
MONITOR COMMANDS
Function Displays the logging data for the specified robot program or PC
program.
1: = Robot program
1001: = PC program 1
1002: = PC program 2
1003: = PC program 3
1004: = PC program 4
1005: = PC program 5
Logging number:
Specifies the logging data line number to start the log display. If not
specified, line 1 is selected.
N
Displays the next 9 lines.
L
Displays the previous 9 lines.
MONITOR COMMANDS
Explanation S number
Displays the specified log line number and the 4 lines logged before
and after that line (9 lines). If a line number is not specified, lines 1
to 9 are displayed. If the number is greater than the existing num-
ber of lines, the highest line number is displayed.
F character
Displays the line that includes the specified character(s) and the 4
lines logged before and after that line (9 lines). If character(s) are
not specified, the characters entered previously with the F com-
mand are used. If the characters are not found in the data, nothing
is displayed.
E
Ends the display and returns to the AS monitor mode.
Example The example in figure 6-8 shows the display when the LSTRACE
command is entered as shown below.
>LSTRACE 1:91
MONITOR COMMANDS
This section describes the program and data storage commands and parameters.
Table 6-3 lists the program and data storage commands and provides a brief description
of the functions.
MONITOR COMMANDS
CARD_FORMAT CARD_FORMAT
1: 1.44 MB
2: 1.25 MB
If omitted 1 is assumed.
Example >CARD_FORMAT
Are you sure? (Yes:1, No:0)?
1
Now formatting card...
>
Formatting done.
NOTE
A new SRAM PC card must be formatted before pro-
grams and data are stored.
MONITOR COMMANDS
Function The SAVE command stores the program and variable data to a
computer’s hard drive, PC card, CD burner, or floppy disk drive.
The SAVE command is only available when a PC is connected to
the controller.
Parameters /SEL:
Saves only the specified program(s). The subroutines and variables
used by the specified program(s) are not saved.
File name:
Saves the specified program under the file name. If the extension is
not specified, the extension “.as” is automatically added to the file
name.
Program name:
Select the program to save. If a program name is not specified, all
the programs in the controller’s memory are saved.
MONITOR COMMANDS
SAVE/SEL/P
Saves program data in a file with the extension “.PG”.
SAVE/SEL/L
Saves pose variable data in a file with the extension “.LC”.
SAVE/SEL/R
Saves real variable data in a file with the extension “.RV”.
SAVE/SEL/S
Saves string variable data in a file with the extension “.ST”.
SAVE/SYS
Saves system data in a file with the extension “.SY”.
SAVE/A
Saves auxiliary data in a file with the extension “.AU”.
SAVE/ROB
Saves robot data in a file with the extension “.RB”.
SAVE/ELOG
Saves error log data in a file with the extension “.EL”.
The SAVE command used alone stores all the five data types in
one file.
If /SEL is entered with /P, /L, /R, or /S, only the specified program
and the variables used in that program are saved. The subroutines
and variables used in the subroutines are not saved.
The names of the programs specified with the SAVE command and
any program names used as a subroutine of the specified
program(s) are displayed on the terminal when the SAVE command
is executed.
MONITOR COMMANDS
>SAVE file1
The next time a SAVE is entered using the file name “file1” the
original file is lost, the second file becomes the “.bas” (backup) file,
and the last saved file is named with the “.as” extension.
>SAVE/L file2=pg1,pg2
Saves the pose variables used in programs “pg1” and “pg2” under
the file name “[Link]”.
MONITOR COMMANDS
Function The LOAD command loads the specified files from the computer
memory into the controller memory. The LOAD command is only
available when a PC is connected to the controller.
FD_LOAD command loads the specified files from a floppy disk into
the controller memory.
Parameter /Q:
Loads selected programs and variables from a specified file into the
controller memory. The operator is prompted for each file item as
shown below.
File name:
Name of the file to load data from. If an extension is not specified
“.as” is assumed.
MONITOR COMMANDS
NOTE
When loading a pose variable, real variable or string
variable name that already exists in memory, the data in
the memory is overwritten without warning. Programs
are not overwritten.
Example Load the data in the file “[Link]” into the controller memory.
>LOAD pallet
Loading...
System data
Program a1()
Program test()
:
Transformation values
Joint interpolation values
Real values
Loading done.
>
>LOAD [Link]
MONITOR COMMANDS
Table 6-4 lists the program control commands and provides a brief description of their
functions.
MONITOR COMMANDS
Explanation Robot motion speed is a product of the monitor speed (set using
the SPEED command) and program speed (set in the program
using the SPEED instruction).
For example, if the monitor speed is set at 50 and the speed set in
the program is 60, and then the robot’s maximum speed is 30%.
NOTE
The maximum speed of the robot is automatically set to
100% if the product of the monitor speed and the pro-
gram speed exceeds 100%.
MONITOR COMMANDS
Function Prepares the system to execute the specified program using the
CYCLE START switch, CONTINUE, or EXECUTE command. This
command alone does not execute the program.
Execution cycles:
Sets the number of times the program is executed. If not specified,
1 is assumed. To execute the program continuously, enter a nega-
tive number (-1).
Step number:
Specifies the step where execution is to start. If not specified, the
execution starts from the first step of the program.
Explanation This command prepares the system for program execution. It does
not execute the program. The program is executed using the CON-
TINUE or EXECUTE command after the PRIME command pre-
pares the system. The program can also be executed using the
CYCLE START switch.
NOTE
When the PRIME command is used, the execution stack
is initialized (cleared). If the program on the execution
stack is in a hold condition (HOLD/RUN switch in HOLD
or an error condition exists), or in a subroutine, the pro-
gram execution cannot continue or return to the main
program. The program specified with the PRIME com-
mand replaces the program in the execution stack.
MONITOR COMMANDS
Execution cycles:
Sets the number of times the program is executed. If not specified,
1 is assumed. To execute the program continuously, enter a nega-
tive number (-1).
Step number:
Specifies the step where execution is to start. If not specified, the
execution starts from the first step of the program. The step number
specified is effective for the first iteration of the program cycle. After
the first cycle, if more than one cycle is specified, the program starts
from the first step.
Explanation Executes a specified robot program from the specified step. The
execution is repeated the specified number of cycles.
NOTE
When the EXECUTE command is used to execute a
program, speed and accuracy are automatically set as
shown below:
ACCURACY 1 ALWAYS
MONITOR COMMANDS
>EXECUTE test,-1
>Execute
MONITOR COMMANDS
Execution cycles:
Sets the number of times the program is executed. If not specified,
1 is assumed.
Step number:
Specifies the step where execution is to start. If not specified,
execution starts from the first executable step of the program. If no
parameters are specified, the step after the last executed step is
selected.
Explanation The STEP and MSTEP commands are executed without param-
eters, only in the following conditions:
>STEP assembly,,23
MONITOR COMMANDS
ABORT ABORT
Explanation Stops execution of the robot program after the current step is com-
pleted. If the robot is in motion, the execution stops after the motion
is completed. Program execution is resumed using the CONTINUE
command.
NOTE
In the AS system, the motion of the robot and the step
in execution are not necessarily the same. If the pro-
cessing of steps is faster than the motion of the robot,
the robot may perform one more motion step after the
current motion step before it stops.
HOLD HOLD
Explanation The robot motion is stopped immediately. This command has the
same effect as setting the HOLD/RUN switch to the HOLD position.
Motor power is not set to OFF, as with the EMERGENCY STOP
switch. Program execution is resumed using the CONTINUE com-
mand.
MONITOR COMMANDS
Parameter NEXT:
If NEXT is not specified, execution resumes from the step where
execution stopped. If NEXT is specified, execution resumes from
the step following the step where execution stopped.
Explanation The effect the keyword NEXT has on program restart, differs de-
pending on how the program was stopped.
NOTE
The CONTINUE command cannot resume program ex-
ecution when:
MONITOR COMMANDS
STPNEXT STPNEXT
Function Executes the next step if the STP_ONCE system switch is ON.
Explanation When the STP_ONCE system switch is ON, the program can be
executed in one step increments. The STPNEXT command ad-
vances execution to the next step in the program.
KILL KILL
DO DO program instruction
Explanation Program instructions are normally written within the programs and
executed as program steps. The DO command enables execution
of a single instruction without having to write a program to run that
instruction.
Example Move the robot to the pose “safe” in a joint interpolated motion.
DO HOME
MONITOR COMMANDS
Table 6-5 lists the pose information commands and provides a brief description of the
functions.
MONITOR COMMANDS
Function Defines the pose variable as the current robot pose. The pose may
be expressed in transformation values, joint displacement values or
compound transformation values.
NOTE
Only the right most variable in a compound transforma-
tion values is defined (see example). If the other vari-
ables used in the compound values are not defined, an
error occurs.
MONITOR COMMANDS
Explanation The values of the variable are displayed on the terminal followed by
the message “Change?” The values can be changed by entering
the values separating each value with a comma, as shown in figure
6-9. A value that is not changed may be skipped by using comas as
place holders. Press the ENTER key to complete the editing pro-
cess. To exit without making changes press the ENTER key at the
prompt.
Example The example in figure 6-9 shows the joint displacement value for
JT5 is changed from 89.080 to 90.000.
>HERE #PICK
MONITOR COMMANDS
Example Define the robot’s current pose as “#pick” (joint displacement val-
ues).
>HERE #pick
>HERE place
Define the robot’s current pose as “object” relative to the pose plate
(compound transformation values). If plate is not defined an error
occurs.
>HERE plate+object
MONITOR COMMANDS
Function Assigns the pose information on the right of the assignment sign (=)
to the pose variable on the left side of the assignment sign (=).
Pose values:
If not specified, the assignment sign (“=”) is also omitted.
Explanation Assigns pose values specified on the right to the pose variable.
When the pose values are not specified, the values already defined
for that pose are displayed on the terminal, and can be edited. If
the pose variable is not defined, the values displayed are 0, 0, 0, 0,
0, 0.
When the POINT command is executed, the pose values are dis-
played followed by the message “Change?” and a prompt. The
values can be edited. To exit without making changes press the
ENTER key at the prompt.
MONITOR COMMANDS
Explanation If the other variables used in the compound value are not defined,
an error occurs.
If the value types on the right and the left side of the assignment
sign (=) are different, the POINT command functions as follows:
>POINT #park
MONITOR COMMANDS
>POINT pick1=pick
>POINT pos0=#pos0
>POINT #pos1=pos1,#pos2
JT1 JT2 JT3 JT4 JT5 JT6
19.602 10.955 -18.182 0.336 -70.928 -19.710
Change?(If not, Press RETURN only)
MONITOR COMMANDS
Transformation values:
If not specified, the assignment sign (=) is also omitted.
MONITOR COMMANDS
>POINT/OAT a2=a1
X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg]
0.000 0.000 0.000 10.000 15.000 30.000
Change?(If not, Press RETURN only)
MONITOR COMMANDS
Function Used to record a series of poses using the RECORD key on the
teach pendant. Press the ENTER key to exit the teach mode.
Explanation Enter the TEACH command and variable name, jog the robot to the
required pose, and press the RECORD key. The current pose of
the robot is recorded using the specified variable name. The pose
name is automatically incremented each time a pose is recorded. If
an array variable is used the poses are recorded as consecutive
elements of the array.
Example Each time the RECORD key is pressed, the variable name index
number is incremented by 1, and the current robot pose is re-
corded.
>TEACH hole1
hole1
hole2
hole3
>TEACH point56
point56
point57
point58
>TEACH x[0]
x[0]
x[1]
x[2]
MONITOR COMMANDS
Table 6-6 lists the system control commands and provides a brief description of the
functions.
MONITOR COMMANDS
MONITOR COMMANDS
STATUS STATUS
Function Displays the status of the system and the current robot program.
Robot Status:
The current robot status is on of the following.
Error state: An error has occurred. Try the error reset pro-
cedure.
Repeat mode
cycle start ON: Motor power is ON and the program is running.
Environment:
The current monitor speed in percentage.
Stepper status:
The current status of step execution.
Execution cycles:
Completed cycles: Execution cycles completed (0 to 32767).
MONITOR COMMANDS
Example The STATUS command displays the robot program status as shown
in figure 6-10.
>STA
Robot status:
Motor Power OFF
REPEAT mode
Environment:
Monitor speed (%) = 10.0
Program speed (%) ALWAYS = 100.0
ALWAYS Accu.[mm] = 1.0
Stepper status: Program is not running.
Execution cycles
Completed cycles: 3
Remaining cycles: Infinite
Program name Prio Step No.
test 0 1 WAIT sig(1001)
MONITOR COMMANDS
Function Displays the current robot pose and other relative data.
MONITOR COMMANDS
MONITOR COMMANDS
Function Displays the current status of all the external and internal I/O sig-
nals.
Explanation If the system switch DISPIO_01 is OFF, “o” is displayed for signals
that are ON, “x” is for signals that are OFF. Dedicated signals are
displayed in uppercase letters (O and X). If the system switch
DISPIO_01 is ON, “1” is displayed for signals that are ON and “0” for
signals that are OFF. A hyphen (-) is displayed for external I/O
signals that are not installed.
>IO
32- 1 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxo
1032-1001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx oxxx
2032-2001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
>
>IO/E
32- 1 xxxx xxxx xxxx xxXX xxxx XXXX XXXO XXXO
1032-1001 xxxx xxxx xxxx xxXX xxxx XXXX XXXO XXXO
2032-2001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
3032-3001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
>
MONITOR COMMANDS
>IO
32- 1 0000 0000 0000 0000 0000 0000 0001 0001
1032-1001 0000 0000 0000 0000 0000 0000 0000 1000
2032-2001 0000 0000 0000 0000 0000 0000 0000 0000
>
FREE FREE
Example >FREE
Total memory 262144 bytes
MONITOR COMMANDS
Explanation This command sets the calendar within the controller. The value
ranges for each element are as shown below:
Year (00–99)
Month (01–12)
Day (01–31)
Hour (0–23)
Minute (0–59)
Second (0–59)
>TIME
Current time 02-04-29 [Link]
02-05-17
Current time 02-05-17 [Link]
MONITOR COMMANDS
Function Used to set or display the upper/lower limits of robot motion range.
Explanation If the parameter is specified, the new values entered are displayed
followed by the message “Change?”. Enter any value adjustments
after the change message, and press the ENTER key to complete
the procedure.
>110,50
JT1 JT2 JT3 JT4 JT5 JT6
maximum 120.00 60.00 60.00 190.00 115.00 270.00
Current 110.00 50.00 25.00 -40.00 60.00 15.00
Change?(If not, Press RETURN only)
MONITOR COMMANDS
Function Defines the base transformation values, used to determine the pose
relation between the base coordinates and the null base coordi-
nates.
MONITOR COMMANDS
>BASE abc
>BASE NULL
Y
Z
Y
X
def
Y
Z
Y
X
def
MONITOR COMMANDS
>BASE abc
MONITOR COMMANDS
Function Defines the tool transformation values that specify the position and
orientation relationship between the tool coordinates and the null
tool coordinates.
Example Change the pose of the tool coordinates to the pose described by
the pose variable “grip”.
>TOOL grip
>TOOL NULL
(X, Y, Z, O, A, T)=(0, 0 ,0 ,0 ,0 ,0)
June 10, 2003 6-79
Kawasak D SERIES CONTROLLER
MONITOR COMMANDS
Parameter Accuracy:
Sets the accuracy range of the HOME position in millimeters.
The accuracy does not affect the robots move to the HOME posi-
tion. The accuracy determines when the dedicated HOME position
output signal is sent.
The signal is sent when the robot is within the accuracy range of the
set HOME position.
HERE:
Sets the current robot pose as HOME or HOME 2.
Explanation If parameters are not entered, the current values are displayed
followed by the message “Change?” Enter the new value and press
the ENTER key. If no change is made, press the ENTER key only.
MONITOR COMMANDS
Example Change the HOME position by entering new values and set the
accuracy to 2 mm.
>SETHOME 2
Set the current robot pose as the HOME position and set the accu-
racy to 10 mm.
>SETHOME 10,HERE
ERRLOG ERRLOG
Explanation Used to display the last one hundred errors. When the display
reaches the end of the screen, press the spacebar to continue
viewing. Errors are listed in chronological order. The error log is
also accessed through auxiliary function 0702.
Example >ERRLOG
1-[02/07/17 [Link] (SIGNAL:00)
(D1016)
OPLOG OPLOG
Function Used to display the last one hundred operations in the format
shown below. When the display reaches the end of the screen,
press the spacebar to continue viewing. The oplog is also accessed
through auxiliary function 0703.
Example >OPLOG
1-[02/07/17 [Link] (SIGNAL:00) [PNL]
MONITOR COMMANDS
ON or OFF:
Sets the specified system switch(es) to ON or OFF. If this param-
eter is not entered, the switch setting is displayed.
>SWITCH
*POWER ON *REPEAT ON
*RUN ON *CS OFF
*RGSO OFF *ERROR OFF
*TRIGGER ON *TEACH LOCK OFF
[Link] OFF CP ON
[Link] OFF [Link] ON
[Link] OFF QTOOL OFF
REP ONCE OFF RPS OFF
STP ONCE OFF [Link] ON
MESSAGES ON SCREEN ON
[Link] OFF [Link] OFF
[Link] OFF [Link] OFF
DISPIO 01 OFF [Link] OFF
FLOWRATEOFF SPOT OP OFF
>
SCREEN OFF
MESSAGE OFF
>
MONITOR COMMANDS
>MESSAGES ON
>SCREEN, MESSAGES ON
>MESSAGES OFF
MONITOR COMMANDS
ZSIGSPEC ZSIGSPEC
Function Used to display and set the number of external and internal I/O
signals.
Explanation The current setting and the message “Change?” are displayed. This
command changes only the software setting. Ensure the number of
signals corresponds with the hardware setting.
Example >ZSIGSPEC
DO, DI, INT
64 64 64
MONITOR COMMANDS
HSETCLAMP HSETCLAMP
>HSETCLAMP
(1:Defined as Handling clamp, 0:Not used, ENTER only:No change, CTRL+C Exit)1
For single solenoid valve, define one signal.
For double solenoid valve, define both.
‘ON’[Link]
(0:Not used, ENTER only:No change, CTRL+C:Exit) Change?12
‘OFF’[Link]
(0:Not used, ENTER only:No change, CTRL+C:Exit) Change?13
MONITOR COMMANDS
NOTE
Always use the clamps in order from 1 to 8; i.e., clamp 5
cannot be used without using clamp 4.
MONITOR COMMANDS
Parameter INPUT:
INPUT, abbreviated I, displays the dedicated input signals. The
dedicated signals can be changed from this display screen.
OUTPUT:
OUTPUT, abbreviated O, displays the dedicated output signals. The
dedicated signals can be changed from this display screen.
MONITOR COMMANDS
NOTE
External program selection:
When selecting JMP as a dedicated signal, signals
JMP_ON, JMP_OFF, JMP_ST are also automati-
cally set as dedicated. JMP_ST is an output signal
but is set using the DEFSIG INPUT command.
RPS code:
If at least one of the following signals is selected as
a dedicated signal, a prompt is displayed and an
RPS code must be set.
JMP, RPS or EXT. PROGRAM RESET
Signal numbers:
Signals can be set within the following range: Dedi-
cated output signals: 1 ~ number of signals in-
stalled. Dedicated input signals: 1001 ~ number of
signals installed.
Others:
If a signal number is assigned as a dedicated sig-
nal, it cannot be assigned to another dedicated sig-
nal nor used as a general purpose signal.
MONITOR COMMANDS
>DEFSIG
>DEFSIG OUTPUT
MOTOR ON Dedication cancel? (Enter 1 to cancel.)1
ERROR Dedication cancel? (Enter 1 to cancel.)
Signal number 31 Change? (1-32)
AUTOMATIC Dedication cancel? (Enter 1 to cancel.)
Signal number 2 Change? (1-32) 30
CYCLE START Dedication cancel? (Enter 1 to cancel.)
Signal number 29 Change? (1-32)
TEACH MODE Dedication set? (Enter 1 to set.) 1
Signal number 0 Change? (1-32) 3
HOME1 Dedication cancel? (Enter 1 to cancel.)
>
MONITOR COMMANDS
ZZERO 102
If “100” is entered as the joint number, all the joints are reset to 0°.
ZZERO 2
If “0” is entered as the joint number, zeroing data for all joints is set
at 0°.
If a joint number is not specified, the current encoder data and the
zeroing data are displayed.
NOTE
Reset encoder rotation count before setting the zeroing
data.
MONITOR COMMANDS
! CAUTION
The zzero command is used to:
>ZZERO
MONITOR COMMANDS
>ZZERO 100
**Encoder rot. counter reset (all joints)**
Are you sure? (Enter 1 to execute) 1
Setting complete.
>
Figure 6-12 Reset Encoder Rotation Counter for All Joints Example
Reset the encoder rotation counter for joint 2 at the specified joint
position.
>ZZERO 102
**Encoder rot. counter reset (joint 2)**
Current angle (deg, mm) ? 0
Are you sure? (Enter 1 to execute) 1
Setting complete.
>
>ZZERO 0
Setting complete.
MONITOR COMMANDS
Example Set the encoder value describing the current pose of joint 2 as 0°.
>ZZERO 2
Current angle (deg, mm) ? 0
Change? (If not, Press RETURN only.)
Encoder value? Current=268435456, Enter 1 to set current value) 1
Zeroing value=268435456 (268419072-268451840) OK? (Enter 0 to change)
Setting complete.
>
MONITOR COMMANDS
ERESET ERESET
SYSINIT SYSINIT
Function Deletes all program and data in the memory and initializes (sets to
default values) defined parameters.
Explanation Initializes the system and deletes all programs, pose variables,
numeric variables, and string variables.
NOTE
All programs and variables are deleted from memory
when the SYSINIT command is executed.
MONITOR COMMANDS
Explanation Entering HELP only, displays a list of monitor command and pro-
gram instructions.
MONITOR COMMANDS
>HELP/M
ABORT BASE BITS BATCHK CONTINUE COPY DEFSIG
DELETE DIRECTORY DLYSIG DO EDIT ERESET ERRLOG
Display functions.
>HELP/F
#DEST #PPOINT $CHR $DECODE $ENCODE $ERROR
$LEFT $MID $RIGHT $SPACE ABS ASC
MONITOR COMMANDS
ID ID
Function Used to display the version of the software installed in the controller.
! CAUTION
If the ID information displayed does not match the robot
model connected to the controller, DO NOT engage mo-
tor power or operate the robot system.
>ID
Robot name :FS006-E001 Num of axes: 6 Serial No. 1
MONITOR COMMANDS
Function Used to set the load mass data (weight of tool and workpiece). The
data is used to determine the optimum acceleration for the robot
axes.
Used to set the inertia moment around each axes. The unit is
kg·m2. The inertia moment about each axis is defined as the mo-
ment around the coordinates axes parallel to the null tool coordi-
nates with the center of rotation at the tool’s center of gravity.
Explanation If parameters are not specified, the current value is displayed fol-
lowed by the message “Change?”.
! CAUTION
Always set the correct load mass and center of gravity
location. Incorrect data may weaken or shorten robot
parts serviceability or cause overload/deviation errors.
MONITOR COMMANDS
BATCHK BATCHK
Explanation >BATCHK
BATTERY ERROR CHECK (0:Ineffect, 1:Effect)
(Enter only: No change ^C:Exit): Now 1 Change ?
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
ENCCHK_EMG ENCCHK_EMG
MONITOR COMMANDS
ENCCHK_PON ENCCHK_PON
Function Used to set the acceptable range for the difference in encoder
values from when the controller power is set to ON, compared to
the encoder values when the power was set to OFF.
An acceptable range can be set for each joint. Settings that are too
small may generate an error when the robot is operating within
specifications.
SLOW_REPEAT SLOW_REPEAT
Explanation >SLOW_REPEAT
SLOW REPEAT MODE Speed (1~25%)
(Enter only: No change ^C:Exit): Now 10 Change ?
To change the slow repeat speed, enter the new value and press
the ENTER key.
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
MONITOR COMMANDS
REC_ACCEPT REC_ACCEPT
Explanation >REC_ACCEPT
RECORD(0:Enable, 1:Disable)
(Enter only: No change ^C:Exit): Now 0 Change ?
PROGRAM CHANGE(0:Enable, 1:Disable)
(Enter only: No change ^C:Exit): Now 0 Change ?
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
MONITOR COMMANDS
ENV_DATA ENV_DATA
Function Used to set hardware environmental data for the auto servo OFF
timer and the status of the teach pendant (connected or discon-
nected).
Explanation >ENV_DATA
AUTO SERVO OFF TIMER(0:Servo not off)
(Enter only: No change ^C:Exit): Now 0 Change ?
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
MONITOR COMMANDS
ENV2_DATA ENV2_DATA
Function Used to set the software environmental data for the teach pendant
or an external terminal [a personal computer (PC)].
Explanation >ENV2_DATA
TEACH PENDANT(0:Connect, 1:Disconnect)
(Enter only: No change ^C:Exit): Now 0 Change ?
TERMINAL(0:Connect, 1:Disconnect)
(Enter only: No change ^C:Exit): Now 0 Change ?
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
MONITOR COMMANDS
CHSUM CHSUM
Function Used to enable or disable the check sum error reset function.
Explanation >CHSUM
CLEAR CHECK SUM ERROR (0:Ineffect, 1:Effect)
(Enter only: No change ^C:Exit): Now 0 Change ?
If the CHSUM function cannot reset the error the message shown
below is displayed.
>CHSUM
Cannot clear check sum error. Check the following command or
auxiliary data.
ZZERO
DEFSIG
:
:
>
NOTE
CTRL+C (Exit) cannot be used from the teach pendant
keyboard screen.
MONITOR COMMANDS
Function Used to set a real number value to the specified data number.
(Option)
NOTE
This command is only available if the “Built-in Se-
quencer Function” is set to ON. If the option is OFF, the
error massage “(E1102) Cannot execute, no option set
up. - Check option specs.” is displayed.
MONITOR COMMANDS
TPLIGHT TPLIGHT
Explanation If the teach pendant backlight is OFF, this command illuminates the
backlight. If this command is used when the backlight is ON, the
backlight remains on for 600 seconds.
IPEAKLOG IPEAKLOG
Function Used to display the peak motor current for each robot axis.
>IPEAKLOG
IPEAKCLR IPEAKCLR
Function Clears the peak current value log and restarts logging values.
Explanation The logged values are reset using the IPEAKCLR command, the
SYSINI command, or by initializing the system using bit 8 of SW2
on the 1KA board.
Example >IPEAKCLR
Are you sure? (Yes:1,No:0)
>
MONITOR COMMANDS
Joint number:
Specifies the joint number information to display. If the joint number
is not specified information for all joints is displayed.
Example >OPEINFO
Operation Info. (02/1/14 [Link] -) (FILE LOAD 02/1/14)
Control ON 0.2[H]
Servo ON 0.1[H]
Motor ON 4 times
Servo ON 10 times
Emergency stop (while in motion) 2 times
JT1
Operation hour 0.1[H]
Operation distance 301.28 [x100 deg, mm]
JT2
Operation hour 0.1[H]
Operation distance 193.84 [x100 deg, mm]
:
NOTE
The first line shows the date and time the data accumu-
lation started.
MONITOR COMMANDS
OPEINFOCLR OPEINFOCLR
(Option)
MONITOR COMMANDS
Table 6-7 lists the binary signal commands and provides a brief description of the func-
tions.
NOTE
The D series controller uses two types of binary signals.
MONITOR COMMANDS
RESET RESET
Function When the RESET command is executed all external output signals
are set to OFF, except:
• Dedicated signals
• Clamp signals
If the optional setting is available, the interface panel signals are not
affected by this command.
! CAUTION
The RESET command sets all output signals to OFF
(except those listed above) in teach or repeat mode.
MONITOR COMMANDS
Explanation The signal number identifies the signal type as external or internal.
If the signal number is positive the signal is set ON. If the signal
number is negative the signal is set OFF. An error occurs if a dedi-
cated signal number is specified.
External output signal 1 is set OFF, 4 is set ON, and Internal signal
2010 is set ON.
>Signal -reset,4
If the value of the variable “reset” is positive, the output signal desig-
nated by “reset” is set OFF, and output signal 4 is set ON.
MONITOR COMMANDS
Function Used to set the specified signal to ON for the specified time.
Time:
Specifies the time in seconds the signal remains ON. If the time
parameter is not specified 0.2 seconds is used.
Function Used to set the specified signal to ON after the specified time is
elapsed.
If the signal number is positive the signal is set ON. If the signal
number is negative the signal is set OFF. An error occurs if a dedi-
cated signal number is specified.
Time:
Specifies the delay time before the specified signal is set to ON or
OFF.
MONITOR COMMANDS
Number of signals:
Specifies the number of signals in the binary bit pattern.
Decimal value:
Specifies the decimal value used to set ON or OFF signal states.
The decimal value is converted into binary notation and each bit of
the binary value is used to set the signal states starting at the least
significant bit. If the binary notation of the value has more bits than
the number of signals specified, only the state of the specified
number of signals are set and the remaining bits are ignored.
If the decimal value is omitted, the current signal states are dis-
played.
>BITS 1,8=100
External output signals 1–8 are set to the binary notation of 100
(01100100). Bits designated as “1” are set ON and bits designated
as “0” are set OFF.
MONITOR COMMANDS
Function Used to set the specified counter signal number to ON when the
specified counter value is reached.
Count up signal:
Specified by a signal number or a logical expression. When the
signal state changes from OFF to ON, the count increases by 1.
Counter value:
When the internal counter reaches the specified value the specified
signal number is set to ON. If “0” is specified the signal is set to
OFF.
Explanation When the SCNT command is executed and the count up signal
changes from OFF to ON, the internal counter value increases by 1.
If the count down signal changes from OFF to ON, the internal
counter value decreases by 1.
When the internal counter value reaches the specified value, the
specifies counter signal number is set ON. If the counter clear
(reset) signal changes from OFF to ON, the value of the internal
counter is set to 0. Each counter signal has an individual counter
value. To force reset an internal counter value to 0, use the
SCNTRESET command.
MONITOR COMMANDS
Function Used to set the specified signal ON/OFF in the specified time cycle.
Time:
Specifies the ON/OFF cycle time (real number value). If a negative
value is specified, flickering is canceled.
Explanation The ON/OFF switching is considered one cycle. The ON/OFF cycle
is executed in the specified time.
MONITOR COMMANDS
Function Used to set an output signal ON/OFF using a set signal and a reset
signal.
The output signal is set ON/OFF based on the state of the set and
reset signals when the SFLP command is executed.
MONITOR COMMANDS
Function Used to set the specified signal number ON when the specified
condition(s) is/are satisfied.
Signal expression:
Specifies a signal number or a logical expression.
MONITOR COMMANDS
Example 1001
SOUT 1 = 1001 AND 1002 1
1002
1001
SOUT 1 = 1001 OR 1002 1
1002
1001
SOUT -1 = 1001 AND 1002
1
SOUT 1 = NOT (1001 AND 1002)
1002
1001
SOUT 1 = -1001 AND 1002 1
1002
1001
SOUT 1 = (1001 AND 1002) OR 1003
1002
1
1003
SOUT -1 = 1001
SOUT 1 = -1001 1001 1
SOUT 1 = NOT (1001)
MONITOR COMMANDS
Function Used to set the specified timer signal ON, when the specified input
signal is ON for the specified time.
Time:
Specifies (in real numbers) the time, in seconds, the signal is ON
before the timer signal is set ON.
Explanation The monitored input signal must remain ON continuously for the
specified time for the timer signal to be set ON. If the input signal is
set OFF before the specified time elapses, the time count restarts
when the input signal is set ON again.
If the input signal is set OFF, the timer signal is set OFF immedi-
ately. The input signal affects the timer signal only when the STIM
command is executed. The timer signal remains ON, when the
input signal is set OFF, until the STIM command is executed again.
Example When the PC program test, shown below, is executed and signal 1
is ON for 5 seconds, signal 2 is set ON.
PC program test
>PCEXECUTE test
MONITOR COMMANDS
Function Used to set the time to start the clamp close control (SETPICK) or
open control (SETPLACE) for up to eight clamps.
Acceptable range:
0.0–10.0 seconds
MONITOR COMMANDS
Table 6-8 lists the message display commands and provides a brief description of the
functions.
MONITOR COMMANDS
Print data:
One or more of the available data types (shown below) may be
selected, separated by commas.
Explanation If “2” is specified for the device number, when the TYPE or PRINT
command is executed, the display automatically switches to the
keyboard screen to display the message or data.
If the MESSAGES switch is OFF, messages and data are not dis-
played on the screen.
MONITOR COMMANDS
Example: 1.234E+02
/Fm.n The value is displayed in fixed point notation, whole numbers in the
m digits field with the fraction in the n digits field.
Example: -1.234
/Gm.n If the value is 0.01 or greater 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.
The following format codes insert the specified characters between character strings.
/Cn A set of carriage returns (CR) and line feeds (LF) is output n times.
If this argument is the first or the last in the PRINT instruction, n
blank lines are displayed on the terminal, otherwise, n-1 blank lines.
/S This format code suppresses the output of (CR) and (LF) at the
beginning of a message. This is effective only when /S is the first
format code.
/Jn (Option) This format code displays the value as a hexadecimal number in the
n digit field. Zeros are displayed in place of blanks.
/Kn (Option) This format code displays the value as a decimal number in the n
digit field. Zeros are displayed in place of blanks.
/L This format code is the same as /D except all the spaces are re-
moved from the message or data.
MONITOR COMMANDS
Example In this example the value of real variable “i” is 5, the fifth element of
the array variable “point” is 12.66666.
When the above PRINT command and format code is entered the
display is shown as below.
point 5=12.67
The format code “/F5.2” allows five digits, three to the left of the
decimal and two to the right of the decimal. If the value of point[5] is
1000 (requires 4 digits to the left of the decimal), the display area is
too small and asterisks are displayed as shown below.
point 5=*****
>PRINT “ABC”
>PRINT/S, “DEF”
>PRINT “GHI”
ABC
DEFGHI
MONITOR COMMANDS
Function Displays the specified character string in the specified text window
assigned in AUX 0509 Interface Panel.
Parameter Window:
Specifies the window to display the character string. Windows 1–4
are available.
Row:
Specifies the row in the window to display the character string.
Rows 1–16 are available, depending on window size specified in
AUX 0509 Interface Panel. If a row is not specified, 1 is assumed.
Column:
Specifies the column in the window to display the character string.
Columns 1–43 are available, depending on window size specified in
AUX 0509 Interface Panel. If a column is not specified, 1 is as-
sumed.
Background color:
Specifies the background color of the window. Color code numbers
0–15 are available (see table 6-9). If a background color code
number is not specified, white is used.
Label color:
Specifies the character color displayed in the specified window.
Color code numbers 0–15 are available (see table 6-9). If a label
color code number is not specified, white is used.
Character string:
Specifies the character string displayed in the window. If multiple
character strings are specified, each character string is displayed in
a separate row.
MONITOR COMMANDS
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
Keyword Parameter
NOTE
This symbol is used to represent the ENTER key.
PROGRAM INSTRUCTIONS
Table 7-1 lists the motion instruction and provides a brief description of the functions.
Shaded parameters can be omitted.
PROGRAM INSTRUCTIONS
Clamp number:
Specifies the clamp number to open or close at the destination
pose. A positive number closes the clamp, a negative number
opens the clamp.
If the clamp number is omitted, the clamp does not open or close.
Explanation JMOVE:
The robot moves in a joint interpolated motion when the JMOVE
instruction is executed. The robot moves so that the ratios of dis-
tance traveled compared to the total distance are equal for all joints
during the movement from the start pose to the end pose.
LMOVE:
The robot moves in a linear interpolated motion when the LMOVE
instruction is executed. The tool center point (TCP) is moved in a
linear motion at a constant speed while maintaining tool orientation.
PROGRAM INSTRUCTIONS
Parameter Time:
Specifies the time the robot is stopped in seconds.
Example In the program shown below, the robot stops at pose “a” for 2.5
seconds. The SIGNAL instruction in step 3 is executed during the
time delay. After 2.5 seconds, robot motion begins toward pose “b”.
>EDIT pg01
.Program pg01()
1 JMOVE a
2 Delay 2.5
3 SIGNAL 1
4 JMOVE b
Function Stops execution of the next motion instruction for the specified time
after the robot reaches coincidence (the robot is stable).
Parameter Time:
Specifies the time the robot is stopped in seconds.
Explanation When the robot is moving at high speed with a heavy payload, it is
possible the robot can overshoot the destination pose. If this is the
case the robot adjusts the pose to satisfy the destination. The
STABLE instruction is not executed until the robot axes are at coin-
cidence and stable.
PROGRAM INSTRUCTIONS
Function Moves the robot to a pose, the specified distance from the specified
taught pose, in the tool Z direction.
Distance:
Specifies the distance, in millimeters, to approach the specified
pose.
PROGRAM INSTRUCTIONS
The example in figure 7-2 shows the tool center point position,
when program pg03, step 2 is executed.
>EDIT pg03
.Program pg03 ()
1 HOME
2 LAPPRO a,100
3 LMOVE a
Tool -Z
PROGRAM INSTRUCTIONS
Function Moves the robot to a pose the specified distance from the specified
taught pose, in the tool Z direction.
Parameter Distance:
Specifies the distance, in millimeters, to depart the specified pose.
If the distance is a positive value, the robot departs the pose in the
negative tool Z direction (before the pose).
If the distance is a negative value, the robot departs the pose in the
positive tool Z direction (after the pose).
PROGRAM INSTRUCTIONS
The example in figure 7-3 shows the tool center point position,
when program pg03, steps 2 and 4 are executed.
>EDIT pg03
.Program pg03 ()
1 HOME
2 LAPPRO a,100
3 LMOVE a
4 LDEPART 100 Tool -Z
PROGRAM INSTRUCTIONS
Function Moves the robot to the pose defined as HOME or HOME2, in joint
interpolation.
Explanation Two home positions are available, HOME 1 and HOME 2. When
the HOME 1 or HOME 2 instruction is executed, the robot is moved,
in joint interpolation, to the defined pose.
Example HOME Moves the robot to the position defined using the
SETHOME command, in joint interpolated motion.
PROGRAM INSTRUCTIONS
Function Moves a single joint the specified amount, in degrees of joint move-
ment.
Displacement:
Specifies the amount to move the joint, in the positive or negative
direction.
Speed:
Specifies the speed for the robot motion. The speed is expressed
as a percentage of the monitor speed. If speed is not specified,
100% of monitor speed is assumed.
Explanation The drive instruction moves the specified joint the specified amount
at the specified speed. The program speed set in the program does
not affect this instruction.
Example DRIVE 2,-10,75 Moves joint 2, -10 degrees from the current
pose, at a speed of 75% of the monitor
speed.
PROGRAM INSTRUCTIONS
Function Moves the robot in linear interpolation the distance and direction
specified for the X, Y and Z coordinates and the rotation specified
around each axis in the base coordinates.
Parameter X distance:
Specifies the distance to move in the X axis in millimeters. If not
specified, 0 millimeters is assumed.
Y distance:
Specifies the distance to move in the Y axis in millimeters. If not
specified, 0 millimeters is assumed.
Z distance:
Specifies the distance to move in the Z axis in millimeters. If not
specified, 0 millimeters is assumed.
X rotation:
Specifies the amount of rotation around the X axis in degrees. The
acceptable range is less than ±180 degrees. If not specified, 0
degrees is assumed.
Y rotation:
Specifies the amount of rotation around the Y axis in degrees. The
acceptable range is less than ±180 degrees. If not specified, 0
degrees is assumed.
Z rotation:
Specifies the amount of rotation around the Z axis in degrees. The
acceptable range is less than ±180 degrees. If not specified, 0
degrees is assumed.
Speed:
Specifies the speed in percentage (%), millimeters per second
(mm/s), millimeters per minute (mm/min), centimeters per minute
(cm/min), or seconds (s). If not specified, the robot moves at the
program speed.
PROGRAM INSTRUCTIONS
Explanation The robot moves, from the current pose, the specified amount, at
the specified speed in linear interpolation.
Example DRAW 50,,-30 Moves the robot from the current pose 50
mm in the X axis and -30 mm in the Z axis in
base coordinates.
ALIGN ALIGN
Function Moves the tool Z-axis parallel to the closest base coordinate axis.
Explanation The ALIGN instruction is used to set the tool direction parallel to a
base axis before teaching a series of poses. The ALIGN instruction
is also used to verify the tool coordinate definition.
Example The example in figure 7-4 shows the ALIGN command used to align
the tool Z-axis with the base Z-axis.
>DO ALIGN
+Z
Before ALIGN After ALIGN
-X
Tool Z-Axis
-Y +Y
+X
-Z
Base Coordinates
PROGRAM INSTRUCTIONS
Function Moves the robot to the specified pose. The robot moves in hybrid
interpolation: major axes move in linear interpolation and wrist axes
move in joint interpolation.
Clamp number:
Specifies the clamp number to open or close at the destination
pose. A positive number closes the clamp, a negative number
opens the clamp.
If the clamp number is omitted, the clamp does not open or close.
Explanation This instruction moves the robot in linear interpolation. The tool
center point is moved in a linear trajectory and the wrist joints move
in joint interpolation.
PROGRAM INSTRUCTIONS
Function Moves the robot towards the specified pose, in linear interpolation,
stops motion when the specified signal condition is satisfied and
moves to the next program step (the robot may not complete motion
to the originally specified pose).
Parameter Mode:
/ERR (option); returns an error if the signal condition is already
satisfied when the signal monitor starts.
Signal Number:
Specifies the external input signal or internal signal to monitor.
NOTE
When the rising or trailing edge of the signal is moni-
tored, the program branches only if there is a transition
in the signal state. If the rising edge is monitored and
the signal is ON when the XMOVE is executed, the pro-
gram does not branch unless the signal goes OFF and
ON while the XMOVE is monitoring the signal. The sig-
nal must remain stable for 50 msec for monitoring.
PROGRAM INSTRUCTIONS
Example In the program example shown in figure 7-5 the robot moves from
“start “towards “end”. When signal 1001 is received during the
motion from “start” to “end” the robot stops and moves to “skip”,
even if the robot has not reached “end”.
ED pg04
.Program pg04()
1 JMOVE start
1?
2 XMOVE end TILL 1001
2?
3 LMOVE skip
3?
Start
skip
end
PROGRAM INSTRUCTIONS
Specifies the robot motion destination. The pose variable name can
be a transformation, compound transformation, joint displacement
values, or pose information function.
Clamp number:
Specifies the clamp number to open or close at the destination
pose. A positive number closes the clamp, a negative number
opens the clamp.
If the clamp number is omitted, the clamp does not open or close.
The C1MOVE and C2MOVE instructions specify the arc of the robot
path to reach the end pose. Three poses are needed for the con-
troller to calculate a circular path trajectory.
The first pose is the beginning of the arc and can be specified with
any of the following instructions: Align, C1MOVE, C2MOVE, DELAY,
DRAW, TDRAW, DRIVE, HOME, JMOVE, JAPPRO, JDEPART,
LMOVE, LAPPRO, LDEPART, STABLE, or XMOVE.
PROGRAM INSTRUCTIONS
Example The examples in figure 7-6 show three possible circular interpola-
tion configurations.
pt2
JMOVE pt1
C1MOVE pt2
C2MOVE pt3
pt1 pt3
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
NOTE
It is possible to have several C1MOVEs between the
start pose and the end pose of the circular trajectory de-
fining the arc.
PROGRAM INSTRUCTIONS
This section describes the speed and accuracy control instructions and parameters.
Table 7-2 lists the speed and accuracy control instructions and provides a brief descrip-
tion of the functions. Shaded parameters can be omitted.
PROGRAM INSTRUCTIONS
Rotational speed:
Specifies the rotational speed of the tool posture in linear and
circular interpolated motion. Normally specified in percentages
between 0.01 to 100%. Absolute speed is set by specifying the
speed in mm/s (millimeters per second) or mm/min (millimeters per
minute).
ALWAYS:
When ALWAYS is specified, the setting is effective until the next
SPEED instruction is executed. When ALWAYS is not specified,
only the next robot motion is affected.
Explanation The actual robot speed is determined by the product of the monitor
speed and the program speed (monitor speed x program speed).
PROGRAM INSTRUCTIONS
Explanation When the speed is specified as distance per time unit or in seconds
for linear interpolation, the tool center point is moved to reach the
pose at the specified speed or with in the specified time value.
NOTE
If the product of program speed and monitor speed ex-
ceeds 100% the actual speed does not exceed 100%.
Example SPEED 50 Sets the speed for the next robot motion to
50%.
SPEED 100 Sets the speed for the next robot motion to
100%
SPEED 200 Sets the speed for the next robot motion to
100%. Speeds over 100% are set to 100%.
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
ALWAYS:
When ALWAYS is specified the setting is effective until the next
ACCURACY instruction is executed.
When ALWAYS is not specified, only the next robot motion is af-
fected.
NOTE
When the accuracy is set to 1 mm, the robot pauses
when each program point is reached. To use continu-
ous path (CP) motion, increase the accuracy range set-
ting.
PROGRAM INSTRUCTIONS
Parameter Acceleration/deceleration:
Specifies the acceleration/deceleration as a percentage of the
maximum value. The acceptable range is 0.01–100. Values over
100 are set as 100. Values under 0.01 are set as 0.01.
ALWAYS:
When ALWAYS is specified the setting is effective until the next
ACCEL/DECEL instruction is executed. When ALWAYS is not
specified, only the next robot motion is affected.
Explanation The ACCEL instruction specifies the acceleration when the robot
starts a motion as a percentage of maximum acceleration.
PROGRAM INSTRUCTIONS
BREAK BREAK
Function Causes program execution to stop until the current robot motion is
completed.
The CP motion from the current motion to the next motion is inter-
rupted and the robot pauses between the motion segments.
Example In this example the BREAK instruction ensures the robot reaches a
point 500 mm away from point “a” and then creates the location
variable “pt1”. Without the BREAK instruction, the location “pt1” is
created when the robot is in motion to the point 500 mm away from
point “a”.
>EDIT pg06
.Program pg06()
1 JMOVE a
1?
2 DRAW ,,500
2?
3 BREAK
3?
4 HERE pt1
4?
BRAKE BRAKE
Explanation Stops the current robot motion immediately and skips to the next
program step.
PROGRAM INSTRUCTIONS
For example, if the monitor speed is 100% and the program speed
is 50%, the motion speed is calculated using 100% x 50% x block
speed. If the block speed is less than 200%, the speed is calcu-
lated as described above. If the block speed is over 200%, the
robot motion speed is adjusted to 100%.
NOTE
When the EXECUTE command is used to start the pro-
gram from the teach pendant, the block speed is set to
the default value of 100%. When the program is se-
lected using external program reset (not using RPS and
JUMP signals), the block speed is set to the default
value (100%).
PROGRAM INSTRUCTIONS
Example In this example the robot is stopped at step 3 and motion is re-
sumed at step 25. The block speed at step 25 is the speed set in
block 1, because the program was interrupted at step 3.
>EDIT pg04
.Program pg04()
1 BSPEED block1 ;Sets speed for block 1
1?
2 JOINT SPEED9...
2?
3 LINEAR SPEED9...
:
12 BSPEED block2 ;Sets speed for block 2
12?
13 JOINT SPEED9...
13?
14 LINEAR SPEED9...
14?
:
24 BSPEED block3 ;Sets speed for block 3
24?
25 JOINT SPEED9...
25?
26 LINEAR SPEED9...
26?
PROGRAM INSTRUCTIONS
Example Use an array variable and the BITS instruction to control speed
using external input signals.
Then a=2, block11[2] is used, and the robot motion speed is set to
30%.
PROGRAM INSTRUCTIONS
Table 7-3 lists the clamp control instruction and provides a brief description of the func-
tions. Shaded parameters can be omitted.
PROGRAM INSTRUCTIONS
Explanation Sends the signal to the clamp control pneumatic valve to open the
specified clamp.
When OPEN is used, the signal is not sent until the next motion
starts.
When OPENI is used and the robot is in motion, the signal is sent
after the motion is completed. If CP motion is used, the CP motion
is suspended as with the BREAK instruction.
PROGRAM INSTRUCTIONS
bb
PROGRAM INSTRUCTIONS
Explanation Sends the signal to the clamp control pneumatic valve to close the
specified clamp.
When CLOSE is used, the signal is not sent until the next motion
starts.
When CLOSEI is used and the robot is in motion, the signal is sent
after the motion is completed. If CP motion is used, the CP motion
is suspended as with the BREAK instruction.
PROGRAM INSTRUCTIONS
Function Sets clamp signals for open and close OFF. For double solenoid
application, clamp open and close signals are set OFF.
Explanation When RELAX is used, the signal is not sent until the next motion
starts.
When RELAXI is used, and the robot is in motion, the signal is sent
after the motion is completed. If CP motion is used, the CP motion
is suspended as with the BREAK instruction.
PROGRAM INSTRUCTIONS
OPEN/CLOSE/RELAX instructions:
The signal is sent when the next motion starts.
OPENI/CLOSEI/RELAXI instructions:
If the robot is in motion, the signal is sent when the motion is
completed. If CP motion is used, the CP motion is suspended
as with the BREAK instruction.
OPENS/CLOSES/RELAXS instructions:
The signal is sent immediately when the instruction is executed.
PROGRAM INSTRUCTIONS
Function Sets the gun ON/OFF signals ON/OFF and controls the gun signal
(Option) timing, specified by the distance.
Distance:
Specifies the distance, in millimeters (mm), before or after the
program point, to set the gun signals ON/OFF.
Explanation The gun signal is set ON or OFF when the next motion instruction is
executed after the GUNON/GUNOFF instruction. The gun signal
timing is controlled by the distance specified in the GUNON/
GUNOFF instruction.
Example GUNON 2,100 Sets the GUNON signal ON, when the robot
has reached a point 100 mm past the in-
tended program point.
PROGRAM INSTRUCTIONS
Time:
Specifies the time, in seconds, to advance or delay the GUNON/
GUNOFF signals.
With the timer value assigned to a variable the value can also be
set using input signals outside of the program.
PROGRAM INSTRUCTIONS
Table 7-4 lists the configuration instructions and provides a brief description of the
functions.
PROGRAM INSTRUCTIONS
When a precision pose (pose designated with #) is taught, the displacement values of
each of the six axis are defined. When a pose is defined using transformation values,
there are cases where more than one set of joint positions results in the same transfor-
mation pose value.
In AS Language programs, the robot retains the configuration used by the previous
move. In most cases, a precision pose can be used before a transformation pose to
establish robot configuration. In some cases, the configuration should be specified
using configuration instructions. The following examples describe cases when configu-
ration should be specified:
When the robot moves from a pose with unclear configuration to a transformation pose.
When joint 5 passes through the origin (0 degrees) on a robot with a swivel, bend,
swivel (SBS) wrist.
If the pose #a is taught with the configuration shown in figure 7-8, A; when the robot
moves to transformation pose b the robot configuration is as shown by the dotted lines
in figure 7-8, B.
If the transformation pose b is taught with the robot configuration as shown by the solid
lines in figure 7-8, B; the configuration will be as shown by the dotted lines when pose
#a proceeds transformation pose (location b as shown in the program example below).
JMOVE #a
JMOVE b
A #a B b
PROGRAM INSTRUCTIONS
To correct these configuration errors the robot configuration must be changed while the
robot is in motion. To change the robot configuration use the following configuration
instructions.
• LEFTY, RIGHTY
• ABOVE, BELOW
• UWRIST, DWRIST
2. The robot does not react immediately to a configuration instruction. The configura-
tion changes while executing the next joint interpolated move (JMOVE, JAPPRO,
JDEPART, DRIVE).
3. In most cases configuration instructions are not needed. The configuration instruc-
tions are used in the following cases.
a. When a program does not begin with a precision pose to set the robot’s con-
figuration. The configuration instruction is used at the beginning of the pro-
gram to set robot configuration.
b. When a JAPPRO instruction causes excessive rotation of JT4 and JT6 (wrist
roll) during the move from the approach pose to the actual pose as in the
example programs below.
JT5>0°* JT5<0°*
JMOVE a JMOVE a JMOVE a
JAPPRO #b,100 UWRIST DWRIST
JMOVE #b JAPPRO #b,100 JAPPRO #b,100
JMOVE #b JMOVE #b
*If the angle of JT5 is positive at #b, use the UWRIST instruction. If the angle
of JT5 is negative at #b, use the DWRIST instruction.
PROGRAM INSTRUCTIONS
This section provides explanations of the robot configuration instructions. These instruc-
tions are used when it becomes necessary to ensure a specific robot configuration to
avoid program errors or to prevent interference with tooling or peripheral equipment.
RIGHTY RIGHTY
LEFTY LEFTY
Function Forces a robot configuration change during the next motion so the
robot arm is configured to resemble a person’s right (RIGHTY) or
left (LEFTY) arm. The configuration may not change during a linear
interpolated move or when the destination pose is a precision point.
Example
LEFTY RIGHTY
PROGRAM INSTRUCTIONS
ABOVE ABOVE
BELOW BELOW
Function Forces a robot configuration change during the next motion so the
elbow joint (JT3) is configured to resemble a person’s arm with the
elbow in the above or below position relative to the wrist. The
configuration may not change during a linear interpolated move or
when the destination pose is a precision point.
Example
ABOVE BELOW
PROGRAM INSTRUCTIONS
UWRIST UWRIST
DWRIST DWRIST
Function Forces a robot configuration change during the next motion so the
angle of JT5 has a positive or negative value. The configuration
may not change during a linear interpolated move or when the
destination pose is a precision point.
UWRIST DWRIST
PROGRAM INSTRUCTIONS
Table 7-5 lists the program control instructions and provides a brief description of the
functions.
PROGRAM INSTRUCTIONS
Function Causes program execution to jump to the program step with the
specified label.
Parameter Label:
Specifies the program step label to jump to. The label can be any
whole number between 0 and 32767. The label must be in the
same program.
Condition:
Specifies the condition required to cause the program execution to
jump to the specified label. The condition parameter can be omit-
ted. When the condition is omitted, the IF instruction is also omit-
ted.
PROGRAM INSTRUCTIONS
Function Causes program execution to jump to the program step with the
specified label if the specified condition is met.
Parameter Condition:
Specifies the condition required to cause the program execution to
jump to the specified label (e.g. n==0, n>3, m+n<0).
Label:
Specifies the program step label to jump to. The label can be any
whole number between 0 and 32767. The label must be in the
same program.
Explanation Causes program execution to jump to the specified label when the
condition is met.
Example IF n>3 GOTO 100 If the value of whole number variable “n” is
greater than 3, then program execution jumps
to the step labeled 100. If “n” is not greater
than 3, the step after the IF/GOTO instruction
is executed.
PROGRAM INSTRUCTIONS
Function Pauses current program execution and jumps to the specified pro-
gram (subroutine). When the subroutine is completed, the execu-
tion returns to the original program at the step following the CALL
instruction.
If input signal 1020 is low, then execution returns to the line follow-
ing the call command in pg00.
PROGRAM INSTRUCTIONS
pg07
1 JMOVE a1
2 C1MOVE a2
07 3 C2MOVE a3
4 C1MOVE a4
5 C2MOVE a1
RETURN RETURN
PROGRAM INSTRUCTIONS
Parameter Condition:
specifies the condition that must be met to resume program execu-
tion (real number expressions).
! CAUTION
Overriding the WAIT instruction can cause damage to
the robot or peripheral equipment. Ensure conditions
are safe to continue program execution without satisfy-
ing the wait condition.
PROGRAM INSTRUCTIONS
Parameter Time:
Specifies the time, in seconds, to pause program execution.
! CAUTION
Overriding the WAIT instruction can cause damage to
the robot or peripheral equipment. Ensure conditions
are safe to continue program execution without satisfy-
ing the wait condition.
PROGRAM INSTRUCTIONS
MVWAIT value
Parameter Value:
Specifies the distance or time. Distance is expressed in millimeters
(mm) and time is expressed in seconds (S).
NOTE
When the MVWAIT instruction is used the
[Link] switch must be ON.
PROGRAM INSTRUCTIONS
Example In the example below, the robot moves toward pose “pt1”, and when
the robot reaches the point 100 mm from “pt1”, signal 21 is set ON.
[Link] switch must be ON and the robot must be in
the accuracy range set for “pt1”.
LMOVE pt1
MVWAIT 100 mm
SIGNAL 21 100 mm
In the example below, the robot moves toward pose “pt1”, and when
the robot reaches the point .5 second from “pt1”, signal 21 is set
ON. [Link] switch must be ON and the robot must be
in the accuracy range set for “pt1”.
LMOVE pt1
MVWAIT .5S
SIGNAL 21 .5 seconds remaing
PROGRAM INSTRUCTIONS
Function Changes the priority of the robot program currently on the stack.
Parameter Priority:
Specifies program priority in real numbers from 0–127.
PROGRAM INSTRUCTIONS
Example In the example figure 7-10, step 1 in program main sets the priority
for the ON instruction at 3. Step 2 sets the priority for the call of
subroutine part1 at 4. Step 3 sets the priority for the call of subrou-
tine part2 at 2.
If signal 1002 changes from OFF to ON, during steps 1 through 12,
the ON instruction is not executed. Priority for subroutine part2 is
set at 2, which is below the LOCK instruction setting of 3.
PROGRAM INSTRUCTIONS
PAUSE PAUSE
Explanation The PAUSE instruction stops program execution and displays the
message “program paused” on the terminal (keyboard screen).
Program execution is resumed using the CONTINUE command.
The PAUSE instruction can be used to verify variables while the
program execution is paused.
HALT HALT
PROGRAM INSTRUCTIONS
STOP STOP
Explanation When the STOP instruction is executed and there are remaining
execution cycles, program execution returns to the first step. The
program execution continues between the first step and the step
with the STOP instruction until remaining execution cycles are
completed. The STOP instruction indicates the end of the execution
path.
NOTE
A main program is a program executed using the EX-
ECUTE, STEP, or PCEXECUTE commands.
PROGRAM INSTRUCTIONS
Variable:
If the subroutine call (SCALL) is executed normally (without an
error), the variable is assigned the value 0. If an error occurs during
the subroutine call (SCALL), and error code is assigned to the
variable (≠ 0). If the variable is omitted, program execution is
stopped when an error occurs in the subroutine call.
Explanation The SCALL instruction has the same function as the CALL instruc-
tion except the program name is expressed as a string expression.
PROGRAM INSTRUCTIONS
NOTE
While the main program containing the ONE instruction
is executing, the ONE instruction is effective for the
main program and subroutines called from the main pro-
gram.
PROGRAM INSTRUCTIONS
Example In the example in figure 7-11, the ONE instruction in step one of the
program main, calls the subroutine recover when an error occurs.
PROGRAM INSTRUCTIONS
RETURNE RETURNE
Explanation The RETURNE instruction is usually used with the ONE instruction.
When the ONE instruction is executed the program jumps to the
specified subroutine when an error occurs. The program execution
is returned to the step after the error in the original program when
the RETURN instruction is executed in the subroutine (Figure 7-11).
PROGRAM INSTRUCTIONS
This section describes the program control flow structure instructions and parameters.
Control flow structures are special types of program instructions that consist of more
than one line of code to form a group or block of steps. Depending on the structure
used, these blocks can provide sequence control, decision making, looping, and the
ability to select a set of instructions from many possible sets.
Table 7-6 lists the program control flow structure instructions and provides a brief de-
scription of the functions.
PROGRAM INSTRUCTIONS
Program instructions(1):
Program instructions executed if the logical or real value expression
is TRUE.
Program instructions(2):
Program instructions executed if the logical or real value expression
is FALSE.
Explanation This control flow structure executes one of the two groups of
instructions according to the value of the logical expression.
NOTE
The ELSE and END statements each occupy a full line.
PROGRAM INSTRUCTIONS
20 ...
21 IF n>5 THEN
22 sp=10
23 ELSE
24 sp=20
25 END
26 SPEED sp ALWAYS
27 ...
70 ...
71 IF m THEN
72 IF SIG(1001) THEN
73 PRINT “Input signal is TRUE”
74 ELSE
75 PRINT “Input signal is FALSE”
76 END
77 END
78 ...
PROGRAM INSTRUCTIONS
Function While the specified condition is TRUE, the program instructions are
executed. When the condition is FALSE, the WHILE..DO..END
structure is ignored.
Parameter Condition:
Logical expression or real value expression. The logical expression
or real value expression is monitored for state, TRUE (not 0) or
FALSE (0).
Program instructions:
Specifies a group of instructions to execute when the condition is
TRUE.
Explanation This control flow structure repeats the specified program instruc-
tions while the specified condition is TRUE.
NOTE
Unlike the DO..UNTIL structure, if the condition is
FALSE, none of the program instructions in the
WHILE..DO structure are executed.
PROGRAM INSTRUCTIONS
Example In the following example, input signals 1001 and 1002 are moni-
tored and robot motion is stopped based on the signal’s state. If
either of the signal,s states changes to OFF, indicating the parts
feeder is empty, the program execution continues at the step after
the END statement.
If either of the signals are OFF, indicating the parts feeder is empty,
when the WHILE..DO structure is executed, none of the program
instructions in the structure are executed.
22 ...
23 WHILE SIG(1001,1002) DO
24 CALL part1
25 CALL part2
26 END
27 ...
PROGRAM INSTRUCTIONS
DO DO
.. program instructions
UNTIL.. UNTIL logical expression
Function This structure forms a loop to execute the specified program in-
structions until the specified logical expression is FALSE.
Logical expression:
Specifies the logical expression or real value expression to monitor
for change in state from FALSE to TRUE.
PROGRAM INSTRUCTIONS
NOTE
Unlike the WHILE..DO structure, the program instruc-
tions in the DO..UNTIL structure are executed at least
once.
Example In the example below the DO..UNTIL structure controls the following
task:
2. When the buffer is full, the input signal “[Link]” is set to ON.
12 ...
13 DO
14 CALL [Link]
15 CALL [Link]
16 UNTIL SIG([Link])
17 ...
PROGRAM INSTRUCTIONS
FOR..TO.. FOR loop variable=start value TO end value STEP step value
.. program instructions
END END
Start value:
Real value or expression. Sets the initial value of the loop variable.
End value:
Real value or expression. When the end value is equal to the start
value, program execution exits the loop.
Step value:
Real value or expression. The step value is added or subtracted to/
from the loop variable during each iteration of the loop. The STEP
instruction and step value can be omitted. If a step value is not
specified, 1 is added to the loop variable during each iteration of the
loop.
b. If the step value is negative, and the loop variable is less than
the end value, program execution jumps to step 7 below.
PROGRAM INSTRUCTIONS
NOTE
Example In the example below the robot moves 100 mm in the X direction, a
calculated distance (10*i + 7 mm) in the Y direction, and 50 mm in
the Z direction, and defines the location as weld[i].
PROGRAM INSTRUCTIONS
Program instructions:
Program instructions to execute as determined by the index variable
value.
Explanation This control flow structure allows the program to execute a choice of
several groups of program instructions. This control flow structure is
used to allow several alternatives within a single program.
PROGRAM INSTRUCTIONS
Example In the following example, if the value of real variable “x” is negative,
the message “Stopping because of a negative value” is displayed
and program execution is stopped. If the value is positive, the
program execution continues as follows:
NOTE
The ANY statement and its program instructions can be
omitted.
PROGRAM INSTRUCTIONS
1 IF x<0 GOTO 10
2 CASE x OF
3 VALUE 0,2,4,6,8,10:
4 PRINT “The number”,X,”is EVEN.”
5 VALUE 1,3,5,7,9
6 PRINT “The number”,x,”is ODD.”
7 ANY :
8 PRINT “The number”,x,”is larger than 10.”
9 END
10 STOP
11 10 PRINT “Stopping because of a negative value.”
12 STOP
PROGRAM INSTRUCTIONS
Table 7-7 lists the binary signal instructions and provides a brief description of the func-
tions.
PROGRAM INSTRUCTIONS
RESET RESET
Function Sets all external output signals OFF. This instruction does not effect
dedicated signals, clamp signals, or multifunction OX/WX antinomy.
With the optional setting, the interface panel signals are not affected
by the RESET instruction.
Explanation The signal number identifies the signal type as external or internal.
If the signal number is positive, the signal is set ON. If the signal
number is negative, the signal is set OFF. An error occurs if a
dedicated signal number is specified.
Example 10 ...
11 JMOVE pick
12 SIGNAL 1,2
13 LMOVE place
14 SIGNAL -1,-2
15 ...
PROGRAM INSTRUCTIONS
Time:
Specifies the time in seconds the signal remains ON. If the time
parameter is not specified 0.2 seconds is used.
Example 10 ...
11 JMOVE pick
12 PULSE 10,3
13 LMOVE place
14 SIGNAL 1,2
15 ...
PROGRAM INSTRUCTIONS
Function Used to set the specified signal to ON after the specified time is
elapsed.
If the signal number is positive the signal is set ON. If the signal
number is negative the signal is set OFF. An error occurs if a dedi-
cated signal number is specified.
Time:
Specifies the delay time before the specified signal is set to ON or
OFF.
Example 10 ...
11 JMOVE pick
12 DLYSIG 15,5
13 LMOVE place
14 PULSE 10,3
15 ...
PROGRAM INSTRUCTIONS
Number of signals:
Specifies the number of signals to mask. If not specified, 1 is as-
sumed.
Explanation Signals specified by the RUNMASK instruction are set OFF when
program execution stops. Dedicated signals are not affected by the
RUNMASK instruction.
10 ...
11 JMOVE pick
12 SIGNAL 1,3
13 LMOVE place
14 PULSE 10,3
15 JMOVE start
16 DLYSIG 15,5
17 RUNMASK 1,15
18 ...
PROGRAM INSTRUCTIONS
Number of signals:
Specifies the number of signals in the binary bit pattern. The maxi-
mum number of signals that can be used with the BITS instruction
is 16.
Decimal value:
Specifies the decimal value used to set the required ON or OFF
signal states.
The decimal value is converted into binary notation and each bit of
the binary value is used to set the signal states starting at the least
significant bit.
If the binary notation of the value has more bits than the number of
signals specified, only the state of the specified number of signals
are set and the remaining bits are ignored.
PROGRAM INSTRUCTIONS
Explanation Sets or resets the signal state of one or more external output sig-
nals or internal signals according to the specified decimal value.
Example In the example below, the output signal 1 is the least significant bit,
the number of bits in the binary pattern is 4 (signals 1,2,3, and 4),
and the decimal value is 10. The result of the BITS instruction
1,4=10 sets output signals 2 and 4 ON.
10 ...
11 JMOVE pick
12 BITS 1,4=10
13 LMOVE place
14 ...
PROGRAM INSTRUCTIONS
Function Causes program execution to pause until the specified signal state
is met.
Explanation When all specified signals meet the specified conditions, program
execution is resumed. If the specified condition(s) is/are not met,
program execution is held at the step with the SWAIT instruction.
The WAIT SIG instruction can be used to obtain the same results.
PROGRAM INSTRUCTIONS
EXTCALL EXTCALL
NOTE
The EXTCALL instruction can be overridden using the
CONTINUE NEXT monitor command, if the JUMP-ON
signal is not received.
PROGRAM INSTRUCTIONS
JUMP-ON OFF
Input Signal
ON
JUMP-OFF OFF
Read RPS Code
Input Signal
Equal
Current Program
= New Program Error (P1014)
Cannot execute ON
because program
Not Equal
is already in use.
Change Program
JUMP-ST OFF
PROGRAM INSTRUCTIONS
The ONI instruction interrupts the current motion and executes the
CALL or GOTO instruction immediately. The ON instruction waits
until the current motion is completed before executing the CALL or
GOTO instruction.
Parameter Mode:
If a mode is not specified, the leading edge of the signal transition,
from OFF to ON, is monitored for a positive signal number. The
trailing edge, from ON to OFF, is monitored for a negative signal
number.
Signal number:
Specifies the signal number to monitor.
PROGRAM INSTRUCTIONS
Label:
Specifies the label to jump to when the specified signal condition is
met.
Priority:
Specifies program priority in real numbers from 0–127. If priority is
not specified, 0 is assigned. The higher the number the higher the
program priority.
Explanation The ON...CALL instruction performs the same function as the CALL
instruction once the monitored signal condition is met.
PROGRAM INSTRUCTIONS
NOTE
The ON/ONI instruction specified signal is monitored for
a change in state not the current state. If a positive sig-
nal number is specified, the signal must change from
OFF to ON to cause program execution to branch to the
specified subroutine. If the signal is ON when the ON/
ONI instruction is executed program execution does not
branch until the signal is set OFF and ON again.
PROGRAM INSTRUCTIONS
IGNORE test
Cancels monitoring external input signal assigned to the variable
“test”.
PROGRAM INSTRUCTIONS
Function Sets the specified counter signal number ON when the specified
counter value is met.
Count up signal:
Specifies a signal number or logical expression. Each time the
specified signal changes from OFF to ON the count value is in-
creased by 1.
Explanation When the SCNT instruction is executed, each time the count up
signal is set from OFF to ON the count value is increased by 1.
Each time the count down signal is set from OFF to ON the counter
value is decreased by 1. When the specified counter value is
reached the counter signal is set ON.
When the counter clear signal is set from OFF to ON, or the
SCNTRESET instruction is executed, the counter value is reset to 0.
Refer to the SCNTRESET instruction for more information.
To verify the states of the counter signals (3097–3128) use the IO/E
command (option).
PROGRAM INSTRUCTIONS
Function Sets the specified signal number ON/OFF in the specified time
cycle.
Time:
Specifies signal ON/OFF cycle time in seconds. Cycle time is
expressed as a real value. If a negative value is specified, flickering
is canceled.
Explanation The process of setting the specified signal ON and OFF, in the
specified time, is considered one cycle.
Example In the example below, flicker signal 3065 is cycled ON for 15 sec-
onds and OFF for 15 seconds. A 30 second cycle time.
SFLK 3065=30
PROGRAM INSTRUCTIONS
Function Used to set an output signal ON/OFF using a set signal and a reset
signal.
The output signal is set ON/OFF, based on the state of the set and
reset signals when the SFLP instruction is executed.
PROGRAM INSTRUCTIONS
Function Used to set the specified signal number ON when the specified
condition(s) is/are satisfied.
Signal expression:
Specifies a signal number or a logical expression.
PROGRAM INSTRUCTIONS
Example 1001
SOUT 1 = 1001 AND 1002 1
1002
1001
SOUT 1 = 1001 OR 1002 1
1002
1001
SOUT -1 = 1001 AND 1002
1
SOUT 1 = NOT (1001 AND 1002)
1002
1001
SOUT 1 = -1001 AND 1002 1
1002
1001
SOUT 1 = (1001 AND 1002) OR 1003
1002
1
1003
SOUT -1 = 1001
SOUT 1 = -1001 1001 1
SOUT 1 = NOT (1001)
PROGRAM INSTRUCTIONS
Function Used to set the specified timer signal ON, when the specified input
signal is ON for the specified time.
Time:
Specifies (in real numbers) the time, in seconds, the signal is ON
before the timer signal is set ON.
Explanation The monitored input signal must remain ON continuously for the
specified time for the timer signal to be set ON. If the input signal is
set OFF before the specified time elapses, the time count restarts
when the input signal is set ON again.
If the input signal is set OFF, the timer signal is set OFF immedi-
ately. The input signal affects the timer signal only when the STIM
command is executed. The timer signal remains ON, when the
input signal is set OFF, until the STIM instruction is executed again.
Example When the PC program test, shown below, is executed and signal 1
is ON for 5 seconds, signal 2 is set ON.
PC program test
>PCEXECUTE test
PROGRAM INSTRUCTIONS
Function Used to set the time to start clamp close control (SETPICK) or open
control (SETPLACE) for up to eight clamps.
Acceptable range:
0.0–10.0 seconds
PROGRAM INSTRUCTIONS
Explanation The clamp instruction sends the output signals to the control valve
to open and close the pneumatic clamp. The output signal is sent
immediately if the robot is not in motion, or if the remaining motion
time is less than the time set using the SETPICK/SETPLACE in-
struction. The output signal is sent when the axes are at coinci-
dence, if the next motion segment begins before the time set using
the SETPICK/SETPLACE instruction. If ambiguous clamp numbers
are used (i.e., CLAMP 1,-1) the latter clamp number is used.
Example 11 ...
12 SETPICK 4,3,2,1
13 SETPLACE 0.2,0.4,0.6,0.8
14 LMOVE a
15 CLAMP -1,2,3,-4
16 ...
PROGRAM INSTRUCTIONS
Table 7-8 lists the message control instructions and provides a brief description of the
functions.
PROGRAM INSTRUCTIONS
Print data:
One or more of the available data types (shown below) may be
selected, separated by commas.
Explanation If “2” is specified for the device number, when the TYPE or PRINT
instruction is executed the display automatically switches to the
keyboard screen to display the message or data.
If the MESSAGES switch is OFF, messages and data are not dis-
played on the screen.
PROGRAM INSTRUCTIONS
Example: 1.234E+02
/Fm.n The value is displayed in fixed point notation, whole numbers in the
m digits field with the fraction in the n digits field.
Example: -1.234
/Gm.n If the value is 0.01 or greater 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.
The following format codes insert the specified characters between character strings.
/Cn A set of carriage returns (CR) and line feeds (LF) is output n times.
If this argument is the first or the last in the PRINT instruction, n
blank lines are displayed on the terminal, otherwise, n-1 blank lines.
/S This format code suppresses the output of (CR) and (LF) at the
beginning of a message. This is effective only when /S is the first
format code.
/Jn (Option) This format code displays the value as a hexadecimal number in the
n digit field. Zeros are displayed in place of blanks.
/Kn (Option) This format code displays the value as a decimal number in the n
digit field. Zeros are displayed in place of blanks.
/L This format code is the same as /D except all the spaces are re-
moved from the message or data.
PROGRAM INSTRUCTIONS
Example In this example the value of real variable “i” is 5, the fifth element of
the array variable “point” is 12.66666.
When the above PRINT instruction and format code are entered the
display is shown as below.
point 5=12.67
The format code “/F5.2” allows five digits, three to the left of the
decimal and two to the right of the decimal. If the value of point[5] is
1000 (requires 4 digits to the left of the decimal), the display area is
too small and asterisks are displayed as shown below.
point 5=*****
PRINT “ABC”
PRINT/S, “DEF”
PRINT “GHI”
ABC
DEFGHI
PROGRAM INSTRUCTIONS
Character string:
Specifies the character string displayed.
Variable:
The input from the keyboard, when the prompt is displayed, is
assigned to the specified variable. The variable may be a series of
real variables or a single string variable.
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
Function Displays the specified character string in the specified text window
assigned in AUX 0509 Interface Panel.
Parameter Window:
Specifies the window to display the character string. Windows 1–4
are available.
Row:
Specifies the row in the window to display the character string.
Rows 1–16 are available, depending on window size specified in
AUX 0509 Interface Panel. If a row is not specified, 1 is assumed.
Column:
Specifies the column in the window to display the character string.
Columns 1–43 are available, depending on window size specified in
AUX 0509 Interface Panel. If a column is not specified, 1 is as-
sumed.
Background color:
Specifies the background color of the window. Color code numbers
0–15 are available (see table 6-9). If a background color code
number is not specified, white is used.
Label color:
Specifies the character color displayed in the specified window.
Color code numbers 0–15 are available (see table 6-9). If a label
color code number is not specified, white is used.
Character string:
Specifies the character string displayed in the window. If multiple
character strings are specified, each character string is displayed in
a separate row.
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
Table 7-10 lists the pose information instructions and provides a brief description of the
functions.
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
Function Defines the pose variable as the current robot pose. The pose may
be expressed in transformation values, joint displacement values or
compound transformation values.
NOTE
Only the right most variable in a compound transforma-
tion value is defined. If the other variables used in the
compound values are not defined, an error is occurs.
Explanation In the example below, the DRIVE instruction is used to move JT1,
75 degrees at 50 percent speed. The BREAK instruction ensures
the robot completes the move instruction before reading the next
instruction. The HERE instruction records the current pose as pose
variable a.
.Program pg55()
1 DRIVE 1, 75, 50
2 BREAK
3 HERE a
4 DRIVE 2, 100, 50
5 BREAK
6 HERE b
7 JMOVE a
8 JMOVE b
PROGRAM INSTRUCTIONS
Function Assigns the pose information on the right of the assignment sign (=)
to the pose variable on the left side of the assignment sign (=).
If the pose variable on the right side of the assignment sign (=) is
not defined, an error occurs.
PROGRAM INSTRUCTIONS
Variable name 2:
Specifies the transformation variable to use to define the compo-
nent of the variable name on the left side of the assignment sign (=).
A previously defined transformation value variable or compound
transformation variable, or a transformation value function may be
used.
PROGRAM INSTRUCTIONS
If any pose information on the right side of the assignment sign (=)
is not defined, an error occurs.
Example In the example below, the POINT/X instruction is used to assign the
X component of the transformation value “tempx” to the X compo-
nent of the transformation value “temp”.
POINT/X temp=tempx
PROGRAM INSTRUCTIONS
Function Stores the value of the specified pose variable (X, Y, Z, O, A, T for
transformation values; JT1, JT2, JT3, JT4, JT5, JT6 for joint dis-
placement values) or real value variable as elements of an array
variable.
Element number:
Specifies the first element number used to store the components. If
omitted, zero (0) is assumed.
PROGRAM INSTRUCTIONS
Example In the example shown in figure 7-13, the current pose of the robot is
defined as “a”. The DECOMPOSE instruction extracts the compo-
nent values one through six of “a”. The program instructions be-
tween the FOR and END statements are executed six times. The
TYPE instruction displays the component values of “a” individually.
.Program pg62()
1 HERE a
2 DECOMPOSE 1[1]1 = a
3 FOR i = 1 TO 6
4 TYPE “a [”,i,’] = “, a[i]
5 END
>LIST/r a*
a[1] = 16.78
a[2] = 25.67
a[3] = 30.08
a[4] = 12.34
a[5] = 45.76
a[6] = 10.99
PROGRAM INSTRUCTIONS
Function Defines the base transformation values used to determine the pose
relation between the base coordinates and the null base coordi-
nates.
PROGRAM INSTRUCTIONS
Function Defines the tool transformation values that specify the position and
orientation relationship between the tool coordinates and the null
tool coordinates.
PROGRAM INSTRUCTIONS
PROGRAM INSTRUCTIONS
Acceptable range:
1–10
Time:
Specifies the time to set for the specified timer number.
Explanation When the TIMER instruction is executed the specified timer is set to
the specified time immediately. The TIMER function is used to
check the timer value, as described in unit 10, Functions.
PROGRAM INSTRUCTIONS
Function Specifies the default value for a user timer. The user timer is named
by the timer variable parameter. Multiple user timers may be used.
Timer value:
Specifies the default value for the user timer.
Acceptable range:
0–2147483647.
PROGRAM INSTRUCTIONS
ON or OFF:
Sets the specified system switch(es) to ON or OFF.
Example In the example below, the CP and MESSAGES switches are set to
ON.
1 SPEED 80 ALWAYS
2 ACCURACY 10 ALWAYS
3 CP,MESSAGES ON
4 LMOVE start
PROGRAM INSTRUCTIONS
NCHON NCHON
NCHOFF NCHOFF
Function Sets the notch filter ON/OFF for the motion steps following the
NCHON/NCHOFF instruction.
NOTE
Default setting for the notch filter is ON (NCHON).
Example In the example below, the notch filter is set OFF for the DRAW
instruction at step 6 and set back to ON at step 7.
PROGRAM INSTRUCTIONS
Function Used to set the load mass data (weight of tool and workpiece). The
data is used to determine the optimum acceleration for the robot
axes.
Used to set the inertia moment around each axes. The unit is
kg·m2. The inertia moment about each axis is defined as the mo-
ment around the coordinates axes parallel to the null tool coordi-
nates with the center of rotation at the tool’s center of gravity.
Explanation If parameters are not specified, the setting defaults to the maximum
load capacity for the robot model.
! CAUTION
Always set the correct load mass and center of gravity
location. Incorrect data may weaken or shorten robot
parts serviceability or cause overload/deviation errors.
PROGRAM INSTRUCTIONS
MC MC monitor command
.Program [Link]()
1 10 IF SWITCH(POWER)==FALSE GO TO 10
2 MC EXECUTE pg1
3 END
PROGRAM INSTRUCTIONS
Function Assigns the specified real number value to the specified data
(Option) number.
Acceptable range:
1–32
Real value:
Specifies the value assigned to the output data, and is entered in
decimal notation or a variable name.
Acceptable range:
0–65535
NOTE
This command is only available if the “Built-in Se-
quencer Function” is set to ON. If the option is OFF, the
error message “(E1102) Cannot execute, no option set
up. - Check option specs.” is displayed.
PROGRAM INSTRUCTIONS
TPLIGHT TPLIGHT
Explanation If the tech pendant screen backlight is OFF, the TPLIGHT instruc-
tion sets the backlight ON. If the teach pendant backlight is ON, the
backlight stays on for 600 seconds.
PROGRAM INSTRUCTIONS
This section describes the program and data control instructions and parameters.
Table 7-11 lists the program and data control instructions and provides a brief descrip-
tion of the functions.
PROGRAM INSTRUCTIONS
Pose variable:
Specifies the pose(s) (locations) to delete.
String variable(s):
Specifies the string variable(s) to delete.
Explanation For more information on the delete instructions refer to unit 6, DE-
LETE monitor command.
PROGRAM INSTRUCTIONS
Function Logs and traces the contents of robot control and PC programs that
are executed.
1: Robot program
1001: PC program 1
1002: PC program 2
1003: PC program 3
1004: PC program 4
1005: PC program 5
ON/OFF:
Enables/disables the trace function.
SYSTEM SWITCHES
SYSTEM SWITCHES
The system switches allow the operator to set software switches ON and OFF to alter
robot system functions. Changes made to the status of the system switches are global
and affect all programs in the controller’s memory.
Table 8-1 lists the system switches and provides a brief description of the functions.
SYSTEM SWITCHES
SYSTEM SWITCHES
• CP
The CP switch is used to enable or disable the continuous path function. When the
switch is ON, the robot makes smooth transitions between motion segments within
the accuracy ranges set.
When the switch is OFF, the robot decelerates and stops at the end of each motion
segment regardless of accuracy (Figure 8-1).
ACCURACY RANGE
• [Link]
This switch is used with the AS Language commands EXECUTE, DO, STEP,
MSTEP and CONTINUE. When the [Link] switch is ON these commands
are available only if the HOLD/RUN switch is in the HOLD position. The controller
accepts these commands with the HOLD/RUN switch in the HOLD position but
robot motion is not initiated until the switch is manually placed in the RUN position.
SYSTEM SWITCHES
• [Link]
This switch is used in conjunction with an external input signal to stop the motion of
the robot. With the switch ON, when the input signal is received the robot stops and
the cycle start light turns OFF. When the program is started again it starts at the
beginning. If the program is called from another program, the program restarts at
the beginning of the main program.
With the switch OFF, when the input signal is received the robot stops and the cycle
start light remains ON. The robot is in a hold condition and when the program is
started again, it continues at the point in the cycle where it was stopped.
• MESSAGES
SYSTEM SWITCHES
• [Link]
This switch affects the timing of output signal generation in block step programs.
When the switch is ON, an output programmed for a given point is turned ON when
the robot begins motion to the point.
With the [Link] switch OFF, an output programmed for a given point is not
turned ON until the robot reaches the accuracy range of the point. Figure 8-2
shows the effects of the [Link] switch on signal timing.
• [Link]
This switch is used in conjunction with AS Language instructions and has the same
effect on signal timing as the [Link] switch has with blockstep instructions.
SYSTEM SWITCHES
• QTOOL
This switch allows the user to identify tools to use in block step or AS Language
programming. When the QTOOL switch is ON, nine tools are available for program-
ming and jogging. The tool dimensions are recorded and assigned a tool number
using auxiliary function 48. When the QTOOL switch is ON, the selected tool di-
mensions are in effect for jogging and linear playback of block step programs.
When the QTOOL switch is OFF, the tool identified with AS Language instructions
is used and tool “T0” is displayed on the status screen.
This switch enables or disables the random selection of programs based on binary
status of dedicated inputs.
• SCREEN
This switch enables or disables scrolling of the screen when information is too large
to fit on one screen.
When this switch is ON, the repeat condition function of progressing through a
program one step at a time is active. The step forward key is used to step through a
program. When the switch is OFF, programs run continuously.
SYSTEM SWITCHES
• [Link]
• [Link]
When this switch is ON and specified errors (assigned dedicated signals) occur, a
PC program is run as soon as the error is detected.
• SWITCH (TRIGGER)
Used with the SWITCH function to display the status of the teach pendant trigger
switch (enabling device), ON or OFF. If the switch is ON, -1 is returned. If the
switch is OFF, 0 is returned.
• SWITCH (CS)
Used with the SWITCH function to display the status of the CYCLE START switch,
ON or OFF. If the switch is ON, -1 is returned. If the switch is OFF, 0 is returned.
• SWITCH (POWER)
Used with the SWITCH function to display the status of the MOTOR POWER
switch, ON or OFF. If the switch is ON, -1 is returned. If the switch is OFF, 0 is
returned.
• SWITCH (RGSO)
Used with the SWITCH function to display the status of the SERVO MOTOR
POWER, ON or OFF. If the SERVO MOTOR POWER is ON, -1 is returned. If the
SERVO MOTOR POWER is OFF, 0 is returned.
Used with the SWITCH function to display the status of the TEACH LOCK switch,
ON or OFF. If the switch is ON, -1 is returned. If the switch is OFF, 0 is returned.
SYSTEM SWITCHES
• SWITCH (ERROR)
Used with the SWITCH function to display the status of program ERROR condition.
If an error condition exists, -1 is returned. If an error condition does not exist, 0 is
returned.
• SWITCH (REPEAT)
Used with the SWITCH function to display the status of the TEACH/REPEAT switch,
TEACH or REPEAT. If the switch is in the REPEAT position, -1 is returned. If the
switch is in the TEACH position, 0 is returned.
• SWITCH (RUN)
Used with the SWITCH function to display the status of the RUN/HOLD switch, RUN
or HOLD. If the switch is in the RUN position, -1 is returned. If the switch is the
HOLD position, 0 is returned.
• DISPIO_01
This 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 1 represents an ON signal, while a 0 represents
an OFF signal.
• [Link]
When this switch is OFF and program execution is in a hold condition, the last
motion step executed is displayed.
SYSTEM SWITCHES
• WS_COMPOFF
When this switch is ON, the weld schedule (WS) bits are set low after they are sent
rather than when the robot is at the next program step
• FLOWRATE
With sealing software installed and the FLOWRATE switch ON, data in AUX 65 is
used to control the sealer dispensing equipment.
When this switch is OFF, data defined using the AS Language command
SETOUTSPEED is used.
• [Link]
When the [Link] switch is ON and weld schedule 0 is selected, the controller
waits for the weld complete signal before continuing robot motion (gun pressurizes
and welds).
When this switch is OFF and weld schedule 0 is selected the controller does not
wait for the weld complete signal (gun pressurizes only).
SYSTEM SWITCHES
• [Link]
Enables/disables absolute speed function. When this switch is ON motion steps are
executed at a pre-defined speed setting. The absolute speed is effective for the
entire program and overrides the monitor speed setting.
When this switch is ON, the robot moves at the absolute speed specified for the
program when maximum speed x monitor speed > program speed.
Example:
If maximum speed = 2400 mm/s, monitor speed = 10%, and program speed = 100
mm/s, then:
2400 x 0.1 > 100, and the robot moves at the program speed, 100 mm/s.
If maximum speed = 100%, monitor speed = 10%, and program speed = 5%, then:
100 x 0.1 > 5, and the robot moves at the program speed, 5%.
If maximum speed = 2400 mm/s, monitor speed = 2%, and program speed = 100
mm/s, then:
2400 x 0.02 < 100, and the robot moves at the monitor speed 48 mm/s.
• SLOW_START
• [Link]
When this switch is ON, timers begin timing for a specified step when all wait condi-
tions are satisfied. When this switch is OFF, timers begin timing when the robot
reaches coincidence of the taught point.
OPERATORS
OPERATORS
9.0 OPERATORS
This unit describes the AS Language operators and their functions. These operators are
used with monitor commands and program instructions.
• Arithmetic operators
• Relational operators
• Logical operators
• Binary operators
• String operators
OPERATORS
Example i = i+1
The value of i plus 1 is assigned to i. If i is 5, then 6 is assigned to i.
i = iMOD2
If i is 5, the MOD operator calculates 5÷2 and assigns the remain-
der of 1 to i.
i = i^3
The value of i3 is assigned to i. If i is 2, then 8 is assigned to i on
the left side of the equation.
When using the division (/) and MOD operators, using 0 as the rightmost value of the
equation causes an error. Refer to the example below.
Example i = i/0
i = iMOD0
OPERATORS
Relational operators are used with program instructions such as IF and WAIT to verify
specified conditions. The relational operators are listed in table 9-2.
WAIT t == 5
When t is 5 (i.e. t == 5 is true), program execution proceeds to the
next step. If the expression is not true, program execution is
paused until the condition is met.
IF $a == “abc” GOTO 20
When $a is “abc” (i.e. $a == “abc” is true), program execution jumps
to the step labeled 20. If the expression is not true, program execu-
tion proceeds to the next step.
OPERATORS
Logical operators are used in Boolean operations such as 0+1 = 1, 1+1 = 1,0+0 = 0
(logical OR), or 0x1 = 0, 1x1 = 1, 0x0 = 0 (logical AND). There are two types of logical
operators used in AS Language, logical operators an binary operators.
Logical operators are not used for calculating numeric values, but for determining if the
value of an expression is true or false. All non-zero values are considered TRUE (ON).
When the expression is determined to be TRUE -1 is returned. The logical operators
are listed in table 9-3.
Example i AND j
In this example, the logical AND between i and j is evaluated. The
variables i and j are typical logical values, but they can be real
number values. In this example, all real number values other than 0
are considered ON (TRUE).
i j Result
0 0 0 (OFF)
0 not 0 0 (OFF)
not 0 0 0 (OFF)
not 0 not 0 -1 (ON)
OPERATORS
Example i OR j
In this example, the logical OR between i and j is evaluated.
i j Result
0 0 0 (OFF)
0 not 0 -1 (ON)
not 0 0 -1 (ON)
not 0 not 0 -1 (ON)
The result is ON (TRUE) when both or either of the two values are
ON (TRUE).
Example i XOR j
In this example, the logical XOR between i and j is evaluated.
i j Result
0 0 0 (OFF)
0 not 0 -1 (ON)
not 0 0 -1 (ON)
not 0 not 0 -1 (ON)
The result is ON (TRUE) when only one of the two values are ON
(TRUE).
Example NOT i
In this example, the logical complement of i is evaluated.
i Result
0 -1 (ON)
not 0 0 (OFF)
OPERATORS
OPERATORS
Binary operators perform logical operations for each respective bit of two numeric val-
ues. For example, if a number is composed of 4 bits, the values calculated are 0000,
0001, 0010, 0011, ...,1111(in the AS system the numeric values are composed of 32
bits).
Binary Decimal
Expression Expression
0000 0
0001 1
0010 2
0011 3
: :
1111 15
Example i BOR j
If i = 5, j = 9, then the result is 13
i=5 0101
j=9 1001
0001⇒13
OPERATORS
Example i BAND j
If i = 5, j = 9, then the result is 1.
i=5 0101
j=9 1001
0001⇒1
Example i BXOR j
If i = 5, j = 9, then the result is 12
i =5 0101
j=9 1001
1100⇒12
Example COM i
If i = 5, then the result is -5
i = 5 0...0101
1...1010⇒-5
OPERATORS
The last component of the compound transformation value defines the actual location.
This is useful when several locations are defined relative to a reference location.
To change the location points defined relative to a reference location, only the transfor-
mation location of the reference must be updated. All locations defined relative to the
reference point are automatically changed to reflect the change.
Unlike usual addition or subtraction, the commutative law does not hold true for the
transformation operation. The compound expression “loc.a + loc.b” does not necessarily
equal “loc.b + loc.a” because the turning angles O,A,T are taken into consideration.
Example
a1 = (1000, 0, 0, 0, 0, 0)
a2 = ( 0, 1000, 0, 60, 0, 0)
x1
a1+a2 = (1000, 1000, 0, 60, 0, 0) y1
a2+a1 = ( 500, 1866, 0, 60, 0, 0) 1,866 mm a2+a1
X
in
m
m
Y
00
60°
10
a2
1,000 mm a1+a2
a2
1,000 mm
a1
1,000 mm X 500 mm
OPERATORS
For example, “Plate” is the name of the transformation pose representing the pose of a
base plate relative to the origin of the base coordinate system of the robot. “Object” is
the relative transformation for the pose of an object relative to the pose of the plate.
The compound transformation “Plate+Object” defines the pose of the object relative to
the origin of the base coordinate system of the robot.
Plate+Object+Pickup
Pickup
Base Coordinate Origin
Object
Plate Plate+Object
To define the compound transformations as shown in figure 4-3, use the following proce-
dure.
1. Move the robot to the pose Plate and enter the command: HERE Plate.
>HERE Plate
2. Move the robot to the pose Object and enter the command: HERE Plate+Object.
>HERE Plate+Object
3. Move the robot to the pose Pickup and enter the command: HERE
Plate+Object+Pickup.
>HERE Plate+Object+Pickup
OPERATORS
Ensure that spaces are not entered between the plus sign (+) and the transformation
values. The operator may combine as many transformation values as needed.
If the robot is to pick up an object at the pose “Pickup” defined relative to “Object”, the
program line is written as shown in the example below.
or
LMOVE Plate+Object+Pickup
NOTE
Do not change the order of the transformation expres-
sion. If the transformation variable “a2” is defined rela-
tive to the transformation variable “a1”, “a1+a2” provides
the expected result, but “a2+a1” does not (Figure 9-1).
OPERATORS
The string operator used in the AS system is the plus sign (+). This operator is used to
combine two strings.
Example $a = $b+$c
Combines the strings $b and $c and assigns the resulting string to
$a.
FUNCTIONS
FUNCTIONS
10.0 FUNCTIONS
• Mathematical functions
• String functions
This section describes the AS Language functions. Functions are used in combination
with monitor commands and program instructions. The keyword specifies the function
and the parameters entered in parentheses determine the value.
Keyword Parameter
FUNCTIONS
Table 10-1 lists the real value functions and provides a brief description of the functions.
FUNCTIONS
Function Returns the logical AND of the specified binary signal states.
Explanation Calculates logical AND of all the specified binary signal states and
returns the resulting value. If all the specified signal states are
TRUE, the SIG function returns TRUE -1. If any of the specified
signal states are FALSE, the SIG function returns FALSE 0.
NOTE
There is a timing restriction when evaluating more than
one signal at a time. Approximately 2 ms is required for
signal stabilization for each signal.
FUNCTIONS
Example If signal 1001 = ON, 1004 = OFF, and 20 = OFF, the SIG function
returns the results as shown in figure 10-2.
.Program pg_sig()
1 a = SIG (1001);assigns signal to variable a
1?
2 b = SIG (1004);assigns signal to variable b
2?
3 c = SIG (-1004);assigns signal to variable c
3?
4 d = SIG (1001,1004);assigns signals to variable d
4?
5 e = SIG (1001,-1004);assigns signals to variable e
5?
6 f = SIG (1001,-1004,-20);assigns signals to variable f
>LI/R (Results)
a = -1 b=0 c = -1 d = 0 e = -1 f = -1
FUNCTIONS
Function Reads the specified consecutive binary signals and returns the
decimal value corresponding to the signal bit pattern.
Number of signals:
Specifies the number of signals to read, beginning with the starting
signal number. If not specified, one is assumed. The maximum
number of signals is sixteen.
Explanation The BITS function returns the decimal value of the specified signal
bit pattern. The starting signal number is read as the least signifi-
cant bit.
NOTE
There is a timing restriction when evaluating more than
one signal at a time. Approximately 2 ms is required for
signal stabilization for each signal.
When the signals shown above are in the indicated state the result
of:
x = BITS(1003,4)
FUNCTIONS
Function Returns the current value of the specified timer number in seconds.
Explanation The value returned indicates the time elapsed (in seconds) since
the last execution of the TIMER instruction for the specified timer.
Example In the example in figure 10-3, the TIMER instruction in line 1 is used
to set TIMER (1) to 0 seconds. The TIMER function in line 7 is used
to read the value of TIMER(1), to determine the program cycle time.
.Program pg67()
1 TIMER(1) = 0
1?
2 JMOVE a
2?
3 LMOVE b
3?
4 LDEPART 200
4?
5 HOME
5?
6 PRINT “Cycle time = “,/F5.3,TIMER(1),”seconds”
6?
>EX pg67
FUNCTIONS
>LI/R
x = 397.566
LI/R
k = 435.425
FUNCTIONS
DX DX(transformation value)
DY DY(transformation value)
DZ DZ(transformation value)
Example In this example, the transformation pose “start” has the component
values as shown below. The DX, DY, and DZ functions are used to
assign the X, Y, and Z components of the pose “start” to real vari-
ables x, y, and z respectively.
X Y Z O A T
125 250 -50 135 50 75
FUNCTIONS
Element number:
Specifies the element value to extract from the specified pose
variable (Table 10-2).
Pose (location)
Joint
Element Displacement
Number Transformation Value Value
1 X component–mm JT1–degrees
2 Y component–mm JT2–degrees
3 Z component–mm JT3–degrees
4 O component–degrees JT4–degrees
5 A component–degrees JT5–degrees
6 T component–degrees JT6–degrees
7 JT7–mm JT7–mm
Example In this example, the transformation pose “start” has the component
values as shown below. The DEXT function is used to extract the
JT6 component of the pose “start”.
X Y Z O A T
125 250 -50 135 50 75
>DEXT(start,6)
FUNCTIONS
Function Returns the ASCII value of the specified character in a string ex-
pression.
Parameter String:
Specifies the string that contains the character to extract the ASCII
value. If a null string (“”) is specified, or the character number
specified exceeds the number of characters in the string, -1 is
returned.
Character number:
Specifies the character number, counting from the beginning of the
string, to extract the ASCII value. If not specified, or if 0 or 1 is
specified, the ASCII value of the first character of the string is re-
turned.
LEN LEN(string)
Parameter String:
Specifies the string variable or expression to return the number of
characters.
Example LEN(“sample”)
Returns the number of characters in the string “sample” (6).
FUNCTIONS
TRUE ...TRUE...
ON ...ON...
FUNCTIONS
FALSE ...FALSE...
OFF ...OFF...
FUNCTIONS
VAL VAL(string,code)
Parameter String:
Specifies the character string, character string variable, or string
expression.
Code:
Specifies the notation of the value returned in a real value or ex-
pression. If not specified, or a number other than 0, 1, or 2 is speci-
fied, 0 (decimal notation) is assumed.
Code Notation
0 Decimal
1 Binary
2 Hexadecimal
NOTE
Notation codes can be used in the beginning of the
string to specify the notation of the returned value.
^B = Binary notation
FUNCTIONS
FUNCTIONS
Function Returns the place (real value) where the specified string 2, starts in
the specified string 1.
String 1:
Specifies the string to search for string 2. Expressed in a character
string, character string variable, or string expression.
String 2:
Specifies the string to search for. If a null string (“”) is specified, the
value of the starting point (1 if not specified) is returned.
Explanation This function returns the value of the starting point of string 2 in
string 1, if string 2 is included in string 1.
FUNCTIONS
Function Compares the specified real values and returns the largest value.
Function Compares the specified real values and returns the smallest value.
Function Returns the nearest integer value of the expression, rounded down
from the left of the decimal point.
Explanation Returns the integer on the left side of the decimal point (for values
not in scientific notation). The negative sign remains with the inte-
ger unless the integer is 0.
FUNCTIONS
Example d = SWITCH(CP)
If the CP switch is ON , -1 is assigned as the value of real variable
d. If the CP switch is OFF, 0 is assigned as the value of real vari-
able d.
Explanation The TASK function returns the specified program execution status.
The TASK function can be used to monitor the status of a PC pro-
gram from a robot control program. Robot operation can be modi-
fied according to PC program execution status.
FUNCTIONS
.Program main()
1 10
2 pcstat1 = TASK(1001) ;assigns status of PC pg 1 to pcstat1
3 IF pcstat1 == 1 GOTO 15
4 15
5 If clean >= 10 THEN
6 CALL clean
7 GOTO 10
8 END
FUNCTIONS
ERROR ERROR
NOTE
The PLCAIN function is available when the built-in se-
quencer function option is ON. If the option is OFF, the
error message “(E1102) Cannot execute, no option set
up. - Check option specs.” is displayed.
Example aa = PLCAIN(12)
Returns the value of the 12th input data in whole numbers.
FUNCTIONS
PRIORITY PRIORITY
Explanation Returns the current robot program priority number in real values.
Priority settings cannot be applied to PC programs.
Function Returns the @timer variable current value set by the UTIMER
instruction.
MSPEED MSPEED
MSPEED2 MSPEED2
Explanation MSPEED is used for robot 1. MSPEED2 is used for robot 2, when
the two arm option is used.
FUNCTIONS
Value Description
0 Out of robot motion range.
1 JT1 is out of robot motion range.
2 JT2 is out of robot motion range.
4 JT3 is out of robot motion range.
8 JT4 is out of robot motion range.
16 JT5 is out of robot motion range.
32 JT6 is out of robot motion range.
16384 Beyond the collision check range.
32768 Out of reach of the robot arm.
NOTE
The INRANGE function verifies if the specified pose is
in the robot’s motion range, but does not verify if the
taught path to the specified pose is within the robot’s
motion range.
FUNCTIONS
Example In the following example, if the pose is out of motion range, the
message “Pose place is out of range.” is displayed and program
execution is stopped.
.Program pg50()
1 IF INRANGE(place,#p) GOTO ERR_STOP
2 JMOVE start
3 LMOVE pounce
4 JAPPRO pickup
5 LMOVE pickup
6 JAPPRO place
7 LMOVE place
8 ERR_STOP
9 TYPE “Pose place is out of range.”
10 PAUSE
FUNCTIONS
SYSDATA SYSDATA(keyword,opt1,opt2)
Parameter Keyword,opt1,opt2:
[Link]
Returns monitor speed in percentage. If a motion step is not being
executed, -1 is returned.
Opt1:
Robot number, when two arm option is used. If omitted, 1 is as-
sumed.
Opt2:
Not used.
MSTEP:
Returns the current motion step number or the last executed motion
step in the current program. If a motion step is not being executed,
-1 is returned.
Opt1:
Robot number, when two arm option is used. If omitted, 1 is as-
sumed.
Opt2:
Not used.
STEP:
Returns the current motion step number or the last executed motion
step in the current program. If a motion step is not being executed,
-1 is returned.
Opt1:
Robot number, when two arm option is used. If omitted, 1 is as-
sumed.
Or:
PC TASK number (1001–1005).
Opt2:
Not used.
FUNCTIONS
Parameter [Link]
Returns the speed (in percentage) of the current motion or the next
motion. If the speed is set in seconds, -1 is returned.
Opt1:
Robot number, when two arm option is used. If omitted, 1 is as-
sumed.
Opt2:
Not used.
[Link].M
Returns the motion speed (in mm/s) of the current motion or the
next motion. If the speed is set in seconds, -1 is returned.
Opt1:
Robot number, when two arm option is used. If omitted, 1 is as-
sumed.
Opt2:
Not used.
FUNCTIONS
Table 10-6 lists the pose value functions and provides a brief description of the func-
tions.
SHIFT Returns the transformation value specified by shifting the original pose 10-35
(location).
AVE_TRANS Returns the average transformation values of two poses (locations). 10-36
BASE Returns the base transformation values. 10-37
TOOL Returns the tool transformation values. 10-37
Returns the value of the X component with the value of the traverse axis
TRADD added (option). 10-37
TRSUB Returns the value of the X component with the value of the traverse axis 10-37
subtracted (option).
#HOME Returns the HOME position joint displacement values (option). 10-38
Returns the transformation values for the center of the circle described by
CCENTER the specified poses (locations) (option). 10-39
CSHIFT Returns the transformation values of the pose (location) shifted towards the 10-39
center of the circle described by the specified poses (locations) (option).
FUNCTIONS
DEST DEST
#DEST #DEST
Function DEST:
Returns the current robot motion destination in transformation
values.
#DEST:
Returns the current robot motion destination in joint displacement
values.
Explanation The DEST and #DEST functions, are used to determine the robot’s
destination after the robot motion is interrupted.
NOTE
The pose where the robot stops and the pose returned
by the DEST/#DEST function are not necessarily the
same. If the RUN/HOLD switch is set to the HOLD posi-
tion during robot motion, the pose returned by the
DEST/#DEST function is the pose the robot was moving
toward at the interruption.
Example The follow example shows a sample subroutine used to return the
robot to the motion path that was interrupted.
FUNCTIONS
The positive direction of the X-axis is set in the direction from trans-
formation values 1, to transformation values 2.
Transformation values 3:
Specifies the direction of the Y-axis. The frame coordinate’s Y-axis
is set so that the three points, transformation values 1, transforma-
tion values 2, and transformation values 3, are on the XY plane and
transformation values 3 is on the positive Y-axis.
Transformation values 4:
Specifies the origin of the frame coordinates, equal to the values
returned by the FRAME function.
Z Z Y
O Y
Base Coordinates
FUNCTIONS
Explanation If the poses are taught as F1+A, then only F1 needs to be retaught
if the coordinates change, as if the parts station is moved. For more
information refer to section, 12.6 Relative Pose Using the Frame
Coordinates.
Z Z Y
Y1
F1 O1 X
X1
Z Y
O Y
The Y and Z axes in the two frame coordinates [figure 10-6(A)] face
opposite directions, depending on where a3 is taught.
a3 a1
a2
A
a1 a2
a3
a3
B a1
a2
(a3)
FUNCTIONS
NOTE
The three points a1, a2, and a3 define the position of
the tool coordinates origin (TCP). When redefining the
frame coordinates, the tool transformation must be the
same as when a1, a2, and a3 were taught.
When teaching points a1, a2, and a3, the origin of the
tool coordinates should be defined at a point that is
easy to see, e.g., the tip of the tool.
FUNCTIONS
NULL NULL
dist = DISTANCE(NULL,[Link])
Calculates the distance between the pose “[Link]” and the null
origin of the robot (0,0,0,0,0,0), and assigns the value to the real
variable “dist”.
HERE HERE
#HERE #HERE
Function HERE:
Returns the transformation values that describe the current pose of
the TCP.
#HERE:
Returns the joint displacement values that describe the current
pose of the TCP.
Explanation The encoder values are read at the moment the HERE/#HERE
function is executed. The values returned by the HERE/#HERE
function represent the pose of the robot when the function was
executed.
NOTE
The name “here” cannot be used as a program name or
a variable name.
FUNCTIONS
FUNCTIONS
TRANS TRANS(X,Y,Z,O,A,T,)
Function Returns the transformation value with the specified translational and
rotational components.
Explanation The new transformation values can be used to define pose vari-
ables, in compound transformation values, or in motion instructions.
The TRANS function is also used with the DECOMPOSE instruc-
tion.
RX RX(angle)
RY RY(angle)
RZ RZ(angle)
Parameter Angle:
Specifies the rotational value in degrees.
Explanation The X, Y, and Z in the RX/RY/Z functions represent the base coordi-
nate axes. The translational values (X, Y, and Z) are not retuned by
the RX/RY/RZ function.
FUNCTIONS
#PPOINT #PPOINT(jt1.jt2,jt3,jt4,jt5,jt6)
Parameter jt1–jt6:
Specifies the value of each joint displacement angle in degrees. If
not specified, 0 is assumed.
NOTE
The #PPOINT function is processed in joint displace-
ment values and the “#” sign must proceed the PPOINT
function.
Example In this example, joints 2 and 3 of a six-axis robot are moved the
specified amount from the current pose.
JMOVE #PPOINT(x[0],x[1]+a,x[2]-a/2,x[3].x[4],x[5])
In this example, the same robot pose is achieved with two different
moves.
FUNCTIONS
Function Returns the transformation values of the pose shifted by the speci-
fied distance for each base axis (X, Y, Z), from the pose described
by the transformation values parameter.
Explanation The X shift, Y shift , and Z shift amounts are added to specified X, Y,
or Z component as specified. The result is returned as transforma-
tion values.
FUNCTIONS
Explanation The AVE_TRANS function calculates the average values for the
components of the specified transformation values.
NOTE
The average for the X, Y, and Z components of the two
transformation values are calculated individually, by
adding the two values and dividing by 2. The average
for the O, A, and T components, is not necessarily cal-
culated in the same manner.
JMOVE AVE_Trans(p,q)
When the above instruction is executed in a program the robot is
moved to the pose defined by the average of the transformation
values for poses ”p” and “q”.
FUNCTIONS
BASE BASE
TOOL TOOL
Function Returns the sum of the traverse axis value and the x component of
(Option) the transformation values.
Function Returns the value obtained by subtracting the traverse axis value
(Option) from the x component of the transformation values.
FUNCTIONS
Explanation Returns the pose of the currently set home position in joint dis-
placement values.
NOTE
Always enter the “#” symbol with the #HOME function,
because it is processed in joint displacement values
only.
Example In this example, the robot does not move directly to the home posi-
tion. The robot is moved the same height (Z axis position) as the
home position, and then moved to the home position.
FUNCTIONS
Function Returns the center of the arc created by the three specified poses
(Option) (locations).
Function Returns the pose shifted by the specified amount from the
(Option) object pose. The robot shifts towards the center of the circle cre-
ated by the three poses specified.
Shift Amount:
Specifies the shift amount in real values.
FUNCTIONS
Table 10-7 lists the mathematical functions and provides a brief description of the func-
tions.
FUNCTIONS
ABS ABS(value)
Example x = ABS(y)
Assigns the absolute value of “y” to the real variable “x”.
SQRT SQRT(value)
Example x = SQRT(y)
Assigns the square foot of “y” to real variable “x”.
PI PI
Example en = 2*PI*r
Assigns the result of 2πr to the real variable “en”.
SIN SIN(value)
Example z = (SIN(x)^2)+(COS(y)^2)
Assigns the result of (sin(x))2+(cos(y))2 to the real variable “z”.
COS COS(value)
Example z = (SIN(x)^2)+(COS(y)^2)
Assigns the result of (sin(x))2+(cos(y))2 to the real variable “z”.
FUNCTIONS
ATAN2 ATAN2(v1,v2)
Function Returns the values of an angle (in degrees) whose tangent equals
v1/v2.
RANDOM RANDOM
Example r = RANDOM*10
Assigns a random number between 0 and 10 to the real variable “r”.
FUNCTIONS
Table 10-8 lists the string functions and provides a brief description of the functions.
FUNCTIONS
Function Returns the ASCII character string of the specified ASCII value.
Acceptable range:
0–255
Example $CHR(65)
Returns “A”, the ASCII character for value “65”.
$CHR(^H61)
Returns “a”, the ASCII character for value “97” (16x6+1).
Acceptable range:
0 or positive value.
FUNCTIONS
Parameter String:
The string can be a character string, string variable, or string ex-
pression.
Number of characters:
Specifies the number of characters to return, beginning with the
leftmost (first) character of the specified string. If 0 or a negative
number is specified, a blank is returned. If the number specified is
larger than the number of characters in the specified string, the
whole string is returned.
Example $LEFT(“abcdefgh”,3)
Returns the string “abc”.
$LEFT(“*1*2*3*4*5”,15)
Returns “*1*2*3*4*5” (the whole string).
Parameter String:
The string can be a character string, string variable, or string ex-
pression.
Number of characters:
Specifies the number of characters to return counting from the
rightmost (last) character of the specified string. If 0 or a negative
number is specified, a blank is returned. If the number specified is
larger than the number of characters in the specified string, the
whole string is returned.
Example $RIGHT(“abcdefgh”,3)
Returns the string “fgh”.
FUNCTIONS
Parameter String:
The string can be a character string, string variable, or string ex-
pression.
Number of characters:
Specifies the number of characters to extract.
FUNCTIONS
Separator character:
Specifies the character to read as a separator (any character in the
string can be specified).
Mode:
Specifies the operation mode in a real number.
Explanation The $ENCODE function searches the specified string for the speci-
fied separator character and extracts the characters from the begin-
ning of the string to the separator. The extracted characters are
returned as the result of the $ENCODE function, and are removed
from the original string.
NOTE
The $ENCODE function changes the original string and
returns the characters simultaneously.
FUNCTIONS
value[0] 1234.0
value[1] 93465.2
value[2] 0.4358
value[3] 348103.0
The result of the above program extracts all characters from the
string “$input” and the value of “$input” becomes “” or blank.
FUNCTIONS
Function Returns the string created from the specified print data. The string
is created in the same manor as the TYPE instruction.
Character string.
The following format codes are used to specify the format of nu-
meric expressions. The same format is used until a different code is
specified. In all formats, if the value is larger than the specified
width, asterisks (*) are displayed.
Example: 1.234E+02
/Fm.n The value is displayed in fixed point notation, whole numbers in the
m digits field with the fraction in the n digits field.
Example: -1.234
FUNCTIONS
/Gm.n If the value is 0.01 or greater 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.
The following format codes insert the specified characters between character strings.
/Cn A set of carriage returns (CR) and line feeds (LF) is output n times.
If this argument is the first or the last in the PRINT instruction, n
blank lines are displayed on the terminal, otherwise, n-1 blank lines.
/S This format code suppresses the output of (CR) and (LF) at the
beginning of a message. This is effective only when /S is the first
format code.
/Jn (Option) This format code displays the value as a hexadecimal number in the
n digit field. Zeros are displayed in place of blanks.
/Kn (Option) This format code displays the value as a decimal number in the n
digit field Zeros are displayed in place of blanks.
/L This format code is the same as /D except all the spaces are re-
moved from the message or data.
FUNCTIONS
Function Returns the specified error code, error message. The error code is
returned as a character string with the error message.
Function Returns the error message for the specified error code.
Dxxxx: -4xxxx
Exxxx: -3xxxx
Wxxxx: -2xxxx
Pxxxx: -1xxxx
FUNCTIONS
$DATE(1):
mm/dd/yyyy
July 10, 2002 is returned as 07/10/2002.
$DATE(2):
dd/mmm/yyyy
July 10, 2002 is returned as 10/JUL/2002.
The months are represented as:
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, and
DEC.
$DATE(3):
yyyy/mm/dd
July 10, 2002 is returned as 2002/07/10.
$TIME $TIME
The BASE and TOOL instructions are not available for PC programs.
PC programs are used to display messages on the terminal by means of the PRINT
instruction. All internal and external binary signals can be used in PC programs.
The keyword specifies the function and the parameters entered in parentheses deter-
mine the value.
Keyword Parameter
NOTE
This symbol is used to represent the ENTER key
This section describes the process control program commands/instructions and param-
eters.
Table 11-1 lists the process control commands/instructions and provides a brief descrip-
tion of the functions.
Command/
Instruction Description Page
PCSTATUS Displays the specified PC program status. (M) 11-4
PCEXECUTE Executes the specified PC program. (M,P) 11-5
PCABORT Stops specified PC program execution immediately. (M,P) 11-6
PCKILL Initializes the PC program stack. (M) 11-6
PCEND Stops specified PC program execution. (M,P) 11-7
PCCONTINUE Resumes PC program execution. (M) 11-8
PCSTEP Executes a PC program step. (M) 11-9
PCSCAN Specifies PC program process time (option). (P) 11-10
PC status:
Program is not running
Program running
Program WAIT
Completed cycles:
The number of program execution cycles completed.
Remaining cycles:
The number of program execution cycles not completed. If the
program execution cycles is specified as “-1” using the PC execute
command, “infinite” is displayed.
Program name:
The program name specified in the PCSTATUS command.
Step:
The step currently executing in the specified PC program. The step
number and the step program instruction are displayed.
PC program name:
Selects the PC program to execute as the specified PC program
number (1–5). If not specified, the last program executed using the
PCEXECUTE command is selected.
Execution cycles:
Specifies the number of times to executed the specified PC pro-
gram. If -1 is entered, the program is executed continuously.
Step number:
Specifies the step to start execution. If not specified, the first step is
selected.
Task number:
Specifies the task number as 1 or -1. If a task number is not speci-
fied, 1 is assumed.
NEXT:
When the NEXT parameter is specified, execution is resumed at the
step following the step that was suspended. If NEXT is not speci-
fied, execution resumes at the step where the program suspension
occurred.
PC Program name:
Selects the PC program containing the step to execute as the
specified PC program number (1–5). If the program name is not
specified, the last program executed using the PCEXECUTE com-
mand is selected.
Execution cycles:
Specifies the number of times a program step is executed. If not
specified, 1 is assumed.
Step number:
Specifies the program step number to execute. If not specified, the
first step of the program is executed.
>PCSTEP
Executes the next step, in this example, step 24.
Parameter Time:
Sets the PC program execution time (time it takes to execute a PC
program). The time is specified in seconds, 0 or greater.
Program scan()
1 PCSCAN 1
2 IF SIG(1) THEN
3 SIGNAL -1
4 ELSE
5 SIGNAL 1
6 END
SAMPLE PROGRAMS
SAMPLE PROGRAMS
This section contains sample programs using AS Language program instructions and
functions. The sample programs include operation explanations.
To make changing program settings and parameters easy, place the settings and pa-
rameters at the beginning of the program before AS Language program instructions and
functions, as listed below.
• Define the variables for each task (e.g., for palletizing, set the number of parts per
pallet).
Example
In this example, parts are palletized in order 1–6. The program example below shows
the initial settings and parameters for the program diagram shown in figure 12-1.
.Program setting()
1 BASE NULL ;Defines the robot base coordinate to NULL base.
2 TOOL tool1 ;Tool transformation is set to tool1 (tool1 is pre-defined).
3 [Link]=3 ;Specifies 3 rows.
4 [Link]=2 ;Specifies 2 columns
5 xs=100 ;Sets the shift distance in the x axis (∆X=100 mm)
6 ys=150 ;Sets the shift distance in the y axis (∆Y=150 mm)
7 POINT put=start ;Assigns the value of pose start to variable put.
8 OPENI ;Opens the material handling clamp.
9 HOME ;Moves the robot to the pre-defined home position.
SAMPLE PROGRAMS
100 mm
Y
5 6
150 mm
3 4
150 mm
start
1 2
Pallet
X
SAMPLE PROGRAMS
12.2 PALLETIZING
Example
In this example, parts are picked up from a parts feeder and placed on a pallet. The
pallet is set-up for three rows, 110 mm apart, and four columns, 90 mm apart (Figure
12-2). For simplicity, the pallet and the parts are placed parallel to the robot XY base
coordinates (Figure 12-2) and the procedure for synchronizing the parts feeder and the
robot using external I/O signals is omitted.
Pose #a (parts feeder) and start (first part location) must be pre-defined (Figure 12-2).
Parts Feeder
#a
90 mm 90 mm 90 mm
9 10 11 12
110 mm
5 6 7 8
X
110 mm
Robot start
1 2 3 4
Pallet
SAMPLE PROGRAMS
.Program palletize()
1 ;Initial settings (3 rows, 4 columns, X shift = 90 mm, Y shift = 100 mm,
;SPEED 100%, ACCURACY 100 mm)
2 [Link] = 3
3 [Link] = 4
4 xs = 90
5 ys = 100
6 SPEED 100 ALWAYS
7 ACCURACY 100 ALWAYS
8 OPENI
9 ;Start palletizing
10 FOR row = 1 TO [Link]
11 FOR col = 1 TO [Link]
12 JAPPRO #a,100 ;Steps 12 through 17 pick up the part from the parts feeder.
13 SPEED 30
14 ACCURACY 1
15 LMOVE #a
16 CLOSI
17 LDEPART 200
18 ;
19 JAPPRO put, 200 ;Steps 19 through 24 place the part on the pallet.
20 SPEED 30
21 ACCURACY 1
22 LMOVE put
23 OPENI
24 LDEPART 200
25 ;
26 ;Calculate the pose for the part in the next row.
27 POINT put = SHIFT(put BY xs, 0, 0)
28 END
29 ;
30 ;Calculate the pose for the part in the next column.
31 POINT put = SHIFT(start BY 0, ys*row, 0)
32 END
.END
SAMPLE PROGRAMS
• SIGNAL
• IF
• SWAIT
• ONI
• IGNORE
Example
In this example:
1. Two types of parts, A and B, are sent to the parts feeder in random order. The parts
present signal (part in feeder) is external input 1001 (IN1, [Link]).
2. The robot picks up a part from the parts feeder and places it at the testing station.
The start test signal (part at test station) is external output 1 (OUT1, [Link]).
3. At the testing station, the parts are classified as part A, part B or other than A or B.
The signal for testing complete is external input signal 1002 (IN2, [Link]).
If a problem occurs at the testing station when the robot picks up the part from the parts
feeder and carries it to the testing station, the program is immediately interrupted and
execution branches to the troubleshooting subroutine (emergency). The external input
signal 1007 (IN7, fault) is set ON (high), indicating a problem exists. When troubleshoot-
ing is complete, external input signal 1006 (IN6, retry) is sent and program execution is
resumed.
The program is named “main” and the troubleshooting subroutine is named “emer-
gency”.
SAMPLE PROGRAMS
.Program main()
1 ;Define variables
2 [Link] = 1001 ;Set complete signal (IN1) is named [Link].
3 [Link] = 1002 ;Test complete signal (IN2) is named [Link].
4 [Link] = 1003 ;Part a signal (IN3) is named [Link].
5 [Link] = 1004 ;Part b signal (IN4) is named [Link].
6 retry = 1006 ;Problem resolved signal (IN6) is named retry.
7 fault = 1007 ;Problem detected signal (IN7) is named fault.
8 [Link] = 1 ;Start test signal (OUT1) is named [Link].
9 ;Program
10 OPENI ;Opens clamp.
11 10 JAPPRO part,100 ;Approaches location part by 100 mm.
12 ONI fault CALL emergency ;Monitors input signal fault and jumps to
13 ;emergency when fault is set ON.
14 SWAIT [Link] ;Waits for part in feeder (input signal [Link]).
15 LMOVE part ;Moves to location part (part feeder).
16 CLOSEI ;Closes clamp/picks up part.
17 LDEPART 100 ;Moves from location part by 100 mm.
18 JAPPRO test,100 ;Approaches location test by 100 mm.
19 LMOVE test ;Moves to location test.
20 Break ;Completes move to test before reading next step.
21 IGNORE fault ;Stops monitoring input signal fault.
22 SIGNAL [Link] ;Sets output signal [Link] to ON.
23 TWAIT 1.0 ;Pauses program execution for 1.0 second.
24 SWAIT [Link] ;Waits for input signal [Link] (test complete).
25 JDEPART 100 ;Moves from location test by 100 mm.
26 SIGNAL -[Link] :Sets output signal [Link] OFF.
27 IF SIG([Link],-[Link]) GOTO 20 ;If A part jump to label 20.
28 IF SIG(-[Link],[Link]) GOTO 30 ;If B part jump to label 30.
29 POINT n=r ;If not A or B part assigns value of location r to n.
30 GOTO 40 ;Program execution jumps to label 40.
31 20 POINT n=a ;Assigns value of location a to n (A part).
32 GOTO 40 ;program execution jumps to label 40.
33 30 POINT n=b ;Assigns value of location b to n (B part).
34 40 JAPPRO n,100 ;Approaches location assigned to n by 100 mm.
35 LMOVE n ;Moves to location assigned to n.
36 OPENI ;Opens clamp/releases part.
37 LDEPART 100 ;Moves from location assigned to n by 100 mm.
38 GOTO 10 ;Program execution jumps to label 10.
.END
SAMPLE PROGRAMS
.Program emergency()
1 PRINT “**ERROR**” ;Displays error message on the terminal.
2 SWAIT retry ;Waits for input signal retry to be set ON.
3 ONI falut CALL emergency ;Starts monitoring input signal fault.
4 RETURN ;Returns program execution to main program.
.END
Testing Station
test
Parts Feeder
a
Part A
part
b
Part B
r
Other
Robot
SAMPLE PROGRAMS
This section describes the procedure used to obtain tool transformation values.
When the tool dimensions are unknown, or difficult to obtain due unusual tool offset, the
values can be calculated using the following procedure.
2. Place a precise reference point within easy reach of the robot, preferably along the
base Y-axis (Figure 12-4).
3. Jog the robot to a position with the tool mounting flange facing straight down, as
shown in figure 12-4.
SAMPLE PROGRAMS
5. Using base mode, jog the robot to a position with the center of the tool mounting
flange perpendicular to the fixed reference point (Figure 12-5).
Figure 12-5 Tool Mounting Flanged Aligned with Fixed Reference Point
6. With the robot in position as described in step 5, at the monitor prompt enter:
>HERE a
7. Jog the robot away from the fixed reference point. Install the tool onto the tool
mounting flange.
8. Jog the robot to a position with the tool center point (TCP) at the fixed reference
point and with the tool Z-axis perpendicular to the base X-axis and Y-axis (Figure
12-6).
9. With the robot in position as described in step 8, at the monitor prompt enter:
>HERE a + b
10. The tool transformation values are calculated from the compound transformation as
-b. The inverse of b (-b) is used because the compound transformation b is the
location of the NULL TCP, relative to the fixed reference point (Figure 12-6).
12. To assign the values of variable t as an AS Language tool, at the monitor prompt
enter:
>TOOL t ;Assigns the values of t as AS Language tool t.
SAMPLE PROGRAMS
b
Tool coordinate Z-Axis a+b
X
New Tool Center Point
a
Fixed Reference Point a
Y
Base Coordinates
1. Select tool mode, and jog the robot using the rx, ry, and rz keys. The TCP should
remain fixed while the robot arm rotates about point a. If the TCP does not remain
fixed during jogging, the tool transformation procedure should be repeated.
2. Move the robot away from the fixed reference point, at the monitor prompt enter:
>SPEED 10 ;Sets the monitor speed to 10%..
>DO JM a ;Moves the robot to reference point a.
If the tool center point does not move to the reference point, the tool transformation
procedure should be repeated.
SAMPLE PROGRAMS
When the tool dimensions are known, the following procedure can be used to obtain tool
transformation values. Tool transformation values obtained using this procedure are
more accurate than those obtained in the procedure in section 12.4.1 Tool Transforma-
tion Values, Tool Dimensions Unknown.
The X, Y, and Z-axes in figure 12-7 express the null tool coordinates. This procedure is
used to set the tool coordinate origin at the TCP and the tool Z-axis in the same orienta-
tion as the tool.
30 mm
X
X Z 90°
Y
Y 200 mm 55°
Z
1. In this example, the tool transformation values are assigned to the variable “torch”
using the POINT command. At the monitor prompt enter:
>POINT torch
X Y Z O A T
0 0 0 0 0 0
Change?
>-30,0,200,0,35,0
X Y Z O A T
-30 0 200 0 35 0
Change?
>
SAMPLE PROGRAMS
When transformation poses are taught relative to a reference transformation pose, the
relationship between the pose and the reference pose remains the same even if the
reference pose is redefined.
Example
In this example, transformation poses are taught at the corners of a table (Figure 12-8).
The positional relationship between the robot and the table changes depending on
where the corners are placed, but as long as the shape of the table remains the same
the relationship of the four corners does not change.
If one of the corners is taught as a reference point to specify the absolute positional
relationship between the robot and the table, and the other corners are taught relative to
the first corner, if the table is relocated, only the reference point has to be redefined
(Figure 12-8).
>HERE a+c
Z .Program table()
1 JMOVE a
a 2 LMOVE a+b
3 LMOVE a+c
a+b 4 LMOVE a+d
5 LMOVE a
a+d
a+c
SAMPLE PROGRAMS
In figure 12-9-A, the reference point a is taught as a transformation and the other cor-
ners are taught a compound transformations. In figure 12-9-B, the reference point a is
redefined. If the posture of the robot wrist is not changed, when reference point a is
redefined, the robot follows the path shown by the solid line. If the posture of the wrist is
changed when reference point a is redefined the robot path will follow the new wrist
posture, as indicated by the dashed line.
Top View
a a+b
Y
A
X a+d a+c
a a+b
a+d a+c
SAMPLE PROGRAMS
In this example, parts are palletized on two pallets. The pallets are placed separately
but the reference point and parts locations are the same (Figure 12-10).
The parts are picked up from the parts feeder and placed on Pallet A. When six parts
are placed on Pallet A, program execution continues to place six parts on Pallet B (Fig-
ure 12-10). For simplicity, the process for synchronizing with the parts feeder is omitted.
Parts Feeder
Y 90 mm 90 mm
#a
4 5 6
start 50 mm
1 2 3
Pallet A
a
90 mm 90 mm
X
4 5 6
Robot start 50 mm
1 2 3
Pallet B
b
SAMPLE PROGRAMS
.Program [Link]()
1 ;initial settings (2 rows,3 columns, ∆X=90, ∆Y=50)
2 [Link] = 2
3 [Link] = 3
4 xs = 90
5 ys = 50
6 OPENI
7 fig = 0 ;fig = 0: Pallet A, fig = 1:Pallet B
8 POINT pallet = a
9 ;start palletizing
10 10 POINT put = start
11 FOR row = 1 TO [Link]
12 FOR col = 1 TO [Link]
13 JAPPRO #a,100 ;approaches #a by 100 mm
14 LMOVE #a ;moves to #a
15 CLOSEI ;closes clamp/picks up part
16 LDEPART 100 ;departs #a by 100 mm
17 ;
18 POINT put_pt = pallet+put ;assigns the value of pallet+put to put_pt
19 JAPPRO put_pt,200 ;approaches put_pt by 200 mm
20 LMOVE put_pt ;moves to put_pt
21 OPENI ;opens clamp/releases part
22 LDEPART 200 ;departs put_pt by 200 mm
23 ;
24 POINT put = SHIFT(put BY xs,0,0) ;shifts part to next column
25 END
26 ;
27 POINT put = SHIFT(start BY 0,ys,0) ;shifts part to next row
28 END
29 ;
30 IF fig<>0 GOTO 30 ;goes to end of program when Pallet B is full
31 fig = 1 ;assigns the value of 1 to variable fig
32 POINT pallet = b ;defines the reference point for Pallet B
33 GOTO 10 ;program execution jumps to the label 10
34 30 TYPE “**END**” ;displays the message **END**
35 STOP
.END
SAMPLE PROGRAMS
In the example in section 12.5.1, if the wrist posture is not corrected when the reference
pose is redefined, the pattern of the program poses is skewed (Figure 12-9-B). When
the FRAME function is used the wrist posture is not a factor.
To use the FRAME function, teach four points (b, c ,d, e) to define the frame transforma-
tion value a. Points “b” and “c” determine the direction of the X-axis, point “d” determines
the XY plane, and point “e” determines the origin. After the points are taught, at the
monitor prompt enter:
>POINT a = FRAME(b,c,d,e)
The POINT command defines variable “a” relative to the frame defined by the four points
(b,c,d,e). The XYZ values show the position of the origin of the relative coordinates and
the OAT values show the posture of the relative coordinates.
All poses on the relative coordinates can be expressed as a+x, where x is a pose taught
relative to a.
If the location of the pallet is changed, re-teach points “b, c, d, e” as described above. If
poses “b” and “e” are the same, as in the following example, only three points are re-
taught.
The relative coordinates defined using the FRAME function are also referred to as
FRAME coordinates.
This example program preforms the same procedure as the example in section 12.5.2,
except the FRAME function is used. Refer to figure 12-11 and the following example
program.
SAMPLE PROGRAMS
Parts are palletized on Pallet A. Three corners of the pallet are taught, org (origin), x (X-
axis), y (Y-axis) (Figure 12-11). To palletize on Pallet B, re-teach the three FRAME
coordinates (org, x, y) to the new pallet location. The FRAME coordinates are redefined
and parts are palletized in the same pattern as Pallet A.
2. Define the frame coordinate relative to the FRAME, at the monitor prompt enter:
>POINT pallet = FRAME(org,x,y,org)
3. Enter the program steps, refer to the following example program ([Link]).
Parts Feeder y 90
mm
Y 90
mm
4
#a
sta
r 5
1 t
org 6
2
Pa 3 50
llet mm
A
x
X mm
90 mm
m 50
Robot 9 0m 6
5
3 tB
y lle x
4 Pa
2
rt
sta
1
org
SAMPLE PROGRAMS
.Program [Link]()
1 ;initial settings (2 rows,3 columns, ∆X=90, ∆Y=50)
2 [Link] = 2
3 [Link] = 3
4 xs = 90
5 ys = 50
6 OPENI
7 ;
8 POINT pallet = FRAME(org,x,y,org) ;defines the FRAME coordinates for the pallet
9 ;start palletizing
10 POINT put = start
11 FOR row = 1 TO [Link]
12 FOR col = 1 TO [Link]
13 JAPPRO #a,100 ;approaches #a by 100 mm
14 LMOVE #a ;moves to #a
15 CLOSEI ;closes clamp/picks up part
16 LDEPART 100 ;departs #a by 100 mm
17 ;
18 POINT put_pt = pallet+put ;assigns the value of pallet+put to put_pt
19 JAPPRO put_pt,200 ;approaches put_pt by 200 mm
20 LMOVE put_pt ;moves to put_pt
21 OPENI ;opens clamp/releases part
22 LDEPART 200 ;departs put_pt by 200 mm
23 ;
24 POINT put = SHIFT(put BY xs,0,0) ;shifts part to next column
25 END
26 ;
27 POINT put = SHIFT(start BY 0,ys,0) ;shifts part to next row
28 END
29 STOP
.END
APPENDIX
APPENDIX
A.0 APPENDIX
*Legend
M–Monitor command E–Editor command P–Program instruction S–Switch
F–Function O–Operator K–Other
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
APPENDIX
POINT/7 transformation
POINT/7 PO/7 Assigns the value of joint 7 M variable name = transformation 6-63
values
APPENDIX
RESET RES Sets all external output signals OFF P RESET 7-73
Releases memory set aside by
RESTRACE RESTRACE M RESTRACE 6-37
SETTRACE
RETURN RET Returns to the caller program P RETURN 7-47
RETURNE RETURNE Returns to step after the error P RETURNE 7-59
RGSO RGSO Servoing switch ON/OFF status S switch (RGSO) 8-9
$RIGHT (string, number of
$RIGHT $RIGHT Returns the rightmost characters F 10-45
characters)
Changes to right-hand
RIGHTY RI P RIGHTY 7-40
configuration
RPS RP Calls program selected by signals S .... RPS.... 8-8
RUN RUN HOLD/RUN switch status S switch (RUN) 8-10
RUNMASK start number,
RUNMASK RU Masks signals P 7-76
number of signals
RX RX Rotation about X Axis F RX (angle) 10-33
RY RY Rotation about Y Axis F RY (angle) 10-33
RZ RZ Rotation about Z Axis F RZ (angle) 10-33
S (Step) S Selects program step E S step number 6-6
Stores program/variable onto a PC SAVE/SEL filename =program
SAVE SA M 6-42
card name...
APPENDIX
APPENDIX
APPENDIX
APPENDIX
The following table lists the entire American Standard Code for Information Interchange
(ASCII) character set. All the characters from SP (octal 040) through “~” (octal 176) can
be used as ASCII constants or within text strings. The characters with octal values from
0 to 40 and the value 177, are non-printing control characters with the meanings given
in the table.
APPENDIX
APPENDIX
APPENDIX
Table A-1 describes the signal usage limitations for the listed commands/instructions.
Command/
Instruction * Output Signals Input Signals Internal Signals
1
BITS M/P 1–maximum signal NA 2001–2256
BITS F 1–maximum signal1 NA 2001–2256
DEFSIG M 1–maximum signal1 1001–maximum signal1 NA
2
DLYSIG M/P 1–32/64 NA 2001–2256
ON/ONI P NA 1001–1032/10643 2001–2256
PULSE M/P 1–32/642 NA 2001–2256
2
RUNMASK P 1–32/64 NA 2001–2256
2
SIGNAL M/P 1–32/64 NA 2001–2256
SIG F 1–maximum signal1 1001–maximum signal1 2001–2256
1 1
SWAIT P 1–maximum signal 1001–maximum signal 2001–2256
– 3
XMOVE P NA 1001 1032/1064 2001–2256
* M–Monitor Command P–Program Instruction F–Function
1
Standard = 32 Optional = 64, 96, 128
2
Standard = 32 Optional = 64
3
Standard = 32 (1001–1032) Optional = 64 (1001–1064)
APPENDIX
This section describes the method used to derive O, A, T angles. Refer to figure A-1
during this discussion.
The posture of a coordinate system represented by Σ (x, y, z) with respect to the base
coordinate system resented by Σ (X, Y, Z) is expressed using Euler’s O, A, T angles.
The two coordinate systems Σ (x, y, z) and Σ (X, Y, Z) are located at the same origin.
T: The angle between the x-axis and the X-axis (the X-axis is on the Zz plane and
the angle between this axis and the z-axis is 90 degrees).
These three angles are used to represent the angles of rotations required for the base
coordinate system Σ (X, Y, Z) to coincide with the coordinate system Σ (x, y, z). The
results will be incorrect, if the order of the O, A, T rotation show below is changed.
1. O rotation of the coordinate system Σ (X, Y, Z) around the Z-axis. This rotation re-
orientates Σ (X, Y, Z) to Σ (X, Y, Z).
2. A rotation of the coordinate system Σ (X, Y, Z) around the Y-axis. This rotation re-
orientates Σ (X, Y, Z) to Σ (X, Y, z).
3. T rotation of the coordinate system Σ (X, Y, z) around the z-axis. This rotation re-
orientates Σ (X, Y, z) to Σ (x, y, z).
z
A
X T
O O Y9
AT
X9 Y
x
X0
APPENDIX
This rotation can be considered in terms of polar coordinate values. If point P is on the
z-axis at the distance “d” from the origin, it is written as (d, A, O), then O and A in these
coordinate values are equal to O and A as described above. The direction of the z-axis
is expressed by these two values (O and A).
GLOSSARY
GLOSSARY
This glossary contains definitions of terms used by operators, programmers, and main-
tenance personnel who work with Kawasaki robots. The definitions are listed in alpha-
betical order.
A
• ACCELERATE
To speed up a process.
• ACCURACY
A measure of the difference between the commanded robot arm position and the
actual position. Also identifies how well an indicated value conforms to a true value
(i.e., an actual or accepted standard value).
• ACRONYM
A word formed from the initial letters of words in a name or phrase. For example,
ASCII is an acronym for American Standard Code for Information Interchange.
• 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 equiva-
lent to one (1) amp.
GLOSSARY
• ANALOG
A continuously changing electrical voltage signal. In robot systems, the magnitude
or value of the signal represents commanded robot axis motion.
• ANALOG DATA
Information that is represented by a characteristic of the value or magnitude of an
electrical signal, such as the amplitude, phase, or frequency of the voltage, the
amplitude or duration of a pulse, the angular position of a shaft, or the pressure of a
fluid number.
• ANTI-FRICTION BEARING
A rolling element which is used to support a rotating shaft.
• ARC SENSOR
A sensor that detects weld lines utilizing arc characteristics.
• ARGUMENT
A value applied to a procedure; data used by a function or other command. For
instance, in the AS command JMOVE flange, 2. The variable, flange, and the clamp
number 2 are the arguments of the function JMOVE.
• ARRAY
An ordered set of addresses or their values. Elements of an array can be refer-
enced individually or collectively. Array elements all have the same type of data, for
instance, 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 stan-
dard 8-bit code is used by many devices, such as keyboards and printers.
• AS LANGUAGE
Kawasaki robot language used to communicate commands and instructions from a
keyboard to the CPU.
GLOSSARY
• ASSIGNMENT
An instruction used to express a sequence of operations, or used to assign oper-
ands 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
transmitter 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 ir-
regular 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 abbreviation for binary coded decimal. The BCD 8-4-2-1 code expresses each
decimal 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 binary-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.
GLOSSARY
• BIT
Acronym for binary digit, having one of two values: 0 or 1.
• 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 station-
ary 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
Abbreviation for 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 posi-
tion.
• CHARACTER
A term that describes all numbers, letters, and other symbols typically found on a
computer keyboard.
GLOSSARY
• 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 analo-
gous to reverse point and forward point operations in other robot models.
• CHECKSUM
A method by which the contents of data or a transmission are verified to be accu-
rate. 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 con-
troller, 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.
GLOSSARY
• 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.
• CONTIGUOUS FILE
A file that is stored in continuously adjacent areas of memory, in contrast to a file
which is scattered to make more efficient use of disk space.
• CONTROLLED AXIS
A robot axis that is operated by electrical or hydraulic power.
• CONTROLLER
An electronic device, with processing capabilities and software, which controls the
robot actions and functions.
• CONVEYER TRACKING
Used to make the robot follow a part on a conveyor, without the use of a traverse
axis.
• COORDINATE
A set of numbers that locate a point in space.
• CPU
Abbreviation 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
problem.
• CRT
Abbreviation for cathode ray tube. A CRT is a charge storage tube in which the
information is written by means of the cathode ray beam.
GLOSSARY
• 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.
• 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
difference. However, if the controller detects a condition where the difference be-
tween this mechanical value and the desired electrical position is larger than the
established 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
corrected.
GLOSSARY
• 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.
• 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.
GLOSSARY
• DISK PACK
A device which is used to store additional data in a computer system, and is usually
removable.
E
• ECHO
Process in which characters that are typed on a keyboard are also displayed on the
screen or are sent to the printer.
• EDITOR
An aid for entering information into the computer system and modifying existing text.
• ENCODER
An electromechanical device that is connected to a shaft to produce a series of
pulses that indicate the position of the shaft.
• EPROM
Acronym for erasable programmable read-only memory. The contents of this
memory (computer chip) are retained, even when power to the system is turned off.
Usually stores executive programs and critical system variables.
• ERROR LOG
A report which contains a sequential list of system error messages.
• ERROR MESSAGE
Messages displayed on the plasma screen of the robot controller, when the action
requested by the operator could not be completed. Error messages can occur
when components malfunction or if an incorrect command is typed by the operator.
• EXPRESSION
A combination of real-valued variables and functions, and mathematical and logical
operators. When evaluated, this combination yields a numeric value.
F
• FEEDBACK
The transmission of a signal from a measuring device (e.g., encoder, transducer) to
the device which issued the command signal within a closed-loop system. See
CLOSED-LOOP SYSTEM.
GLOSSARY
• FIELD SIGNALS
All electrical signals that exit or enter an electrical panel.
• 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 col-
umn 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.
GLOSSARY
• HANDSHAKING PROTOCOL
Communication rules used for data transmissions between devices. Each device
must recognize the same protocol in order to communicate.
• 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.
GLOSSARY
• 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 incremen-
tal pulses are generated by an encoder through the use of an optical disk with
alternating 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.
• INPUT
Transmission of an external signal into a control system.
• INTERACTIVE SYSTEM
System where the user and the operating system communicate directly; the user
through the keyboard, and the operating system via the display screen.
• INTERLOCK
An arrangement whereby the operation of one part or mechanism automatically
brings about or prevents the operation of another.
• INTERPRETER
A program that changes English-like commands into machine language. An inter-
preter translates and executes one command at a time.
• INSTRUCTIONS
Discrete steps in a computer program that are commands or statements that tell a
computer to do something or identify data.
• INTEGER
A whole number, a number without a fractional part such as 7, -318, or 19.
• INTERFACE
The circuitry that fits between a system and a peripheral device to provide compat-
ible coupling between the two pieces of equipment.
• INTERPOLATION
The mathematical process that the CPU utilizes to plot a path for the robot to travel
from one position to another. A mathematical process that evaluates a number of
dependent and independent variables for the purpose of comparison and prediction.
GLOSSARY
• INTERRUPT
An external signal that halts program execution so that the computer can service
the needs of some peripheral device or subsystem.
• INVERTER
A circuit which switches a positive signal to a negative signal, and vice versa.
• I/O
Abbreviation for Input/Output. The interconnections through which the computer
and its peripheral devices communicate.
• IPM
Abbreviation 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.
GLOSSARY
• LAN
An acronym for local area network. A group of computer terminals interconnected
by cables, allowing communication of information via the network.
• LCD
Abbreviation for liquid crystal display. This type of display is made of material
whose reflectance or transmittance of light changes when an electric field is ap-
plied.
• 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.
GLOSSARY
• 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)
• 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 oppos-
ing 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 prod-
ucts 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.
GLOSSARY
• MSB
Abbreviation for most significant bit.
• MSEC
Abbreviation for millisecond (0.001 seconds).
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.
GLOSSARY
• OVERFLOW
When a value or buffer exceeds a predefined limit.
• OVERTRAVEL
An error condition that exists when the robot exceeds its normal software limit
values, 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 opera-
tions and extensions.
• PC PROGRAM
PC is an abbreviation 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 re-
ceives I/O from the processor. Examples include: printer, CRT screen, or disk.
• PHASE
The angular relationship between current and voltage in alternating current circuits.
In a waveform or period function, the fraction of the period that has elapsed, as
measured from a reference point. Phase angle is determined by multiplying the
phase by 360 degrees.
GLOSSARY
• PINCH POINT
Any point where it is possible for a part of the body to be injured between the mov-
ing 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
Abbreviation for programmable logic array. Used in many servo drive circuits.
• PLAYBACK
An operation where a taught path is run for evaluation purposes.
• PLC
Abbreviation for programmable logic controller. Usually referred to as the cell mod-
ule 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.
• POSE
Describes the location and the posture of a robot.
• 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 cur-
rent through conductive material deposited between terminals on an insulated
surface.
GLOSSARY
• PRECISION POINT
The play back of robot location based on the angular position of the six axes, joint
angles
• PRINTING
A process in which characters are stamped on a surface, usually paper.
• PROGRAM
A predefined, step-by-step set of instructions that are entered into a computer so a
specific process can be performed repeatedly without reentering all the steps.
Robot paths are stored and run as part of programs.
• PROGRAM EDIT
Modification of an existing program.
• PROCESSOR
Generally, any hardware or software system for carrying out programs and acting on
data.
R
• RAM
Acronym for random access memory. An area used by the CPU for processing and
temporarily loading programs so they can be accessed quickly. The contents of
RAM are lost when the computer is powered down, unless battery backup is pro-
vided.
• 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.
GLOSSARY
• REPEAT MODE
A mode of operation that allows the user to check positional and auxiliary informa-
tion at a selected speed value, in a continuous or a step by step type of movement
of the mechanical unit.
• REPEATABILITY
The measurement of the closeness of agreement among repeated measurements
of the same variable under the same conditions.
• REWRITE MODE
A mode of operation which allows the user to rewrite positional, or auxiliary data,
and to insert or delete step address locations.
• RISC
Acronym for reduced instruction set computer.
A memory device which is programmed at the factory and whose contents thereaf-
ter 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 infor-
mation enters the screen from the bottom.
GLOSSARY
• 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
program.
• SERIAL
A method of transmitting data by which only one bit is sent or received at any one
point in time.
• 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 mo-
tion. 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.
GLOSSARY
• 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.
• 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 effec-
tiveness 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.
GLOSSARY
• 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
See PINCH POINT.
• TTL
Abbreviation 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
Abbreviation 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 equiva-
lent to the force required to produce one amp of current through one ohm of resis-
tance.
GLOSSARY
W
• WORK ENVELOPE
The effective range or reach of a robot’s axes.
• 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
representation 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
controller. When the robot encounters a wait external condition, the robot will cease
motion and the servo power will be removed.
Z
• ZEROING
This procedure provides the robot controller with encoder data that is referenced
from a known mechanical position (zeroing witness marks, in simple zeroing, or
inclinometer values in precision zeroing) and then establishes an encoder value for
this known position. Two methods can be used, simple and precision zeroing.
Some robot manufacturers call this procedure mastering or calibration.
INDEX
INDEX .........................................................................................................................IN-2
INDEX
Symbols
#DEST Function, 10-27
#HERE Function, 10-31
#HOME Function, 10-38
#PPOINT Function, 10-34
$CHR Function, 10-44
$DATE Function, 10-52
$ENCODE Function, 10-47, 10-49
$ERROR Function, 10-51
$ERRORS Function, 10-51
$LEFT Function, 10-45
$MID Function, 10-46
$RIGHT Function, 10-45
$SPACE Function, 10-44
$TIME Function, 10-52
/Cn, 6-123, 7-96, 10-50
/D, 6-123, 7-96, 10-49
/Em.n, 6-123, 7-96, 10-49
/Fm.n, 6-123, 7-96, 10-49
/Gm.n, 6-123, 7-96, 10-50
/Hn, 6-123, 7-96, 10-50
/Jn, 6-123, 7-96, 10-50
/Kn, 6-123, 7-96, 10-50
/L, 6-123, 7-96, 10-50
/ln, 6-123, 7-96, 10-50
/S, 6-123, 7-96, 10-50
/Xn, 6-123, 7-96, 10-50
1GW/1HW Board, I-4
1KA Board, 3-12
1KN Board, 3-12
A
ABORT, 6-53
ABORT Monitor Command, 5-14
ABOVE, 7-39, 7-41
ABS Function, 10-41
[Link] Switch, 8-11
ACCEL, 7-24
Accuracy, I-3, 2-12
[Link] Switch, 8-11
ALIGN, 7-13
American National Standards Institute (ANSI), 2-6
American Standard Code for Information Interchange, A-13
Angles, O, A, T, A-17
ANSI, 2-6
Arithmetic Operators, 9-3
Arrays, 4-14, 4-27
AS Language Functions, 10-2
AS Language Keyword List, A-2
AS Language Program Execution, 5-10
AS Language Program Format, 5-4
AS Language Programming Flow Chart, 5-6
INDEX
B
BASE, 6-76, 7-110
BASE Command, 4-9
BASE Function, 10-37
Base Mode, I-3
BATCHK, 6-99
Battery Use and Disposal, 2-9
BELOW, 7-39, 7-41
Binary Operators, 4-30, 9-8
Binary Signal Instructions, 7-72
BITS, 6-113, 7-77, 8-6
BITS Function, 10-6
BRAKE, 7-25
Brake Assembly, 2-13
Brakes, 2-14
BREAK, 7-25
BSPEED, 7-26
C
C, 6-5
C1MOVE, 7-17
C2MOVE, 7-17
CALL, 7-46
CALLAUX, 7-59
CARD_COPY, 6-35
CARD_FDEL, 6-32
CARD_FDIR, 6-25
CARD_FORMAT, 6-41
CARD_LOAD, 6-45
CARD_LOAD/Q, 6-45
CARD_RENAME, 6-33
CARD_SAVE, 6-42
CARD_SAVE/SEL, 6-42
CARD_VERIFY, 6-32
CASE..OF VALUE..ANY..END, 7-69
Caution Symbol, 2-8
CCENTER Function, 10-39
CHANGE, 6-5
INDEX
D
D, 6-10
Data Editing, I-3
Data Load, 3-16
Data Save, 3-16
Data Storage, I-6
DECEL, 7-24
DECOMPOSE, 4-27
Dedicated I/O Signals, 3-5
Dedicated Signals, I-5
Defining Character String Variables, 4-26
Defining Compound Transformation Values, 4-19
INDEX
E
E, 6-15
E-stop Switch, 2-10, 2-11, 2-12, 2-14
ED, 6-4
EDIT, 6-4
Editor Commands, 5-5, 6-3
Editor Mode, 3-2
EMERGENCY STOP Switch, 5-14
Enabling Device, 2-12
ENCCHK_EMG, 6-99
ENCCHK_PON, 6-100
ENV_DATA, 6-102
ENV2_DATA, 6-103
INDEX
ERESET, 6-94
ERRLOG, 6-81
ERROR Function, 10-20
Error Messages, I-5
[Link] Switch, 8-8
Ethernet, 3-12
Euler’s O, A, T Angles, A-17
Example Program, 5-7
EXECUTE, 6-50, 8-4
EXECUTE Monitor Command, 5-10
EXIT, 6-15
Expressions, 4-30
EXTCALL, 7-80
External Interlock, 12-6
External Memory Devices, 3-7
F
F, 6-11
FALSE, 4-31
FALSE Function, 10-13
FC06N, 2-15
FD_COPY, 6-35
FD_FDEL, 6-32
FD_FDIR, 6-25
FD_FORMAT, 6-41
FD_LOAD, 6-45
FD_LOAD/Q, 6-45
FD_RENAME, 6-33
FD_SAVE, 6-42
FD_SAVE/SEL, 6-42
FD_VERIFY, 6-32
FIND, 6-11
Floppy Disk, 3-7
FOR..TO..END, 7-67
FP20N, 2-16
FRAME Function, 10-28
FREE, 6-73
FS02N, 2-17
FS03N, 2-17
FS06L, 2-18
FS06N, 2-15
FS10C, 2-15
FS10E, 2-19
FS10L, 2-20
FS10N, 2-21
FS20C, 2-22
FS20N, 2-23
FS30L, 2-24
FS30N, 2-25
FS45C, 2-25
FS45N, 2-26
Function, #DEST, 10-27
INDEX
INDEX
G
Global Variables, 4-12
Goggles, 2-10
GOTO, 7-44, 7-45
GOTO/IF, 7-44
Gun Signal Timing, 7-36
GUNOFF, 7-35
GUNOFFTIMER, 7-36
GUNON, 7-35
GUNONTIMER, 7-36
H
HALT, 7-54
Hard Hat, 2-10
Hardstop, 2-14
HELP, 6-95
HELP/DO, 6-95
HELP/F, 6-95
HELP/M, 6-95
HELP/MC, 6-95
HELP/P, 6-95
HELP/PPC, 6-95
HELP/SW, 6-95
HERE, 6-57, 7-104
HERE Command, 4-16
HERE Function, 10-31
High-Speed Playback, 2-12
HMOVE, 7-14
HOLD, 6-53
HOLD Monitor Command, 5-14
[Link] Switch, 8-9
HOLD/RUN Switch, 5-14
HOME, 7-10
HSETCLAMP, 6-85
INDEX
I
I, 6-9
I/O Signals, I-4
ID, 6-97
IF, 7-44, 7-45
IF..THEN..ELSE..END, 7-61
IF/GOTO, 7-45
IFPWPRINT, 6-125, 7-100
IGNORE, 7-85
Inputs, I-5
INRANGE Function, 10-22
INSERT, 6-9
INSTR Function, 10-16
INT Function, 10-17
Interface Panel, Optional, 2-14
Interlock Control Circuit, 2-13
IO, 6-72
IO 1, 6-72
IO 2, 6-72
IO 3, 6-72
IO 4, 6-72
IO/E, 6-72
IP Address, 3-13
IPEAKCLR, 6-106
IPEAKLOG, 6-106
J
JAPPRO, 7-6
JEPART, 7-8
JMOVE, 7-4
Joint Mode, I-3
Joint Number, 4-4
Joint Value, 4-8
Joint Values, 4-9, 4-17
K
KCwin, 3-8
KCwin32, 3-8
Keyword List, A-2
Keywords, 4-4
KILL, 6-55
KRterm, 3-8, 3-19
KRterm Connection Type, 3-13
KRterm Disconnect, 3-17
KRterm Shut-Down, 3-17, 3-18
[Link], 3-8
[Link], 3-8
[Link], 3-8
[Link], 3-8
INDEX
L
L, 6-8
LAN Cable, 3-12
LAPPRO, 7-6
LAST, 6-8
LATRACE, 6-38
LDEPART, 7-8
LEFTY, 7-39, 7-40
LEN Function, 10-11
Limit Switch, 2-14
Linear Move, I-3
LIST, 6-26, 6-28
LIST/L, 6-28
LIST/P, 6-28
LIST/R, 6-28
LIST/S, 6-28
LLIMIT, 6-75, 7-112
LMOVE, 7-4
LOAD, 6-45
LOAD/Q, 6-45
Local Variables, 4-13
Location, 4-4
LOCK, 7-52
Lock Out, 2-13
Log File, File Name, 3-19
Log File Folder, 3-19
Logical Expressions, 4-31
Logical Operators, 4-29, 9-5
Lowercase Letters, 4-32
LSTRACE, 6-37
M
M, 6-12
Macro Functions, 3-21
Main Disconnect, 2-13
Mathematical Functions, 10-40
MAXVAL Function, 10-17
MC, 7-118
MC CONTINUE, 5-3
Memory Capacity, I-3
Message Control Instructions, 7-94
Message Display Commands, 6-121
MESSAGES Switch, 8-5
Mine Safety and Health Administration (MSHA), 2-6
MINVAL Function, 10-17
MODIFY, 6-12
Monitor Commands, 4-15, 6-2
Monitor Mode, 3-2
Motion Control, I-3
Motion Control Instructions Description, 5-24
Motion Instructions, 7-3
MOTOR POWER Switch, 5-14
INDEX
N
NCHOFF, 7-116
NCHON, 7-116
NIOSH, 2-6, 2-10
NULL Function, 10-31
Numeric Data, 4-5, 4-10
Numeric Expressions, 4-28
O
O, 6-14
O, A, T Angles, A-17
OFF, 6-83, 7-115
OFF Function, 10-13
ON, 6-83, 7-82, 7-115
ON Function, 10-12
ONE, 7-57
ONELINE, 6-14
ONI, 7-82
OPEINFO, 6-107
OPEINFOCLR, 6-108
OPEN, 7-30
OPENI, 7-30
OPENS, 7-34
Operation Panel, 2-14
Operator, 4-28
Operators, 4-28, 4-29, 9-2
OPLOG, 6-81
Order of Operaitons, 4-30
OSHA, 2-6, 2-10
Outputs, I-5
[Link] Switch, 8-6
P
P, 6-7
Palletizing Sample Program, 12-4
Parts, Replacement, 2-13
PASTE, 6-18
PASTE BUFFER, 6-20
PASTE REVERSE, 6-19
PAUSE, 7-54
PC Card, 3-7
PC Program, 5-2
PC Program Execution, 5-15
PC Program Instructions, 11-2
PCABORT, 11-6
PCABORT Monitor Command, 5-15
INDEX
INDEX
Q
QTOOL Switch, 8-7
R
R, 6-13
RANDOM Function, 10-42
Real Numbers, 4-10
Real Value Functions, 10-3
Real Variables, 4-24
REC_ACCEPT, 6-101
Relational Operators, 9-4
Relative Transformations, 12-13, 12-15, 12-17
RELAX, 7-33
RELAXI, 7-33
RELAXS, 7-34
RENAME, 6-33
REP_ONCE Switch, 8-7
Repeat Mode, I-3, 2-12
REPLACE, 6-13
Replacement Parts, 2-13
RESET, 6-110, 7-73, 8-6
RESTRACE, 6-37
Restricted Space, 2-10, 2-12, 2-15
Resuming Robot Control Program Execution, 5-14
Retreat Path, 2-12
RETURN, 7-47
RETURNE, 7-59
RIGHTY, 7-39, 7-40
Robot Configuration, 7-38
Robot Control Program Execution, 5-10
Robot Motion and Step Relation, 5-22
Robot Motion Control Program, 5-2
Robot Motion Instructions, 5-17
Robot Operating Conditions, 5-7
Robot Poses (Locations), 5-7
Robot Signal Value Ranges, 4-4
RPS Switch, 8-7
RS-232C, 3-8
RS-232C Port, 3-9
RUNMASK, 7-76, 8-6
RX Function, 10-33
RY Function, 10-33
RZ Function, 10-33
INDEX
S
S, 6-6
Safeguarded Space, 2-2, 2-10, 2-11, 2-12, 2-13
Safety Categories, 2-10
Safety Coordinator, 2-11
Safety Device, 2-11
Safety During Inspection and Maintenance, 2-13
Safety During Operation, 2-12
Safety During Programming, 2-12
Safety Features, 2-14
Safety Fence, 2-13
Safety Glasses, 2-10
Safety Plug, 2-13
Safety Shoes, 2-10
Sample Program, 5-9
Sample Program, Palletizing, 12-4
Sample Programs, 12-2
SAVE, 6-42
Save Pose Information, 3-7
Save Programs, 3-7
Save Variables, 3-7
SAVE/L, 6-43
SAVE/P, 6-43
SAVE/R, 6-43
SAVE/S, 6-43
SAVE/SEL, 6-42
SAVE/SYS, 6-43
Saving the Log File, 3-20
Scalar Variables, 4-4
SCALL, 7-56
Scientific Notation, 6-123, 7-96, 10-49
SCNT, 6-114, 7-86
SCNTRESET, 7-87
SCNTREST, 6-115
SCREEN Switch, 8-7
Selecting Log File, 3-19
Servo Drive Motor, 2-13
SET2HOME, 6-80
SETHOME, 6-80
SETPICK, 6-120, 7-92
SETPLACE, 6-120, 7-92
Setting Load Mass/Load Center Point, 5-33
Settings/Parameters, Program, 12-2
SETTRACE, 6-37
SFLK, 6-115
SFLP, 6-116, 7-88
SHIFT Function, 10-35
SIG Function, 10-4
SIGNAL, 6-111, 8-6
Signal Number, 4-4
Signal Timing, 8-6
SIN Function, 10-41
INDEX
SLOW_REPEAT, 6-100
SLOW_START Switch, 8-11
Software Limit, 2-14
SOUT, 6-117, 7-89
Specified Path Motion, 5-32
SPEED, 6-48, 7-20
Speed, I-3, 2-12
Speed and Accuracy Control Instructions, 7-19
SQRT Function, 10-41
STABLE, 7-5
STATUS, 6-68
STEP, 6-6, 6-52, 8-4
STEP Command, 5-12
STIM, 6-119, 7-91
STOP, 7-55
Stopping a Robot Control Program, 5-13
STP_ONCE Switch, 8-7
STP_ONCE System Switch, 6-55
STPNEXT, 6-55
String Expressions, 4-32
String Functions, 10-43
String Operator, 9-13
String Operators, 4-32
Subroutine, 5-15
SWAIT, 7-79, 8-6
SWITCH, 6-82
SWITCH (CS), 8-8
SWITCH (ERROR), 8-9
SWITCH (POWER), 8-8
SWITCH (REPEAT), 8-9
SWITCH (RGSO), 8-8
SWITCH (RUN), 8-9
SWITCH (TEACH LOCK), 8-8
SWITCH (TRIGGER), 8-8
SWITCH Function, 10-18
SYSDATA Function, 10-24
SYSINIT, 6-94
System Control Commands, 6-66
System Switch, 7-115
System Switches, 3-2
T
T, 6-21
Tag Out, 2-13
TASK Function, 10-18
TDRAW, 7-12
TEACH, 6-21
TEACH Command, 4-16
Teach Mode, I-3, 2-14
Teach Pendant, I-6, 2-12, 2-14
Terminal Control, 3-6
Terminal Control Commands, 3-6
INDEX
U
ULIMIT, 6-75, 7-112
Uppercase Letters, 4-32
Using Relative Transformations, 12-13
Using Relative Transformations in a Program, 12-15
Using Relative Transformations with the Frame Func, 12-17
UTIMER, 7-114
UTIMER Function, 10-21
UWRIST, 7-39, 7-42
V
VAL Function, 10-14
Variable Names, 4-14
Variable Types, 4-14
Variables, 4-12
Velocity Error, 2-14
INDEX
W
WAIT, 7-48
Warning Symbol, 2-8
Water, High Pressure, 2-13
WEIGHT, 6-98, 7-117
WHERE, 6-70
WHERE 1, 6-70
WHERE 10, 6-70
WHERE 11, 6-70
WHERE 12, 6-71
WHERE 13, 6-71
WHERE 14, 6-71
WHERE 15, 6-71
WHERE 16, 6-71
WHERE 2, 6-70
WHERE 3, 6-70
WHERE 4, 6-70
WHERE 5, 6-70
WHERE 6, 6-70
WHERE 7, 6-70
WHERE 8, 6-70
WHERE 9, 6-70
WHILE..DO..END, 7-63
X
XD, 6-16
XFER, 6-34
XMOVE, 7-15
XP, 6-18
XQ, 6-19
XS, 6-20
XY, 6-17
XYZOAT Values, 4-9
Z
ZD130, 2-27
ZD165, 2-28
ZSIGSPEC, 6-84
ZSIGSPEC Command, 3-4
ZT130, 2-29
ZT165, 2-30
ZT200, 2-31
ZX130L, 2-32
ZX130U, 2-33
ZX165U, 2-34
ZX200S, 2-35
ZX200U, 2-36
ZX300S, 2-37
ZZERO, 6-90
ZZERO Command, 3-4