kawasaki Robot AS Reference Manual

Kawasaki Robot Controller D Series
AS Language
Reference Manual
902091017DEB
Kind of Manual
Standard Manual □Option Manual □Manual for Specific User □Detailed Manual
24 December, 2002
ROBOT DIVISION
Recognition Recognition Examination Checked Produce
Kawasaki Robot Controller D Series
AS Language
Reference Manual
Optical
File
Tanaka
Delivery to : Number of sheets
Manuf. Section □KMS □ KRI □KRUK □KRG □KMSK □Others( ) 417 Pages
Kawasaki Heavy Industries, Ltd.
902091017DEB
D Series Controller Kawasaki Robot AS language Reference Manual
PREF ACE
This manual describes the AS* language used in the Kawasaki Robot Controller D series. The objective for this manual is to provide detailed information on the outline of the AS system, basic usages, data types, robot trajectory control and all the commands/instruction to allow effective usage of the AS system. The robot operation procedures are not included here, so refer to the Operation Manual for that information. This manual should be read with careful review of the related manuals listed below. Once the contents of all the manuals are thoroughly read and understood the robot can be used.
1. Safety Manual
2. Installation and Connection Manual for Arm
3. Installation and Connection Manual for Controller
4. External I/O Manual (for connecting with peripheral devices)
5. Inspection and Maintenance Manual
The contents of this manual are described on condition that installation and connection of the robot are done in accordance with the above listed manuals.
The explanations in this manual include information on optional functions, but depending on the specification of each unit, not every optional function detailed here may be included with the robot. Should any unexplained questions or problems arise during robot operation, please contact Kawasaki Machine Systems. Refer to the contact information listed on the rear cover of this manual for the nearest Kawasaki Machine Systems of fice.
NOTE* AS is pronounced [az] This manual does not constitute a guarantee of the systems in which the robot is utilized. Accordingly, Kawasaki is not responsible for any accidents, damages, and/or problems relating to industrial property rights as a result of using the system.
1. It is recommended that all personnel assigned for activation of operation, teaching,
maintenance or inspection of the robot attend the necessary education/training course(s) prepared by Kawasaki, before assuming their responsibilities.
2. Kawasaki reserves the rights to change, revise, or update this manual without prior notice.
3. This manual may not, in whole or in part, be reprinted or copied without the prior written
consent of Kawasaki.
4. Store this manual with care and keep it available for use at any time. In the event the manual
is lost or damaged severely , contact your Kawasaki agent.
5. Though this manual was prepared to be as thorough and accurate as possible, the authors
apologize should any information be found incomplete or erroneous.
All rights reserved. Copyright © 2002 by Kawasaki Heavy Industries Ltd.
i
D Series Controller Kawasaki Robot AS language Reference Manual
SYMBOLS
The items that require special attention in this manual are des ignated with th e following sym bols.
Ensure proper and safe operation of the robot and prevent physical injury or property damage by complying with the safety matters given within the boxes with these symbols.
Failure to comply with indicated matters can result in imminent injury or death.
Failure to comply with indicated matters may possibly lead to injury or death.
Failure to comply with indicated matters may lead to physical injury and/or mechanical damage.
DANGER
WARNING
CAUTION
Denotes precautions regarding robot specification, handling, teaching, operation and maintenance.
[ NOTE ]
ii
D Series Controller Kawasaki Robot AS Language Reference Manual
CONTENTS
Preface··············································································································································i
1.0 Overall of AS····························································································1-1
1.1 System Overview ······················································································1-2
1.2 Characteristics of the AS System································································1-3
1.3 AS System Configuration···········································································1-4
2.0 AS System ································································································2-1
2.1 AS System Status ······················································································2-2
2.2 AS System Switches··················································································2-3
2.3 AS System Setup·······················································································2-5
2.4 Input and Output Operations ······································································2-6
2.5 Installing Terminal Software ······································································2-8
2.6 Operations from Personal Computer···························································2-9
3.0 Information Expressions in AS Language ···················································3-1
3.1 Notation and Conventions··········································································3-2
3.2 Pose Information, Numeric Information, and Character Information ············3-4
3.3 Variables ································································································3-10
3.4 Variable Names·······················································································3-12
3.5 Defining Pose Variables ·········································································· 3-13
3.6 Defining Real Variables···········································································3-19
3.7 Defining String Variables ········································································ 3-20
3.8 Numeric Experssions ··············································································· 3-21
3.9 String Expressions ··················································································· 3-24
4.0 AS Program·······························································································4-1
4.1 Types of AS Programs···············································································4-2
4.2 Creating and Editing Programs ···································································4-4
4.3 Executing Programs ···················································································4-9
4.4 Program Flow·························································································· 4-12
4.5 Robot Motion·························································································· 4-14
5.0 Monitor Commands ···················································································5-1
5.1 Editor Commands······················································································5-2
5.2 Program and Data Control Commands ······················································ 5-15 iii
D Series Controller Kawasaki Robot AS Language Reference Manual
5.3 Program and Data Storage Commands ······················································ 5-27
5.4 Program Control Commands ···································································· 5-36
5.5 Pose Information Commands····································································5-45
5.6 System Control Commands ······································································ 5-50
5.7 Binary Signal Commands·········································································5-86
5.8 Message Display Commands ····································································5-98
6.0 Program Instructions··················································································6-1
6.1 Motion Instructions ···················································································6-2
6.2 Speed and Accuracy Control Instructions·················································· 6-15
6.3 Clamp Control Instructions ······································································6-23
6.4 Configuration Instructions········································································ 6-30
6.5 Program Control Instructions ··································································· 6-33
6.6 Program Structure Instructions································································· 6-46
6.7 Binary Signal Insturctions········································································ 6-56
6.8 Message Control Instructions ···································································6-74
6.9 Pose Information Instructions ··································································· 6-81
6.10 Program and Data Control Instructions····················································· 6-92
7.0 AS System Switches ··················································································7-1
8.0 Operators ··································································································8-1
8.1 Arithmetic Operators ·················································································8-2
8.2 Relational Operators··················································································8-3
8.3 Logical Operators ······················································································8-4
8.4 Binary Operators ·······················································································8-6
8.5 Transformation Value Operators ·································································8-7
8.6 String Operators ························································································8-9
9.0 Functions ··································································································9-1
9.1 Real Value Functions ·················································································9-2
9.2 Pose Value Functions···············································································9-20
9.3 Mathematical Functions ···········································································9-36
9.4 String Functions ······················································································9-39
10.0 Process Control Programs ········································································10-1
11.0 Sample Programs ····················································································· 11-1
11.1 Initial Settings for Programs·····································································11-2 iv
D Series Controller Kawasaki Robot AS Language Reference Manual
11.2 Palletizing ······························································································· 11-3
11.3 External Interlocking················································································ 11-5
11.4 Tool Transformation·················································································11-8
11.5 Relative Poses························································································11-11
11.6 Using Relative Poses with FRAME Functions·········································· 11-14
11.7 Setting Robot Configuration ···································································11-16
Appendix 1 Error Codes····················································································A-1 Appendix 2 AS Language List········································································· A-19 Appendix 3 ASCII Code ·················································································A-33 Appendix 4 Signal Limitation··········································································A-36 Appendix 5 Euler’s O,A,T Angles ···································································A-37
v
D Series Controller Kawasaki Robot AS Language Reference Manual
vi
D Series Controller 1. Overview of the AS System Kawasaki Robot AS Language Reference Manual
1.0 OVERVIEW OF AS
The Kawasaki robots are controlled by a software-based system called AS. This chapter describes the overall view of the AS system.
1.1 System Overview
1.2 Characteristics of the AS System
1.3 AS System Configuration
1-1
D Series Controller 1. Overview of the AS System Kawasaki Robot AS Language Reference Manual
1.1 OVERVIEW OF THE AS SYSTEM
In the AS system, you can place commands or execute programs using AS language. The AS system is written in the nonvolatile memory in the robot control unit. When the control power is turned on, the AS system starts and waits for a command to be 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 can be used while a program is running are: displaying the system status or the robot pose (location), saving data in external memory devices, and writing/editing programs.
1-2
D Series Controller 1. Overview of the AS System Kawasaki Robot AS Language Reference Manual
1.2 CHARACTERISTICS OF THE AS SYSTEM
In the AS system, the robots are controlled and operated based on a program that describes the necessary tasks and which is made prior to the operation. (Teaching Playback Method)
AS language can be divided into two types: monitor commands and program instructions.
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 program s to work as program instructions.
Program instructions: Used to direct the movements of the robot, to monitor or to control
external signals, etc. in programs. A program is a collection of program instructions.
In this manual, a monitor command is referred to as a command, a program instruction as an instruction.
AS is unique in the following ways:
1. The robot can be moved along a continuous path trajectory.CP motion: Continuous
Path motion
2. Two coordinate systems, base coordinates and tool coordinates, are provided, for more
precise control of the robot’s movements.
3. The coordinates can be shifted or rotated corresponding to the pose changes of the work.
4. When teaching locations or repeating executions, the robot can be moved along a linear
path while keeping the tool posture.
5. Programs can be named freely and saved without limits in numbers.
6. Each operation unit can be defined as a program and these programs can be combined to
make a complex one. (Subroutine)
7. By monitoring signals, programs can be interrupted and branched to a different program
suspending current motions when an external signal is input. (Interruption )
8. A Process Control program (PC program) can be executed simultaneously with a robot
control program.
9. Programs and pose (location) data can be displayed on terminals and saved in devices
such as the PC card.
10. Programming can be done using a personal computer loaded with the terminal softwa re
(KRterm or KCwin32) provided by Kawasaki. Off-line programming
1-3
D Series Controller 1. Overview of the AS System Kawasaki Robot AS Language Reference Manual
1.3 AS SYSTEM CONFIGURATION
Kawasaki Robot controller D series is composed of the following components:
Kawasaki
Robot
D series
Controller
Teach pendant
Personal
Computer
Peripheral Controller
By connecting a personal computer loaded with the terminal software KRterm or KCwin32 to a D series controller, the following operations can be done:
Writing AS commands Saving and loading to and from the personal computer
Personal computer
D series controller
KRterm or KCwin32 Terminal software
Controller
Enters AS commands Creates AS programs Saves/loads programs
Daily operations
[ NOTE ]
Monitor software for PC operates with 95/98/Me/2000/XP. Please prepare the appropriate OS.
1-4
Teach Pendant
Teach Pendant Personal computer
Selects program Displays program names and
steps
Manually controls the robot Monitors signals Sets repeating conditions Teaches pose (location) data Teaches auxiliary data (block
teaching)
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.0 AS SYSTEM
This chapter describes the AS system status, AS system switches and the system setup.
2.1 AS System Status
2.2 AS System Switches
2.3 AS System Setup
2.4 Input and Output Operations
2.5 Installing Terminal Software
2.6 Operations from Personal Computer
2-1
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.1 AS SYSTEM STATUS
The AS system consists of the following three modes:
1. Monitor Mode
This is the basic mode in the AS system. Monitor commands are executed in this mode. Editor or Playback Mode is accessed from this mode.
2. Editor Mode
This mode enables you to create a new program or modify an existing one. Only editor commands are executed by the system in this mode.
3. Playback Mode
The system is in 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 this mode.
2-2
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.2 AS SYSTEM SWITCHES
The following system switches can be set in the AS System using the monitor command SWITCH. The status and the conditions set for each switch can be checked or changed from the terminal.
1. CHECK.HOLD
Determines whether or not to respond to the EXECUTE, DO, STEP, MSTEP, and CONTINUE commands when the HOLD/RUN switch is in the HOLD position.
2. CP
Enables or disables continuous path movement. When this switch is ON, the robot makes smooth transitions between motion segments. When it is OFF, the robot decelerates and stops at the end of each motion segment.
3. CYCLE.STOP
Determines whether to keep ON or to turn OFF CYCLE START when an external hold signal is input to stop the motion of the robot.
4. MESSAGES
Enables or disables message output to the terminal in response to the PRINT or TYPE command.
5. OX.PREOUT
Sets the timing for OX signal output in block instructions, allowing for earlier signal output at the memory change instead of at the accuracy setting.
6. PREFETCH.SIGINS
Sets the timing for signal output in AS language programs, and has the same effect on signal timing as OX.PREOUT.
7. QTOOL
When in TEACH mode, determines whether or not to change the tool transformation according to the tool number taught in block instructions.
8. REP ONCE (Repeat Once)
When this switch is ON, the program runs one time. When it is OFF, the program runs continuously.
2-3
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
9. RPS (Random Program Selection)
Enables or disables the selection of programs based on the binary status of external signals.
10. SCREEN
Enables or disables the scrolling of the screen when the information is too large to fit in one screen.
11. STP ONCE
Sets whether the program is performed one step at a time or continuously.
Refer to 5.6 Monitor Command SWITCH, ON, OFF for further information on how to set the system switches.
2-4
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.3 AS SYSTEM SETUP
The following system settings can be changed depending on the need, using the monitor commands.
1. Zeroing (ZZERO command)
ZZERO command is used to set the encoder value to correspond to a robot’s known mechanical position. When replacing the servo motor or performing maintenance on an encoder, the encoder value will need adjustment using this command. (This command is for maintenance purposes only.)
2. Clamp setting (HSETCLAMP command)
This setting is made prior to shipment from the factory. The settings, single/double and output spec (ON when closed /OFF when closed), can be changed using HSETCLAMP command. However, the change will only affect the software, so be sure to check if it is consistent with the hardware.
3. Maximum number of input and output signals (ZSIGSPEC command)
ZSIGSPEC command sets the maximum number of input and output signals that can be used. It is set prior to shipment from the factory. (This is a default setting that function as a software error check, thus be sure it is consistent with the hardware.)
4. Software Dedicated Signals (DEFSIG command)
In addition to the Hardware dedicated signals, there are I/O signals in the software that can be used as dedicated signals (Software dedicated signals). The signals in the table be low can be used as Software dedicated signals. Note that since the number of I/O signals in the software is the sum of Software dedicated signals and General purpose signals, the number of General purpose signal decreases as more Software dedicated signals are used.
Software Dedicated Input Signal Software Dedicated Output Signal EXT. MOTOR ON MOTOR_ON EXT. ERROR RESET ERROR EXT. CYCLE START AUTOMATIC EXT. PROGRAM RESET CYCLE START
Ext. prog. select (JUMP_ON, JUMP_OFF RPS_ON, RPSxx)
EXT_IT POWER ON EXT. SLOW REPEAT MODE RGSO
Ext. prog. select (JMP_ST, RPS_ST)
TEACH MODE HOME1, HOME2
2-5
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.4 INPUT/OUTPUT CONTROL
2.4.1 TERMINAL CONTROL
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 can be controlled using the PRINT and TYPE instructions. 8 bits are displayed on the terminal screen. Unless format is specified using specification code “/S” with the PRINT/TYPE instruction, data are displayed with a new line starting after each command. (See 6.8 Message Control Instructions for detailed information.)
Terminal input and output can be controlled using the below commands. These 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 command.
Commands Functions
Ctrl + S
Stops the scrolling of the display terminal. Ctrl + Q Resumes the data output stopped by Ctrl + S . Ctrl + C Ctrl + H
Ctrl + M
Ctrl + L
Cancels the last input line.
Deletes the last input character. (Backspace)
Ends the input of the current line.
Displays the content of the line entered previously on the
current input line. It can be used up to seven times. (Last)
Displays the content of the line input after the line displayed Ctrl + N
using Ctrl + L. This operation can be used only after
Ctrl + L is used more than once. (Next)
Backspace
Deletes the last input character.
Input TAB (Ctrl + I or TAB) as space (blank).
2-6
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.4.2 EXTERNAL MEMORY DEVICES
The commands below are used to save programs, variables and pose information in the robot memory, PC card, floppy disk, or computer hard disk.
1. Initializes memory. (CARD_FORMAT, FD_FORMAT)
2. Displays the contents. (CARD_FDIR, FD_FDIR)
3. Saves the data on the robot memory to the disk files. (SAVE*, CARD_SAVE, FD_SAVE)
4. Loads the data on the disk file to the robot memory. (LOAD, CARD_LOAD, FD_LOAD)
5. Deletes the disk files. (DELETE, CARD_FDEL, FD_FDEL)
Commands with CARD_ refer to PC cards and FD_ refers to floppy disks.
Note* SAVE command may be used only when the computer is connected.
See also 5.2 Program and Data Control Commands, 5.3 Program and Data Storage Commands
2-7
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.5 INSTALLING TERMINAL SOFTWARE
The robot can be controlled from a personal computer using the AS language. To do so, load KCwin32 or KRterm terminal software on to a PC and connect the PC to a D series controller. KCwin32 and KRterm may be installed on computers running Windows 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 com puters to control m ultiple robots. Terminal software KCwin and KCwin32 can also be used by connecting to the RS-232C port.
Follow the below procedure to install the terminal software on to the PC.
1. Install the software to your hard disk
Copy the following files in the KRterm floppy disk on any directory of your computer hard disk.
KRTERM.EXE KRTERMJ.HLP (Japanese version help file) KRTERME.HLP (English version help file)
KRTERM.INI
2. It is recommended that you make a shortcut on the desktop or in the start menu for easier
startup of the KRterm software.
2-8
D Series Controller 2. AS System
232C
Kawasaki Robot AS Language Reference Manual
2.6 OPERATIONS FROM PERSONAL COMPUTER
2.6.1 SYSTEM STARTUP
2.6.1.1 CONNECTING TO RS-232C PORT
1. Connect the personal computer with the controller using the RS-232C cable. Make sure the CONTROL POWER on the controller and the computer power are both turn off.
RS-
PC with built-in RS-232C port
2. Turn on the computer, and start the terminal software (KRterm or KCwin32, diagrams below
are from KRterm).
3. When the software opens, select the type of connection to use. Select from the menu bar,
[Communication (C)] [Connect Parameter (O)].
4. Click the “Serial” tab, check the contents and if it is OK, click <OK>.
2-9
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
5. Turn ON the CONTROL POWER on the controller.
(See “Operation Manual” 3.1 Power ON Procedure).
6. The initial screen of KRterm followed by a prompt “>” will appear on the display.
When the CONTROL POWER is turned ON before connecting the PC and the controller, only the prompt “>” will appear and not the initial screen. However, KRterm works the same.
2-10
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.6.1.2 CONNECTING ROBOTS USING THE ETHERNET
1. Connecting the cables.
Connect the ETHERNET connector on your personal computer and the connector on optional 1 KN daughter board on 1 KA board in the controller using a LAN cable.
Inside of the controller
ETHERNET connector on personal computer
1KA board
1KN daughter board
2. Following steps 2 and 3 above, start KRterm and the robot.
Front view of the controller
3. Set the robot’s IP address.
(1) Choose from the menu bar [Communication] [Connect Parameter (O)].
2-11
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
(2) Enter the IP address and name of the robot you want to connect to the network, and click
<ADD>.
4. To connect with the robot, follow the procedures below.
(1) The robot recently connected is displayed at the top of the drop-down menu when
[Communication(C)] is selected from the menu bar. Click the robot name to select the robot.
(2) Choose from the menu bar [Communication(C)] [Connect.History(C)] to display the list of
recently used robots. Select the robot to connect from the list.
2-12
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
(3) Choose from the menu bar [Communication(C)] [Select Connect(E)] if the desired robot
does not appear in the above ways..
Choose the desired robot and click <CONNECT>.
If the connection is established, robot information such as its name followed by a prompt “>” appears on the KRterm screen. AS commands can be input once the prompt appears.
2.6.2 UPLOADING AND DOWNLOADING DATA
(1) SAVE command
To save the data on the computer, use the SAVE command (See 5.3 SAVE command).
Example >SAVE test.pg This saves the data in the same directory as
>SAVE test.pg¥My Documents This saves the data in the sp ecified f ile.
(2) LOAD command
To load data from the computer to the robot memory, use the LOAD command.
Example >LOAD data01.as
2-13
the KRterm in the computer hard disk.
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.6.3 SYSTEM SHUTDOWN
1. When the robot is connected, choose from the menu bar [Communication(C)]
[Disconnect(D)] to disconnect the robot.
2. Turn off the robot controller. See “ Operation Manual” 3.2 POWER OFF procedure).
(1) Turn the HOLD/RUN switch to HOLD. (2) Turn OFF the motor power by pressing the EMERGENCY STOP button. (3) Turn OFF the CONTROL POWER.
3. Shut down KRterm.
(1) Choose from the menu bar [FILE(F)] [END(X)].
2Click <YES>.
4. Shut down the computer.
5. If there is no need to keep the computer connected to the controller, disconnect the cable.
Make sure the controller and the computer power are both turned off before disconnecting.
2-14
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2-15
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.6.4 USEFUL FUNCTIONS OF KRTERM
2.6.4.1 CREATING LOGFILES
The contents displayed on the KRterm screen can be saved as a log file. This is useful when making printout of the robot operation procedures.
1. Start logging.
(1) Choose from the menu bar [FILE(F)] [OPEN LOG FILE(O)].
(2) Select the folder to save the log file, and name th e file.
(3) The message [Logging Now] appears on the title bar. The contents on the display are
recorded until the log file is closed.
The contents on the display are recorded while this message is shown.
2-16
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2. End log
Once logging starts, all the contents on the KRterm display will be recorded until the log file is closed.
To close the log file and end log, choose from the menu bar [FILE(F)] [CLOSE LOG FILE(C)].
2-17
D Series Controller 2. AS System Kawasaki Robot AS Language Reference Manual
2.6.4.2 MACRO FUNCTIONS
Macro functions are provided in the KRterm and KCwin32 system. If a task needs to be executed repeatedly, recording the series of instructions/commands for that task inside a macro can be very useful and increase efficiency.
To record a macro, choose from the menu bar [FILE (F)] [MACRO (M)] and enter the file name to save that macro. To run a macro, use the SEND command on the KRterm screen.
See Help in KRterm or KCwin32 for more details.
2-18
Loading...
+ 372 hidden pages