E 5 Axis Arm Robot Trainer
E 5 Axis Arm Robot Trainer
E 5 Axis Arm Robot Trainer
Introduction to Product
Part 1
Introduction to Product
1. Introduction to Product
1-1. Overview
1-2. Features
1-3. Cautions
1-4. Checking Constituents
1-5. Constitution and Features of Product
1-6. Installation
ED-7255
1. Introduction to Product
1-1. Overview
A robot system used for the factory automation in industrial fields is generally
composed of Mechanical Arm, Computer-Based Simulator, Robot Controller,
End-of-Arm Tooling or Gripper, and Teaching Pendant.
This product is a robot for educational use made for experiment and practice of a
vertical articulated (multi-joint) robot, which is widely used in the industrial sites.
This education-dedicated vertical articulated robot is constructed as in [Fig. 1-1],
which comprises all of the components of industrial robots.
This product includes Robot Arm, Robot Controller, Gripper, Teaching Pendant,
and Program Editing Software. For direct control of a vertical articulated robot, a user
may use a teaching pendant and a simulator(ED-IRS). The control program used is
based on the form of a script language, which restricts the target product to our
company's. Employing this, a robot can be programmed within the moving range of its
arm, so that it may be freely controlled and operate repetitively.
Teaching Pendant
Gripper
Robot Arm
Robot Controller
Computer
1-2. Features
Vertical articulated robot with 5 axes and 1 gripper
Power transfer conditions and mechanical operation can be observed by
applying an open-type mechanism
1-3. Cautions
1) Before using this equipment, read this manual and be sure to check the
operation procedures.
2) Be sure to check the power for controller input at the rear of a robot controller
and the power supplied by a user before making connection of them.
3) When connecting a robot arm to a motor cable and an encoder cable of a robot
controller, be sure to shut down the power for the robot controller.
4) Before powering on the equipment, check whether there are mechanical
interferences or the foreign substances are jammed in gears. If there is any
10
ED-7255
1) Robot Arm
2) Robot Controller
3) Teaching Pendant
4) Install CD(ED-IRS)
5) Ethernet Cable(Cross Cable)
6) Serial(RS-232) Cable
7) 15 Pin Encode Cable
8) 25 Pin Motor Cable
9) Storage Vinyl Bag
10) 220V Power Cord
11) User Manual
100MB or more
Note
- If there is any missing or damaged one of the above components, please
contact ED Corporation.
- Version of the supplied program is subject to change for improvement of
performance.
11
12
ED-7255
operate a robot arm. The encoder detects the rotating speed of an axis and its rotation
direction, as well as the current absolute position during rotation. The encoder used
here is an absolute encoder which is designed to sufficiently limit the rotational angle,
without any position detecting sensor(such as a limit switch or sensor), by means of
the soft limit, and to operate without home searching before it starts operating.
Subject
Construction
Number of Joint
Load Capacity
Motion Maximum
Range
Robot Length
max. 802mm
Movement
Maximum Speed
750mm/sec
Gripper Opening
80mm
Precision
1.0
Position detecting
type
Absolute encoder
Homing
Actuator
24V DC Motor
Mass
Operating
Temperature
9.5kg
2C - 40C
13
14
ED-7255
15
16
ED-7255
Power Switch : Turn on/off a main power source. A state LED lights up after
main board booting is completed.
Main Power : As a power supply for a controller, AC 220V or 110V source is
used. (Power is forcefully set inside the controller and is supplied.)
Motor Port : A parallel port for supplying a motor of each joint with power.
Encoder Port : Values of the encoder of each axis of a robot arm are read
through this port.
Ethernet Port : A communication interface which is connected to
PC(simulator) and assigns the unique IP in order to download the control
program for a robot arm, control the robot arm interlocked with the simulator,
and set the system parameters of a robot controller.
JTAG Port : A port for updating the firmware of a motor controller (DSP)
inside the controller.
RS232 Port : Connected to PC through a serial cable for serial communication
to ARM core in the controller, and is used for a robot control library.
EM Switch : Being pressed, this emergently stops the robot arm.
External input & output terminal board : There are provided 8 ports for
respective DIOs(digital input & output) for interlock with peripheral devices, 4
ports for respective analog in-out, 4 ports for SPDT relay, and 2 ports for
12VDC external source.
LCD : The status and the current operation state of a robot is displayed on LCD
window.
Pendant Connector : Connected to a cable of a teaching pendant to deliver the
pendant commands to a controller by means of a serial communication.
Extra Motor Ports: There are provided two ports for an extra motor control
output signal and an encoder input signal for control of motors of peripheral
devices.
17
18
ED-7255
Description
Real-Tme,PID,PWM
Number of control
axes
6-Axis + 2-Axis(Peripherals)
Joint, Linear
Power source
Communication
External input
External output
4 Relays : SPDT/250VAC-2A/30V-2A
4 Analog Outputs : 0-12V(8 Bit
Resolution) / 10mA
External source
+12VDC Power
A robot controller employs, for real time motion control, an embedded (ARM core)
processor and acts on a basis of Linux O.S. A robot arm control program written in a
simulator is downloaded to a robot controller, and a command interpretation program
(parser) of ARM core creates a motion profile. The motion profile creates a motor
control signal with the aid of a motor controller so that a robot arm is driven.
Hardware architecture of the robot controller which performs series of such processes
is shown in [Figure 1-9], and the physical configuration of the control board is shown
in [Figure 1-10].
10
3
1
7
4
2
Primary components of the robot controller are listed in [Table 1-3] and their
detailed specifications are shown in [Table 1-4].
19
20
ED-7255
No.
Name
CPU(S3C6410)
mDDR SDRAM
Nor Flash
NAND Flash
JTAG Connector
JTAG S/W
Ethernet(CS8900)
Reset S/W
USB (OTG2.0)
10
21
22
ED-7255
Relay terminals
Each of the four relay terminals are composed of three ports, COM, NC, and NO.
Since the relay can, in the simulator, control A contact or B contact, it is used for a
control program interlocking the vertical articulated robot and the external devices.
23
24
ED-7255
Figure 1-14 shows a teaching pendant, which is composed of a key pad, LCD
window, an emergency stop key, and a connection connector.
Using the teaching pendant, a complicated program can be written or the written
program can be executed. That is to say, a variety of commands may be operated, such
as input point check, output point check, delay time setting, program execution order
control, etc. The program a user has written is stored in EEPROM of a controller.
1-6. Installation
In this product set, a robot controller, a robot arm, and PC(simulator) or a teaching
pendant must be electrically interconnected to fulfil the whole functions of it. The
electrical connection is performed as the following procedure.
Before cable connection, be sure to shut down the power to the robot controller.
There is not any problem after the above procedure has been completed and the
following items are checked, the vertical articulated robot is ready to operate. The
operation may be done also by using a robot control program.
25
26
ED-7255
After the booting of the controller has been completed, the power is supplied to
a motor of the robot arm, and the robot arm remains in its current position.
On LCD display of LD-7255, the following message is displayed. If not, check
whether a teaching pendant and a controller are normally interconnected, or
power is normally supplied to a controller.
Press No. 3 key in the main menu of the teaching pendant, and then the
following screen appears.
=>
=>
=>
=>
Press No. 1 key or ENTER key to move the robot to the hard home.
Check if the robot moves as it stands vertically and a gripper is extended to the
maximum width.
27
28
ED-7255
Part 2
Teaching Pendant
2. Teaching Pendant
2-1. Overview
2-2. Use of Teaching Pendant
teaching pendant
29
30
ED-7255
2. Teaching Pendant
2-1. Overview
Teaching Pendant comprises 19 keys and an LCD display window of 7 lines, each
of which can display 20 letters. It is connected with a robot controller through a
connection cable.
Using the teaching pendant, the robot arm control program can be written and the
written program can be executed. The program written by a user is stored in the
controller. In addition, the program having been written by a simulator(ED-IRS) and
stored in the controller can also be executed by the teaching pendant.
5) SYSTEM MODE
SYSTEM MODE is a mode which changes and manipulates the setting values of
the speed and use/non-use status of an additional axis, the AUX motor,
2) Key Configuration
A key pad of a teaching pendant is divided into the following three function groups.
For keys in a keypad, which are divided with a division line and to which various
function names are assigned, if SHIFT key is being pressed, the upper left located
functions operate, if NUMLOCK key is being pressed, the upper right functions
operate, and if SHIFT or NUM LOCK key is not being pressed, the lower located
functions operate.
31
32
ED-7255
Keys for selection of axes according to the robot coordinate systemss, and the
period mark (used in combination with SHIFT key)
- X to Z : Select X, Y, or Z axis in Cartesian coordinate system.
- AXIS1~5 : Select each axis in Joint coordinate system, Select AUX1(AXIS1)
or AUX2(AXIS2)
- GRIP : Select a gripper
(x4)
Execute Menu
A menu can be executed by pressing RUN/STOP after selecting the menu, or
pressing the number key relevant to it. However, the menu having the number
of 10 or larger, can be executed only by RUN/STOP key.
33
34
ED-7255
2-1-4. Program
A program written by a teaching pendant is composed of a program file, a position
data file, and a system configuration file, and is stored on a project basis.
A position data file and a system configuration file are automatically stored and
loaded. Thus, a user has only to write a program file.
The program file is a script-based program using robot control commands provided.
Basic structure of the program file is as follows.
PROGRAM
...
User Control Commands
...
END
35
36
ED-7255
By selecting the desired project name in a project list and pressing RUN/STOP key,
the relevant program is loaded and the program contents is displayed as the following
screen.
If there is no project stored, the following error screen appears, and by pressing any
key of a teaching pendant, a screen is returned to AUTO_RUN_MODE Menu Screen.
If it is failed to call the selected project, the following error screen appears, and by
pressing any key of a teaching pendant, a screen is returned to AUTO_RUN_MODE
Menu Screen.
37
38
ED-7255
If pressing RUN/STOP key after typing the project number, the relevant program is
loaded and the following screen is displayed.
If it is failed to call the selected project, the following error screen appears, and by
pressing any key of a teaching pendant, a screen returns to AUTO_RUN_MODE
menu screen.
4) Program Run
If the program selected through SELECT PROJECT or INPUT PRJ NO is loaded
as a following screen, the program can be executed. The program can be executed by
pressing RUN/STOP key.
39
40
ED-7255
5) Program Stop
To stop the program while the program is running, press again RUN/STOP or ESC
key. When the program is being run by 1 CYCLE RUN or STEP RUN mode, it is
automatically stopped when there is no more program line to be executed. However, if
the infinite iteration is performed by a loop statement in the program, it may not be
stopped.
If the program is stopped, a screen moves to a screen that the program was loaded.
41
42
ED-7255
If the project to be loaded is selected from the list, the following screen appears.
RUN/STOP
43
44
ED-7255
If the project to be loaded is selected from the project list, the following screen
appears. The name of project is automatically given as a valid one.
RUN/STOP
45
46
ED-7255
Select the project to be deleted from the project list and press RUN/STOP key.
RUN/STOP
When MODIFY POSITION is selected and then, RUN/STOP button is pressed, the
project list appears as shown.
Select the project to be modified from the project list and press RUN/STOP key.
The coordination system appears as shown.
Select one of the coordination system you want to change, and press RUN/STOP
key, the position list appears as shown.
47
48
ED-7255
Select position data to modify and press RUN/STOP key, the modify target position
appears.
Select axis to modify by using AXIS1~AXIS5 key, and press RUN/STOP key, the
value of input offset appears on the screen. New entered value of angle will be
increased or decreased on the value of existing angle if added something value.
If press F1 key, the value is up(+). press F2 key, the value is down(-).
Input a value of offset by using NUMLOCK key. For input "a point", press SHIFT
key at the same time with POS key. After enter value of offset, press RUN/STOP key,
modify target position appears.
49
50
ED-7255
If RUN/STOP key is pressed, a prompt goes down as the enter key does.
(2) OPEN key : OPEN statement is written. OPEN statement is a command for
opening or closing a gripper of a robot.
If OPEN key is pressed, a screen for selection of the distance inside the gripper
appears. For 0, the gripper is completely closed, and for 80, it is completely
opened. The unit is mm.
To enter the desired number, press NUM LOCK and the enter the numerals.
51
52
ED-7255
53
54
ED-7255
55
56
ED-7255
If RUN/STOP key is pressed after the robot is controlled to the target position, the
following screen appears.
<JOINT SPACE>
<CARTESIAN SPACE>
(6) CMD key : This key provides commands, on a basis of menu type, in order to
write all the commands including the above commands. If CMD key is pressed, the
following screen appears.
Click on CMD
DECLATION STMNT
Commands belonging to DECLATION STMNT are primarily the
declaration-related commands, such as remark statements, variable declaration
statements, label declaration statements, etc.
If 2. LABEL is selected, the following label name typing screen appears. The
label can be made by combining X to Z and 0 to 9, in which the first character must be
alphabetical letter.
Using SHIFT key and NUM LOCK key, type the label name.
For example, X1 : SHIFT key X key, NUM LOCK key 1 key
57
58
ED-7255
CONTROL STATEMENT
Commands belonging to CONTROL STATEMENT are program control
statements such as conditional statement, repetitive statement, GOTO statement, etc.
If GOTO and then RUN/STOP key is pressed, the label name typing screen
appears.
59
60
ED-7255
Using SHIFT key and NUM LOCK key, type the label name for the target
position. For example, X1 : SHIFT key X key, NUM LOCK key 1 key
If IFINSIG is selected and then RUN/STOP key is pressed, the following ON/OFF
selection screen appears.
61
62
ED-7255
Click on
F1(ADD)
<Input "X1>2".>
Writing methods of THEN statement and ELSE statement are the same as that of
IFINSIG above.
If no input occurs, the following error message appears.
63
64
ED-7255
If FOR LOOP is selected and RUN/STOP key is pressed, the following initial value
inputting screen appears.
As the figures below, if the initial value is in turn input and then RUN/STOP key is
pressed, an exit condition inputting screen appears. On the screen, input the exit
condition. After inputting the exit condition is completed, a STEP input screen
appears. On the screen, input the variable increment rate with the integer value.
FOR-NEXT statement is executed by the increment and the decrement of the integer.
For this example, the contents of the NEXT statement is repeated 20 times.
After the writing, the command to be repeatedly executed is written. If the contents
to be repeated has been completely written, the following NEXT statement is written.
If NEXT is selected and then RUN/STOP key is pressed, the following variable
inputting screen appears. Input the variable written in the above FOR LOOP
statement.
65
66
ED-7255
After the writing has been completed, the command to be repeatedly executed is
written as for the FOR-NEXT statement. If the contents to be repeated is completely
written, the following LOOP statement is written.
If LOOP is selected and then RUN/STOP key is pressed, the following command
inputting window directly appears.
ROBOT COMMAND
Commands belonging to ROBOT COMMAND are commands to control a robot
and I/O.
67
68
ED-7255
69
70
ED-7255
Caution
MOVE command is similar to MOVETO command with regard to
inputting method. However, the data stored by teaching is the relative
position data at the position made prior to the teaching.
Caution
Since MOVE command uses the relative coordinate, if the taught data
stored as the absolute coordinate is used, the robot may arise erroneous
functions.
71
72
ED-7255
If DELAY is selected and then RUN/STOP key is pressed, the following delay time
inputting screen appears.
Input the delay time by using number keys. If NUM LOCK key is pressed, number
key input becomes possible.
73
74
ED-7255
If the gap is input and RUN/STOP is pressed, the followings are displayed.
75
76
ED-7255
If the retracting distance is input and RUN/STOP is pressed, the display appears on
the screen as follows.
If the value of 200 or less, in percent rate is input and RUN/STOP button is pressed,
the value is displayed as follows. The factory setting of the fundamental moving speed
of the ED-7255 robot is 100mm/sec. Therefore, the pre-set percent value is set as the
fundamental speed value. In the case of the following, 10mm/sec is set as the
fundamental moving speed of the robot.
77
78
ED-7255
If by number keys the number of encoder pulses (pulse count) is input and
RUN/STOP button is pressed, the following screen, on which the pulse number of an
encoder of AUX2 can be input appears.
If by number keys the encoder pulse count are input and RUN/STOP button is
pressed, the MOVEEX statement is finished as follows.
79
80
ED-7255
If RELAY port is selected and then RUN/STOP button is pressed, the SETRELAY
statement is finished as follows.
81
82
ED-7255
If '=' is selected and then RUN/STOP button is pressed, '=' is input as follows.
83
84
ED-7255
85
86
ED-7255
- OR : OR operator is input.
87
88
ED-7255
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
- MAX : A function of calculating maximum value from two input data is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X and Y are input
- MIN : A function of calculating minimum value from two input data is input.
89
90
ED-7255
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X and Y are input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
91
92
ED-7255
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
93
94
ED-7255
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.
95
96
ED-7255
ETC : Various descriptional signs (parentheses, curly brackets, comma, etc.) are
written.
If selecting SAVE&END, the project is saved and the writing program is finished.
If selecting SAVE&RUN, the project is saved and the relevant program is executed.
If selecting NOSAVE&END, the project is not saved and the writing program is
finished.
Here, if there arises a syntax error in a program when saving it, the following
message is produced.
97
98
ED-7255
Since No. 1 axis has been selected, if / key is pressed, No. 1 axis of the robot
is moved and the position data is changed on the screen.
If UP/DOWN key is remained in its depressed state, the robot moves continuously.
If UP/DOWN key is released, the robot stops.
If AXIS1 to AXIS5/GRIP key is pressed, each of the relevant axis is selected as an
operating axis.
If UP/DOWN key is pressed, the robot moves along X axis and the position data is
changed on the screen.
If UP/DOWN key is remained in its depressed state, the robot moves continuously.
If UP/DOWN key is released, the robot stops.
If either one of X to Z key is pressed, each of the relevant axis is selected as an
operating axis.
Control of an extra axis motor is not different from MAIN ROBOT. However,
when selecting each axis, press '1' button for selection of AUX1, or press '2' button for
selection of AUX2.
2) FINE CONTROL
To obtain fine movement of the robot, make use of SHIFT key.
SHIFT+UP/DOWN : Fine control
UP/DOWN : Normal control
99
100
ED-7255
This function is available only when the teaching pendant and PC are connected
through Ethernet after PC-dedicated simulator ED-IRS has been executed.
If the connection has been not normally achieved, the following screen appears.
For connection to the host PC, click on Connect toolbar button in Connect menu of
ED-IRS simulator in the host PC. When the connection is completed, Connect toolbar
button becomes inactivated.
In the case that the connection has not been normally achieved, if in the teaching
pendant the project is selected, the following saving position selection dialog box
appears in the host PC.
If a folder to save is selected and Confirm button is pressed, the project is saved in
the relevant folder as follows.
101
102
ED-7255
If SET AUX USABLE is selected and then RUN/STOP button is pressed, a menu
for selecting SET/RESET of AUX1/AUX2 appears as follows. If the desired AUX is
selected, a screen for setting the use of the relevant extra axis appears. Here if ENTER
key or F1 key is pressed, USABLE is set, while if ESC key or F2 key is pressed,
NONUSABLE is set.
103
104
ED-7255
(2) SET AUX PID GAIN : P, I, or D GAIN value for each AUX1/2 is set.
P GAIN VALUE
I GAIN VALUE
D GAIN VALUE
If SAVE is selected, the message, indicating that the changed information will be
applied only after EMSTOP status is released and rebooting is performed, appears as
follows.
105
106
ED-7255
Part 3
ED-IRS(ED-Industrial Robot Simulator)
3. ED-IRS (ED-Industrial Robot Simulator)
3-1. Program Installation
3-2. Screen Configuration
3-3. Menus
107
108
ED-7255
If pressing Next button, the following License Agreement screen appears. Read it
fully, and select "I accept the terms in the license agreement", Next button is activated.
If pressing Next button, a screen for entering user and organization name appears.
Type the names.
109
110
ED-7255
If pressing Next button, the following screen appears. Pressing Install button starts
the installation.
3-1-2. Uninstall
Uninstallation of the program can be performed through "Program Add/Remove"
in Control Panel or through "Uninstall" of ED-IRS item in Start menu.
111
112
ED-7255
3-2-1. Menus
Menu is composed of 7 menu groups. The function of each menu group is as
follows.
File : A menu group providing menus for control of files in a project
Edit : A menu group providing menus related to program writing
View : A menu group providing menus for opening and closing views
Connect : A menu group providing menus related to connection to a real robot
Debug : A menu group providing menus for executing and debugging the
written program
Window : A menu group providing menus for configuring the window
arrangement
Help : A menu group providing helps for the program
[Figure 3-10] Mouse dragging to change Position View in Docking View into
independent window
113
114
ED-7255
The following drawing shows how to move an independent window and to dock
again to the docking view.
[Figure 3-13] Screen showing that independent Position View window is inserted in Docking View
Like the foregoing, views in the docking view can be changed its positions and
status by a user's desire.
115
116
ED-7255
3-3. Menus
3-3-1. File Menu
1) New Project (
Create a new project. If selecting this menu, a dialog box for project creation
appears. By entering a project name and storage path and pressing OK button, a new
project is created.
2) Open Project (
Open the already stored project. If selecting this menu, the following Open window
appears. By searching an ED-IRS project to be opened and pressing Open button, the
project is loaded.
3) Close Project (
Close the project currently being operated. If selecting this menu, the project
currently being operated is finished, and the program view is also closed if it is being
opened.
4) Save Project (
5) Print (
Print out the execution contents of the current program view. If selecting this menu,
a print window appears as follows. If pressing Confirm button, the contents of the
program file is printed by a printer.
117
118
ED-7255
6) Exit (
3-3-2. Edit
1) Undo(
) ( Ctrl + Z )
2) Redo(
3) Cut(
) ( Ctrl + X )
4) Copy(
) ( Ctrl + C )
5) Paste(
) ( Ctrl + V )
6) Select All(
7) Search All(
Search all of the specified words from a program being written, in a program view.
If selecting this menu, the following screen appears.
If entering the search word in 'Find What' and pressing 'Find All' button, the
following search results are listed in 'Search Result' View. If 'Match Case' is selected,
search is performed distinguishably for large and small letters.
If double clicking the result list, the relevant position is shown in 'Program View'.
119
120
ED-7255
8) Find(
If entering the search word in 'Find What' and pressing 'Find Next' button, the
relevant position is shown in 'Program View'.
If 'Match whole word only' is selected, search is performed for the exactly
coincident whole word divided by blanks.
If 'Match Case' is selected, search is performed distinguishably for large and small
letters.
If 'Search Up' is selected from 'Direction' item, search is performed in the upward
direction from the current position, and if 'Search Down' is selected, search is
performed in the downward direction.
9) Comment Block(
A menu for adding or removing the comments to or from the line a cursor is located
now. If selecting this menu, the following two sub-menus appear. If the current line is
a comment statement, 'Uncomment' menu is activated, and if it is a command
statement, 'Comment' menu is activated.
10) Bookmark(
A menu for setting a bookmark to a line a cursor is now located, and for clearing or
searching the bookmarks. If selecting this menu, the following four sub-menus
appear.
121
122
ED-7255
11) Option(
'A menu for setting the editing environment of 'Program View'. If selecting this
menu, the following screen having 3 tabs appears.
Editor
A tab for setting the general environment of an editor including the shape of an
editor window, the size of a tab key, etc.
Editor Font
A tab for setting the font of texts used in the editor window.
Syntax Color
A tab for setting the color or shape of texts according to the syntactic attributes of
the program being written in the editor window.
123
124
ED-7255
3-3-3. View
1) Project View(
Show 'Project View' window showing the structure of a project currently being
operated.
2) Program View(
Show 'Program View' window for writing a program of a project currently being
operated.
If pressing a mouse right button in 'Program View', the following pop-up menu
appears.
The items of each pop-up menu is the same as those of a main menu and performs
the same functions.
3) Arm View(
Show 'Arm View' window for showing a virtual 3D ED-7255 robot. The robot's
moving coordinates are taught and stored in 'Arm View', or the motions of a robot
during a simulation is shown in 'Arm View'.
If pressing a mouse right button in 'Arm View', the following pop-up menu appears.
125
126
ED-7255
[Figure 3-33] Sub-menus of Current Angle Display, one of pop-up menus of ARM View
- Type-J : Show the position of an end point, as the joint coordinate value, in the
top portion of 'Arm View' window.
Display Enable/Disable
If selecting the relevant pop-up menu, the following 6 sub-menus appear.
[Figure 3-36] Sub-menus of Display Enable/Disable, one of the pop-up menus of ARM View
127
128
ED-7255
129
130
ED-7255
Insert Object
A menu for adding an object to the environment. If selecting the relevant pop-up
menu, 'Insert Object' window appears as follows. If entering the coordinate value of an
object to be added and pressing 'Insert' button, it is added to 'Arm View'.
Caution
Since an origin (0,0,0) is a center coordinate value of a robot, the
coordinate of an object can be shown on a screen only if it is departed by
200 or more along X or y-axis.
4) Operation View(
131
132
ED-7255
- Cartesian Mode : A mode for controlling a robot by changing the position value
of an end point to a Cartesian coordinate system.
5) IO View(
Through the following IO View window, Signal can be written to and read from an
IO port attached to a main controller, under the state that the simulator is on-line with
the main controller.
Read Digital reads the signal on Digital Input port and if it is High, 1 is displayed
and if it is Low, 0 is displayed. Write Digital provides to Digital Output port the signal
of High or Low. Read Analog reads the signal on Analog Input port and 0.0V to 12.0V
is displayed. Write Analog provides to Analog Output port the signal of 0.0V to
12.0V. Write Relay provides to Relay port the signal of High or Low.
6) Log View(
Show 'Log View' window for showing the contents of a error log of a robot system.
133
134
ED-7255
7) Watch View(
Show 'Watch View' window for showing the status of variables registered in
'Program View'. When the simulation is stopped at a break point while it is being
performed, the current value of the relevant variables registered to 'Watch View' is
output.
If a right mouse button is clicked in 'Watch View', the following pop-up menu for
management of 'Watch View' appears.
8) Output View(
Show 'Output View' window for showing the message output from a system.
9) Search Result(
Show 'Search Result' window showing the list of searched result produced by
'Search All'. By double clicking an item of the list, the relevant position is displayed in
'Program View'.
3-3-4. Connect
135
136
ED-7255
Setting IP
Activate Network Connections of Control Panel, and select a network card
connected with the equipment through a cross cable. Then, set IP as follows.
1) Connect(
A menu for connecting the communication with a robot so as to control a real robot.
If selecting this menu, the following connection status window appears. When
connection is normally completed, the status window disappears, and 'Transfer' menu
is activated.
The connection fail may occur if a physical communication wires are not connected
or a robot is currently working. If the connection is not well achieved, turn off, and
again on, the power to a robot controller while the simulator is operating.
2) Disconnect(
3) Download(
A menu for transferring files of the project currently being operated to a real robot,
when connected to a real robot. If selecting this menu, the following file transfer status
window appears. If the file transfer is completed, this window is closed.
4) Upload(
137
138
ED-7255
After all modification is completed after Aux PID value has been changed, press
Modify And Upload button to directly adapt the modified values. If pressing it,
the relevant data transferred to the robot controller, and if the robot controller is
restarted, the relevant values are adapted.
has been changed, press Modify And Upload button to adapt the modification to
the robot controller.
Project Download
This function is to download the project stored in the robot controller to PC. This
performs the same function as that mentioned in [2-2-5. PROJECT_UPLOAD],
except that the relevant function is called by a host PC or by a robot.
As shown in the above figure, if Search button is pressed, a list of projects
currently stored in the robot controller. After the project to be stored is selected
and OK button is pressed, a project name is made in Target Project.
If Setting button is pressed, a dialog box for selection of a folder in which the
selected project is to be saved appears. After a folder is selected and OK button is
pressed, the relevant folder is made in Load Folder.
Thereafter, if Download button is pressed, the relevant project is saved in PC.
139
140
ED-7255
3-3-5. Debug
1) Check Grammar(
A menu for checking grammatical errors from the written program. This menu can
be used when 'Program View' is activated. Unless this menu is executed, other
debugging menus cannot be used. If selecting this menu, the following results are
provided according to the execution result.
If a check is normally completed without any grammatical error, the message of
"Checking Grammar Complete" is displayed in 'Output View'.
If the grammatical error has occurred, the following message window appears. If
pressing 'Confirm' button, the error description is displayed in 'Output View'. The
following example shows that a grammatical error is found at a word "JP1" on the
33rd line.
2) Start(
A menu for simulation of the written program for a virtual robot or a real robot. If
this menu is selected while being connected to a real robot, the following target robot
selecting window appears. If 'Virtual Robot' is selected here, the simulation is
performed for a virtual 3D robot, and if 'Real Robot' is selected, the simulation is
performed for a real robot.
Caution
To select 'Real Robot' for simulation, the project currently being
operated must have been transmitted to a robot.
141
142
ED-7255
If a program writer inserts a break point in 'Program View' or selects 'Pause' menu,
execution is temporarily stopped at the point and goes into standby state.
3) Iterate Start(
A menu for iteratively executing the written program. This menu is identical to
'Start' menu, from the functional view. The difference is that 'Start' menu executes the
program only one cycle, but 'Iterate Start' menu repeats the execution until the stop
command is issued by a user.
4) Step In(
A menu for executing the written program on a line basis. This menu is identical to
'Start' menu in the functional view, but 'Step In' menu executes one line of an
executable command, and then is automatically stopped and goes to a standby mode.
If 'Step In' is selected again in the standby mode, the next one line of a command is
executed.
5) Continue(
A menu for resuming the execution of the program temporarily stopped. If this
menu is selected even for the program executed by 'Step In' menu, the function of step
(line-by-line) execution is abolished and the execution is performed continuously.
6) Pause(
A menu for temporarily stopping or pausing the program being operated by 'Start'
or 'Iterate Start'.
7) Program Stop(
8) Register to Watch(
If a particular value has been assigned to the variable, the relevant value is
displayed as follows.
143
144
ED-7255
A menu for setting or resetting a break point to or from a line selected in 'Program
View'. If selecting this menu, a break point is set to or reset from the line a cursor is
now positioned. If the break point is set, is displayed at the left of 'Program View'.
Alternatively, if directly clicking a mouse on the left portion of 'Program View' at
which is displayed, the break point can be set or reset. If the break point is set, the
program is automatically, temporarily stopped at this point while the program is being
operated.
3-3-6. Window
1) Window Cascade (
A menu for disposing 'Arm View' and 'Program View' in a cascade figure.
A menu for disposing horizontally 'Arm View' and 'Program View' for a
maximum-sized window shape.
A menu for disposing vertically 'Arm View' and 'Program View' for a
maximum-sized window shape.
3-3-7. Help
1) Help(
2) Program Info(
145
146
ED-7255
Part 4
Control Program Syntax
Statement
Statement
Statement
Operators
148
ED-7255
1) PROGRAM/END
Syntax
PROGRAM
...
END
Function Description
Key words of PROGRAM and END stand for a start and end of a program. All
the control program must be started with PROGRAM and ended with END.
Use Example
PROGRAM
...
MOVETO (50,20,40)
...
END
2) REM Statement
Syntax
REM|' <Contents>
<Contents> is an arbitrary text string on one line.
Function Description
A command to handle the contents as a comment so that particular source codes are
not executed in the program, or so as to insert an annotation sentences. All letters
between REM and an end of line are not executed.
Use Example
The specified sentences of three lines are not executed.
...
REM this is comment example
' another comment keyword
REM MOVETO MOVETO (50,20,40)
...
Syntax
- Integer/Real Number/String Variable Declaration Statement
DIM <Variable Name>[, <Variable Name> ...]
<Variable Name> must be started with a character. Others can be started with either
a character or a numeral, but not with special symbols.
String constants of <Constant> values must be quoted by double quotation marks ("
").
Function Description
Used to declare the variables for storing integer, real number, and string values. The
types of variable is determined by the values assigned by the assignment statement.
If declaring many variables, they are to be divided by a comma (,).
149
150
ED-7255
Use Example
Declare variables VAR1 to 4. Assign the integer type value to VAR1, assign the
real number value to VAR2, and assign the string type value to VAR3.
...
DIM VAR1
DIM VAR2, VAR3, VAR4
REM integer type
VAR1 = 10
REM float type & operation
VAR2 = 10.1+VAR1
REM string type
VAR3 = "string"
REM integer type
VAR4 = VAR1
...
(<Integer>,<Integer>,<Integer>)
<Variable Name> has the same restriction as that of <Variable Name> of the item
3) above.
Function Description
Declare Cartesian/Joint type position values. DEFPOS is used for declaration of
Cartesian type position variables; and DEFPOSJ is used for declaration of joint type
position variables. If declaring many variables, they are to be divided by a comma (,).
As for Position Variable Assignment Statement, the relevant position constants or
variables are assigned according to each position variable type.
Use Example
Declare Cartesian type position variable POS1 and joint type position variable
JPOS1 and JPOS2, and assign the respective values.
...
DEFPOS POS1
DEFPOSJ JPOS1, JPOS2
POS1=(10,10,0)
JPOS1=J(10,10,0,10,10)
JPOS2=JPOS1
...
151
152
ED-7255
<Variable Name> has the same restriction as that of <Variable Name> of the item
3) above.
Function Description
Declare Cartesian/Joint type path values. DEFPATH is used for declaration of
paths expressed by Cartesian type position variables; and DEFPOSJ is used for
declaration of paths expressed by joint type position variables.
As for Path Variable Assignment Statement, the relevant position constants or
variables are assigned with them bound by braces, according to the path variable
types.
Use Example
Declare a Cartesian type path variable PATH1 and joint type path variable JPATH1
and JPATH2, and assign the respective values.
...
DEFPATH PATH1
DEFPATHJ JPATH1, JPATH2
PATH1={(10,10,0),(20,20,10)}
JPATH1={J(10,10,0,10,10),JPOS1,J(0,0,0,10,10)}
...
6) LABEL Statement
Syntax
<Label Name> : <Control Sentence>
<Label Name> has the same restriction as that of <Variable Name> of the item 3)
above.
Function Description
Indicate a label on the relevant sentence. This is used for a target for branch of
GOTO statement.
Refer to GOTO Statement for the detailed description of usage of the label
statement.
Use Example
Indicate a label LABEL1 on an executable statement MOVETO POS1, and move
control by using GOTO statement.
...
LABEL1 : MOVETO POS1
...
GOTO LABEL1
...
<Function Name> has the same restriction as that of <Variable Name> of the item
3) above.
153
154
ED-7255
Function Description
Declare a sub-function. Declared sub-function is executed by GOSUB statement.
Used at the next of PROGRAM - END statements.
Use Example
If VAR1 is greater than 1, move control to a sub-function named SUBFUNC.
PROGRAM
...
IF VAR1>1 THEN GOSUB SUBFUNC
...
END
SUB SUBFUNC ( )
...
ENDSUB
Function Description
Branch the execution of a main program to the line that a given label name is
specified.
Use Example
If VAR1 is greater than 0, move control to the executable statement of MOVETO
POS2 that LABEL2 is specified; and if VAR1 is equal to or smaller than 0, move
control to the executable statement of MOVETO POS1 that LABEL1 is specified.
...
LABEL1 : MOVETO POS1
MOVETO JPOS1, S=200
MOVETO L, (50,20,40)
MOVETO P, J(10,10,0,40,20), S=50
IF VAR1>0 THEN GOTO LABEL2
GOTO LABEL1
LABEL2 : MOVETO POS2
...
2) GOSUB Statement
Syntax
155
156
ED-7255
Function Description
Move control position to a function that a given sub-function name is specified.
Use Example
If VAR1 is greater than 1, move control to a sub-function named SUBFUNC. If the
execution of the sub-function is completed by ENDSUB, move control to a line next
IF statement.
PROGRAM
...
IF var1>1 THEN GOSUB SUBFUNC
...
END
SUB SUBFUNC ( )
...
ENDSUB
3) IF-THEN-ELSE Statement
Syntax
IF <Conditional Expression> THEN <Executable Statement> [ELSE
<Executable Statement>]
Function Description
If a conditional expression is true, execute an executable statement next THEN; and
if it is false, execute an executable statement next ELSE. In the case ELSE is omitted,
execute a sentence of the next line.
Use Example
In a first IF statement, if VAR1 is greater than 10, execute MOVETO (50,20,40),
and otherwise, execute the next line. In a second IF statement, if VAR2 is equal to or
greater than 10, move control to LABEL1, and otherwise, move control to LABEL2.
PROGRAM
...
IF VAR1>10 THEN MOVETO (50,20,40)
...
IF VAR2>=10 THEN GOTO LABEL1 ELSE GOTO LABEL2
...
END
4) IFINSIG Statement
Syntax
IFINSIG [ON|OFF] <DI Variable> THEN <Executable Statement> [ELSE
<Executable Statement>]
Function Description
If a compared status value of DI variable is true, execute an executable statement
next THEN; and if it is false, execute an executable statement next ELSE. In the case
ELSE is omitted, execute a sentence of the next line. In the case ON/OFF is not
specified, ON is regarded to be specified as a default value.
Use Example
In a first IFINSIG statement, if DI1 is ON, move to LABEL1. In a second IFINSIG
statement, if DI1 is OFF, move to LABEL2 and if it is ON, move to LABEL1.
...
157
158
ED-7255
5) FOR~NEXT Statement
Syntax
FOR <Variable Name> = <Integer>|<Integer Type Variable> TO
<Integer>|<Integer Type Variable> [STEP <Integer>|<Integer Type
Variable>]
...
[EXITFOR]
...
NEXT
Function Description
Repeatedly execute the executable statement inside between FOR and NEXT
statements, until the value that is assigned to the variable declared after FOR becomes
equal to or smaller than the number defined after TO. Whenever once repeated, the
variable declared after FOR is increased by the value declared after STEP or is
increased by 1 if STEP is omitted. If EXITFOR is met, the execution of FOR
statement is stopped and control is moved to a line next NEXT.
Use Example
Repeat 10 times the execution of IFINSIG DIO THEN EXITFOR and then execute
the sentence next NEXT.
...
FOR VAR1=1 TO 10 STEP 1
...
IFINSIG DI1 THEN EXITFOR
...
NEXT
...
6) DOWHILE/DOUNTIL~LOOP Statement
Syntax
DOWHILE|DOUNTIL <Conditional Expression>
...
[EXITDO]
...
LOOP
Function Description
For DOWHILE, the executable statement inside between DOWHILE and LOOP is
repeated while the conditional expression is true. For DOUNTIL, the executable
statement inside between DOUNTIL and LOOP is repeated while the conditional
expression is false. That is to say, for DOWHILE, if the conditional expression is
false, the execution repetition is stopped, and for DOUNTIL, if the conditional
expression is true, the execution repetition is stopped. In addition, if EXITDO is met
while being repeated, control is moved to a line next LOOP.
Use Example
For DOWHILE, if VAR1 is greater than 10, execution is repeated, and if VAR2 is
equal to 10, execution repetition is stopped. For DOUNTIL, the same function as for
DOWHILE statement is executed.
...
DOWHILE VAR1>10
...
IF VAR2==10 THEN EXITDO
...
LOOP
159
160
ED-7255
...
DOUNTIL VAR1<=10
...
IF VAR2==10 THEN EXITDO
...
LOOP
...
7) DO~LOOPWHILE/LOOPUNTIL Statement
Syntax
DO
...
[EXITDO]
...
LOOPWHILE|LOOPUNTIL <Conditional Expression>
Function Description
Repetition conditions of DO-LOOPWHILE/LOOPUNTIL statement is
substantially identical to that of DOWHILE/DOUNTIL-LOOP statement. However,
the difference is that the inside executable statements are executed at least one cycle
when using DO-LOOPWHILE/UNTIL statement. On the other hand, for
DOWHILE/DOUNTIL-LOOP statement, the executable statement may not be
executed even one cycle, depending on the conditional expression.
Use Example
The execution repetition is performed with the same condition as item 6) above.
However, even though VAR1 is greater than 10, execution is performed at least one
cycle.
...
DO
...
IF VAR2==10 THEN EXITDO
...
LOOPWHILE VAR1>10
...
DO
...
IF VAR2==10 THEN EXITDO
...
LOOPUNTIL VAR1<=10
...
Function Description
MOVETO is a command to move a robot, based upon the absolute coordinate.
MOVE is a command to move a robot, based upon the relative coordinate.
In the case the position coordinate of a robot is currently J(10,10,0,10,10), if
executing MOVETO J(10,10,0,10,10), a robot stays in place, and if executing MOVE
J(10,10,0,10,10), a robot moves to J(20,20,0,20,20).
If inserting P or PTOP for <Interpolation Method>, a robot is moved on a
point-to-point basis; and if inserting L or LINE for it, a robot is linearly moved from
the current location to a target location. If it is omitted, P is set by default.
<Position Variable> or <Position Constant> is a target coordinate for move.
161
162
ED-7255
Pre-stored position variable may be used or the position coordinate may be directly
entered.
<Speed Option> can define the moving speed by the percentage, whose unit is
%, of a basic moving speed.
Use Example
...
DEFPOS POS1
DEFPOSJ JPOS1
POS1=(10,10,0)
JPOS1=J(10,10,0,10,10)
MOVETO POS1
MOVETO JPOS1, S=200
MOVE L, (50,20,40)
MOVE P, J(10,10,0,40,20), S=50
...
2) MOVEPATHTO/MOVEPATH Statement
Syntax
MOVEPATHTO|MOVEPATH [<Interpolation Type>,] <Path Variable> [,
<Speed Option>]
Function Description
MOVEPATHTO is a command to move a path of a robot, based upon the absolute
coordinate. MOVEPATH is a command to move a path of a robot, based upon the
relative coordinate.
If inserting P or PTOP for <Interpolation Method>, a robot is moved on a
point-to-point basis; and if inserting L or LINE for it, a robot is linearly moved to a
target location. If it is omitted, P is set by default.
Use Example
In the case the current coordinate is (0,0,0) for a Cartesian coordinate system and it
is J(0,0,0,0,0) for a joint coordinate system, MOVEPATHTO command statement lets
a robot move through a path (0,0,0) (10,10,0) (20,20,10) (10,10,0), and
MOVEPATH command statement lets a robot move through a path J(0,0,0,0,0)
J(10,10,0,10,10)- > J(30,30,0,30,30)->J(40,40,0,40 ,40).
...
DEFPATH PATH1
DEFPATHJ JPATH1
POS1=(10,10,0)
JPOS1=J(10,10,0,10,10)
PATH1 = {POS1,(20,20,10),POS1}
JPATH1 = {JPOS1,J(20,20,0,20,20),JPOS1}
MOVEPATHTO PATH1
MOVEPATH JPATH1
...
3) APPROACHTO/APPROACH Statement
Syntax
APPROACHTO|APPROACH [<Interpolation Type>,] <Position
Variable>|<Position Constant>, <Approaching Distance> [, <Speed Option>]
163
164
ED-7255
Function Description
APPROACHTO is a command to move a robot to the location that is departed from
the approaching distance along the z-axis from a target position, based upon the
absolute coordinate. APPROACH is based upon the relative coordinate.
Use Example
Move to the coordinate (10,10,20) and Move to the coordinate (20,20,50).
...
DEFPOS POS1
POS1=(10,10,10)
APPROACHTO POS1, 10
APPROACH L, POS1, 20, S=100
...
4) DEPART Statement
Syntax
DEPART [<Interpolation Type>,] Approaching Distance [, <Speed Option>]
Function Description
DEPART is a command to move a robot to the location that is departed from the
approaching distance along the z-axis from the current location. Use of Interpolation
Method and Speed Option are the same as those of MOVETO/MOVE.
Use Example
If the current coordinate is (10,10,10), a robot is moved to (10,10,20), (10,10,30).
...
DEPART 10
DEPART L, 10, S=100
...
5) HOME Statement
Syntax
HOME|SETHOME <Joint Position Constant>|<Joint Position Variable>
Function Description
HOME or SETHOME sets a particular joint position to a software-based home
position of a robot. Set software-based home position will be a position to be moved
when using GOHOME statement.
Use Example
J(0,0,0,0,0) is set to a software-based home position.
...
JPOS1 = J(0,0,0,0,0)
HOME JPOS1
...
6) GOHOME Statement
Syntax
GOHOME
Function Description
Move a robot to a software-based home position.
165
166
ED-7255
Use Example
A robot is moved to a position J(0,0,0,0,0).
...
JPOS1 = J(0,0,0,0,0)
HOME JPOS1
...
GOHOME
...
7) MOVEEX Statement
Syntax
MOVEEX <AUX1 Pulse Count>, <AUX2 Pulse Count> [, <Speed Option>]
MOVEEX1 <AUX1 Pulse Count> [, <Speed Option>]
MOVEEX2 <AUX2 Pulse Count> [, <Speed Option>]
Function Description
Move an extra axis except for a robot. MOVEEX statement moves AUX1 and
AUX2, simultaneously, while MOVEEX1 moves only axis AUX1 and MOVEEX2
moves only axis AUX2. Movement is performed as much as the input pulse count
value, and the speed option is set as the percent value(%) of the fundamental moving
speed that a user has set in a system.
Use Example
AUX1 is moved by 1000 pulse counts at the speed of 200%, and if DI1 is turned on,
AUX2 is moved by 1000 pulse counts. The last execution statement moves AUX1 and
AUX2 by -1000, respectively.
...
MOVEEX1 1000, S=200
...
IF INSIGON DI1 THEN MOVEEX2 1000
...
MOVEEX -1000, -1000
...
8) OPEN/CLOSE Statement
Syntax
OPEN [ <Gripper Interval> ]
CLOSE [ <Gripper Interval> ]
Function Description
A command relating to the operation of a robot gripper. OPEN is for gripper
opening and CLOSE is for gripper closing. If the interval of a gripper is not specified,
the gripper can be opened at its maximum extent, and if it is specified, the gripper can
be opened up to the relevant extent. The unit of the interval is 'mm'.
Use Example
Open a gripper to its maximum extent and move it to the position JPOS1. Then,
close the gripper with the distance being remained by 10 cm.
...
OPEN
MOVETO JPOS1
CLOSE 70
...
167
168
ED-7255
9) SET/RESET Statement
Syntax
SET|RESET ALL|<DO Variable>[, <DO Variable> ...]
Function Description
A command to control a digital output signal. SET sends a signal with 1 and
RESET, with 0. If ALL is used, a signal is sent to all the digital outputs. If a particular
DO variable is declared, a signal is sent to only the declared digital output. DO
variables are available for DO0-DO7.
Use Example
Send OFF signals to all digital outputs. Move a gripper to JPOS1 and close the
gripper. Then send ON signal to DO1 and DO2.
...
OPEN
RESET ALL
MOVETO JPOS1
CLOSE
SET DO1,DO2
...
Function Description
A command to take a digital input signal. The relevant digital input value is
assigned to a specified variable. If the signal is ON, 1 is assigned; otherwise, 0 is
assigned.
Use Example
If DI1 is ON, move to JPOS1.
...
INDSIG DIVAR1 = DI1
IF DIVAR1==1 THEN MOVETO JPOS1
...
Function Description
A command to provide an analog output with a specific integer value. Integer value
is sent to an analog output relevant to the specified AO variable.
Use Example
If DI1 is ON, data 10 is sent to AO1.
...
INDSIG DIVAR1 = DI1
IF DIVAR1==1 THEN OUTASIG AO1 = 10
...
169
170
ED-7255
Function Description
A command to take an analog input signal to a variable. The analog input value
relevant to the specified AI variable is assigned to a variable.
Use Example
If AI1 value is greater than 10, move to JPOS1.
...
INASIG AIVAR1 = AI1
IF AI1>10 THEN MOVETO JPOS1
...
Use Example
The fundamental speed value is set to 200%, and the fundamental acceleration
value is set to 200%.
...
SETSPEED 200
SETACCEL 200
...
Function Description
Robot control progression is delayed by a set time.
Use Example
Move to JPOS1, do nothing for one seconds, and then move to JPOS2.
...
MOVETO JPOS1
DELAY 10
MOVETO JPOS2
...
171
172
ED-7255
Function Description
Wait a robot control progression for a prescribed time, until specified DI variables
are all ON or OFF.
If TIMEOUT option is not specified, it waits infinitely. When the variable is
specified in TIMEOUT option, if WAIT is completed due to TIMEOUT, 1 is
assigned; otherwise, 0 is assigned.
Use Example
Move to JPOS1, if DI1 and DI2 are all ON, or move to JPOS2 if it takes 5 seconds.
Wait infinitely until the signals of DI variables are all OFF, and if all are OFF, move to
JPOS1. Again, wait until DI1 is ON. If DI1 is ON, move to LABEL2, and if DI1 is not
ON for 5 seconds, move to LABEL1.
...
MOVETO JPOS1
WAITINSIG ON DI1,DI2, TIMEOUT = 50
MOVETO JPOS2
WAITINSIG OFF ALL
MOVETO JPOS1
WAITINSIG ON DI1, TIMEOUT=50, TVAR1
IF TVAR1==1 THEN GOTO LABEL1 ELSE GOTO LABEL2
...
RESETRELAY <PortNo>
Function Description
Switch over to 'a' contact point or 'b' contact point of relay port. SETRELAY is
command to switch over to 'a' contact point, and RESETRELAY is command to
switch over to 'b' contact point.
Use Example
Move to JPOS1, Switch over to 'a' contact point of relay port #1. Move to JPOS2,
Switch over to 'b' contact point of relay port #1.
...
MOVETO JPOS1
SETRELAY 1
MOVETO JPOS2
RESETRELAY 1
...
173
174
ED-7255
Arithmetic Operators
+ : addition
- : subtraction
* : multiplication
/ : division
MOD : modulus
Logical Operators
AND : logical product
OR : logical sum
XOR : exclusive logical sum
175
176
ED-7255
Part 5
Basics of Robot Control Program
178
ED-7255
) of File menu.
179
180
ED-7255
Put a mouse on a robot, and click a right button to call a popup menu.
In the popup menu, click 'Add Position (Type J)'. Then, the present joint space
coordinate values of a robot is stored in 'Position Table View' as shown in the
following drawing.
Then, the cell is changed to be edited as in the drawing. Name the position data as
"JPosTarget".
Dragging a blue colored axis (Z-axis) of an axis guide appearing when a robot is
selected, move up the robot to a proper position. Save the position and name it as
"JPosPreTarget".
181
182
ED-7255
Next, change Joint1 in "Operation View" and move the robot as in the drawing.
Save the relevant position and name it as "JPosPreRelease".
Again, dragging the blue colored axis (Z-axis) of the axis guide, move down the
robot to a proper position. Save the position and name it as "JPosRelease".
Caution
A robot program must be started with "PROGRAM" and be ended with
"END". Only when the lines are completed by pressing 'ENTER' key at
the "END" statement, the error does not occur when in syntax or
grammar checking.
183
184
ED-7255
" ' " or "REM" explains that the corresponding line is a comment statement.
"GOHOME" command moves a robot to a home position.
If commands does not occur to you, press ENTER key while CTRL key is being
pressed(i.e., CTRL+ENTER), and then a reserved words guide appears as follows. In
the below, the left figure shows that there is no letter and in this case the overall
reserved words list appears. When there is any particular letter as in the right case
below, the reserved words list including the relevant letter appears. When the desired
reserved word or command is selected and ENTER key is pressed or mouse is double
clicked, the corresponding text stream is written in an editing window.
coordinate is "MOVETO".
After writing up to now, perform grammar checking. Save the project and click
Check Grammar( ) of Debug Menu. If the grammar checking is normally
completed, "Checking Grammar Complete" message appears in Output View, as
follows.
If the mis-typing or the error occurs, Output View displays the error message. If
ENTER key was not performed after END statement, the following error message
appears.
If double clicking the message, the relevant position is displayed in Program View,
as shown in the below drawing.
185
186
ED-7255
4) Grip Object
Write a command for gripping the object by using a gripper of a robot. Commands
for operating the gripper are "OPEN" and "CLOSE".
Move a robot to JPosPreTarget position, and fully open a gripper as a pre-gripping
operation. After moving a robot to JPosTarget position, close a gripper by, for
example, a command "CLOSE 50" if the object size is 30cm. Or, "OPEN 30"
command may be used.
6) Release Object
Now, let's have a robot release the object and move again to JPosPreRelease
position. As follows, a gripper is fully opened and a robot is moved to JPosPreRelease
position.
187
188
ED-7255
7) Repeat Operation
Use GOTO statement in writing a program, so that a robot is repeatedly operated.
As follows, add LABEL in the fourth line and write GOTO statement. Name
LABEL as "L1".
Rearrange windows in Window Menu, so that Program View and Arm View can be
well shown.
If clicking Start( ) of Debug Menu, a virtual 3D robot operates according to the
written program, as shown in the below drawing.
To stop the simulation, click Pause(
Stop(
).
189
190
ED-7255
Part 6
Program Example
Task 1. Basic practice using Jog mode of pendant
Task 2. Operation practice after Joint Position Teaching
Task 3. Understanding and practice of velocity and time
Task 4. Absolute coordinate and relative coordinate practice
Task 5. Practice the movement of gripper
Task 6. Practice of movement through Teaching of many coordinates
Task 7. Starting high class logic through variable declaration
Task 8. Practice of robot command language using function
Task 9. Practice of performance of robot command language according to
condition using quarter statement
Task 10. Practice of for-statement for repetitive operation
Task 11. IO practice using a simulator
Task 12. Understanding and practice of Cartesian Space
Task 13. Interlock mode of simulator and robot based on network
Task 14. Writing comment at robot command language
Task 15. Moving Work tower to a designated position
Task 16. Performing command using conditional statement and Sub Function
Task 17. Hanoi Tower
191
192
Practice Task 1
ED-7255
1. Purpose of Practice
1) To practice basic operation of industrial robots.
2) To understand motion type of each joint.
3) To understand H/W limit of each joint and processing of the above value.
4) To study about Position Teaching.
2. Preparations
1) Understanding Manual Mode of Teaching Pendant
2) Understanding role of Jog Mode at Position Teaching
3) Understanding operating principle of X, Y, Z key
3. User's Curiosity
1) It's my first time to see industrial robot and don't know what to do.
2) What is Jog Mode?
3) What is Jog Mode for Position Recording?
4. Working condition
1) Check for connection between Motor Power Cable and Encode Cable.
2) Check for connection of Serial Cable of Teaching Pendant.
3) Check if 'Emergency' Button is released.
4) Check for the connection of Main Power Cable of Main Controller and then turn
power On.
Note
Check for the followings for the power of input module and output
module used in practice.
Input power
of Main
Controller :
5. Starting Practice
1) Turn On power of Main Controller.
193
194
ED-7255
3) With reference to Figure 6-2, there are Up/Down keys at the left lower portion of
the pendant. After Down key is pressed on the selected 3.OPERATE_MODE and if
RUN/STOP/ key, at the right lower portion, or CMD key(Number key 3) is pressed,
a menu for selection of a target robot appears. Again, if , while 1.MAIN ROBOT is
being selected, RUN/STOP/ key or key(Number key 1) is pressed, the state
becomes ready to perform OPERATION mode.
4) Press 'Up' button to increase Angle of the relevant joint, and press 'Down'
button to decrease Angle of the relevant joint.
195
196
ED-7255
Cartesian Move
6) Perform Cartesian Move using X, Y, Z key based on above detail. First, for
quick understanding of Cartesian movement, move each axis of the robot for
position in Figure 6-9.
( Joint Angle Value : 0.0, 20.0, 67.8, 80.0, 0.0, 7.56 )
7) For Cartesian Move, if F2 key and X(NOME key, Number key 7), Y(OPEN
key, Number key8), or Z(BS key, Number key9) key is pressed, a screen is
changed to Cartesian Operation mode. If Z button is pressed to perform the
linear motion along Z axis shown in [Figure 6-9], a screen appears as in
[Figure 6-10].
197
198
ED-7255
Practice Task 2
1. Purpose of Practice
1) To operate an industrial robot using simulator.
2) To practice Teaching that is the basic for robot operation.
3) To practice the writing method of simple robot command language.
4) To operate the robot to Teaching position based on command language.
2. Preparations
1) Understanding operation method for each joint
2) Understanding method to create a new simulator project
3) Preparing Cross Cable that is directly connected to the robot
3. User's Curiosity
1) What is the principle applied to Teaching angle?
2) Is robot command language difficult to learn?
3) They use same method for real industrial robot?
4. Working condition
1) Check if Ethernet Cable is connected.
2) Study simple and basic simulator operation in the manual.
199
200
ED-7255
Notes
PC with graphic card that is capable of 3D acceleration and support OPEN GL
1.4 is required to install it.
We do not need high-performance PC to operate simulator. However, since
virtual robot is 3D, 3D Rendering is required.
5. Starting Practice
1) Double click ED-IRS icon on desktop screen to display main screen as like
the figure below. When main screen is activated, click 'New Project' button to
create a new project.
2) Input a name in Project Name(ex: Ex1) and then click 'Search' button to
activate dialogue box to find folders. Designate location in which the project
will be saved and then press 'OK' button.
4) Press 'Window Tile Vertically' button in Window tap to arrange the window
as shown in the figure below.
201
202
ED-7255
5) If Spin button is moved right and left, in the left Operation View, while it
is being pressed, the relevant joint can move as in the following drawings.
7) Use same method to operate other joints to make desired shape as shown in
the figure below.
203
204
ED-7255
8) Place mouse pointer on the robot and then right-click to activate the menu as
shown in the figure below. Select 'Add Position(Type J') menu to record the
current value of each joint.
9) Each joint position of the robot will be saved as the figure below.
205
206
ED-7255
Note
Robot program must start with "PROGRAM" and end with
"END", and press ENTER key in the last "END" statement to
complete the lines. Doing so, there will be no error during
grammar check.
11) To move the robot to the position as specified in the above No. 9 item, the
program can be written as follows.
The name of the position data we had saved was "JPOS1". "MOVETO" is a
move command in the absolute coordinate and "S=" is an optional parameter
for the speed. Therefore, the robot is moved from the current position to the
position JPOS1 by 30% speed of the fundamental speed.
12) Now writing of command language is complete. Press 'Save' button and then
press 'Check Grammar' button in order to check for grammatical errors.
13) In case there is no grammatical error, press 'Start' button to start simulator
as shown in the figure below. Since the current position already is the
position of JPOS1, the simulation will immediately be finished.
14) For operation with real robot after operating in simulator, download
command language project to ED-7255 Main Controller. Select 'Connect'
Button in 'Connect tap' in the following figure.
207
208
ED-7255
15) Select the relevant menu to display connecting status window. When the
connection is normally complete, this status window will be disappeared and
'Disconnect' menu and 'Download' menu will be activated.
Connection failure may occur when communication cable is not connected or when
the current robot is under operation.
Download will be finished when file transfer status bar gets at the end. If the
progress bar stops in the middle, retry file transfer.
17) Refer to auto mode operation method in the manual to perform the
downloaded project.
209
210
ED-7255
Practice Task 3
1. Purpose of Practice
1) To study about velocity and time that decide the speed of robot operation.
2) To study about the related theory and apply it to the robot.
3) To practice of operation of the robot in accordance with the change of velocity
value
4) To practice of operation of the robot in accordance with the change of time value
2. Preparations
1) Understanding about the difference between velocity and speed.
2) Understanding about the difference between vector and scalar.
3) Understanding about velocity formula.
3. User's Curiosity
1) Why do we compare velocity and time?
2) What is Rapid about? Is it about Rapid of motor at each joint, or end of each joint
that moves by a motor?
3) I think I know the concept of velocity. I wonder if time means arrival time?
4. Working condition
1) There should a simulator installed in a PC.
2) We should know about the grammar of the related command language in the
manual.
211
212
ED-7255
5. Theory study
1) Difference between velocity and speed
Velocity and speed is the degree of speed of a moving object. velocity means linear
distance and travel time from starting point to arriving position, but speed means
distance and arrival time of all paths from starting point.
For example, supposing that linear distance from Seoul to Pusan is 400km and a car
arrived in Pusan in 4 hours, the velocity of the car is 100km/h.
Even when the car starts from Seoul and leaves in Pusan in 4 hours after stopping
Gangneung and Andong, the velocity is 100km/h. However, speed considers all
distance during the travel, speed will be above 100km/h.
One more example, let's suppose that this car returns to Seoul after all works in
Pusan. velocity is 0 km/h, and speed will be considered according to total travel
distance and travel back and forth. Velocity is 0 km/h because the starting point and
arriving point is Seoul. Therefore, the linear travel distance is 0 km.
As shown in above figure, three persons moved along 3 paths that are marked in the
figure in a unit time. The travel distance is A > C > B.
If, travel time from starting to arrival of 3 persons are all same, moving velocity
will be also same. However, travel distance of each case will be different. Therefore,
the speed is A > C > B.
Velocity calculated by only distance from starting point to arriving point is vector,
and speed calculated by all distance including stops from starting point is scalar.
We will study about vector, in other words, velocity, and our study will be focused
on vector.
Vector from home to school in the above figure is explained in the figure below.
213
214
ED-7255
Vector resultant: one vector that has same effect with the effect by two vectors.
3-1) First, in case of resultant of lined up vector, in case direction is same, add it,
and in case direction is contrary, subtract small vector from large vector and the
direction is same with the direction of large vector. In other words, it is like the figure
below.
3-2) Second, There are parallelogram and trigonometry for resultant of two vectors
that are not lined up. Drawing parallelogram that is mostly used with two sides of two
vectors, resultant vector is diagonal and the direction is same with the direction of
diagonal.
Parallelogram
Triangle
Therefore,
will be calculated as below.
r
The following is a method to calculate the difference between vectors. the
difference between vectors is used to get relative velocity and acceleration.
[Figure 6-39] the difference between vectors that are not parallel
215
216
ED-7255
Since it is a 5-axis vertical articulated robot, there will be total 5 vectors, and the
sum of 5 vectors will be velocity of the movement from Home Position to JPOS1
Position.
First, we know that velocity is 50 and travel distance of each joint, and we don't
know the arrival time yet.
J1 =
= absolute value that subtracted the previous joint value from current
joint value
The formula;
50 =
We have achieved arrival time from the above result. Therefore, now we know
velocity of each joint to complete movement at arrival time T.
Accordingly, input value time means performance time for all joint to be finished.
217
218
ED-7255
6. Starting Practice
1) Load 'Ex1' project written in the previous chapter.
3) In case of no grammatical errors, click 'Start' button to move the robot back
to home coordinate and then check the movement to JPOS1 at 30% of
velocity. The fundamental speed value of the system is 100mm/sec. Thus,
30% speed value is equal to 30mm/sec.
5) Change velocity input to arrival time input for practice as shown in the
figure below.
219
220
ED-7255
7) Download file to check the movement of real robot according to velocity and
time.
Practice Task 4
1. Purpose of Practice
1) To study about absolute value and relative value.
2) To study about absolute coordinate and relative coordinate.
3) To study about the necessity of relative coordinate.
4) To input relative coordinate using simulator to practice the movement.
2. Preparations
1) Study about absolute coordinate and relative coordinate in advance.
3. User's Curiosity
1) Coordinate input through 'Add Position' a simulator is absolute coordinate or
relative coordinate?
2) Why do we need relative coordinate?
4. Working condition
1) A simulator must be installed in a PC.
2) Understanding of grammar of the related command language.
221
222
ED-7255
5. Theory study
1) Absolute vs Relative
We measured the height of Timberlake, Megan Fox, and tree. The height of
Timberlake is 180cm, Megan Fox is 165cm, and the tree is 100cm. Now, what is the
base of this measurement of the height of those three? Since they are all standing on
the ground, we measured the length to the end of head or end of tree based on the
ground. In other words, we set reference point of 0cm to measure the height of the
above three.
Measuring each height based on the ground with 0cm of height is called as absolute
coordinate. Measuring each height based on the height of the tree is called as relative
coordinate. relative coordinate is to get coordinate of a target based on coordinate
measured in absolute coordinates system.
223
224
ED-7255
Figure 6-48 shows initial position with 0 degree of all of 5 joints. joint 3 in Figure
6-49 moves at -30 degree and joint 3 in Figure 6-50 moves at -70 degree.
3 Joint Angle in the above Figure are all marked by absolute coordinate. In other
words, each moves -30 degree and -70 degree from the initial position, reference
point.
However, joint 3 in Figure 6-50 and Joint 3 in Figure 6-49 relatively moves at -40
degree. In other words, based on -30 degree, the relative coordinate in figure 6-50 is
-40 degree.
Let's suppose that thee is an industrial robot that assemble chip on PCB board in
Figure 6-51. If position of chip is X:120, Y:150 in an absolute coordinate, position
of chip is X:-10, Y:15 on at position of chip and the position of chip will be
X:10, Y:0 at position of chip .
In other words, if target point is at a position near it or at a position that can be easily
inferred, relative coordinate will be more efficient. Especially, Y coordinate of chip
and chip are on the same line to increase the use of the relative coordinate.
6. Starting Practice
1) Load Ex1 project written in the previous chapter.
2) Open project and right-click Position Table View to display menu below.
Select 'Add Position'.
225
226
ED-7255
3) Add Position to find position name of JPOS2. Input -40 degree for Joint 2,
and input -70 degree for Joint 4.
4) Add command of MOVE JPOS2, S=40 using MOVE command that means
relative coordinate movement and save the project, and then execute Check
Grammar.
6) Download file and practice the movement of the real robot according to
absolute coordinate and relative coordinate.
227
228
Practice Task 5
ED-7255
1. Purpose of Practice
1) To learn 'How to use gripper'.
2) To learn 'How to grip an object using robot gripper'.
2. Preparations
1) Study about the tool data related to industrial robots.
2) Study about the data related to circular formula.
3. User's Curiosity
1) We input angle for joints. We do also input angle for grippers? I think we
need to input the length value of target object.
4. Working condition
1) A simulator must be installed in a PC.
2) Understanding of the grammar of the related command language in the
manual.
5. Theory study
1) Range of Tool application of industrial robots
The upper figures show that end round shape of the robot have none, but the lower
figures show that something to be handled is attached to the end of the robot, as in red
boxes.
Tool for industrial robots such as gripper, welding tool is for use of an industrial
robot. We can just replace Tool suitable to mission in order to make a use of robots as
shown in above figure.
2) ED-7255 Tool
As shown in the figure below, ED-7255 is designed to replace finger.
229
230
ED-7255
As above Figure, 15mm of pinion gear is mounted at the rack gear of motor and
encoder as shown in Figure 5-9. rotational motion of pinion gear is transferred to rack
gear and it is converted to rectilinear motion in order to open and close gripper.
When grippers are open, it is 84mm. When grippers are closed, it is 0mm.
If, OPEN 50mm of command language is input using robot command language, the
circumstance formula;
Target(circumstance) = , r= radius
Therefore;
Rotate degree =
However, there are matters to be attended to. When pinion gear of the motor rotates,
both fingers of the gripper simultaneously moves. Accordingly, max operating radius
of the gripper is 84mm, but two rack gears move for one pinion gear. Therefore, max
value of the gripper is 42mm. The final formula;
Rotate degree =
231
232
ED-7255
190.985934 deg =
To open the gripper about 50mm, and rotate pinion gear 190.985934... degree.
6. Starting Practice
3) If there is no error at grammar check, click 'Start' button to check the movement
of the gripper.
4) Download file to practice the movement of the gripper of the real robot.
233
234
Practice Task 6
ED-7255
1. Purpose of Practice
1) To practice many coordinate Teaching.
2) To practice supposing that a robot rearly moves an object rather than
meaningless Teaching.
2. Preparations
1) Find and check move of real industrial robots.
2) Check carefully the performance of many coordinates of industrial robots.
3. User's Curiosity
1) I think the more I know about command language, the more efficient in
robot operation.
2) some coordinates have to slightly change value for Teaching?
3) I think movement between coordinate and coordinate is not separated but
combined into one. Why is that?
4. Working condition
1) The simulator must be installed in a PC.
2) Knowledge about grammar of the related command language.
5. Theory study
1) Acceleration and deceleration theory
If value of quick velocity is input from the initial movement of a robot, it will strain
a device causing frequent failure. for example, let's suppose that input velocity is 30
and operation time is 2 seconds. If a robot moves at velocity of 30 from the first time,
it will strain the robot. Accordingly, acceleration area is required in order to increase
velocity step by step like 2, 4, 8, 15, 24, and 30 for initial regular time. Same will be
applied to the reduction of speed.
However, the distance must be same. Even though it needs acceleration and
deceleration, the distance must be same. Now, we will check out the figure below.
In other words, area of the graph is the distance in above figure based on the above
formula.
The right of Figure 6-67 is velocity profile that considered acceleration and
deceleration. Change profile in the right of Figure 6-67 to the velocity profile in the
left of Figure 6-67. However, the area will be same.
235
236
ED-7255
Take area as much as inverted triangle in the left out of rectangle graph and paste it
on the right side of the graph to make a velocity profile of trapezoid as like the profile
figure on the right in figure 6-68.
Since the travel distance at this time is same with the area of quadrangle, travel
distance when it is changed to trapezoid is not changed. However, travel time will be
increased.
The principle is simple and can be achieved through the overlap of two functions.
=
[Figure 6-71] Result
As shown in the left figure, since the first overlap occurs among 5 filter data, 10*1
/5 = 2.
Because of one step Shift of filter, (10*1 + 10*1)/5 = 4.
So there is overlap as shown in the figure below.
[Figure 6-73] Changing to velocity profile that considered acceleration and deceleration
2,4,6,8,10,10,10,10,8,6,4,2
237
238
ED-7255
Above figure has expressed Pass Motion of 3 positions of P1, P2, P3 as a graph.
Keep velocity without reduction of speed at P2 to arrive at P3. If you
misunderstand the graph, you may think that distance is not achieved because
reduction of speed is not made at P2 and there was no acceleration. However, distance
to go is same because all of red, yellow zone are performed as shown in above figure.
239
240
ED-7255
As like the difference between Figure 6-76 and Figure 6-77, the larger overlap area
between command and command, the longer curve length. In other words, it makes
softer Motion.
6. Starting Practice
Example program to move Work at position A to Position B. Name and moving
order for each position:
HOME JPOS1 OPEN JPOS2 CLOSE JPOS1 JPOS3 JPOS4
OPEN JPOS3 HOME
)
(-54,-44,-52,-86,0
(54,-44,-52,-86,0)
)
(-54,-63,-64,-55,0
(54,-63,-64,-55,0)
241
242
ED-7255
: Program start
X1:GOHOME
MOVETO JPOS1
: Move to JPOS1
OPEN
: Open gripper
MOVETO JPOS2
: Move to JPOS2
OPEN 15
: Grip object
MOVETO JPOS1
: Return to JPOS1
MOVETO JPOS3
: Move to JPOS3
MOVETO JPOS4
: Move to JPOS4
OPEN
: Release object
MOVETO JPOS3
: Return to JPOS3
GOTO X1
: Move control to X1
END
: Program end
243
244
ED-7255
245
246
Practice Task 7
ED-7255
1. Purpose of Practice
1) To enhance logic skill using variable for robot command language.
2) To study about the basic fundamental rules to make use of variable.
3) To practice robot command language using variable.
2. Preparations
1) Study about the grammar for other languages(C, C++).
3. User's Curiosity
1) What is variable?
2) What is the merit of using variable for the use of robot command language?
3) What is it differ from variable used in computer language?
4. Working condition
1) The simulator must be installed in a PC.
2) Understanding of the grammar of the related command language.
5. Theory study
1) Variable
If character gets many values, the character is called as variable. Since the scope of
variable is designated, it can be considered as a character that represents value in this
range. At this point, the scope of variable is called as variable zone." [Source]
variable | Naver encyclopedia
We will fully understand the above definition. First, the statement of 'Character gets
many value."character generally means the letters we use. character A has values of
1,2,3.
Second, statement is "the scope of variable is designated" For example, character
named by A can take numbers within 0 ~ 65000.
The last statement is "character named by A represents the number that takes
number within 0 to 65000."
In conclusion, character named by A is same with number100.
Now, is there only integer for value? There are also decimal point, negative number
for value. There are many of some values, variable type, that is expressed as Data in
computer engineering.
In case of C language used mostly for computer language.
int j = 5;
j = j + 7;
'int' character is an abbreviation for integer, and character 'j' is a character that can
take type data. Eventually, integer type variable of j have taken 5.
The second line has j+7 statement. You will understand it with easy if you think
about fundamental rules. In other words, j+7 means 5+7, and calculated result takes
variable j again. Finally, j takes the number of 12.
char ch = 'c';
printf("char %c \n", ch);
247
248
ED-7255
Above detail is a processing method for 'char', character type variable. char is the
abbreviation of character. character-type variable 'ch' takes character 'c' and send the
value to printf(); function that takes care of screen output.
Detailed grammar for C language related to variable is the beyond the scope of this
textbook.
DIM VAR1
DIM VAR2, VAR3, VAR4
VAR1 = 10
VAR2 = 10.1+VAR1
VAR3 = "string"
VAR4 = VAR1
The difference with C language, it can proceed integer, real number, and character
string not through separate variable type according to data type, but through
declaration of DIM.
6. Starting Practice
To complete the following mission, write command language.
Practice: Write robot command language to change joint angle according to
variation of variable value using 5 variable of J1, J2, J3, J4, and J5.
249
250
ED-7255
Practice Task 8
1. Purpose of Practice
1) To study about the meaning and proper use of function.
2) To complete writing of robot command language using function.
2. Preparations
1) Study about the difference between function in here and function we have
learned in school.
3. User's Curiosity
1) I think it is troublesome to call function comparing to writing command
language in Main window. I think there are many characters to input.
2) I don't know how to separate working unit to make function. It is not easy
to separate work unit from others.
4. Working condition
1) We need a simulator installed in a PC.
2) Understanding of grammar of the related command language.
5. Theory study
1) Definition of function
In program language, the meaning of function in a dictionary is independent
program designed to perform specific work, and it is similar with subroutine. When a
251
252
ED-7255
specific work is performed many times, we make one proper function and call it in the
program everytime we need it. Added to that, same function can be made to use it for
many programs.
First of all, lets' check above statement structure again.
"independent program designed to perform specific work";
Function is unit(Module) that is consisted of many commands to perform specific
work or Sub Mission.
"When a specific work is performed many times. Any time you need it, call it
from the program.....";
In other words, constituent unit with many command can be called many times for
some specific work, and it easy convenient if we make a repetitive work into one
group.
In a summary, function makes groups that perform one work or function that is
going to be performed many times into one constituent unit.
Above figure shows a pocket that perform +5, 2, -1 to a number that gets into the
pocket. We put number of 13 into the pocket, but 35 comes out the pocket.
3) Function at C language
void main()
{
int x,y,sum;
x=2, y=3;
sum = sum_func(x,y);
return;
}
int sum_func(int x1,int y1);
{
int sum_data = 0;
sum_data = x1+y1;
return sum_data;
}
Above program can be largely divided into main function and sum_func. First of
all, main function let x and y value have each of integer 2 and 3 and then input x, y
variable at function sum_func() as a parameter. In function implementation int
253
254
ED-7255
Even when a function is used just for a time for a program, program can be
modularized for easier use and modification if we use function.
6. Starting Practice
Modify command language of Pick and Place (Figure 6-3) we have learned in the
previous chapter using function. [Refer to Practice 6]
255
256
ED-7255
Input function name after command language of GOSUB to perform the 14th line.
257
258
ED-7255
1. Purpose of Practice
1) To practice implementation of robot command language according to
surrounding conditions (variable value, I/O status, specific joint angle of a
robot, etc).
2) To do theory study about condition comparison statement.
2. Preparations
1) Review 'How to write command language' in 'Edit' we have learned in the
previous study.
3. User's Curiosity
1) I know that command statement is to decide and perform it. How we do
condition comparison?
4. Working condition
1) There must be a simulator installed in a PC.
2) Understanding about grammar related command language in the manual.
5. Theory study
1) Example of condition comparison for vending machines
259
260
ED-7255
=> If input coin 600 cent is same with the price of Drink 1 or higher than that, turn
Drink 1 bulb. If not, turn of Drink 1 bulb.
DIM VAR1
...
IF VAR1 MOD 2 == 0 THEN GOSUB A ELSE GOSUB A_A
...
END```````
```````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````
6. Starting Practice
``````````````````````````````````````````````````````````````````````````````
261
262
ED-7255
2) For routing loop rotation, use GOTO statement before LABEL statement and
END statement at the second line to make routing repetition structure.
Besides the existing Position A, place it at Position A_A to pick up Work and
then write pickup command language as a function.
Set joint 1 angle at Position A at -54, and set the angle of joint 1 at Position A_A at
-20.
Place mouse in 'Position Table View' and right-click it to create JPOS5, JPOS6 as
Add Position item, input coordinate value of JPOS1 at JPOS5. However, only input
the angle value of J1 at -20, and input value of JPOS1 at JPOS5.
For JPOS6, input value of J1 to -20 at coordinate value of JPOS2 and input value of
JPOS2 for others.
3) Input JPOS5, JPOS6 and add command language for A_A position.
263
264
ED-7255
4) Move MOVETO JPOS1, S=30 and OPEN command which precede the 5th
line, GOSUB RETURN_PICK_A, to the first part of SUB RETURN_PICK_A
function.
265
266
ED-7255
6) Declare variable DIM VAR1 and then reset it to 0. VAR1 is used to set up
routing times of the loop, and VAR1 = VAR1 + 1 up count VAR1 every
time when loop rotates.
267
268
ED-7255
9) The followings are modified final source code and EditView image.
269
270
ED-7255
Practice summary
In general, whole logic of the program decides evenodd of the current variable to
call the relevant function.
Practice Task 10
1. Purpose of Practice
1) To repeat specific command language until given condition is satisfied
2) To study about the elegance of robot command language through use of
for-statement
2. Preparations
1) Study about the writing of command language in 'Edit' in the previous study.
3. User's Curiosity
1) Why are there many for-statement?
4. Working condition
1) Asimulatormust be installed in a PC.
2) Understanding of grammar of the related command language in the manual.
5. Theory study
1) Method to increase joint 1 (Base Joint) 10 times by 10 degree
There are two ways to increase base joint by 10 degree. First, input 10 of robot
command languages by 10 deg, 20 deg, 30 deg... , 100 deg.
MOVETO J(10,0,0,0,0), S=30
MOVETO J(20,0,0,0,0), S=30
271
272
ED-7255
DO
VAR = VAR1+1
6. Starting Practice
First of all, we will practice FOR NEXT statement structure.
273
274
ED-7255
275
276
Practice Task 11
ED-7255
1. Purpose of Practice
1) To practice related to Digital I/O control that can be connected to peripheral
device
2) To send signal to Digital I/O port from and receive signal from the
simulator.
3) To practice of movement after writing Digital I/O related robot command
language
2. Preparations
1) Study about the role of I/O for industrial robots.
2) Study about the types of external device to be interlocked with industrial
robot.
3. User's Curiosity
1) What is the use of I/O in an industrial robot?
4. Working condition
1) A simulator must be installed in a PC.
2) Prepare a cable to connect I/O.
5. Theory study
1) I/O (Input/Output)
I/O is a general term for device for communication between external device.
Generally, its abbreviation is I/O. If signal is digital, it is called as Digital I/O. If it is
analog, it is called as Analog I/O.
ED7255 has Analog Input 4 ports, Analog Output 4 ports, Digital In 8 ports, Digital
Out 8 ports, and Relay 10 ports.
277
278
ED-7255
Transfer step : The conveyor system transfers the work, such that the work
automatically moves to an inspection step.
279
280
ED-7255
Loading step: When the vertical articulated robot receives the good product
arrival signal, it picks the work by means of a gripper of a robot arm and load
the work on a loading location.
2) Connect linear type terminal to I/O port of the main controller. Connect In port 1
to Out port 1 and connect In port 2 to Out port 2.
281
282
ED-7255
7) Write REM (remark) before condition comparison statement at the 9th line as a
comment.
283
284
ED-7255
Select Virtual Robot and press 'OK' button to move the robot in the simulator. Here
if Real Robot is selected, an actual robot operates, but only when the currently
selected project file has been sent to the robot. Therefore, for a new project or a
modified project, it must be downloaded to a controller, in order for a simulator to
operate an actual robot.
10)Value at Read Port will be changed according to input value at Write Port. When
value at Read Port is "0" and "1", check the performance of function.
11) There are more I/O related command languages such as INDSIG ,
WAITINSIG, etc. Refer to the manual to practice those languages.
285
286
Practice Task 12
ED-7255
1. Purpose of Practice
1) To study about trace control method for PtoP(point to point) and CP(continuous
path) in robot path planning.
2) To conduct Joint Space and Cartesian Space related practice.
3) To practice test using linear movement at the fingertip
2. Preparations
1) Study about the concept of Vector.
2) Study about cartesian coordinates system.
3) Check the movement of fingertip of industrial robots.
3. User's Curiosity
1) Why are there two coordinates systems?
4. Working condition
1) Asimulator must be installed in a PC.
2) Understanding grammar of the related command language in the manual.
5. Theory study
1) Cartesian Space VS Joint Space
Joint Space we have learned so far means space for which operation position of
Joint Space
We have learned about vector before, and make a definition of"space where
operation position of each joint of articulated device is defined as vector" in definition
of Joint Space.
In summary, it can be expressed in vector because of Angle 30 degree of Joint1 and
+direction, and Joint 2 will be also same.
Accordingly, Joint Space is vector expression of angle and direction of each joint.
Cartesian Space
287
288
ED-7255
Method to get the position can be simply achieved using trigonometric function
we learned in math class.
``
`Link1 X = Link 1 length cos(30deg)
`Link1 Y = Link 1 length sin(30deg)
3) Inverse Kinematics
We found relational expression in 2 spaces during the study of Joint Space and
Cartesian Space.
We can calculate Cartesian Space using Joint Space. Now, how do we get Joint
Space using Cartesian Space? That is Inverse Kinematics.
We suppose that 18.99,17.89 is given to end point of Link2 as in above figure, and
suppose that Link1=15, Link2=12, what is the of Joint 1 and Joint 2?
When coordinate of end point(End-Effector) of a robot is provided, Inverse
Kinematics will calculate the angle of each joint to satisfy it.
Note
Inducement of Inverse Kinematics formula is beyond the scope of
this textbook. Please refer to the related detail listed in the attachment.
289
290
ED-7255
Direct-firing gun is a cannon to hit enemy with flat trajectory using long gun barrel.
As shown in Figure 6-129, 6-130, shot track is called as trace.
In other words, curved trace by howitzer (high-angle gun) and flat trace by
direct-firing gun.
Trace means a line on the space that connect continuos points of moving object or
fluid.
As shown in above figure, we will study how to change end point at position A to
position B.
[F ig u re 6 -1 3 3 ] M o v e m e n t o f 2 d e g re e o f fre e d o m
robot at rectangular-space expression
291
292
ED-7255
and 30 deg of Joint 1 and Joint 2 using Inverse Kinematics. Like this, we can get the
angle value according to 6 interpolation for linear movement.
The following is linear interpolation that considered acceleration and deceleration.
[Figure A]
[Figure B]
Note
- Trace planning:It is about velocity, acceleration, path, etc during
movement from Position X to Position Y.
- Interpolation:There are very many points during movement from
Position X to Position Y. coordinate with an approximate value among
these many points that is needed in intermediate step to move along
planned path is called as interpolation.
293
294
ED-7255
5) Click blue axis to perform linear movement to the direction in blue color.
295
296
ED-7255
6) Click red axis and move it to the right and left to perform linear movement
to the direction in red color.
297
298
ED-7255
As shown in figure above, we check the movement in a curve trace from JPOS1 to
JPOS2.
299
300
ED-7255
It can be seen that it linearly moves as shown in the figure. Internally, the linear
interpolation is performed in Cartesian Space. Therefore, operation occurs by
changing Joint Space into Cartesian Space, and the according results of Inverse
Kinematics make the path of the robot. When examining the final Joint coordinate of
last motion, it can be seen that it is slightly different from the first determined position.
This means the calculational error of Inverse Kinematics.
301
302
ED-7255
Practice Task 13
1. Purpose of Practice
1) To practice of interlock mode that is mostly used for the performance of
robot command
2) To practice of mission based on interlock mode.
2. Preparations
1) Refer to manual related to IP settings.
2) Study about the necessity of interlock mode.
3. User's Curiosity
1) What is the difference between Teaching by pendant and Teaching by
interlock mode based on network?
4. Working condition
Starting from Home position, pick up Work at Position A and place it the paper cup
at Position B.
303
304
ED-7255
3) After connecting, robot in the simulator will be set at the current robot Angle
value.
4) Move the robot by using Manual Mode of the Pendant. You will see that a
robot in the simulator moves together with the actual robot.
5) Item of 'Select angle type of robot' will be displayed as shown in the figure
below.
'Encode' button is to receive Encoder value of the robot in order to update it on the,
'Command' button is a value given to the robot by the Main Controller.
There will be difference Command value and Encoder value. this difference of the
value will be controlled by Error value in PID Control.
305
306
ED-7255
Performing Mission
6) The position of set robot, Work and cup, robot, Work, cup should not be
changed after Teaching. Therefore, we must mark the positions on the floor as
shown in the figure below.
307
308
ED-7255
9) For Teaching of current robot position, perform Add Position- Type J in the
simulator.
10) Now we is going to move Joint Space from home coordinate to a position
good to grip object. Add robot command language.
11) Select Z axis on the Pendant, and select down direction to move
End-Effector to forward direction. Move to position good to grip Work, and
select Grip at Pendant and then close the gripper.
309
310
ED-7255
14) Lift Work with Z axis higher than height of the cup using 'Z' button of the
Pendant.
15) Add a robot command as follows, to return to the original JPOS1 position.
16) Move End-Effector that picked up Work over the Z axis of the cup.
311
312
ED-7255
17) After Type J Teaching using 'Add Position', add robot command language.
18) Place Work into the cup using Z command in Manual Mode.
19) After Type J Teaching through 'Add Position', add robot command
language.
In the case that the robot was taught that its gripper could enter inside the cup, pay
attention that if OPEN command is set to be larger than the cup size, the cup might be
torn.
313
314
ED-7255
21) Take End-Effector out of the cup using Z command in Manual Mode on
Teaching Pendant.
22) Add a robot command as follows, to return to the original JPOS3 position.
23) Since Mission is complete, move the robot to home position using
GOHOME command.
24) Be sure to check for the movement on the simulator. If there is no problem,
download it to perform Mission.
315
316
Practice Task 14
ED-7255
Mission
Perform the following command language and write comment.
PROGRAM
DIM VAR1,VAR2,VAR3
VAR1 = 1
GOHOME
LABEL1 : MOVETO JPOS2, S=20
OPEN 40
VAR2 = (5-VAR1)*(-25)
VAR3 = (((VAR1+1)/2)*25)+50
IF VAR1 == 50 THEN GOTO LABEL2
IF VAR1 MOD 2 == 0 THEN GOSUB BB ELSE GOSUB CC
VAR1 = VAR1 - 1
GOTO LABEL1
LABEL2 : MOVETO JPOS2,S=20
GOHOME
END
SUB BB()
MOVE L,(0,0,VAR2), S=10
OPEN 22
MOVETO JPOS2, S=10
MOVETO JPOS4, S=20
MOVE L,(0,0,(-VAR3)), S=10
OPEN 40
MOVE L,(0,0,VAR3), S=10
DELAY 500
ENDSUB
SUB CC()
MOVE L,(0,0,VAR2), S=10
OPEN 22
MOVETO JPOS2, S=10
MOVETO JPOS6, S=20
MOVE L,(0,0,(-VAR3)), S=10
OPEN 40
MOVE L,(0,0,VAR3), S=10
DELAY 500
ENDSUB
317
318
Writing comments
ED-7255
Practice Task 15
Mission
There are 3 Works in a row as shown in the figure below. Write a program to place
work on the top at Position A, the second work at Position B, and Work on the bottom
at Position C.
319
320
``
Starting Practice
ED-7255
````````
321
322
ED-7255
5. After placing Work at Position A, not to touch other Work, get End-Effector
to Z direction at Position A through linear movement and then pick up the
second Work.
323
324
ED-7255
325
326
ED-7255
13. Not to touch other Works, lift End-Effector through linear interpolation at Z
direction.
Practice Task 16
Mission
Write program to put blocks of odd number at Position A on Position B and put
blocks of even number on Position C using robot command language IF-THEN-ELSE
as shown on the following figure. However, use Sub Function for specific parts.
Conditions
1. Designation of position for A, B, C place
2. Area repeat using LABEL
3. Writing program using DEPART
4. Application of O.5ms delay for each motion for clarity of each motion
5. Move moving velocity to velocity 20.
6. Mark comment for each sentence structure of the program.
327
328
Program
ED-7255
Starting Practice
1. There are 1~4 Works as shown in the figure below.
329
330
Practice Task 17
ED-7255
Hanoi Tower
Puzzle
Long long time ago, there was a Brahman big temple on Ganges River in India, and
there was a big circle tower that indicated the center of the world. In front of the tower,
There were 3 diamond pillars of about 50cm high on a copper plate. 64 circular plates
with different sizes are piled up onto one pillar.
"From now on, move circular plates in a pillar to other pillar making use of these
three pillar. However, one circular plate at a time, and never put a larger one on a
smaller one. From now on, obey my order, and never neglect your mission even for a
moment. If you do, temple and tower will be destroyed and the world will be ended. If
you do neglect your mission, the world will be in peace until you move all of these
circular plates."
Above details are the legend of Hanoi Tower/Brahman tower. To summarize this
puzzle;
1. There are three pillars.
2. n circular plate(s) with different sizes are piled up in the order of bigger one at
one pillar among three pillar.
3. Move n circular plate(s) to other pillar in a same shape and order.
Explanation
4 disks will be raised as an example. The sequence goes from left to right in this
textbook.
331
332
ED-7255
Starting Practice
Place Work as shown in the figure below and then solve the puzzle of Hanoi Tower.
Program
333
334
ED-7255
Part 7
Toubleshooting
335
336
ED-7255
Part 7. Toubleshooting
=>
=>
Press UP key or DOWN key and check that No. 1 axis moves.
The motor must operate while UP key or DOWN key is being pressed, and
stop when it is released. When the motor stops, the angle value displayed on
the pendant must change to the relevant angle value.
Perform the above to procedures for all the axes.
337
338
ED-7255
=>
=>
Press 1-key or ENTER key so that the robot moves to the hard home.
Check that the robot moves as it vertically stands and the gripper can extends
to the maximum width.
Part 7. Toubleshooting
Code
name
Description
Problem
Cause
A01x
Overcurrent
Alarm
Problem
Cause
A02x
Following
or
Overrun
Alarm
339
340
Problem
ED-7255
Cause
A03x
Encoder
Data
Alarm
Problem
A04
Soft Limit
Alarm
Cause
Solution
Problem
Cause
A05
Encoder
Connect
Alarm
Solution
Part 7. Toubleshooting
Problem
Cause
A06
ROM
Write
Alarm
EEPROM failure
Correct the encoder cable to the robot, fasten it with
a screw, and retry the writing.
Solution
Problem
ROM
Read
Alarm
Cause
EEPROM failure
Correct the encoder cable to the robot, fasten it with
a screw, and restart the system.
Solution
Problem
ROM
Data
Alarm
Cause
EEPROM failure
341
342
ED-7255
Code name
Description
S01
Unusable
Statement
editing Error
Cause
S02
Unusable
Operator
editing Error
Cause
S03
Condition
Variable
editing Error
Cause
S04
Next
Statement
editing Error
Cause
S05
Not Exist
Project Load
Error
Cause
Cause
S06
S07
S08
S09
Not Exist
Project Folder
Load Error
Solution
Cause
Solution
Can't Open
Project Folder
Load Error
Can't Open
Project File
Load Error
Host is
Connected
Operating
Error
Cause
Solution
Cause
Part 7. Toubleshooting
S10
Script Syntax
Compile Error
Cause
Cause
Cause
S11
Not Exist
Position Error
S12
Statement is
Not
Completed
Statement
Error
Cause
Solution
S13
Not EMSTOP
State Mode
Error
Cause
S14
EMSTOP
State Mode
Error
Cause
S15
First Position
Statement
editing Error
Cause
S16
First Character
editing Error
Cause
S17
Extra Motor
Config Error
Cause
S18
Position File
Open Error
Cause
S19
Position Data
is Empty
Cause
S20
Save Position
Data Error
Cause
343
344
S21
ED-7255
Select Wrong
Axis
Cause
Part 7. Toubleshooting
Appendix
345
346
Appendix .
ED-7255
Appendix
Ford Motors used first the Unimate to unload the die-casting parts. Initially, it did
not receive treatment as a robot and it only was named as Universal Transfer Device,
but finally, after over 8,500 sets were used, it was given the honor of the first robot.
Unimation's ongoing study produced the 1978 vertical articulated PUMA
(Programmable Universal Machine for Assembly). Following Japanese Yamashini
University developed a horizontal articulated robot, SCARA (Selectively Compliant
Arm for Robotic Assembly) used in high speed/high precision electronic components
assembly, and Direct-Drive Robot, which in the future looks to grow with even more
importance was developed at Carnegie Mellon University in 1981.
347
348
ED-7255
The body includes a shoulder which moves the arm to a desired position, and plays
a role in supporting the manipulator. The body, depending on whether the movement,
is divided into Manipulating Robot with a fixed body, and Locomoting Robot
movable.
Arm provides the wrist and hand to a desired position. The arm is composed of
Upper Arm, Lower Arm, and Elbow. It can also be divided into the followings,
according to the shape and movement of the arm. Wherein, P stands for the linear
motion (Prismatic), and R stands for the rotational motion (Revolute).
(a) Rectangular: The arm moves straight along the orbit of the body and shoulders.
(b) Cylindrical: The arm moves back and forth, and only does rotation and linear
motion with respect to the body.
(c) Spherical: The arm moves back and forth, and only does rotation motion
up-down and right-left with respect to the body.
(d) Articulated: The arm, using multiple joints, does a combination of straight and
rotational motion up and down, side to side.
Appendix
(b) Cylindrical
Wrist plays a role of moving the hand in the direction of where a user wants to.
Wrist usually performs three RPY movements, that is Roll, Pitch, and Yaw. Wrist,
according to the shape and motion of the wrist, can be classified as follows:
(a) Prismatic: 3 right-angle joints move back and forth, right and left, up and down,
all of which combinationally make the roll motion
(b) Revolute: 3 rotary joints performs RPY motion.
(c) Mixed (Prismatic / Revolute): Composed of 2 right-angle joints and 1 swivel
joint. The former right-angle joints are responsible for the pitch and yaw
movements, and the latter rotary joint is responsible for the roll motion.
349
350
ED-7255
(a) Prismatic
(c) Prismatic/Revolute
(b) Revolute
B) End Effector : This part is structurally connected to the last joint of the robot, to
manipulate objects and interact with other machines or perform tasks. In general,
robot manufacturers do not design or sell this end effector only, but most of them sell
a simple Gripper (tongs). In general, a robot hand is a special purpose-designed end
effector, and can be combined with any other system.
(a) Vacuum-Lift
(b) Painting
(c) Welding
(e) Gripper-2
(f) Gripper-3
(g) Gripper-4
(d) Gripper-1
(h) Fork-Lift
Appendix
E) Sensors : The sensor gathers information about robot's internal state, and is used
to communicate with the external environment. Like a human, a robot controller needs
to know how well the position of each link of the robot, to know the status of the robot.
To this end, the sensor sends the information about each link and joint to the robot
controller, which determines the status of the robot.
351
352
Appendix .
ED-7255
Kinds of robot
There are many types of robots according to shape, structure,
elements, etc of a robot, and robots are divided into industrial and
home (service) robot in accordance with purpose of a robot. In this
chapter, we will study about shape and structure of industrial and
home (service) robot.
Appendix
Robots that are used for handling process with fixed starting point and end point,
and path are called as pick & place robot or sequence type robot. As shown in Figure
Appendix 2-1, this kind of robot is used for the process with 2 degree of freedom that
requires only simple movement on a flat surface, and one direction movement with
only one degree of freedom. Gripper is mounted on one side and End-effector on the
other side to pick up object in a deep place.
Apick & place device has fixed motion order and path or movement angle.To
change any of thess, replace or readjust the parts. basic motions of pick & place robot
are 'Pick-up, 'Transfer', and 'Placing' as shown in Figure Appendix 2-2.
353
354
ED-7255
Demerits
Only one direction is available for a time.
Any movement out of working space may cause damage by robot supporting
structure.
Maintenance of several models with Overhead driving mechanism and control
device is difficult.
(3) applications
Auto mounting of CNC and milling
Surface finishing process
Appendix
355
356
ED-7255
Demerits
Control system is complicated.
Mechanical rigidity is lower than rigidity of cartesian coordinate-type robot in
order to bear inertia due to gravity of rotation axis.
Maintenance of several models with Overhead driving mechanism and control
device is difficult.
(3) applications
Coating, assembly, and general transportation
Precise semi-conductor wafer transfer device
Mounting and dismounting of precise parts
Casting, injection molding
Appendix
Demerits
Since programming is complicated, very precise control is required.
Stability reduces when it approaches max range of 2 axes, 3 axes.
(3) Applications
Field of auto assembly, die casting material cutting
Field of inspection of semi-conductor parts and parts mounting dismounting
Field of painting and glue coating process
Field of precise welding
(1) Definition
Vertical articulated robot works in workspace in irregular shape and it has two basic
shape, in other words, vertical and horizontal shape. Vertical joint robot is capable of
3 rotational motion to reach at any place on space. this design is similar with two link
and human shoulder and elbow, and the robot rotates base against Z axis to place wrist
at desired point in space. the first rotation is against base, the second rotation is against
shoulder of horizontal axis, the last movement is rotation against elbow. It is rotation
against horizontal axis, but this horizontal axis can exist at any position in space by
base and shoulder rotation.
357
358
4-axis
motor
ED-7255
5-axis 6-axis
motor motor
3-axis
motor
2-axis
motor
1-axis
motor
Workspace is circle in a view from the top of the robot, and it has sector-shape
inside due to limitation of joint movement in a view from the side. shape of this robot
is good for quick-velocity movement toward various directions, and it can approach
given position by various angles. Therefore, this robot is very useful applied to
painting and welding.
Appendix
Merits
High speed, high performance, and high reliability
Wide workspace.
Use of AC servo motor with easy maintenance
Demerits
Needs design of optimum individual unit against pay load.
Since programming is completed, it needs very precise control.
(3) Applications
Auto assembling and ARC welding fields
Precise and heavy load transfer field such as loading process, etc
359
360
Appendix .
ED-7255
Introduction to FA System
FA : Factory Automation
Automation system, using a computer and other equipments, to
determine information about from the production plan to the various
processes including parts processing, assembly and shipment of products
for the factory-awarded products, as well as perform the effective
management and control of the entire production system.
1. FA System
In the form of factory automation, Flexible Manufacturing Cell (FMC) is made up,
using individual computer-controlled Computer Numerical Control (CNC) machines,
by the combined capabilities of these machines; and, for more developed one, Flexible
Manufacturing System (FMS) is formed so that a computer operates a combined form
of some FMCs, transporting robots, and an automated warehouse.
In recent years, a new production system, Computer Integrated Manufacturing
(CIM) concept is being introduced, which integrates the entire plant, including the
manufacturing sector and engineering sector, with the management system by
organically combining the automation systems in the manufacturing sites, under a
centralized communication network,
Appendix
Production plan
Production
management
Support CAD/CAM
and CAE
2) Configuration of FA
Factory automation system can be classified according to the configuration scheme
as follows:
361
362
ED-7255
Larger division
Sub-division
- CAD/CAM
- CAE
- Digital expression of CAD output for
outsourcing management
- FMC/FMS
- NC/CNC machine
- Industrial Robot
Transportation and
warehousing technologies
Test technologies
- Automatic loading/unloading
- Automatic guided vehicles (AGV)
- Material test at the time of introduction
or manufacture
- Final product test
- LAN
Information system
technologies
System integration
technologies
- CIM
Appendix
Fields of automation
technologies
Elementary technologies
- Computer aided design (CAD)
Design automation
Processing automation
- NC machine
- Injection molding
- Computer for FA
Assembly automation
- Assembly robot
- Sensor
- Inspection robot
- Automatic loading/unloading
System integration
3) Effects of FA
Factory automation technology has replaced simple repetitive tasks in the
production line to reduce the work force. In addition, factory automation technology
has increasingly replaced more complex works at high speed to reduce the workforce
in the production line.
Since workers in charge of production avoids 3D works (Dirty, Difficult, and
Dangerous) and the labor costs increase, the factory automation has been extended
widely.
In recent years, factory automation is spreading fast with the changing patterns of
consumer demand. For example, due to increased demand for diversification in the
needs pattern of consumers because of increases in income, it is inevitable that a
production system is changed into the small quantity batch production system. In
terms of supply and demand of laborer resource, supply and demand of labor is
becoming difficult while increasing living standards. In addition, since workers'
wages continue to rise at a rapid pace, in the company's position, factory automation
must be forced to pay attention, so as to solve such problems.
Reasons why companies want to achieve the factory automation are the following
factors.
363
364
ED-7255
Appendix
365
366
Appendix .
ED-7255
Introduction to
Flexible Manufacturing System
Appendix
Among them, 20-25% of these are located in the United States. As an ever-increasing
importance of flexibility in the production system, FMS is expected to further
increase.
367
368
ED-7255
Appendix
(1) workplace
The processing or assembly equipment used in FMS is determined depending on
the kind of works that are performed by the system. In a system designed for the
cutting process, the main equipment of the processing workplace will be a CNC
machine. However, the concept of FMS can be applied in a variety of processes.
These are the kind of workplace typically used in FMS.
A) Loading /Unloading workplace: Loading/Unloading workplace is the physical
boundaries between FMS and the rest of the plant. Raw material comes into the
system at this point, and the final product will be sent to the outside the system
at this point. Loading and unloading can be done by the manual or automatic
handling system. Loading/Unloading workplace shall be designed to easily
and safely handle the workpiece. If certain parts are too heavy for a worker to
lift, a crane or other device must be installed to help the workers. The loading
/unloading workplace shall include data input and output devices for
communication between the workers and the computer system. That is
because, depending on production schedules, work orders for parts to be
attached to a next pallet must be delivered to the worker.
B) Cutting processing workplace: One of the FMS's most common applications is
the cutting process, and the equipment used is absolutely CNC machine tool.
The most common is a CNC machining center. CNC machining center has the
ability to have multiple attributes appropriate for FMS, the machining center
including, for example, an automatic tool changer (ATC) and tool storage, use
of the pallet workpiece, and CNC and distributed numerical control. It is
369
370
ED-7255
general that the machining center is often introduced with APC (Automatic
Pallet Changer) which can be directly linked with FMS material handling
equipment. In general, the machining center is used for non-rotating parts,
while a turning center is used for rotating parts.
C) Other processing workplace: FMS concept has been applied to other machining
processes as well as the cutting process. One of this process is the sheet
forming process. This processing workplace is made up of press work, such as
punching, shearing, bending and forming processes. In addition, FMS has been
developed to automate the forging process. The forging workplace mainly
consists of a heating furnace, a forging press, and a trimming workplace.
D) Assembly workplace: Some FMS is designed to perform the assembly process.
Flexible automatic assembly system was developed to replace the manual labor
in batch-based product assembly. Industrial Robot is frequently used in these
automated assembly workplace, and is programmed so that the diversity forms
in the working sequence and the motion modes in order to cope with multiple
product types. In addition, automatic parts insertion machines are used
extensively in the electronics assembly.
E) Other workplace and equipment: By including the inspection process in the
processing workplace, or by using a method including specifically designed
workplace, the inspection workplace can be included in the FMS. A
three-dimensional measuring instrument, a special probe that can be used in a
machine spindle, and a machine vision inspection equipment can be used for
inspection in FMS.
Appendix
- Linear Flow: Being relatively simple, this has the limitation in terms of
flexibility, but has the advantages of easy control and inexpensive prices. This
is suitable for vehicles, such as a conveyor, rail-guided vehicle, and
auto-loader, and may be use a stacker crane in an automatic warehouse.
371
372
ED-7255
- Robot-coupled: This is the smallest unit of FMS approach. Based on the unit
machines, such as NC lathes, machining centers, NC grinders, the workpiece
can be loaded/unloaded by using a robot.
Appendix
1) Processing
The feature of a robot for processing use is that it uses a particular tool attached to
its end-effector. Works belonging to the processing domain are as Spot Welding, Arc
Welding, Spray Painting, Waterjet Cutting, etc.
373
374
ED-7255
This is used mainly for a side panel sector, a cowl panel sector, a rear panel sector
of the automobile production process.
Appendix
2) Assembly
In the United States, Westinghouse Electric carried out a project called "Adaptable
Programmable Assembly System (APAS)". Examining the configurations of such
project: Six workshops (Workstation) equipped with a robot is established. If an outer
portion of a motor is loaded by a loading station, then motor model is recognized by
using a visual instrument. If the model of the motor is recognized, abnormalities of
the part of the motor is inspected by a visual instrument at different four work stations.
Then, the robot classifies the assembled motor by the model. Raising examples of
application: a horizontal articulated robot assembling a fly wheel to VTR deck
chassis, a Cartesian robot screwing the magnetic contactor, or a horizontal articulated
robot assembling VTR top cover.
375
376
ED-7255
3) Material Handling
Material handling in FMS plays a role in, using the robot, loading or unloading
workpiece to be processed to or from CNC machine, or neatly stacking the
box-shaped objects on a pallet, according to pre-defined sequence. As examples in
Korea, in FMS in Daewoo Heavy Industries, an articulated robot is used to
automatically load and unload the workpiece to and from two CNC lathes according
to the specific order, and a Cartesian coordinate type robot palletizes.
Appendix
Appendix .
Introduction to PLC
1. Introduction to PLC
1) Definition of PLC
PLC (Programmable Logic Controller) is a high autonomy control, which replaces
conventional relay, timer, counter, or the like used in a control panel, with
semiconductor devices, such as transistors or LSI. With PLC, the program control
may be possible, by adding mathematical operation functions to the basic sequence
control function.
NEMA (National Electrical Manufacturers Association) defines the PLC as
"Digital electronic device which uses programmable memory and controls various
kinds of machines or processors, in order to perform special functions, such as logic,
sequencing, timing, counting, and operation, by using a digital or analog input/output
module."
2) Application of PLC
According to the needs of facility automation and high efficiency, PLC is
expanding its application scope increasingly. In particular, needs according to factory
automation and FMS (Flexible Manufacturing System) are widely applied to: from
the past mid- or large-sized relay control panel substitution effect, to the present
small-scale machine tools and the large system installations due to the trend of
high-functionality and high-speed.
The following will show the PLC application in accordance with the objects to be
controlled.
377
378
ED-7255
Fields
Objects to be controlled
Foods
Automotive Industry
Machinery Industry
Water Supply
Logistics Industry
Plant
Compressor Control
Industrial Pollution
Prevention
2. Structure of PLC
1) Hardware structure
(1) Overall structure
PLC is composed of , a central processing unit (CPU) made up of a microprocessor
and memory that acts as the human brain, an input/output section which exchanges
signals with external devices, a power supply, and a peripheral device which records
the program in the memory of PLC.
Appendix
Content of memory
The memory of the PLC includes 3 types of a user program memory, a data
memory, and a system memory.
The user program memory is the area where a user-written program is stored,
according to the system specifications. Content to be controlled can be changed even
before or after the completion of the program, and at this case RAM is used. When the
program was completed and fixed, it can be recorded, and operated, in ROM.
The data memory is the area where information of input/output relay, auxiliary
relay, and contact status, setting values, and current values of timers and counters is
stored. Since the information is often changed, RAM is used for the purpose.
The system memory is the area that stores a system program written by PLC
production company. The system program is an important program which determines
the functionality or performance of PLC, which is directly recorded in ROM by PLC
production company .
379
380
ED-7255
Input section
This delivers the signal from the external devices to the operating section of CPU.
Input type may be DC24[V], AC110[V], etc. and other special input module may be
an analog input(A/D) module, a high speed counter module, etc.
Output section
This delivers the results of internal operation to an external electromagnetic
contactor or solenoid in order to drive it. Output type may be relay output, transistor
output, SSR(Solid State Relay) output, etc. and other output module may be an analog
output(D/A) module, position determination module, etc.
The relay output may use both AC and DC, but its mechanical life span is limited.
Thus, if the contact operation is frequent, it is preferable to use non-contacting SSR
output for AC source or transistor output for DC source.
2) Software structure
Appendix
381
382
ED-7255
Flowing up-down is
prohibited
3) CPU operation
(1) Operation method
Input refresh
Operation
Self-test
Output refresh
After input refresh, the 0 step of program up to End is performed, and self-test and
the output refresh are performed. Since then, the same behavior from input refresh are
repeatedly performed.
A) Input refresh: Before performing the program, the input data is read from an
Appendix
input unit and the bulk of the input data is stored in the input area of the data memory.
B) Output refresh: After the program has been performed, the data stored in the
input area of the data memory is collectively output to an output unit.
C) When using the immediate input/output command: During running the program,
the input/output is refreshed for the input/output card established by the command.
D) When OUT command of the output has been executed: The calculation results
of the sequence program are stored in the output area of the data memory, and after
END command has been executed, the relevant contact is closed or open (ON or OFF)
at output refresh.
1 Scan: A series of action that reads, before performing the program, the input
data from the input unit and collectively stores it in the input area of the data memory,
executes from 0 step to End of the program, performs self-test, timer and counter
operations, etc., and collectively outputs the data in the input area (P) of the data
memory to the output unit.
4) Principle of PLC
PLC controls, according to the user program, the external input/output devices
connected to a main body. Thus, for the exact operation, we shall understand the
correct connection of the input/output devices, program, and features of PLC control.
Mnemonic
Letter-based language in the form of Assembly language. Primarily used for a
simple logic programming using a portable programming tool(Handy Loader).
383
384
ED-7255
Ladder
Most widely used, figure-based language, similar to the relay logic, in which the
logic is expressed in the form of a ladder, without the power source
Appendix
Div.
Relay
logic
PLC
logic
A- contact
B- contact
C- contact
Output
coil
Applied
command
Description
None
385
386
ED-7255
Appendix
This circuit retains the continuous lamp output(P10) by the contemporary switch
input(P00).
387
388
ED-7255
Appendix
Appendix .
What is motor?
Motor is to get rotation or rectilinear motion power by converting
electrical energy to mechanical energy. It is a small and light motor
with easy starting and operation, easy to select type and model
proper to load, small noise and vibration, no contamination due to
exhaust. In this chapter, we will understand the structure and
principle of motor Actuator of general robots, and study about robot
motion using DC motor.
1) DC motor
(1) Basic knowledge
Basic principle of DC motor
As shown in Figure 5-1, make DC current flow to coil a, b, c, d between magnetic
pole N, S through brush B1, B2, commutator C1, C2 , up/down force will generates at
each coil a, b and c, d (Fleming's left-hand rule). Finally, torque CW generates and
whole coil rotates CW.
389
390
ED-7255
Appendix
Switch TR1 and TR2 to PWM mode, turn TR3 OFF, and turn TR4 ON to make
voltage supplied to the motor to become +E or 0 electric potential. On the contrary,
switch TR3 and TR4 to PWM mode, turn TR1 OFF, and turn TR2 ON to make
voltage supplied to the motor to become -E or 0 electric potential. Like this, counter
rotary direction control of motor is possible with single power.
391
392
ED-7255
PID control
A kind of feedback control to have system output to maintain reference voltage
based on error between control variable and reference input. It is a combination of
proportional control and proportional integral control, and proportional derivative
control. P control(proportional) generates control signal by multiplying error signal
between reference signal and current signal by proper proportional constant gain. I
control(proportional integral) connect integral control that generates control signal by
integrating error signal to proportional control in parallel. D control(proportional
derivative) connect derivative control that differential error signal to make control
signal to proportional control in parallel. The control method not only measure
response of automation system but also used for response control, control of
temperature, pressure, flux, and rotation velocity, and it can improve problem of PI or
PD control such as characteristics in transient state.
Appendix
Proportional(P) control
Proportional control is a control method that slowly control manipulated variable to
become a proportional size to difference between target value and current position.
Doing like this, when it approaches target value, it can provide delicate control by
minutely approaching target value as shown in the following figure.
PI control
We may think that proportional control is enough. However, there will a problem
when control amount approaches target value.
At that time, manipulated variable becomes too small, and minute control is not
possible. As a result, it becomes stable at the status of control amount at the nearest
target value. In this status, it is near target value, but it never coincide with control
amount even after long time after. We call this small error as "offset". integral control
is used to get rid of this offset. In other words, small offset accumulate time after time,
increase manipulated variable at a point to get rid of offset.
Like this, control that adds integral motion to proportional motion is called as PI
control.
393
394
ED-7255
Appendix
(integral clause)
(derivative clause)
In symbol;
MVnMVn1MVn
MVnKp(enen1)Ki enKd((enen1)(en1en2))
395
396
ED-7255
Draw a tangent on a rising curve as shown in the above figure, and get 3 values of L:
loss time T: time constant K: normal value at intersection point between that and axis
and 2 points with value that is relevant to 63% of normal value.
From this value, each parameter can be achieved as shown in the table below.
Appendix
control motion
classification
Kp value
Ki value
Kd value
proportional control
0.3~0.7T/KL
PI control
0.35~0.6T/KL
0.3~0.6/KL
PID control
0.6~0.95T/KL
0.6~0.7/KL
0.3~0.45T/K
Even though there is a range for this parameter, this difference by the size is shown
by the difference of the characteristics. As shown the figure below, in case of big
parameter, derivative, integral effect becomes quickly effective. Therefore, overshoot
like larger graph than target value of the following figure sticks out. In case of smaller
parameter, it becomes like characteristics of line that is smaller than target value.
Principle of encoder
What is rotary encoder?
It is a device to detect motor rmp and rotation velocity.
There are incremental type and absolute value type for encoders.
397
398
ED-7255
Incremental type
Structure plan of A, B output-type incremental encoder with Zero-phase signal Z.
[Figure Appendix 7-10] Incremental encoder structure [Figure Appendix 7-11] Output wave form
Ray-tracing beam from LED goes through slit on rotation disc, pass each slit that is
relevant to A, B, Z on a fixed slit plate and it is detected by A, B, Z photo detector. A,
B slit on the fixed slit plate is arranged to have 90of phase difference, electrical signal
output with arranged wave form also becomes square wave with 90of phase
difference.
Incremental encoder is low-priced and has simple structure. Futhermore, since the
number of output cable is few, signal transmission is simple. output pulse of encoder
does not show absolute value of rotation position of axis but number of pulse
proportional to rotation angle of axis will be achieved. In case of marking of absolute
value, it will be marked as encoder output pulse is accumulated at the counter. Since it
has demerits of accumulating noise during signal transmission at a counter, we need to
set up enough measures against noise. Added to that, in case of power failure, re
supply of power won't enable displaying of origin position. Therefore, extreme care
must be taken. Because incremental encoder generates only pulse heat, in order to
achieve analogue signal to detect rotation velocity, we need to convert the number of
output pulse of encoder to analogue signal proportional to pulse frequency. Generally,
arrange 2 light choppers at 1/4phase difference in order to increase rotation direction
detection and resolution of incremental type encoder. As shown in Figure 2-11, when
wheel rotates CW and CCW, there is wave form from photo interrupter. rotation
direction can be decided by using each photo interrupter is named as channel A and
channel B, signal wave form of these two channels.
Appendix
399
400
ED-7255
2) Step motor
Phase A of the stator is magnetized to pole N pulled to pole S of the rotor . After
this, when phase B is magnetized to pole N and release magnetization, rotor will be
pulled to face phase B rotate 90rotation CW and stop. Change magnetizing pole to
phase A, phase B,
phase,
phase in order, step motor keeps rotating and stopping.
Appendix
401
402
ED-7255
Control circuit of a step motor is divided into tow parts. One is excitation signal
generator that supply pulse to generate excitation signal of each phase, and the other is
driving circuit that receives signal to flow excitation current to the winding. The micro
controller generates direction signal and pulse heat.
Main control module has built-in step motor driving circuit. Therefore, all we have
to do for driving is to connect motor with 16-pin flat cable . L297 is used for IC
excitation sequence generator, and SLA7024M is used for current driving part. Input
only direction signal from micro controller, and pulse heat that is relevant to rmp to
rotate a step motor.
Appendix
3) RC motor
403
404
ED-7255
Appendix
Since RC servo motor control pulse is output at main control module, motor control
is available. Connect main control module and RC motor module with a 16-pin flat
cable to control 2 RC servo motors.
405
For your own Unlimited Reading and FREE eBooks today, visit:
http://www.Free-eBooks.net
Share this eBook with anyone and everyone automatically by selecting any of the
options below:
COPYRIGHT INFORMATION
Free-eBooks.net respects the intellectual property of others. When a book's copyright owner submits their work to Free-eBooks.net, they are granting us permission to distribute such material. Unless
otherwise stated in this book, this permission is not passed onto others. As such, redistributing this book without the copyright owner's permission can constitute copyright infringement. If you
believe that your work has been used in a manner that constitutes copyright infringement, please follow our Notice and Procedure for Making Claims of Copyright Infringement as seen in our Terms
of Service here:
http://www.free-ebooks.net/tos.html