Toshiba STE 58762 User Manual

STE 58762
INSTRUCTION MANUAL
INDUSTRIAL ROBOT SR SERIES
ROBOT LANGUAGE MANUAL
Notice
1.
of the Toshiba Industrial Robot.
2. Please read this manual before using the Toshiba Industrial
Robot.
3. Please read the “Safety Manual” also.
4. Keep the manual nearby for further reference during use of the
robot.
TOSHIBA MACHINE CO.,LTD.
1998- 3
STE 58762
Copyright 1997 by Toshiba Machine Co., Ltd. All rights reserved.
No part of this document may be reproduced in any form without obtaining prior written permission from the Toshiba Machine Co., Ltd.
The information contained in this manual is subject to change without notice.
i
- -
STE 58762
PREFACE
This manual explains the SCOL robot language, commands and programming procedures as they apply to Toshiba SR Series industrial robots.
SCOL stands for "Symbolic Code Language for Robots" and is a robot language made up of various commands used to control the robot. By using these commands, it is possible to create programs to make the robot do what you want.
This manual is directed at those who have never written a robot program, and at those who have much programming experience. However, this manual only covers SCOL robot language. For information on Toshiba SR Series industrial robots themselves, please refer to the following manuals:
- Introductory Manual
- Start-up Manual
- Operating Manual
This Manual is organized as follows:
[1. An Outline of Robot Language]
This chapter explains the connection between robot language and robot movement, and presents a rough outline of commands used in robot language. Be sure to read this chapter in order to get a grasp of the fundamentals of robot language.
[2. Writing Programs in Robot Language]
This chapters describes various rules for writing a program with robot language. Be sure to read this chapter before starting to write your own programs.
[3. Explanation of Robot Commands]
Here we describe in detail what each command means and does. These commands are listed in alphabetical order for your convenience. This chapter will come in useful when you write programs on your own.
[4. Program Examples]
In this chapter, we explain various programming examples. Be sure to use this chapter for reference when writing your own programs.
ii
- -
STE 58762
[5. Programming Hints and Warnings]
This chapter explains timing considerations, things not to do, and things to watch out for when writing a program. Be sure to read it before beginning work on your own program. Also, be sure to look this chapter over should your program not be working the way you intended.
iii
- -
STE 58762
TABLE OF C O N TENT S
CHAPTER 1 AN OUTLINE OF ROBOT LANGUAGE
1.1
1.2
1.3
CHAPTER 2 WRITING PROGRAMS IN ROBOT LANGUAGE
2.1
2.1.1
2.1.2
2.1.3
2.2
2.3
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.5
2.5.1
2.5.2
2.6
2.7
ROBOT MOVEMENT ・・・・・・・・・・・・・・・・・・・・・
ROBOT LANGUAGE ・・・・・・・・・・・・・・・・・・・・・
TYPES OF COMMANDS ・・・・・・・・・・・・・・・・・・・
PROGRAM CONFIGURATION
Files ・・・・・・・・・・・・・・・・・・・・・・・・・・ Program Positional Data ・・・・・・・・・・・・・・・・・・・・・・
CHARACTER SET ・・・・・・・・・・・・・・・・・・・・・・
IDENTIFIERS ・・・・・・・・・・・・・・・・・・・・・・・・
VARIABLES AND CONSTANTS ・・・・・・・・・・・・・・・・
Scalar Data Vector Data ・・・・・・・・・・・・・・・・・・・・・・・ System Variables System Constants・・・・・・・・・・・・・・・・・・・・・
MATHEMATICAL FUNCTIONS
Computational Expressions・・・・・・・・・・・・・・・・・ Logical Expressions ・・・・・・・・・・・・・・・・・・・・
LABELS ・・・・・・・・・・・・・・・・・・・・・・・・・・
REMARKS AND COMMENTS・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・
1-1
1-3
1-5
2-1
2-1 2-1 2-2
2-3
2-4
2-5
2-5 2-7 2-10 2-11
2-12
2-13 2-18
2-19
2-20
iv
- -
2.8
2.8.1
2.8.2
2.8.3
2.8.4
2.8.5
CHAPTER 3 EXPLANATION OF ROBOT COMMANDS
3.1
3.2
CHAPTER 4 PROGRAM EXAMPLES
CHAPTER 5 PROGRAMMING HINTS AND WARNINGS
5.1
5.1.1
5.1.2
5.1.3
5.2
5.2.1
5.3
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
5.3.7
5.3.8
PROGRAMS ・・・・・・・・・・・・・・・・・・・・・・・・
Program Declaration・・・・・・・・・・・・・・・・・・・・ Subprograms・・・・・・・・・・・・・・・・・・・・・・・ Library ・・・・・・・・・・・・・・・・・・・・・・・・・ Multitask Processing・・・・・・・・・・・・・・・・・・・・ Global Variable Definition・・・・・・・・・・・・・・・・・・
COMMAND EXPLANATIONS ・・・・・・・・・・・・・・・・・
EXPLANATION OF COMMANDS ・・・・・・・・・・・・・・・
PROGRAM EXECUTION TIMING ・・・・・・・・・・・・・・・
Arm Movement and Signal I/O Timing Synchronization of Arm Movement and Program Execution・・・ DELAY Command and WAIT Command ・・・・・・・・・・・
THINGS NOT TO DO WHEN PROGRAMMING ・・・・・・・・・
Variables・・・・・・・・・・・・・・・・・・・・・・・・・
THINGS TO WATCH OUT FOR WHEN WRITING A PROGRAM・・
Types of Commands・・・・・・・・・・・・・・・・・・・・ Robot Coordinate Systems Short-Cut Movement・・・・・・・・・・・・・・・・・・・・ Robot Configuration・・・・・・・・・・・・・・・・・・・・ Data Blocks・・・・・・・・・・・・・・・・・・・・・・・・ Global Data Block・・・・・・・・・・・・・・・・・・・・・ Robot Movement Speed・・・・・・・・・・・・・・・・・・ Robot Acceleration・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・
STE 58762
2-21
2-21 2-22 2-24 2-25 2-28
3-1
3-7
5-1
5-1 5-3 5-4
5-7
5-7
5-8
5-8 5-10 5-16 5-22 5-24 5-27 5-30 5-31
v
- -
STE 58762
APPENDIX A
APPENDIX B
APPENDIX C
APPENDIX D
APPENDIX E
LIST OF COMMANDS ・・・・・・・・・・・・・・・・・
LIST OF RESERVED WORDS ・・・・・・・・・・・・・
CONTENTS OF LIBRARY FILE (SCOL.LIB)・・・・・・・・
DOMAINS AND RANGES OF CALCULATOR FUNCTIONS ・・
HOW TO READ SYMBOLS ・・・・・・・・・・・・・・・
6-1
6-4
6-5
6-8
6-9
vi
- -
STE 58762
CHAPTER 1
AN OUTLINE OF ROBOT LANGUAGE
This chapter describes the connection between robot language and robot movement, and presents a rough outline of commands used in robot language.
1.1 ROBOT MOVEMENT
Robots do work in place of people. For example, let’s say that somebody has to attach a part to a workpiece coming down a conveyor. The employee takes a part from a parts bin and attaches the part to a workpiece transported to his or her station by a conveyor. If we were to set up a robot to do this work instead, we would have an arrangement something like that shown in Figure 1.1.
Parts feeder
Wokpiece
Conveyor
Fig. 1.1 Assembly work
Here, the robot grabs a part from the parts feeder and attaches the part to a workpiece coming down the conveyor. considering this work from the point of view of the robot (and not, for example, from the point of view of the parts feeder or conveyor), we would come up with a diagram like that of Figure 1.2. In this Figure, the robot first moves straight down from Point B to Point A, where it grabs a part. After grabbing the part, the robot moves back up from Point A to Point B. From Point B, the robot moves the part to Point C, which is directly above the part attachment location Point D. The robot then drops down from Point C to Point D, and attaches the part to the workpiece. When the robot is finished attaching the part, it moves back up to Point C, and then finally back to Point B. This completes one work cycle.
1-1
j
j
p
grip
A: Position where robot
B: Position
s a part.
Fig. 1.2 Robot movement
ust above A
STE 58762
C: Position
D: Position where a
ust above D
art is mounted.
1-2
- -
STE 58762
1.2 ROBOT LANGUAGE
Robots do assembly work and other tasks in place of people. However, someone still has to teach the robot what to do. Robots will only do what you tell them to do, and it's important to tell them exactly what you want it to do.
Telling a robot what to do is called "teaching." Making a robot do what you taught it to do is called "playback." Of course, this only applies to what are called "playback robots," which repeat (or playback) the movements you instructed the robot when teaching. Toshiba SR Series robots are playback robots.
There are various ways to teach a robot what to do. One way is to physically move the robot through the work cycle (while, of course, the robot is in the teaching mode). The robot remembers the locations where it was moved and, in the playback mode, retraces this path and performs the work. This is the usual method for teaching painting robots and spot welding robots.
However, things get more complicated when dealing with peripheral devices (such as a parts feeder or a conveyor belt). In such a case, you must coordinate the movements of the robot with the movements of the peripheral devices. In the previous example, we talked about a robot attaching a part to a workpiece coming down a conveyor line. However, what if we want to attach different parts to different workpieces? What do we do if the robot misattaches the part and we want to try again?
In order to tell the robot what to do, we need to express robot actions in terms the robot understands. This is the purpose of robot language. A robot language is nothing more than a set of words describing robot actions. An arrangement of these words used to control the movement of the robot is called a program. Writing a program is called programming.
There are various robot languages in existence. However, SR Series robots use SCOL (Symbolic Code Language for Robots), a language developed specifically for robots. Therefore, we will limit our discussion of robot languages to SCOL in this Manual.
1-3
- -
STE 58762
If we were to write a program in SCOL for the previous example (in which we attach a part from a parts feeder to a workpiece on a conveyor), it would look like this:
PROGRAM ASSEMBLY MOVE B Move to Point B. OPEN1 Open Hand 1. MOVE A Move to Point A. CLOSE1 Close Hand 1. DELAY 0.5 Wait 0.5 seconds before grabbing the part. MOVE B Move to Point B. MOVE C Move to Point c. MOVE D Move to Point D. OPEN1 Open Hand 1. DELAY 0.5 Wait 0.5 seconds before letting go off the part. MOVE C Move to Point c. MOVE B Move to Point B. END
The word PROGRAM marks the beginning of a program and the word END marks the end of a program. The name of this particular program is ASSEMBLY. The commands should not be too hard to understand. MOVE A means to move to Point A. OPENi and CLOSE 1 mean to, respectively, open and close Hand 1. (There are two hands.) DELAY 0.5 means not to do anything for 0.5 seconds. Furthermore, the locations of Points A, B, C and D are defined (taught) beforehand by physically guiding the robot (in the teaching mode) to these points. (To put it another way, the location of these points is not defined by the program itself.)
By arranging a series of commands in the order that you want things done, SCOL allows you, the programmer, to express just what the robot is supposed to do in terms that the robot understands.
1-4
- -
STE 58762
1.3 TYPES OF COMMANDS
In the previous section, we saw how SCOL is used to express the action of the robot. Here, we explain a little bit more about SCOL commands themselves.
In addition to commands like "MOVE A" which actually move the robot, there are many other commands which do such things as send signals to other equipment (such as conveyors, parts feeders, process computers, etc.) or direct the robot to do the same thing over and over again. Table 1.1 presents a list of SCOL commands.
All SCOL commands can be roughly classified into one of six categories.
(1) Movement control commands
These commands move the robot. Commands which temporarily stop the robot, interrupt movement, or restart the robot are also included in this category. Commands which actually move the robot are called movement commands.
(2) Program control commands
Program control commands control the execution of the program by doing such things as executing certain parts of the program in accordance with external signals or causing portions of the program to be carried out repeatedly.
(3) I/O (Input/output) control commands
These commands are used to read in (input) or send out (output) signals to and from external equipment, such as the teach pendant. Data input/output of hand open/close communication channel are included in the I/O control command.
(4) Movement condition commands
These commands are used to specify the configuration and speed of various joints of the robot while it is moving.
(5) Calculator commands
These commands are used to invoke (use) mathematical functions such as the trigonometric functions (sin, cos, etc.) and the square root function.
1-5
- -
STE 58762
(6) Movement reference commands
These commands are used to reference and check the movement of the robot. For example, these commands could be used to determine what percentage of a certain motion has been completed at a certain time. By including these commands in your program, you can set timers and make sure robot motions do not interfere with each other.
These commands are meant to be used in combination with other commands in your program. By skillfully placing such commands in the right places, you can, for example; (1) Get the robot to send out a signal to an external device when the robot has completed 70% of a certain motion. (2) Should one motion not follow another motion within a certain period of time, have the program branch off to an error loop.
Type Purpose Commands
Movement control commands (1) Move the robot.
(2) Temporarily stop the robot.
(3) Move the robot hand.
(4) Interrupt or restart operation.
Program control commands (1) Monitor external signals,
timers, etc.
(2) Control program execution.
(3) Make remarks (comments)
to aid in program debugging and modification.
I/O control commands
(1) Input and output of externa
l signals.
(2) Input and output of commu
nication data.
MOVE, MOVES, MOVEC, MOVEA, MOVE1, READY
DELAY
OPEN1, OPENI1, OPEN2, OPENI2, CLOSE1, CLOSEI1, CLOSE2, CLOSEI2, UP, DOWN, TURNL, TURNR BREAK, RESUME, PAUSE
ON ~ DO ~, IF ~ THEN ~ ELSE, WAIT, IGNORE
PROGRAM, GOTO, RCYCLE, RETURN, FOR ~ NEXT, STOP, END TASK, KILL, SWITCH REMARK
DIN, DOUT,
PULOUT, RESET,
BCDIN, BCDOUT
PRINT, INPUT
Movement condition commands
(1) Specify conditions for
controlling robot movement.
1-6
- -
CONFIG, ACCUR, ACCEL, DECEL, SPEED, PASS, TORQUE, GAIN, ENABLE, SETGAIN, DISABLE, NOWAIT, PAYLOAD, FREELOAD, SWITCH
Loading...
+ 30 hidden pages