Download as pdf or txt
Download as pdf or txt
You are on page 1of 399

Part 1.

Introduction to Product
1

5-Axis Arm Robot Trainer


ED-7255

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
5-Axis Arm Robot Trainer ED-7255
8

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

[Figure 1-1] Constitution of Vertical Articulated Robot System

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
Part 1. Introduction to Product
9

Simulator for writing a control program based on the industrial language


which is easy to learn
Functions of writing, executing, and debugging a control program by using a
robot simulator
Simulation of a robot control program using a 3D graphic simulator
Synchronization of a simulator and a robot, and real-time interlock of them
a motion controller is mounted, to which the motion control approach used in
industrial fields is applied.
Real-time control with regard to each axis is possible, because the high
performance embedded CPU is applied
Remote control function available because of application of an Ethernet
interface
Two kinds of grippers are supplied, which may grip the 80mm-wide objects
Motion can be done without the home searching owing to the absolute-type
position sensor employed on each axis
Function of emergency stop is provided to the robot controller and teaching
pendant
Over-load on a motor can be prevented by means of over-current sensing at
each axis
PID gain tuning and real time control for each axis
Extendable 2-axis and digital/analog input/output ports supplied
Safety devices for a robot system (an emergency switch, short-circuit
protection, and overheating detection)

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
5-Axis Arm Robot Trainer ED-7255
10

foreign substance, remove it.


5) Remove the objects located within the moving radius of a robot.
6) Do not operate the robot arm with a black cap, mounted on each joint of the
robot arm, opened.
7) Setting a hard home of the robot arm shall be supported by our company.
8) Avoid using this equipment in a humid place.

1-4. Checking Constituents


Please confirm that the following constituents are all included in the package when
you unpack the product.

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

※ To install ED-IRS(ED-Industrial Robot Simulator) in a PC, the following


system environment is required.
- O. S. : Windows XP or higher
- Memory : 516MB or more
- HDD : 100MB or more
Part 1. Introduction to Product
11

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.

1-5. Constitution and Features of Product

[Figure 1-2] Constituents of Product

1-5-1. Robot Arm

This robot has 5 axes for a base, shoulder, elbow, wrist pitch, and wrist roll, all of
which are driven by DC motors. To the wrist, a DC motor-driven gripper is attached.
The construction and the name of each part of the robot are represented in [Figure
1-3].
The 6 DC motors respectively have a reduction gear and an encoder which is
attached to a real axis. The reduction gear reduces the rotating speed of a motor to
5-Axis Arm Robot Trainer ED-7255
12

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.

[Figure 1-3] Motor Positions and Names of Robot Arm

Mechanical specifications of a robot arm are listed in [Table 1-1].


Part 1. Introduction to Product
13

Vertical Articulated Robot Description


Subject Description
Construction Vertical Articulated Arm
Number of Joint 5 Rotational Axis + 1 Gripper
Load Capacity 1.0kg

Axis1(Base Rotation) : ±170°


Axis2(Shoulder Rotation) : -90/+30°
Motion Maximum
Axis3(Elbow Rotation) : 0/-135°
Range
Axis4(Wrist Pitch) : -110/+90°
Axis5(Wrist Roll) : ±160°

Robot Length max. 802mm


Movement
750mm/sec
Maximum Speed
Gripper Opening 80mm
Precision ±1.0°
Position detecting
Absolute encoder
type
Homing Absolute encoder Based
Actuator 24V DC Motor
Mass 9.5kg
Operating
2°C - 40°C
Temperature

[Table 1-1] Mechanical Specifications of ED-7255

Primary electrical components of a robot arm are as follows.


• DC Motor: 5 axes and fingers can move right and left, up and down
according to the rotation direction of DC motors. The rotation direction of a
DC motor varies as being supplied positive or negative voltage from a
controller. Additionally, each of the 5 axes and the gripper respectively
include an absolute encoder therein.
• Encoder : Encoders employed to the 6 motors continuously detect the position
of each joint, rotation direction, and rotating speed of a robot arm.
• Cable : Control Box and ED-7255 are connected with a DC motor parallel
cable and an encoder parallel cable. Teaching Pendant and Control Box are
connected with RS-232 cable and PC and Control Box are connected with
Ethernet cable.
5-Axis Arm Robot Trainer ED-7255
14

A mechanical plan view with dimensional measurements of a robot arm is


illustrated in [Figure 1-4], and its work space is as in [Figure 1-5].

[Figure 1-4] Plans and Measurements of Vertical Articulated Robot


Part 1. Introduction to Product
15

[Figure 1-5] Work Space of Vertical Articulated Robot


5-Axis Arm Robot Trainer ED-7255
16

1-5-2. Robot Controller

A robot controller is a component which creates control signals for robot arm
operation. As shown in [Figure 1-6] and [Figure 1-7], it is connected to a computer
(host), a teaching pendant, and a robot arm. The robot controller employs LED
showing the product status, LCD showing the operation status of the product,
Emergency Key for emergency stop of a robot arm, Ports for control of external
motor, and Analog and Digital I/O ports for interlock with the external devices. For
the detailed information on that, refer to the following figures and description.

[Figure 1-6] Front View of Robot Controller

[Figure 1-7] Rear View of Robot Controller

① 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.
Part 1. Introduction to Product
17

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

[Figure 1-8] Extra Motor Port

ⓐ Pin No.1 : Negative(-) of extra motor


ⓑ Pin No.2 : Positive(+) of extra motor
ⓒ Pin No.3 : Ground of extra motor
ⓓ Pin No.4 : Supply voltage(5V) of extra motor
ⓔ Pin No.5 : B Phase of extra motor
ⓕ Pin No.6 : A Phase of extra motor

Robot controller's specifications of this product is as follows.


5-Axis Arm Robot Trainer ED-7255
18

Robot Controller Description


Subject Description

Control type Real-Tme,PID,PWM

Number of control
6-Axis + 2-Axis(Peripherals)
axes

Path control type Joint, Linear

Power source 110/220 VAC, 50/60Hz, 160W max.

Communication Ethernet

8 Digital Inputs : 24V


External input
4 Analog Inputs : 0-12V(8 Bit Resolution)

8 Digital Outputs : 24V / 20mA


4 Relays : SPDT/250VAC-2A/30V-2A
External output
4 Analog Outputs : 0-12V(8 Bit
Resolution) / 10mA

External source +12VDC Power

[Table 1-2] Controller specifications of ED-7255

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].
Part 1. Introduction to Product
19

[Figure 1-9] Controller hardware architecture

5 6
8

10
3

7
4
2

[Figure 1-10] ARM control board configuration

Primary components of the robot controller are listed in [Table 1-3] and their
detailed specifications are shown in [Table 1-4].
5-Axis Arm Robot Trainer ED-7255
20

No. Name

1 CPU(S3C6410)

2 mDDR SDRAM

3 Nor Flash

4 NAND Flash

5 JTAG Connector

6 JTAG S/W

7 Ethernet(CS8900)

8 Reset S/W

9 USB (OTG2.0)

10 Dip S/W (Bootloader)

[Table 1-3] Hardware specifications of controller board


Part 1. Introduction to Product
21

[Table 1-4] Hardware specifications of controller board

Robot controller's input/output terminals are connected to the external input/output


devices and sensors so as to interlock with a vertical articulated robot. To do so, a
control program can be written in a simulator.

① Digital input section

This delivers the signal from external devices to an embedded processor in the
robot controller. The input section recognizes 24VDC signal, and the simulator can
check the input status. An input section circuit in the controller is shown in [Figure
1-11].
5-Axis Arm Robot Trainer ED-7255
22

[Figure 1-11] Digital input circuit

② Digital output section

This delivers the result of internal operation of the robot controller to the input of
the external devices in order to control the external devices. The output is
24VDC/20mA signal, and the simulator can control the output status. An output
section circuit in the controller is shown in [Figure 1-12].

[Figure 1-12] Digital output circuit

③ Analog input section

The controller receives from the external devices the signal of 0 to 12VDC, through
the analog input terminal, recognizes the signal level and utilizes the signal for a robot
control program. The signal level can be checked in the simulator.

④ Analog output section

The robot controller delivers the signal of 0 to 12VDC, through the analog output
terminal, to the external devices to apply the signal to the interlock control program
between the external devices and the vertical articulated robot program. The signal
level can be checked in the simulator.
Part 1. Introduction to Product
23

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

(a) Structure of relay (b) Relay control circuit


[Figure 1-13] Relay structure and control circuit

1-5-3. Teaching Pendant

A teaching pendant, which is connected to PENDANT terminal at a front panel of


the robot controller, provides the operation commands to the robot arm. Such
operation commands are executed by 19 input keys, and the input key values or text
streams are transmitted by a microprocessor to the robot controller. To write the
control program and express the status of a vertical articulated robot by using the
teaching pendant, LCD display with 7 lines, each of which includes 20 characters per
line, is provided. Using only the teaching pendant, the robot arm can be controlled and
the control program can be written, and also the control right can be exchanged to the
simulator in a host computer.

[Figure 1-14] Teaching Pendant


5-Axis Arm Robot Trainer ED-7255
24

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.

The teaching pendant has the following 5 operation modes.

① AUTO RUN mode : In this mode, the written program is executed. According
to the execution menu selected, one-cycle execution, line-by-line
execution(Step Run), and repetitive execution can be done; according to the
written program, input/output control, motor control, operation, flow control,
or the like can be executed.
② TEACH EDIT mode : Mode for writing a program. Robot control program can
be written, edited, and deleted, and the existing written program can be
imported to create a new program. In addition, when writing the program, the
robot can be moved to teach the robot's position values.
③ OPERATION mode : The robot can be moved by menas of UP/DOWN key in
the teaching pendant. Movement can be performed with respect to each axis,
or on the basis of XYZ axes.

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.

① Fix a robot arm controller (ED-MC1) at a desired location.


② Connect a motor port/encoder port, located at the rear of a robot base, and a
motor port/encoder port, located at the rear of a controller, through a parallel
cable.
Part 1. Introduction to Product
25

[Figure 1-15] Controller rear connection [Figure 1-16] Robot base rear connection

③ Connect a teaching pendant to the pendant terminal at the bottom of a front


panel of a controller, by using a serial cable.

[Figure 1-17] Connection point to teaching pendant

④ Connect a host terminal at the rear of a controller and a LAN port of a


computer, using an ethernet cable.
⑤ Connect AC 220V or AC 110V source to a power source terminal at the rear of
a controller, through a power cord supplied.
⑥ Fasten the screws of all connector hoods and recheck the overall connection.
⑦ After all the electrical connection is completed, turn on a power switch at the
rear of 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.

① Check that a power LED, which indicates power application, is turned on by


pressing a power switch at the bottom of a front panel of a controller.
5-Axis Arm Robot Trainer ED-7255
26

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

ED-7255 MODULE v2.0


Ready...

④ Press No. 3 key in the main menu of the teaching pendant, and then the
following screen appears.

=> =>

⑤ Press UP or DOWN key to check if No. 1 axis moves.


⑥ The motor must operate only while UP or DOWN key is being pressed, and if
it is released the motor must stop. When the motor stops, the angle value on the
pendant must change to the relevant angle value.
⑦ Repeatedly perform all ⑤ to ⑥ steps above for all axes.
⑧ Press F2 key in a main menu of the teaching pendant to have the following
HOME MENU appear.

=> =>
Part 1. Introduction to Product
27

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

[Figure 1-18] Position of Hard Home


5-Axis Arm Robot Trainer ED-7255
28
Part 1. Introduction to Product
29

5-Axis Arm Robot Trainer


ED-7255

Part 2
Teaching Pendant

2. Teaching Pendant
2-1. Overview
2-2. Use of Teaching Pendant

2
제 장 teaching pendant
5-Axis Arm Robot Trainer ED-7255
30

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.

2-1-1. Operation Mode

Teaching Pendant has four operation modes(AUTO RUN, TEACH EDIT,


OPERATE, PROJECT_UPLOAD, and SYSTEM).

1) AUTO RUN MODE


AUTO RUN MODE is a mode which calls a program stored or written and controls
a robot, using the program. Inquiry, selection, or execution of a program can be
performed. Program execution includes one-cycle execution, step (line-by-line)
execution, and iterative execution.

2) TEACH EDIT MODE


TEACH EDIT MODE is for writing a program. Functions of creation,
modification, saving as different name, deletion, etc. can be performed in this mode.
Even while in program writing, the position data can be saved by directly moving a
robot to the target position by means of manipulation keys of the teaching pendant.

3) OPERATE MODE
OPERATE MODE is for moving and controlling a robot by using manipulation
keys of a teaching pendant.

4) PROJECT_UPLOAD
PROJECT_UPLOAD is a mode which transfers the program having been written in
the teaching pendant to a simulation software performed in a separate PC.
Part 2. Teaching Pendant 31

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-1-2. Key Function

1) Key Arrangement

[Figure 2-1] Teaching Pendant Keys

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.
5-Axis Arm Robot Trainer ED-7255
32

① Common control keys


- RUN/STOP/↲: Execute and stop the program, Select the menu, Line change
when in program writing
- UP/DOWN : Move menus, Increase the value when teaching the robot, Move
lines while in program writing.
- LEFT/RIGHT : Move a cursor while in program writing
- ESC : Move to the higher menu, Cancel the operation, Finish the program
writing
- BS : Delete one character while in program writing
- SHIFT : Use double-functioned keys in combination with SHIFT key,
Precisely control the robot moving while in robot teaching, Use the axis
selection key
- NUMLOCK : Use the numeral keys
- EMSTOP : EMERGENCY STOP of robot
- HOME, OPEN, WAITINSIG, SET/RESET, MOVETO
: Enter the commands frequently used when in program writing
- CMD : Provide all commands used when in program writing
- POS : Call the list of position data stored when in program writing
- F1/F2 : Call functions relevant to each functional key.

② 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

③ Numeral input (Used in combination with NUMLOCK key)


- 0 to 9 : Enter each number, Select the menu
Part 2. Teaching Pendant 33

2-1-3. Menu Manipulation

LCD of a teaching pendant has 7 lines. Each line displays 20 characters or less.
The 1st line displays the functions of F1/F2 function keys, the error, and the key
pression status of SHIFT/NUMLOCK keys.
The 2nd line displays 19 characters and △ mark. The last positioned △ mark
means that there are more contents to be displayed at the upper side.
The 3rd to 6th lines display 20 characters.
The 7th line displays 17 characters which include the current status or the relevant
help text, and the ▽ mark. The last positioned ▽ mark means that there are more
contents to be displayed at the bottom side.

1) How to Use Menu

① Select Menu
Selectable menus can be moved by pressing ⇧/⇩ keys.

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

⇒ ⇒
5-Axis Arm Robot Trainer ED-7255
34

⇒ ⇒

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
Part 2. Teaching Pendant 35

2-2. Use of Teaching Pendant

2-2-1. Main Menu

1) Main Menu Screen

① AUTO_RUN_MODE : A mode which calls a program stored or written and


controls a robot, using the program. Inquiry, selection, or execution of a
program can be performed. Program execution includes one-cycle execution,
step (line-by-line) execution, and iterative execution.

② TEACH_EDIT_MODE : A mode for writing a program. Functions of creation,


modification, saving as different name, deletion, etc. can be performed in this
mode. Even while in program writing, the position data can be saved by
directly moving a robot to the target position by means of manipulation keys of
the teaching pendant.

③ OPERATION_MODE : A mode for moving and controlling a robot by using


manipulation keys of a teaching pendant.

④ PROJECT_UPLOAD : A mode which transfers the program having been


written by the teaching pendant to a simulation software performed in a
separate PC.

⑤ SYSTEM_MODE : A mode for changing or processing the default setting


values and environment setting values of a robot.

※ F1 - MAIN : A function key for return to the main menu


5-Axis Arm Robot Trainer ED-7255
36

※ F2 - HOME : A function key for moving a robot to the home coordinate


position.
When F2 is pressed, the following home coordinate selection menu appears.

1. Selection of GO HARDHOME has the robot move to the hardhome


coordinate.
2. Selection of GO SOFTHOME has the robot move to the softhome coordinate.

2-2-2. AUTO_RUN_MODE Menu

1) AUTO_RUN_MODE Menu Screen

① SELECT PROJECT : A menu for selecting a project from a list of the


already-written program.
② INPUT PRJ NUM : A menu for selecting a project by directly typing the
project name. This menu can call only the project written by a teaching
pendant. It can select the project number 1 to 999. The project written by a
teaching pendant has a name starting with "PRJ".
Part 2. Teaching Pendant 37

2) SELECT PROJECT Selection Screen

If selecting SELECT PROJECT, a list of the project currently being stored in a


robot is displayed as follows.

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.
5-Axis Arm Robot Trainer ED-7255
38

3) INPUT PRJ NUM Selection Screen

If selecting INPUT PROJECT, a screen for typing a project number is displayed as


follows.

At this time, in order to enter the number, NUMLOCK must be pressed.


If NUMLOCK key is pressed, the upper right of LCD of the teaching pendant lights
up, to show that NUMLOCK key is now being pressed. Opening the project by using
INPUT PROJECT_NO is possible only to the project whose name begins with "PRJ"
and finishes with 3-digit numeral. The newly written program in the teaching pendant
is automatically named to "PRJXXX".
Part 2. Teaching Pendant 39

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.
5-Axis Arm Robot Trainer ED-7255
40

By pressing RUN/TCH key, the following screen is displayed.

① 1 CYCLE RUN : Execute the program only one cycle.


② STEP RUN : Execute the program by 1 step on a line-by-line basis. When this
STEP RUN operates, the program temporarily stops after execution of one
step. If RUN/TCH key is again pressed, the next step is operated and
temporarily stopped again.
③ ITERATE RUN : Iteratively execute the program. When this ITERATE RUN
operates, the program is continuously executed until a user issues a stop
command.

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.
Part 2. Teaching Pendant 41

2-2-3. TEACH_EDIT_MODE Menu

1) TEACH_EDIT_MODE Menu Screen

① NEW PROJECT : Create a project to make a new program.


② LOAD PROJECT : Load a project to change and refer the already-written
program.
③ IMPORT PROJECT : Create a new project based upon the already-written
program.
④ DELETE PROJECT : Delete the already-created project.
⑤ MODIFY POSITION : Modify the position data in project

2) NEW PROJECT Selection Screen

If selecting NEW PROJECT, the following screen is displayed. As to a project


name, new name available to use is automatically set. For the number of project, 001
to 999 can be used.
5-Axis Arm Robot Trainer ED-7255
42

If F1 or RUN/STOP key is pressed, the following program editing window appears.

If F2 or ESC key is pressed in a project creation screen, a screen returns to the


former <TEACH EDIT MENU>.

3) LOAD PROJECT Selection Screen


Part 2. Teaching Pendant 43

If LOAD PROJECT is selected, a project load type selection menu appears as


described in subclause 1) of [2-2-2. AUTO_RUN_MODE]. Selecting the project is
similar to that description of [2-2-2. AUTO_RUN_MODE].

If the project to be loaded is selected from the list, the following screen appears.

⇒ RUN/STOP⇒

If F1 or RUN/STOP key is pressed, the following program editing window appears.

If F2 or ESC key is pressed, a screen returns to the former <TEACH EDIT


MENU>.
5-Axis Arm Robot Trainer ED-7255
44
Part 2. Teaching Pendant 45

4) IMPORT PROJECT Selection Screen

If selecting IMPORT PROJECT, the following project list screen is displayed.

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⇒

If F1 or RUN/STOP key is pressed, the following program editing window appears.

If F2 or ESC key is pressed, a screen returns to the former <TEACH EDIT


MENU>.

When NEW PROJECT is selected, the contents-empty program is created, but


when IMPORT PROJECT is selected, the program contents of the selected project is
created with a new project name.
5-Axis Arm Robot Trainer ED-7255
46

5) DELETE PROJECT Selection Screen

If DELETE PROJECT is selected and then RUN/STOP button is pressed, the


following project listing screen appears.

Select the project to be deleted from the project list and press RUN/STOP key.

⇒RUN/STOP⇒
Part 2. Teaching Pendant 47

6) MODIFY POSITION Screen

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.
5-Axis Arm Robot Trainer ED-7255
48

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.
Part 2. Teaching Pendant 49

If modifying is completed, press ESC key, save screen appears.

Press RUN/ENTER, save success appears.


5-Axis Arm Robot Trainer ED-7255
50

7) Program Writing Using Commands by Teaching Pendant

Writing a program appearing by selecting NEW/LOAD/IMPORT PROJECT can


be performed by using commands by means of each key of the teaching pendant. How
to use the commands and the keys are as follows.

(1) HOME key : GOHOME statement is written. GOHOME statement is a


command for moving a robot to the predetermined HOME position.

If HOME key is pressed, a command of GOHOME is added.

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.
Part 2. Teaching Pendant 51

To enter the desired number, press NUM LOCK and the enter the numerals.

If RUN/STOP key is pressed, the number is displayed as in the following


screen. If F2 key or 0 is written and RUN/STOP key is pressed, "OPEN 0"is
displayed on the screen.

(3) WAITINSIG key : WAITINSIG statement is written. WAITINSIG statement is


a command for waiting until the state of a particular digital input changes.
As soon as WAITINSIG key is pressed, WAITINSIG statement can be written.

If WAITINSIG key is pressed, the following ON/OFF selection screen appears.


5-Axis Arm Robot Trainer ED-7255
52

If ON/OFF selection is completed, the following DI input screen appears.

If the relevant DI number is selected, an additional DI input or an input finishing


screen appears as follows.

If F1(ADD) key is pressed again, the DI selection screen appears, and if


RUN/STOP key is pressed, inputting is finished as follows.
Part 2. Teaching Pendant 53

(4) SET/RESET key : SET/RESET statement is written. SET/RESET statement is a


command to control the digital output.

If SET/RESET key is pressed, the following SET/RESET selection screen appears.

If SET is selected, the following DO selection screen appears.

If the relevant DO number is selected, an additional DO input or an input finishing


screen appears as follows.
5-Axis Arm Robot Trainer ED-7255
54

If RUN/STOP key is pressed, inputting is finished as follows.

(5) MOVETO key : MOVETO statement is written. MOVETO statement is a


command to move a robot to the particular absolute coordinate.
If MOVETO key is pressed, the following interpolation selection screen appears.

If JOINT MOVE is selected, a script writing statement is set only to "MOVETO".


If LINE MOVE is selected, a script writing statement is set to "MOVETO L," and a
command for straight move is written.
After the selection of interpolation method, the position data setting screen appears,
which is for the input of the target position to move.
Part 2. Teaching Pendant 55

If 1.NEW TEACH POSITION is selected, the following coordinate system


selection screen appears. The position to be controlled can be selected by directly
moving a robot.

For control method of teaching the robot, refer to [2-2-4 OPERATE_MODE].

If JOINT SPACE is selected, each of the 5 axes and the grip can be adjusted to the
desired position. Using F1/F2 keys, the current coordinate of the robot can be changed
either to JOINT SPACE or to CARTESIAN SPACE. Also, in a keypad, AXIS1 to 5 &
GRIP or X to Z keys can change the coordinate system displayed on the screen.
However, that method only changes the displayed coordinate system, but does not
change the selected contents from the former <COORDINATE SYSTEM> menu.
That is, whomever the coordinate system is viewed, the input value is just stored as a
coordinate system selected from <COORDINATE SYSTEM> menu.

<F1 - JOINT SPACE display> <F2 - XYZ display>


5-Axis Arm Robot Trainer ED-7255
56

If RUN/STOP key is pressed after the robot is controlled to the target position, the
following screen appears.

<JOINT SPACE> <CARTESIAN SPACE>

In a variable of JPOS1, robot position at the teaching point is automatically stored.


For JOINT SPACE, it is automatically stored in the form of JPOS+number, and for
CARTESIAN SPACE, in the form of POS+number.
If from <TARGET POSITION> menu, 2.LOAD POSITION is selected, the
coordinate system setting menu appears.
If JOINT POS is selected, a list of the joint space coordinates stored up to now is
displayed. If CARTESIAN POS is selected, a list of the Cartesian space coordinates
stored up to now is displayed.
If there is not a list of the relevant coordinates, the error message is displayed.
If from <TARGET POSITION> menu, 3.INPUT NEW POSITION is selected,
1.TEACHING POSITION screen appears. On this screen, the data can be entered to
make the position data to be moved by directly using number keys.

(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 ⇒
Part 2. Teaching Pendant 57

① DECLATION STMNT
Commands belonging to DECLATION STMNT are primarily the
declaration-related commands, such as remark statements, variable declaration
statements, label declaration statements, etc.

▶ REM statement : Command to write the remark statement. If 1.DECLATION


STMNT is selected and then 1.REM is selected, the remark typing screen appears.

▶ LABEL statement : LABEL statement is written. LABEL statement is a


command to show LABEL on the particular sentence.

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
5-Axis Arm Robot Trainer ED-7255
58

Press RUN/STOP key to finish the label name typing.


Continue from the typed label name, writing the command to be written.
If the first character is not any alphabet, the following error message appears.

▶ DIM statement : DIM statement is a command to declare the variable, of which


the naming rule is the same as that of LABEL.

▶ DEFPOS statement : DEFPOS statement is a command to declare the variable


for storing the position data in the form of CARTESIAN coordinate system, of which
naming rule is the same as that of LABEL.
Part 2. Teaching Pendant 59

▶ DEFPOSJ statement : DEFPOSJ statement is a command to declare the variable


for storing the position data in the form of JOINT coordinate system, of which naming
rule is the same as that of LABEL.

② CONTROL STATEMENT
Commands belonging to CONTROL STATEMENT are program control
statements such as conditional statement, repetitive statement, GOTO statement, etc.

▶ GOTO statement : GOTO statement is a command to move program control to


the position whether the specific label is designated.

If GOTO and then RUN/STOP key is pressed, the label name typing screen
appears.
5-Axis Arm Robot Trainer ED-7255
60

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

Press RUN/STOP key to finish the label name typing.

▶ WAITINSIG statement : WAITINSIG statement is the similar to the description


of the command using WAITINSIG key in [2-2-3, (6)-3] above.
Part 2. Teaching Pendant 61

▶ IFINSIG statement : IFINSIG statement is a conditional statement to branch


program control according to the condition of the digital input value.

If IFINSIG is selected and then RUN/STOP key is pressed, the following ON/OFF
selection screen appears.

If selection of ON/OFF is finished, the following DI inputting screen appears.


When the relevant DI number is selected, the following additional DI inputting
screen or the THEN(F1 button) inputting screen appears.
5-Axis Arm Robot Trainer ED-7255
62

⇒ Click on
F1(ADD)⇒

If the condition for THEN statement is satisfied, the command to be executed is


written by CMD key. Thereafter, if the condition is not satisfactory, press F1 key and
enter ELSE statement if the command to be executed is needed.
If the inputting is finished, the following screen appears.

▶ IF-THEN-ELSE statement : IF-THEN-ELSE statement is a conditional


statement to branch program control according to the condition of IF.

If IF-THEN-ELSE is selected and then RUN/STOP key is pressed, the following


condition inputting screen appears.
Part 2. Teaching Pendant 63

In order to insert OPERATOR, such as an inequality sign, press <F1-OPER> to


rapidly input it. If <F2-EQUAL> is pressed, an equality sign(==) is directly input. The
following is, when F1 button is pressed, a screen for selection of OPERATOR &
FUNCTION.

<F1- when OPER is pressed> <Input "X1>2".>

< F1- when ELSE button is pressed>

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.
5-Axis Arm Robot Trainer ED-7255
64

▶ FOR LOOP statement : FOR LOOP statement is a command to write a repeated


declaration portion of FOR-NEXT statement which is a repetitive statement for
repeating the program contents as many as predetermined times.

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.
Part 2. Teaching Pendant 65

< Input X1=1, and then RUN/STOP >

<Input 20 and RUN/STOP> <Final resulting screen>

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.

▶ NEXT statement : NEXT statement is a command to designate the last portion of


the repetitive execution command of FOR-NEXT statement.

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.
5-Axis Arm Robot Trainer ED-7255
66

< Input X1 and then RUN/STOP> <Final resulting screen>

▶ DOWHILE statement : DOWHILE statement is a command to write the repeat


declaration portion of DOWHILE-LOOP statement which is a repetitive statement to
repeat the program contents under the particular conditions.

If DOWHILE is selected and then RUN/STOP key is pressed, the following


condition inputting screen appears.

< Input X1>0 and then RUN/STOP> <Final resulting screen>

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.

▶ LOOP statement : LOOP statement is a command to designate the last portion of


Part 2. Teaching Pendant 67

the repetitive execution command of DOWHILE-LOOP statement.

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.

▶ MOVETO statement : Writing MOVETO statement is similar to that of


MOVETO statement in [2-2-3] (6)-5, using MOVETO key.
5-Axis Arm Robot Trainer ED-7255
68

▶ GOHOME statement : Writing GOHOME statement is similar to that of


GOHOME statement in [2-2-3] (6)-1, using HOME key.

▶ OPEN statement : Writing OPEN statement is similar to that of OPEN


statement in [2-2-3] (6)-2, using OPEN key.

▶ SET statement : Writing SET statement is similar to that of SET statement in


[2-2-3] (6)-4, using SET/RESET key.
Part 2. Teaching Pendant 69

▶ RESET statement : Writing RESET statement is similar to that of RESET


statement in [2-2-3] (6)-4, using SET/RESET key.

▶ MOVE statement : MOVE statement is a command to move the robot by the


particular relative coordinates.

If MOVE is selected, the following interpolation selection screen appears.


5-Axis Arm Robot Trainer ED-7255
70

If JOINT MOVE is selected, a script writing statement is set only to "MOVE".


If LINE MOVE is selected, a script writing statement is set to "MOVE L," and
a command for straight move is written.
After the selection of interpolation method, the position data setting screen
appears, which is for the input of the target position to move.

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.

For robot control, refer to [2-2-4 OPERATE_MODE].


If the robot is controlled to the target position and then RUN/STOP key is pressed,
the display on the screen is as follow.
Part 2. Teaching Pendant 71

< F1 - Adjust each axis > < F2 - Adjust XYZ direction >

< Final resulting screen >

In a variable of JPOS3, automatically, the data is stored in the relative position


taught at the position before teaching the robot.
If from <TARGET POSITION> menu, LOAD POSITION is selected, the
coordinate system selection list directing the stored position in the current project
appears, as in MOVETO writing.
If JOINT SPACE is selected, a list of the joint space coordinates stored up to now is
displayed. If CARTESIAN SPACE is selected, a list of the Cartesian space
coordinates stored up to now is displayed.

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.

If from <TARGET POSITION> menu, INPUT NEW POSITION is selected,


TEACHING POSITION screen appears. On this screen, the data can be entered to
make the position data to be moved by directly using number keys. Be sure to
remember that the data to input here must be the relative position coordinate.
5-Axis Arm Robot Trainer ED-7255
72

▶ SETHOME statement : SETHOME statement is a command to set the specific


coordinate to a robot's softhome coordinate. The fundamental writing method is
similar to that of MOVETO statement.

=> How to adjust the position is omitted because it is identical to that of


MOVE/MOVETO.

< Final resulting screen >

▶ DELAY statement : DELAY statement is a command to delay the robot


operation by the predetermined time.

If DELAY is selected and then RUN/STOP key is pressed, the following delay time
inputting screen appears.
Part 2. Teaching Pendant 73

Input the delay time by using number keys. If NUM LOCK key is pressed, number
key input becomes possible.

Press RUN/STOP key to finish the delay time inputting.

▶ APPROACHTO statement : APPROACHTO statement is a command to move


the robot to the position where is distanced by the specified distance along Z direction
from the specified position.
5-Axis Arm Robot Trainer ED-7255
74

If APPROACHTO is selected and then RUN/STOP key is pressed, the following


interpolation selection screen appears. General writing method for the command is
similar to that of MOVETO command.

If JOINT MOVE is selected, a script writing statement is set only to


"APPROACHTO".
If LINE MOVE is selected, a script writing statement is set to "APPROACHTO L,"
and a command for straight move is written.
After the selection of interpolation method, the position data setting screen appears,
which is for the input of the target position to move.

If NEW TEACH POSITION is selected, the following coordinate system


selection screen appears. On the screen, the position to be controlled can be selected
by directly moving the robot.
Part 2. Teaching Pendant 75

For control of the robot, refer to [2-2-4 OPERATE_MODE].


If the robot is controlled to the position to be moved and then RUN/STOP key is
pressed, the following approach gap inputting screen appears.

If the gap is input and RUN/STOP is pressed, the followings are displayed.

▶ APPROACH statement : APPROACH statement is a command to move the


robot to the position where is distanced by the specified distance along Z direction
from the specified relative position. Be sure to remember that the target coordinate
must be the relative coordinate as in MOVE command. Writing method is similar to
that of APPROACHTO statement, except that the coordinate value is the relative
coordinate.
5-Axis Arm Robot Trainer ED-7255
76

▶ DEPART statement : DEPART statement is a command to move the robot to


the position where is distanced by the specified distance along Z direction from the
current position.

If DEPART is selected and then RUN/STOP button is pressed, the following


retracting distance inputting screen appears.

If the retracting distance is input and RUN/STOP is pressed, the display appears on
the screen as follows.
Part 2. Teaching Pendant 77

▶ SETSPEED statement : SETSPEED statement is a command to change

If SETSPEED is selected and then RUN/STOP button is pressed, the following


speed value inputting screen appears.

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.
5-Axis Arm Robot Trainer ED-7255
78

▶ MOVEEX statement : MOVEEX statement is a command to control an extra


axis(AUX1, AUX2) motor.

If MOVEEX is selected and then RUN/STOP button is pressed, the following


sub-command inputting screen appears.

If MOVEEX is selected and then RUN/STOP button is pressed, the following


screen, on which the pulse counts of an encoder of AUX1 can be input appears.
Part 2. Teaching Pendant 79

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.

If, instead of MOVEEX, either MOVEEX1 or MOVEEX2 is selected, each


encoder inputting screen appears, one at a time. Thus, a command to control any one
of AUX1 and AUX2 can be written.

▶ SETRELAY statement : SETRELAY statement is a command to switch over to


'a' contact point of an relay port.
5-Axis Arm Robot Trainer ED-7255
80

If SETRELAY is selected and then RUN/STOP button is pressed, the following


sub-command inputting screen appears.

If RELAY port is selected and then RUN/STOP button is pressed, the SETRELAY
statement is finished as follows.

▶ RESETRELAY statement : RESETRELAY statement is a command to switch


over to 'b' contact point of an relay port.
Part 2. Teaching Pendant 81

If RESETRELAY is selected and then RUN/STOP button is pressed, the following


sub-command inputting screen appears.

If RELAY port is selected and then RUN/STOP button is pressed, the


RESETRELAY statement is finished as follows.

④ OPERATOR & FUNCTION


Commands belonging to OPERATOR & FUNCTION include operators for logical
or arithmetic operation, functions for mathematical calculation, and various
descriptional signs.
5-Axis Arm Robot Trainer ED-7255
82

▶ = (ASSIGNMENT) : The operator of '=' meaning assignment is written.

If '=' is selected and then RUN/STOP button is pressed, '=' is input as follows.

▶ ARITHMETIC OPERATOR : Various arithmetic operators are input.


Part 2. Teaching Pendant 83

If ARITHMETIC OPERATR is selected and then RUN/STOP button is pressed,


the following OPERATOR selecting screen appears.
If the desired OPERATOR is selected and RUN/STOP button is pressed, it is
displayed on the screen.

- PLUS : '+' operator is input.

- MINUS : '-' operator is input.

- MULTIPLICATION : '*' operator is input.

- DIVISION : ' / ' operator is input.


5-Axis Arm Robot Trainer ED-7255
84

- MODULUS : Modulus operator is input.

Press RUN/STOP key to complete the line.

▶ RELATIONAL OPERATOR : Various relational operators are input.

If RELATIONAL OPERATR is selected and then RUN/STOP button is pressed,


the following OPERATOR selecting screen appears.
If the desired OPERATOR is selected and RUN/STOP button is pressed, it is
displayed on the screen.

- EQUAL : '==' operator is input.


Part 2. Teaching Pendant 85

- NOT EQUAL : '!=' operator is input.

- GREAT THAN : '>' operator is input.

- LESS THAN : '<' operator is input.


5-Axis Arm Robot Trainer ED-7255
86

- GREATHAN OR EQ : '>=' operator is input.

- LESSTHAN OR EQ : '<=' operator is input.

Press RUN/STOP key to complete the line.

▶ LOGICAL OPERATOR : Various logical operators are input.

If LOGICAL OPERATOR is selected and then RUN/STOP button is pressed, a


screen for selection of OPERATOR appears as follows.
If the desired OPERATOR is selected and RUN/STOP button is pressed, it is
displayed on the screen.
Part 2. Teaching Pendant 87

- AND : AND operator is input.

- OR : OR operator is input.

- XOR : XOR operator is input.

Press RUN/STOP key to complete the line.

▶ ARITHMETIC FUNCTION : Various arithmetic function commands are


written.
5-Axis Arm Robot Trainer ED-7255
88

If ARITHMETIC FUNCTIN is selected and then RUN/STOP button is pressed, the


following FUNCTION selecting screen appears.
If the desired FUNCTION is selected and RUN/STOP button is pressed, it is
displayed on the screen.

- ABS : A function of calculating the absolute value is input.

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.
Part 2. Teaching Pendant 89

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

< Waiting for 1st PARAM input > < 1st PARAM: Input X >

< 2nd PARAM: Input Y > < Final resulting screen >

- MIN : A function of calculating minimum value from two input data is input.
5-Axis Arm Robot Trainer ED-7255
90

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.

< Waiting for 1st PARAM input> < 1st PARAM: Input X >

< 2nd PARAM: Input Y > < Final resulting screen >

- DEGRAD : A function of converting DEGREE angle into RADIAN angle 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.
Part 2. Teaching Pendant 91

- RADDEG : A function of converting RADIAN angle into DEGREE angle 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.

- SQR : A function of calculating square-root value is input


5-Axis Arm Robot Trainer ED-7255
92

If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.

- SINE : A function of calculating sine value 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.
Part 2. Teaching Pendant 93

- COSINE : A function of calculating cosine value 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.

- TANGENT : A function of calculating tangent value is input.


5-Axis Arm Robot Trainer ED-7255
94

If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.

- ARC SINE : A function of calculating arc sine value 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.

- ARC COSINE : A function of calculating arc cosine value is input.


Part 2. Teaching Pendant 95

If the input value is entered and RUN/STOP button is pressed, the value is
displayed on a screen.
For example, X is input.

- ARC TANGENT : A function of calculating arc tangent value 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.
5-Axis Arm Robot Trainer ED-7255
96

▶ ETC : Various descriptional signs (parentheses, curly brackets, comma, etc.) are
written.

7) Saving Program Using Teaching Pendant Commands


If pressing ESC key after the program writing is completed, the following screen is
displayed.
Part 2. Teaching Pendant 97

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.

2-2-4. OPERATION_MODE Menu

1) OPERATION_MODE Menu Screen

① MAIN ROBOT : MAIN robot is controlled.


② AUX ROBOT : EXTRA MOTOR is controlled.

(1) MAIN ROBOT selection screen


If MAIN ROBOT is selected, the following screen appears.
5-Axis Arm Robot Trainer ED-7255
98

If F1 is pressed, the position value is displayed in the form of JOINT SPACE.


If F2 is pressed, the position value is displayed in the form of CARTESIAN
SPACE.

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 one of X to Z key is pressed, or F2 key is pressed, the screen will change.


Part 2. Teaching Pendant 99

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.

(2) AUX ROBOT selection screen

If AUX ROBOT is selected, the following screen appears.

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
5-Axis Arm Robot Trainer ED-7255
100

2-2-5. PROJECT_UPLOAD Menu

If PROJECT_UPLOAD is selected, the following project selection screen appears.


If, from the list, the project is selected, the relevant project file is enabled to be
transmitted to PC.

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.
Part 2. Teaching Pendant 101

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.
5-Axis Arm Robot Trainer ED-7255
102

2-2-6. SYSTEM_MODE Menu

SYSTEM_MODE is a menu for setting the environment of AUX motor.


Part 2. Teaching Pendant 103

1) SET AUX ROBOT


A menu for setting the environment relating to EXTRA MOTOR.

(1) SET AUX USABLE : Usable/Non-usable of AUX1/2 is set.

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.

▶ SET/RESET USE AUX1


5-Axis Arm Robot Trainer ED-7255
104

▶ SET/RESET USE AUX2

(2) SET AUX PID GAIN : P, I, or D GAIN value for each AUX1/2 is set.

▶ P GAIN VALUE

▶ I GAIN VALUE
Part 2. Teaching Pendant 105

▶ D GAIN VALUE

(3) Setting value saving and application


When each VALUE is input and ESC is pressed, a screen for asking to save appears
as follows.

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.
5-Axis Arm Robot Trainer ED-7255
106
Part 2. Teaching Pendant 107

5-Axis Arm Robot Trainer


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
5-Axis Arm Robot Trainer ED-7255
108

3. ED-IRS (ED-Industrial Robot Simulator)

ED-IRS(ED-Industrial Robot Simulator) is a software which is supplied to write


the control program of ED-7255 robot and to execute a virtual simulator to verify the
control program.
ED-IRS provides, for a user to easily write the robot control program, a virtual
robot control tool, a robot position data writing tool, and a control program editor, as
well as verifying the syntax error of the control program written. In addition, the robot
behavior based on the control program can be simulated by using a virtual 3D robot
model, and the control program can be debugged even during simulation, by using a
function of monitoring the break points and variables.
Furthermore, ED-IRS provides download/upload of the control program and I/O
monitoring and establishing, by using Ethernet communication with the robot.

3-1. Program Installation

3-1-1. Install

When inserting a CD to install ED-IRS in a PC, the installation program is


automatically executed.
If the program is not automatically executed, double click "My Computer" or
double click "setup.exe" file in a CD-ROM driver by using Windows Explorer.
When the installation program starts, Install Shield Wizard is executed as follows.

[Figure 3-1] ED-IRS setup preparation step


Part 3. ED-IRS(ED-Industrial Robot Simulator) 109

[Figure 3-2] ED-IRS setup start screen

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.

[Figure 3-3] Check of license agreement for ED-IRS

If pressing Next button, a screen for entering user and organization name appears.
Type the names.
5-Axis Arm Robot Trainer ED-7255
110

[Figure 3-4] Information on user and company for ED-IRS

If pressing Next button, the following screen appears. Pressing Install button starts
the installation.

[Figure 3-5] Confirm the progress of the installation


Part 3. ED-IRS(ED-Industrial Robot Simulator) 111

[Figure 3-6] ED-IRS setup status

On a screen the installation is finished, if pressing Finish button, the installation


program is finished and the installation is completed.

[Figure 3-7] ED-IRS setup finished

If the installation is completed, a shortcut icon is made on a wallpaper, and an


execution file is registered in Start menu.

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.
5-Axis Arm Robot Trainer ED-7255
112

3-2. Screen Configuration


ED-IRS screen is largely divided into composed of 1)Menu and Toolbar,
2)Docking View, 3)Program View, and 4)Arm View as follows.

[Figure 3-8] ED-IRS screen configuration

[Figure 3-9] Simulator Software Architecture


Part 3. ED-IRS(ED-Industrial Robot Simulator) 113

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

3-2-2. Docking View

Each view in Docking View can be changed its position or into an independent
window.
The following drawing shows how to change 'Position Table View' in the docking
view into an independent window.

[Figure 3-10] Mouse dragging to change Position View in Docking View into
independent window
5-Axis Arm Robot Trainer ED-7255
114

[Figure 3-11] Position View is displayed as independent window.

The following drawing shows how to move an independent window and to dock
again to the docking view.

[Figure 3-12] Mouse dragging to insert independent Position View window in


Docking View
Part 3. ED-IRS(ED-Industrial Robot Simulator) 115

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

3-2-3. Program View

Program View is an edit window in which a program for the project currently being
operated can be written. The program written as the syntax of a robot control language
provided by this program view can operate either a real robot or a virtual 3D robot.

3-2-4. Arm View

Arm View shows a figure of a virtual 3D robot. It shows that the figure is simulated
as moving coordinate of the robot is taught and the program is executed for a target of
a virtual 3D robot.
5-Axis Arm Robot Trainer ED-7255
116

3-3. Menus

3-3-1. File Menu

[Figure 3-14] 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.

[Figure 3-15] Dialog box for new project creation

If creation is completed, a program view screen is created, and a program file


having a project name entered in Project Name 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.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 117

[Figure 3-16] Dialog box for loading existing project

When loading is completed, if there is not a project being currently operated, a


program view screen appears, and on the other hand, if there is a project being
currently operated, the current project is closed and a loaded project is opened.

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

Save the project currently being operated.

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.
5-Axis Arm Robot Trainer ED-7255
118

[Figure 3-17] Print Dialog

6) Exit ( )

Exit the program.

3-3-2. Edit

[Figure 3-18] Edit Menu

1) Undo( ) ( Ctrl + Z )

Recover the previous execution in a program view.

2) Redo( )

Redo the undone execution in a program view.


Part 3. ED-IRS(ED-Industrial Robot Simulator) 119

3) Cut( ) ( Ctrl + X )

Cut the selected contents in a program view.

4) Copy( ) ( Ctrl + C )

Copy the selected contents in a program view.

5) Paste( ) ( Ctrl + V )

Paste the cut or copied contents in a program view.

6) Select All( )

Select all contents in a program view.

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.

[Figure 3-19] Dialog box for Search All of text stream

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'.
5-Axis Arm Robot Trainer ED-7255
120

[Figure 3-20] Search result view for Search All of text


stream

8) Find( )

Search sequentially a specified word from a program being written, in a program


view. If selecting this menu, the following screen appears.

[Figure 3-21] Dialog box for sequential finding of text


stream

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.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 121

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.

[Figure 3-22] Comment Block Popup Menu

① Comment : The line a cursor is located is changed to a comment statement.


② Uncomment : The line a cursor is located is changed to a command statement.

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.

[Figure 3-23] Bookmark Popup Menu

① Toggle : Set or clear a bookmark to or from a line a cursor is located. If a


bookmark is set, a symbol " " is marked at the left of 'Program View' as
follows.

[Figure 3-24] Bookmark set figure


5-Axis Arm Robot Trainer ED-7255
122

② Next : Move to search downward the bookmarked positions from a line a


cursor is located.
③ Previous : Move to search upward the bookmarked positions from a line a
cursor is located.
④ Clear All : Clear all bookmarks currently set.

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.

[Figure 3-25] Dialog box for setting Editor in Edit


Option의 Editor

② Editor Font
A tab for setting the font of texts used in the editor window.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 123

[Figure 3-26] Dialog box for setting Font in Edit


Option

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

[Figure 3-27] Dialog box for setting Syntax Color


in Edit Option
5-Axis Arm Robot Trainer ED-7255
124

3-3-3. View

[Figure 3-28] View Menu

1) Project View( )

Show 'Project View' window showing the structure of a project currently being
operated.

[Figure 3-29] Project View

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.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 125

[Figure 3-30] Program View and Popup Menu of Program View

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

[Figure 3-31] ARM View

If pressing a mouse right button in 'Arm View', the following pop-up menu appears.
5-Axis Arm Robot Trainer ED-7255
126

[Figure 3-32] Popup Menu of ARM View

① Current Angle Display


If selecting the relevant pop-up menu, the following 3 sub-menus appear.

[Figure 3-33] Sub-menus of Current Angle Display, one of pop-up menus of ARM View

- None : Do not show the coordinate value of a robot.


- Type-P : 'Show the position of an end point, as the Cartesian coordinate value, in
the top portion of 'Arm View' window.

[Figure 3-34] Cartesian coordinate value output screen


Part 3. ED-IRS(ED-Industrial Robot Simulator) 127

- Type-J : Show the position of an end point, as the joint coordinate value, in the
top portion of 'Arm View' window.

[Figure 3-35] Joint coordinate value output screen

② 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

- Floor : Show/Hide cross stripes pattern of a floor.

[Figure 3-37] Floor pattern show/hide setting resulting screen

- Arm : Show/Hide a robot figure.


5-Axis Arm Robot Trainer ED-7255
128

[Figure 3-38] Robot figure show/hide setting resulting


screen

- Object : Show/Hide an object.

[Figure 3-39] Object show/hide setting resulting screen

③ Add Position ( Type P )


A menu for storing the present coordinate value of a robot as the Cartesian
coordinate value. This Add Position item is activated by calling Pop-up menu while a
mouse point is being on a robot. If selecting the relevant pop-up menu, the present
coordinate value is stored. The stored values can be confirmed at 'Type P' tab in
'Position Table View'.

[Figure 3-40] Position data saved (TYPE P)


Part 3. ED-IRS(ED-Industrial Robot Simulator) 129

④ Add Position ( Type J )


A menu for storing the present coordinate value of a robot as the joint coordinate
value. This Add Position item is activated by calling Pop-up menu while a mouse
point is being on a robot. If selecting the relevant pop-up menu, the present coordinate
value is stored. The stored values can be confirmed at 'Type J' tab in 'Position Table
View'.

[Figure 3-41] Position data saved (TYPE P)

⑤ Reset Eye Position


A menu for resetting the eye position of the present 'Arm View'. If selecting the
relevant pop-up menu, the eye position is reset as follows.

[Figure 3-42] Reset of eye position

⑥ Free Rotation / Horizontal Axis Rotation / Vertical Axis Rotation


A menu which sets options for changing the eye position of 'Arm View'. One of
three options is selectable.
5-Axis Arm Robot Trainer ED-7255
130

- Free Rotation : Eye position of a camera can be freely adjusted by using


horizontal and vertical dragging of a right mouse.
- Horizontal Axis Rotation : Only vertical dragging of a right mouse can be
applied to change the eye position of a camera.
- Vertical Axis Rotation : Only horizontal dragging of a right mouse can be
applied to change the eye position of a camera.

[Figure 3-43] Various eye positions

※ Shift + Vertical dragging of right mouse : Horizontal Axis Rotation


Ctrl + Horizontal dragging of right mouse : Vertical Axis Rotation
Part 3. ED-IRS(ED-Industrial Robot Simulator) 131

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

[Figure 3-44] Object insertion

4) Operation View( )

Show 'Operation View' for controlling a virtual 3D ED-7255 robot.


'Operation View' can control a robot by two 'Operation Modes'
- Joint Mode : A mode for controlling a robot by changing the angle of the
respective joints of a robot.
5-Axis Arm Robot Trainer ED-7255
132

[Figure 3-45] Joint Mode

- Cartesian Mode : A mode for controlling a robot by changing the position value
of an end point to a Cartesian coordinate system.

[Figure 3-46] XYZ Mode

5) IO View( )

[Figure 3-47] I/O ports in the front of controller


Part 3. ED-IRS(ED-Industrial Robot Simulator) 133

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.

[Figure 3-48] I/O View on simulator

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.

[Figure 3-49] Control of Digital Output port

6) Log View( )

Show 'Log View' window for showing the contents of a error log of a robot system.
5-Axis Arm Robot Trainer ED-7255
134

[Figure 3-50] Log view for the syntax error


of script

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.

[Figure 3-51] View for variable status of program

If a right mouse button is clicked in 'Watch View', the following pop-up menu for
management of 'Watch View' appears.

[Figure 3-52] Watch View Popup Menu

- Add Variable : A variable to be watched is added to 'Watch View.' If selecting


this menu, a variable named "..." is added to a list of 'Watch View'. By double
clicking the relevant name, the variable name is directly entered.
- Delete Variable : A selected variable item is deleted.
- Clear All : All of the variable lists registered are cleared.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 135

8) Output View( )

Show 'Output View' window for showing the message output from a system.

[Figure 3-53] View for system output


message

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

[Figure 3-54] View for Search All results

3-3-4. Connect

[Figure 3-55] Connect Menu


5-Axis Arm Robot Trainer ED-7255
136

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

[Figure 3-56] Network adapter setup for user PC

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.

[Figure 3-57] Connection trial

If connection is failed, the following message appears.


Part 3. ED-IRS(ED-Industrial Robot Simulator) 137

[Figure 3-58] Warning window when


in connection error

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

A menu for disconnection of a real robot connected. If selecting this menu,


connection is cut off.

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.

[Figure 3-59] Project transferring status

4) Upload( )

[Figure 3-60] Upload toolbar button


5-Axis Arm Robot Trainer ED-7255
138

[Figure 3-61] Dialog box for download of project and


parameter

① Max Encode Values


Maximum count value of the set encoder can be input and confirmed. Although
an encoder is replaced with another type of encoder, the only maximum input
value can be changed and thus rapid handling becomes possible. At present, the
resolution of Absolute Encoder is 12 bits, and so 4095 is the maximum count.

② PGain, IGain, DGain Values


ED7255 employs PID control to control the error for the current value versus the
target value. Gain values set for each axis of a main robot can be identified. For
an extra axis, a user can directly assign each gain value.

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.

③ Use Aux Motor 1,2


Use or non-use of an extra axis can be checked or changed. A state that a check
box is checked means a state that Use is set. If the use or non-use of the extra axis
Part 3. ED-IRS(ED-Industrial Robot Simulator) 139

has been changed, press Modify And Upload button to adapt the modification to
the robot controller.

④ Project Download

[Figure 3-62] Search for project to be downloaded

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.
5-Axis Arm Robot Trainer ED-7255
140

[Figure 3-63] Selection of project saving


location

3-3-5. Debug

[Figure 3-64] Debug Menu

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'.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 141

[Figure 3-65] In the case of no syntax error

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.

[Figure 3-66] In the case that the syntax error occurred

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.
5-Axis Arm Robot Trainer ED-7255
142

[Figure 3-67] Selection of execution


target

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'.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 143

7) Program Stop( )

A menu for stopping the program being operated.

8) Register to Watch( )

A menu for registering variables of the written program to 'Watch View' so as to


debug it. By selecting the name of the variable in 'Program View', this menu is
activated. Selecting this menu, the variable is automatically registered to 'Watch
View'.
The state of the variable registered to 'Watch View' is updated if it is received 'Step
In' or 'Pause' command. At this time, if no value has been yet assigned to the variable,
"Not yet assigned" is displayed as follows.

[Figure 3-68] Variable to which value was not assigned

If a particular value has been assigned to the variable, the relevant value is
displayed as follows.

[Figure 3-68] Variable to which value was assigned


5-Axis Arm Robot Trainer ED-7255
144

9) Set/Reset Break Point( )

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.

[Figure 3-70] Stopped at break


point

10) Reset All Break Point( )

All set break points are cleared.

3-3-6. Window

[Figure 3-71] Window Menu

A menu for setting the window configuration.

1) Window Cascade ( )

A menu for disposing 'Arm View' and 'Program View' in a cascade figure.
Part 3. ED-IRS(ED-Industrial Robot Simulator) 145

2) Window Tile Horizontally( )

A menu for disposing horizontally 'Arm View' and 'Program View' for a
maximum-sized window shape.

3) Window Tile Vertically( )

A menu for disposing vertically 'Arm View' and 'Program View' for a
maximum-sized window shape.

3-3-7. Help

1) Help( )

A menu for showing a help window.

2) Program Info( )

A menu for showing a program information window.


5-Axis Arm Robot Trainer ED-7255
146
5-Axis Arm Robot Trainer
ED-7255

Part 4
Control Program Syntax

4. Control Program Syntax


4-1. Declaration Statement
4-2. Control Statement
4-3. Robot Command Statement
4-4. Kinds of Functions and Operators
5-Axis Arm Robot Trainer ED-7255
148

4. Control Program Syntax

4-1. Declaration Statement

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.
Part 4. Control Program Syntax 149

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

3) Integer/Real Number/String Variable Declaration Statement and


Assignment Statement

① Syntax
- Integer/Real Number/String Variable Declaration Statement
DIM <Variable Name>[, <Variable Name> ...]

- Integer/Real Number/String Variable Assignment Statement


<Variable Name> = <Constant>|<Variable Name>|<Operation Expression>

<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 (,).
5-Axis Arm Robot Trainer ED-7255
150

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

4) Position Variable Declaration Statement and Assignment Statement

① Syntax
- Position Variable Declaration Statement
DEFPOS <Variable Name>[, <Variable Name> ...]
DEFPOSJ <Variable Name>[, <Variable Name> ...]

- Position Variable Assignment Statement


<Cartesian Position Variable Name> = <Cartesian Position
Constant>|<Cartesian Position Variable Name>
<Joint Position Variable Name> = <Joint Position Constant>|<Joint Position
Variable Name>

- Cartesian Position Constant ( x, y, z )


Part 4. Control Program Syntax 151

(<Integer>,<Integer>,<Integer>)

- Joint Position Constant (j1, j2, j3, j4, j5)


J(<Integer>,<Integer>,<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
...

5) Path Variable Declaration Statement and Assignment Statement

① Syntax
- Path Variable Declaration Statement
DEFPATH <Variable Name>[, <Variable Name> ...]
5-Axis Arm Robot Trainer ED-7255
152

DEFPATHJ <Variable Name>[, <Variable Name> ...]

- Path Variable Assignment Statement


<Cartesian Path Variable Name> = { <Cartesian Position Constant>|<Cartesian
Position Variable Name> [, <Cartesian Position Constant>|<Cartesian Position
Variable Name>] }

<Joint Path Variable Name> = { <Joint Position Constant>|<Joint Position


Variable Name> [, <Joint Position Constant>|<Joint Position Variable Name>] }

<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)}
...
Part 4. Control Program Syntax 153

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

7) SUB FUNCTION Declaration

① Syntax
SUB <Function Name> ( )
...
ENDSUB

<Function Name> has the same restriction as that of <Variable Name> of the item
3) above.
5-Axis Arm Robot Trainer ED-7255
154

② 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
Part 4. Control Program Syntax 155

4-2. Control Statement


1) GOTO Statement

① Syntax

GOTO <Label Name>

<Label Name> must be a name declared by LABEL statement.

② 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
5-Axis Arm Robot Trainer ED-7255
156

GOSUB <Sub-Function Name>

<Sub-Function Name> must be a name declared by SUB statement.

② 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.
Part 4. Control Program Syntax 157

③ 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>]

<DI Variable> is a system variable indicating digital input. 8 variables DI0-DI7


can be used for this.

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

...
5-Axis Arm Robot Trainer ED-7255
158

IFINSIG DI1 THEN GOTO LABEL1


...
IFINSIG OFF DI1 THEN GOTO LABEL2 ELSE GOTO LABEL1
...

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
...
Part 4. Control Program Syntax 159

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
5-Axis Arm Robot Trainer ED-7255
160

...
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
Part 4. Control Program Syntax 161

...
IF VAR2==10 THEN EXITDO
...
LOOPWHILE VAR1>10
...
DO
...
IF VAR2==10 THEN EXITDO
...
LOOPUNTIL VAR1<=10
...

4-3. Robot Command Statement


1) MOVETO/MOVE Statement

① Syntax
MOVETO|MOVE [<Interpolation Type>,] <Position Variable>|<osition
Constant> [, <Speed Option>]

<Interpolation Type> : P|PTOP|L|LINE


<Speed Option> : S|SPEED = <Integer>

② 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.
5-Axis Arm Robot Trainer ED-7255
162

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

<Interpolation Type> : P|PTOP|L|LINE


<Speed Option> : S|SPEED = Integer

② 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.
Part 4. Control Program Syntax 163

<Path Variable> is a path-move variable defined as DEFPATH or DEFPATHJ.


<Speed Option> can define the moving speed by the percentage, whose unit is %,
of a basic moving speed.

③ 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>]

<Interpolation Type> : P|PTOP|L|LINE


<Approaching Distance> : Distance which must be departed along z-axis.
<Speed Option> : S|SPEED = Integer
5-Axis Arm Robot Trainer ED-7255
164

② 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>]

<Interpolation Type> : P|PTOP|L|LINE


<Approaching Distance> : Distance to be distanced along Z axis, in the unit of cm
<Speed Option> : S|SPEED = Integer

② 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).
Part 4. Control Program Syntax 165

...
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.
5-Axis Arm Robot Trainer ED-7255
166

③ 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>]

<AUX1 Pulse Count> or <AUX2 Pulse Count> is Integer.


<Speed Option> : S|SPEED = Integer

② 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.
Part 4. Control Program Syntax 167

...
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
...
5-Axis Arm Robot Trainer ED-7255
168

9) SET/RESET Statement

① Syntax
SET|RESET ALL|<DO Variable>[, <DO Variable> ...]

<DO Variable> may use DO0-DO7.

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

10) INDSIG Statement

① Syntax
INDSIG <Variable Name> = <DI Variable>

<DI Variable> may use DI0-DI7.


Part 4. Control Program Syntax 169

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

11) OUTASIG Statement

① Syntax
OUTASIG <AO Variable Name> = <Integer>

<AO Variable> may use AO0~AO3.

② 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
...
5-Axis Arm Robot Trainer ED-7255
170

12) INASIG Statement

① Syntax
INASIG <Variable Name> = <AI Variable Name>

<AI Variable> may use AI0-AI3.

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

13) SPEED/ACCEL Statement

① Syntax
SPEED|SETSPEED <Integer>
ACCEL|SETACCEL <Integer>

<Integer> is a percent value.

② Function Description
SPEED is a command to set the basic operation speed of a robot. ACCEL is a
command to set the basic operation of acceleration and deceleration speed of a robot.
Part 4. Control Program Syntax 171

③ Use Example
The fundamental speed value is set to 200%, and the fundamental acceleration
value is set to 200%.

...
SETSPEED 200
SETACCEL 200
...

14) DELAY Statement

① Syntax
DELAY <Time>

<Time> is based upon a unit of 1/10 second.

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

15) WAITINSIG Statement

① Syntax
5-Axis Arm Robot Trainer ED-7255
172

WAITINSIG ON|OFF ALL|<DI Variable>[,<DI Variable>...] [, TIMEOUT =


<Time> [, <Variable Name>]]

<Time> is based upon a unit of 1/10 second.

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

16) SETRELAY / RESETRELAY Statement

① Syntax
SETRELAY <PortNo>
Part 4. Control Program Syntax 173

RESETRELAY <PortNo>

<PortNo> may use 1-4.

② 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
...
5-Axis Arm Robot Trainer ED-7255
174

4-4. Kinds of Functions and Operators


1) Kinds of Operators

① Relative Operators
< : smaller than
> : greater than
>= : equal to or greater than
<= : equal to or smaller than
== : equal to
!= : not equal to

② Arithmetic Operators
+ : addition
- : subtraction
* : multiplication
/ : division
MOD : modulus

③ Logical Operators
AND : logical product
OR : logical sum
XOR : exclusive logical sum

2) Kinds of Arithmetic Functions

- ABS ( parameter ) : Find the absolute value of the parameter


- MAX ( parameter, parameter ) : Find the greater value of the two parameters
- MIN ( parameter, parameter ) : Find the smaller value of the two parameters
- DEGRAD ( parameter ) : Change the degree angle value parameter to radian
angle value
Part 4. Control Program Syntax 175

- RADDEG ( parameter ) : Change the radian angle value parameter to degree


angle value
- SQR ( parameter ) : Find the square value of the parameter
- SIN ( parameter ) : Find the SINE value of the parameter
- COS ( parameter ) : Find the COSINE value of the parameter
- TAN ( parameter ) : Find the TANGENT value of the parameter
- ASIN ( parameter ) : Find the ARC SINE value of the parameter
- ACOS ( parameter ) : Find the ARC COSINE value of the parameter
- ATN ( parameter ) : Find the ARC TANGENT value of the parameter
- ATN2 ( parameter, parameter ) : Find the ARC TANGENT2 value of the
parameter
5-Axis Arm Robot Trainer ED-7255
176
5-Axis Arm Robot Trainer
ED-7255

Part 5
Basics of Robot Control Program

5. Basics of Robot Control Program


5-1. Starting
5-2. Creating Project
5-3. Teaching Robot
5-4. Writing Program
5-5. Robot Control Program Simulation
5-Axis Arm Robot Trainer ED-7255
178

5. Basics of Robot Control Program

5-1. Starting

[Figure 5-1] ED-IRS Logo

[Figure 5-2] Initial execution screen of ED-IRS

When a program is started first, ED-IRS is executed as the above drawing.


Part 5 Basics of Robot Control Program 179

5-2. Creating Project

Click New Project( ) of File menu.

[Figure 5-3] Creating New Project

As shown in above Figures, type a project name to be created in . Here, we typed


"GettingStart" as a project name. Press a button and specify in Folder Search
window a project location or path where the project is to be saved. Here, we specified
"D:\" as a project path. If pressing OK button, Arm View and Program View window
is opened as follows, and a project is created.

[Figure 5-4] Project created by GettingStart


5-Axis Arm Robot Trainer ED-7255
180

5-3. Teaching Robot


Adjust the window size such that a robot can be well expressed. Using Ctrl and
Shift keys and a right and middle button of a mouse, adjust an eye position of a camera
such that a robot can be well shown. Change the joint values of Operation View as
shown in the following drawing such that a robot can pose as shown in the drawing.

[Figure 5-5] Arm View Control

Put a mouse on a robot, and click a right button to call a popup menu.

[Figure 5-6] Arm View 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.
Part 5 Basics of Robot Control Program 181

[Figure 5-7] Position Table View

Double click a cell of "JPOS1" of "Name" in 'Position Table View'.

[Figure 5-8] Name change of variable for position data

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

[Figure 5-9] Save JPosPreTarget Position


5-Axis Arm Robot Trainer ED-7255
182

Next, change Joint1 in "Operation View" and move the robot as in the drawing.
Save the relevant position and name it as "JPosPreRelease".

[Figure 5-10] Save JPosPreRelease Position

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

[Figure 5-11] Save JPosRelase Position


Part 5 Basics of Robot Control Program 183

5-4. Writing Program


Let's write a program, using the position data obtained from teaching in 5-3.

Click Program View( ) in View Menu, or search an open Program View


window.

[Figure 5-12] Writing fundamental structure of


control program

Once writing as in the above drawing, save it by clicking Save Project( ) of File
Menu or by using Ctrl+S shortcut key. If saved, the characters of program codes are
expressed, as shown in the below drawing, by the color configured in Edit Menu의
Option( ), according to the syntax.

[Figure 5-13] Expression according to code


name

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.

1) Move to HOME Position

Write as follows to move a robot to a home position.


5-Axis Arm Robot Trainer ED-7255
184

[Figure 5-14] Writing GOHOME command

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

[Figure 5-15] Code reserved words guide called

2) Move to Position Able to Grip Object

Next, move a robot to the position 'JPosPreTarget' which was obtained by the
teaching in 5-3, and write a program for moving a robot to the standby position where
it can grip an object. A command for moving a robot on the basis of absolute
Part 5 Basics of Robot Control Program 185

coordinate is "MOVETO".

[Figure 5-16] Writing MOVETO command

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.

[Figure 5-17] Completion of grammar checking

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.

[Figure 5-18] Grammar check error occurrence

If double clicking the message, the relevant position is displayed in Program View,
as shown in the below drawing.
5-Axis Arm Robot Trainer ED-7255
186

[Figure 5-19] Finding the error occurrence


location

3) Move to Object Position

Next, move a robot to the position 'JPosTarget' which was obtained by the teaching
in 5-3, and write as follows a program for moving a robot to the position for gripping
the object.

[Figure 5-20] Move to JPosTarget position

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.

[Figure 5-21] Gripping object


Part 5 Basics of Robot Control Program 187

5) Move to Object Released Position

Next, move a robot to the position where it releases the object.


As follows, move again a robot to JPosPreTarget position, and then move it to
JPosPreRelease position where the robot releases the object.

[Figure 5-22] Move to JPosPreRelease and JPosRelease positions

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.

[Figure 5-23] Release object and move to JPosPreRelease position


5-Axis Arm Robot Trainer ED-7255
188

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

[Figure 5-24] Writing repetitive statement using GOTO statement

5-5. Robot Control Program Simulation


Let's have a simulation for a robot control program by using a virtual 3D robot, in
order to examine whether the program works properly.

First, for grammar checking, save the project and click Check Grammar( ) of
Debug Menu. Unless this process is normally completed, the simulation cannot be
started.

If the grammar checking is completed, Start( ) of Debug Menu is activated.


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( ) of Debug Menu, and then click Program
Stop( ).
Part 5 Basics of Robot Control Program 189

[Figure 5-25] Screen of simulation process


5-Axis Arm Robot Trainer ED-7255
190
Part 5 Basics of Robot Control Program 191

5-Axis Arm Robot Trainer


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
5-Axis Arm Robot Trainer ED-7255
192

Basic practice using Jog mode of


Practice Task 1
pendant

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.
Part 6. Program Example 193

5) After booting Teaching Pendant, Menu will be displayed.

Note

Check for the followings for the power of input module and output
module used in practice.

Power is set for each country. However, since it is


Input power not Free Voltage, we should know two input
of Main ranges.
Controller : 
100 to 120V AC/6.0A or 200 to 240V AC/6.0A

5. Starting Practice

1) Turn On power of Main Controller.

[Figure 6-1] Rear side of Main Controller

2) After booting, Teaching Pendant will be displayed as shown in the figure


below.
5-Axis Arm Robot Trainer ED-7255
194

[Figure 6-2] Teaching Pendant

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.

[Figure 6-3] Designating OPERATE_MODE


Part 6. Program Example 195

[Figure 6-4] Execution of jog mode

4) Press 'Up' button to increase Angle of the relevant joint, and press 'Down'
button to decrease Angle of the relevant joint.

[Figure 6-5] No 1 Joint value is 36.56

[Figure 6-6] No 1 Joint value is -30.94

5) While JOG mode is being performed, if a button of another axis is pressed,


the axis selection can be changed. For example, "MOVE TO" button(Number
key 6, axis key Grip) is pressed, the text is, as shown in [Figure 6-8],
changed to "OPERATE AXIS: GRIPPER" and accordingly the gripper may
become operative. (On the other hand, Joint button may also become operative
by the same manner.)
5-Axis Arm Robot Trainer ED-7255
196

[Figure 6-7] Grip Button

[Figure 6-8] Display of GRIPPER Jog operation

■ 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 )
Part 6. Program Example 197

[Figure 6-9] Basic posture

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

[Figure 6-10] Selecting Z button


5-Axis Arm Robot Trainer ED-7255
198

8) Figure 6-11 shows the result of the performance.

[Figure 6-11] Performance of Z axis


movement
Part 6. Program Example 199

Operation practice after Joint


Practice Task 2
Position Teaching

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.
5-Axis Arm Robot Trainer ED-7255
200

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.

[Figure 6-12] Main screen

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.
Part 6. Program Example 201

[Figure 6-13] File Open

3) Now, the following window is displayed and creation of a new project is


complete.

[Figure 6-14] Creating project

4) Press 'Window Tile Vertically' button in Window tap to arrange the window
as shown in the figure below.
5-Axis Arm Robot Trainer ED-7255
202

[Figure 6-15] Arranging window

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.

[Figure 6-16] Operation View


Part 6. Program Example 203

6) Move as shown in the figure below.

[Figure 6-17] Arm View

7) Use same method to operate other joints to make desired shape as shown in
the figure below.

[Figure 6-18] Making movement


5-Axis Arm Robot Trainer ED-7255
204

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.

[[Figure 6-19] Add Position

9) Each joint position of the robot will be saved as the figure below.

[Figure 6-20] Position Recording


Part 6. Program Example 205

10) Since Position Teaching of Target is complete, write robot command


language in 'Program View' window below.

[Figure 6-21] Writing program

Write a program as shown in above figure, and click 'Save Project'( ) in File
menu or press Ctrl+S key to save it. color of letter of program code will have different
color according to grammar in value set at 'Option'( ) in 'Edit' menu as shown in
the following figure.

[Figure 6-22] Saving after writing program


5-Axis Arm Robot Trainer ED-7255
206

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.

[Figure 6-23] Adding operation command

12) Now writing of command language is complete. Press 'Save' button and then
press 'Check Grammar' button in order to check for grammatical errors.

[Figure 6-24] Saving and checking grammar

Check result will be displayed as below.


Part 6. Program Example 207

[Figure 6-25] Grammar check result screen

In case of mistyping or grammatical error, error message will be displayed in


'Output View'. In case of no entering of 'ENTER' key after END statement, error
message will be displayed as below.

[Figure 6-26] Grammar error screen

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.

[Figure 2-27] Starting simulation

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.
5-Axis Arm Robot Trainer ED-7255
208

[Figure 6-28] Connecting with Main Controller of 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.

[Figure 6-29] Trying connection

In case of connection failure, the following message will be displayed.

[Figure 6-30] warning window against


connection error

Connection failure may occur when communication cable is not connected or when
the current robot is under operation.

16) Click 'Download' button to transfer file to Main Controller.


Part 6. Program Example 209

[Figure 6-31] command language download

Download will be finished when file transfer status bar gets at the end. If the
progress bar stops in the middle, retry file transfer.

[Figure 6-32] Transfer status of command language

17) Refer to auto mode operation method in the manual to perform the
downloaded project.

⇨ ⇨

⇨ ⇨
5-Axis Arm Robot Trainer ED-7255
210

[Figure 6-33] Program execution through teaching pendant


Part 6. Program Example 211

Understanding and practice of


Practice Task 3
velocity and time

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.
5-Axis Arm Robot Trainer ED-7255
212

3) Study about the method to operate simulator in advance.

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.

[Figure 6-34] Difference between speed and velocity

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.
Part 6. Program Example 213

2) Difference between scalar and vector

Scalar: physical quantity with size and without direction


Example) travel distance, speed, temperature, time, etc

Vector: physical quantity with size and direction


Example) displacement, velocity, force, etc

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.

[Figure 6-35] Vector

3) How to calculate vector


Vector marking method will be expressed as shown in the figure below.
5-Axis Arm Robot Trainer ED-7255
214

[Figure 6-36] Vector expression method

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.

[Figure 6-37] Resultant method for parallel Vector

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
[Figure 6-38] Resultant method of Vector that is not lined up
Part 6. Program Example 215

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

4) What is velocity and time at vertical articulated robot?


ED-7255 is a 5-axis vertical articulated robot. As shown in the figure below,
Let's suppose that we have written command language to move from Figure
6-40 to Figure 6-41 at velocity 50.

[Figure 6-40] Home Position


5-Axis Arm Robot Trainer ED-7255
216

[Figure 6-41] JPOS1 Position

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.

Velocity(V) formula; V =  , distance(L) / time(T).

First, we know that velocity is 50 and travel distance of each joint, and we don't
know the arrival time yet.

※ Simultaneous control of plural axes :  Industrial robot must


complete one command and one motion at the same time. In other
words, even when moving distances of joint 1 ~joint 5 are all
different, same time(for example, supposing 5 seconds are given
…….), all joints must arrives ah the same time in 5 seconds. If it
is not designed so, interference of motion of each axis can cause
vibration. this is movement interference owing to Coriolis Force and
Centrifugal Force in robot dynamics. Accordingly, arrival time of all
axes are same.

※ J1 =  ′    ′  


= absolute value that subtracted the previous joint value from current
joint value

The formula;
Part 6. Program Example 217


                 
50 =

Therefore, we can get arrival time T value.

We have achieved arrival time from the above result. Therefore, now we know
velocity of each joint to complete movement at arrival time T.

In other words, moving velocity of each joint;


Joint 1 = J1/T,
Joint 2 = J2/T,
Joint 3 = J3/T,
Joint 4 = J4/T,
Joint 5 = J5/T.

In conclusion, 50 of input velocity is sum velocity of vector of each joint, and to


move at 50 of input velocity, calculate arrival time, divide into time by travel distance
of each joint to allow joint with different travel distance to simultaneously finish the
movement at arriving time.

Accordingly, input value time means performance time for all joint to be finished.
5-Axis Arm Robot Trainer ED-7255
218

6. Starting Practice

1) Load 'Ex1' project written in the previous chapter.

[Figure 6-42] Opening project

[Figure 6-43] Saving command language after modification


Part 6. Program Example 219

2) Input command language of GOHOME in command language editor using


command language of PROGRAM and save it. And then, check for
grammatical errors using 'Check Grammar'.

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.

[Figure 6-44] Starting simulation

4) Change velocity value to 90 and then check for the movement.

[Figure 6-45] Modifying velocity value

5) Change velocity input to arrival time input for practice as shown in the
figure below.
5-Axis Arm Robot Trainer ED-7255
220

[Figure 6-46] Modifying arrival time value

6) Calculate time value at Speed 30 and input it at Joint value of GOHOME to


practice the above theory.

* Fundamental moving speed is 100mm/sec.


* In "S=Value", Value is a % value.
* Cartesian coordinate of SOFTHOME is (279.2, 0.0, 381.5).
* Cartesian coordinate of JPOS1 is (449.9, 0.0, 71.4).

7) Download file to check the movement of real robot according to velocity and
time.
Part 6. Program Example 221

Absolute coordinate and relative


Practice Task 4
coordinate practice

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.
5-Axis Arm Robot Trainer ED-7255
222

5. Theory study

1) Absolute vs Relative

[Figure 6-47] 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.

Here, we have another measuring method.


First, measure the height of the tree. height of the tree from the ground is measured
at 100cm. After that, based on the height of the tree, measured height of Timberlake
and Megan Fox comparing to the height of the tree. Timberlake is taller than height of
the tree by 80cm, and Megan Fox is taller than height of the tree by 65cm. Judging by
inference, the height of Timberlake is 180cm and the height of Megan Fox is 165cm.

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.
Part 6. Program Example 223

2) Absolute coordinate, relative coordinate in vertical articulated robot


Now, we will study about absolute coordinate and relative coordinate of ED-7255
robot.

[Figure 6-48] Initial position

[Figure 6-49] Joint 3, -30 degree


5-Axis Arm Robot Trainer ED-7255
224

[Figure 6-50] Joint 3, -70 degree

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.

3) Necessity of relative coordinate

[Figure 6-51] PCB Board


Part 6. Program Example 225

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.

[Figure 6-52] project open

2) Open project and right-click Position Table View to display menu below.
Select 'Add Position'.
5-Axis Arm Robot Trainer ED-7255
226

[Figure 6-53] Adding Position in Position Table View

3) Add Position to find position name of JPOS2. Input -40 degree for Joint 2,
and input -70 degree for Joint 4.

[Figure 6-54] Modifying Position

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.

[Figure 6-55] Grammar check after saving command language

5) In case of no grammatical errors, we can check robot movement using input


value with relative coordinate.
Part 6. Program Example 227

[Figure 6-56] MOVETO JPOS1 [Figure 6-57] MOVE JPOS2

6) Download file and practice the movement of the real robot according to
absolute coordinate and relative coordinate.
5-Axis Arm Robot Trainer ED-7255
228

Practice the movement of


Practice Task 5
gripper

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


Part 6. Program Example 229

[Figure 6-58] Various tools for industrial robot

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.
5-Axis Arm Robot Trainer ED-7255
230

[Figure 6-59] Both fingers are all mounted

[Figure 6-60] One finger is removed

[Figure 6-61] All fingers are removed

[Figure 6-62] Fingers


Part 6. Program Example 231

3) Converting rectilinear motion to rotational motion

[Figure 6-63] Drawing of gripper

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 = 


Formula of gripper command OPEN 50mm based on the above formula;


5-Axis Arm Robot Trainer ED-7255
232

 × 
190.985934…… deg = 
 × 

To open the gripper about 50mm, and rotate pinion gear 190.985934... degree.

6. Starting Practice

1) Load Ex1 project written in the previous chapter.

[Figure 6-64] Opening project


Part 6. Program Example 233

2) Input OPEN command as below.

[Figure 6-65] grammar check after saving

3) If there is no error at grammar check, click 'Start' button to check the movement
of the gripper.

[Figure 6-66] gripper movement

4) Download file to practice the movement of the gripper of the real robot.
5-Axis Arm Robot Trainer ED-7255
234

Practice of movement through


Practice Task 6
Teaching of many coordinates

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


Part 6. Program Example 235

[Figure 6-67] 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.

First of all, velocity formula is velocity = distance/time. The formula to get


distance;
distance = velocity × time

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.

[Figure 6-68] Changing to velocity profile considering acceleration and deceleration


5-Axis Arm Robot Trainer ED-7255
236

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.

Principle to change to trapezoid velocity profile makes velocity profile that


considered acceleration and deceleration with formula to calculate average moving
value of FIR Filter(finite impulse response filter). FIR Filter is used for digital filter.

The principle is simple and can be achieved through the overlap of two functions.

⊗ [Figure 6-70] Input velocity


[Figure 6-69] Filter

=
[Figure 6-71] Result

The following is a method expressed as a figure.


(Figure 6-70 means that velocity 10 is input for 8 times of sampling time.)
Part 6. Program Example 237

[Figure 6-72] Apply Velocity Profile

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

The result after calculation in above figure :

2,4,6,8,10,10,10,10,8,6,4,2

and the sum of the above data is 80.


As a result, 8 times of sampling time it moves distance 80 as shown in Figure 6-72.
5-Axis Arm Robot Trainer ED-7255
238

2) Method to apply velocity profile for many coordinate Teaching

[Figure 6-74] Pass Motion

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.

[Figure 6-75] Real movement in Pass Motion

As shown in above figure, it reaches softly at P3 without passing P2 during Pass


Motion. As shown in P2-2 ~ P3 line, distance for P1`~ P2 reaches at P2-2.

3) Understanding the difference of real movement according to difference of


interval between command and command
Part 6. Program Example 239

[Figure 6-76] Middle point overlap between motion and motion

[Figure 6-77] Real movement in Figure 6-76

[Figure 6-78] End point overlap between motion and motion

[Figure 6-79] Real movement of Figure 6-78


5-Axis Arm Robot Trainer ED-7255
240

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)

[Figure 6-80] Pick and Place

Figure 6-80 is order for Pick and Place Oder.


Realize Pick and Place in the simulator based on above figure.

1) Click 'New Project' to create a project of Pick_and_Place.


Part 6. Program Example 241

[Figure 6-81] New Project

2) After arranging window, input PROGRAM END, basic of command


language, and then click 'Save Project' to save it.

[Figure 6-82] Writing basic command language


5-Axis Arm Robot Trainer ED-7255
242

3) Input JPOS1 position value for each joint in 'Operation View'.

[Figure 6-83] Modification of joint angle

4) By modified value in 'Operation View', 3D robot is changed with modified


value in Arm View. Right-click to save the position.

[[Figure 6-84] Add Position

5) Save JPOS2, JPOS3, and JPOS4 using same method at No 3 and 4.


5-1) If you want to use another method rather than the method at no 5,
perform Teaching for 4 positions through 'Add Position' in 'Position Table
View'.
Part 6. Program Example 243

[Figure 6-85] Add Position through Position Table View

6) Input the following command language to perform Figure 6-80.


PROGRAM : Program start
X1: GOHOME : Return to home position & setting label X1
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
5-Axis Arm Robot Trainer ED-7255
244

[Figure 6-86] Writing command language

7) We can modify command language in various type as shown in the following


figure.

[Figure 6-87] Modifying command language


Part 6. Program Example 245

8) Analyzing robot command language


This practice is an example of the most representative Pick and Place of industrial
robots. move to position (JPOS1) good to grip Work and do preparing work (OPEN),
and then place Gripper at Work position to grip the Work.
After that, move back to ready position and move to position (JPOS3) good to put
down the Work, and then put down the Work.
5-Axis Arm Robot Trainer ED-7255
246

Starting high class logic through


Practice Task 7
variable declaration

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
Part 6. Program Example 247

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.

float fData = 5.32;


fData = fData*1.22;
Above details are same with those of integer type. However, if there is any
difference, variable declaration is floating decimal point or real number(floating
point) type variable declaration of float, and input value also inputs value with prime
number.

char ch = 'c';
printf("char %c \n", ch);
5-Axis Arm Robot Trainer ED-7255
248

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.

2) Variable declaration of ED-7255 robot command language and use method


The followings are variable declaration method.
<variable name> = <constant>|<variable name>|<calculation>
<variable name> must start with character. Besides that, we can use character or
number, but special characters are not allowed.
character string constant among <constant> values must use double quotation
marks("").

The followings are description about variable function.


It is used for declaration of variable that is to save type/real number/character string
value.
Variable type allots value by allotment statement, and it is decided by the value.
In case of declaration of many variables, divide them using comma(,).
The followings are examples about how to use variable. It declare VAR1 ~ 4
variable, VAR1 allots value in integer type, VAR2 allots value in real number type,
and VAR3 allots value in character string type.

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.
Part 6. Program Example 249

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.

1. Create new project as shown in the figure below.

[Figure 6-88] Creating new project

2. Input initial value of the joint after variable declaration.

[Figure 6-89] Inputting initial value after variable declaration


5-Axis Arm Robot Trainer ED-7255
250

3. Input variable value to add control command to operate the robot.

[Figure 6-90] Transferring variable value to control command language

4. Input the second target value.

[Figure 6-91] Inputting the second target coordinate

5. After compiling, click 'Start' button to check the operation.


Part 6. Program Example 251

Practice of robot command


Practice Task 8
language using function

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
5-Axis Arm Robot Trainer ED-7255
252

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.

2) Function we have learned in a school

[Figure 6-92] function principle

Above figure is one of function details we learned in primary school.


Let's suppose that there is a pocket that unconditionally add 7 to a number into a
pocket and take it out of the . We put number of 13 into the pocket, but 20 comes out
the pocket.
Part 6. Program Example 253

[Figure 6-93] function of duplicated calculation

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.

Above pocket is a function.

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
5-Axis Arm Robot Trainer ED-7255
254

sum_func(int x1,int y1), input x is transferred to x1, y is transferred to y1, and


sum_data = x1+y1; result sum_data has integer 5, and then integer 5 is returned to
main function.
Accordingly, variable sum in the main function will input 5.
(Full description of C language is not included.)

3) Functions at robot command language


Position Teaching we have learned so far can be explained as the followings by
adding function to virtual task.
Move to Home coordinate
Move to JPOS1
Gripper open
Pick up Work at A position and then return to JPOS1
Move to JPOS3
Place Work at B position then return to JPOS3
Move to Home coordinate

Command language excluding , can be expressed by lines using command


language we have learned so far. However, , needs many command languages to
perform the task.

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.
Part 6. Program Example 255

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]

1) Open Pick_and_Place, the previous project.

[Figure 6-94] Opening a project

2) Write function as below.

[Figure 6-95] Writing Sub function

Command language to pick up Work at Position A and return it to JPOS2 will be


5-Axis Arm Robot Trainer ED-7255
256

included in above function command language.

3) Copy and paste the existing command language.

[Figure 6-96] Definition of movement of Sub Function

4) Write function call command language.

[Figure 6-97] Sub Function call at Main Routine

Input function name after command language of GOSUB to perform the 14th line.
Part 6. Program Example 257

5) Do same for function to place Work at Position B.

[Figure 6-98] Writing the second Sub Function

6) Save it and then perform command language.


5-Axis Arm Robot Trainer ED-7255
258

Practice of performance of robot


Practice Task 9 command language according to
condition using quarter statement

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


Part 6. Program Example 259

Sometimes we get a drink at a drink vending machine. price of each drink is


different, 500 cent, 600 cent, 700 cent, 800 cent……. When we put 600 cent into a
vending machine, bulbs of drinks with lower price than 600 cent will be turned ON,
but bulbs of drinks with higher price than 600 cent won't be turned ON. In addition, if
600 cent is input, button for the drinks of 700 cent, 800 cent won't not be activated.
Bulb lighting condition for input 600 cent is "bulb for drink with 600 cent or drink
with lower price will be turned ON."
In addition, condition comparison when a button is pressed will be"if a button is
pressed among drink with 600 cent or drink with lower price or not"

2) Condition comparison after arranging conditions of a vending machine


Drink list : drink1, drink2, drink3, drink4, drink5, drink6 ;
Drink price: drink1(drink_price1)=500 cent, drink2 (drink_price2)=600 cent,
drink3 (drink_price3)=700 cent, drink4 (drink_price4)=800 cent, drink5
(drink_price5)=650 cent,

Insert coin: 600 cent ;

The following is the expression of condition comparison in C language when a coin


of 600 cent is input.
if( insert coin => drink_price1 )
drink1 bulb turns ON.
else
drink1 bulb turns OFF.

if( insert coin => drink_price2 )


drink2 bulb turns ON.
else
drink2 bulb turns OFF.

if( insert coin => drink_price3 )


drink3 bulb turns ON.
else
5-Axis Arm Robot Trainer ED-7255
260

drink3 bulb turns OFF.


.
.
.
The followings are more explanation about the condition comparison in C
language.
if(comparison 1 > if(comparison 2)
{
In case that if (comparison 1 is larger than if (comparison 2, perform command in
parenthesis.
}
else
{
In case that if (comparison 1 is not larger than if (comparison 2, perform
parenthesis with else.
}

Accordingly, condition comparison statement structure can be explained as below.

if( insert coin => drink_price1 )


drink1 bulb turns ON.
else
drink1 bulb turns OFF.

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

3) Condition comparison in robot command language


Supposing that there is routing loop Mission, there is Pick and Place robot
command language for 'when integer type variable VAR1 is even number, it pick up
Work at Position A, and when it is an odd number, it pick up Work at A_A position to
move it to Place B'.
Now, we will write command language to decide to perform Sub Function to pick
Part 6. Program Example 261

up Work at position A or A_A Sub Function by deciding whether variable is even


number or odd number.

DIM VAR1
...
IF VAR1 MOD 2 == 0 THEN GOSUB A ELSE GOSUB A_A
...
END```````

```````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````

6. Starting Practice

``````````````````````````````````````````````````````````````````````````````

Open Pick_and_Place project we prepared before and modify it according to the


mission in theory study 3).

1) Open 'Pick_and_Place', the previous project.

[Figure 6-99] Opening a project


5-Axis Arm Robot Trainer ED-7255
262

2) For routing loop rotation, use GOTO statement before LABEL statement and
END statement at the second line to make routing repetition structure.

[Figure 6-100] Modifying the existing command language

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.
Part 6. Program Example 263

[Figure 6-101] Creating new Position through the existing Position

3) Input JPOS5, JPOS6 and add command language for A_A position.

[Figure 6-102] Adding new command language


5-Axis Arm Robot Trainer ED-7255
264

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.

[Figure 6-103] Modifying command language


Part 6. Program Example 265

5) Add the following command language in SUB RETURN_PICK_A_A()


function.

[Figure 6-104] Modifying command language


5-Axis Arm Robot Trainer ED-7255
266

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.

[Figure 6-105] Setting counter through variable


Part 6. Program Example 267

7) Decide if VAR1 integer is even number or odd number. If it is an even


number, add command to perform RETURN_PICK_A function, and if it is an
odd number, add command to perform RETURN_PICK_A_A function.

[Figure 6-106] Adding condition comparison command language


5-Axis Arm Robot Trainer ED-7255
268

8) Move MOVETO JPOS3, S=30 command at 10th lines to


RETURN_PLACE_B().

[Figure 6-107] Modifying command language


Part 6. Program Example 269

9) The followings are modified final source code and EditView image.

[Figure 6-108] Completing quarter example

10) Click Save -> compile-> Start.

11) Download it to Main Controller through network in order to check the


operation of the robot.
5-Axis Arm Robot Trainer ED-7255
270

Practice summary

In general, whole logic of the program decides even·odd of the current variable to
call the relevant function.

The followings are the orders of logic.


1. Add LABEL, GOTO statement at the existing command language to enable the
program to perform routing loop.
2. Add Position A_A at Position A at which the existing Work is located.
3. Organize source according to characteristics of a work.
4. Declare variable and reset it.
5. Write condition comparison statement to decide whether a variable is even or odd
number.
Part 6. Program Example 271

Practice of for-statement for


Practice Task 10
repetitive operation

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) A simulator must 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
5-Axis Arm Robot Trainer ED-7255
272

MOVETO J(30,0,0,0,0), S=30


MOVETO J(40,0,0,0,0), S=30
MOVETO J(50,0,0,0,0), S=30
Second, we can use repetitive command language. increase the angle value of base
joint by 10 degree in for-statement.
FOR VAR1=1 TO 10 STEP 1
...
VAR1 = VAR1 * 10
MOVETO J(VAR1,0,0,0,0), S=30
...
NEXT

2) About FOR-NEXT Statement


First for-statement, we will study about is FOR NEXT statement structure. value
alloted at the declared variable after FOR repeats performative statement in
FOR~NEXT until this it becomes same with number defined after TO or smaller than
that. Whenever it is repeated, declared variable after FOR increases as much as
declared value after STEP, it will be increased by 1 when STEP is skipped. When it
encounter EXITFOR, it stops performance of FOR-statement and moves control to
the next line of NEXT.
For an example of command language of theory study 1).
"FOR VAR1=1 TO 10 STEP 1"
Initial value of variable VAR1 is 1 and it increases up to 10. However, it means to
increase VAR1 value by 1 for one loop. In case that STEP setting is 2, VAR1 value
will increase by 1, 3, 5, 7, 9.
"NEXT"at the last line is to designate performance range of FOR loop.
In other words, performative statement between FOR VAR1=1 TO 10 STEP 1 and
NEXT will be performed.

The second for-statement is DO LOOPWHILE statement structure. repeat


performative statement in DO to satisfy condition formula of LOOPWHILE.

DO
VAR = VAR1+1
Part 6. Program Example 273

IF VAR1 < 0 THEN EXITDO


LOOPWHILE VAR1 < 10

Above command language means to perform performative statement of DO


statement structure when VAR1 is smaller than 10, and get out of DO LOOPWHILE
statement structure when it is smaller than 0 even though value of 1 is added to VAR1.
If initial value of VAR1 is -2, change value of VAR1 to 1 and then get out of DO
LOOPWHILE statement structure.

` 6. Starting Practice

First of all, we will practice FOR NEXT statement structure.

1) Open 'Pick_and_Place', the previous project.

[Figure 6-109] Opening the existing project


5-Axis Arm Robot Trainer ED-7255
274

2) Delete LABEL1 and GOTO statement.

[Figure 6-110] Modifying command language

3) Write FOR NEXT performative statement at the deleted command


language position. Set repetition times at random. In the following case,
only RETURN_PICK_A_A will be executed 5 times. It is likely for FOR
NEXT statement to be executed 10 times, but since, in the 14th line,
VAR1 is again added by 1, VAR1 will change to 1, 3, 5, 7, and 9.

[Figure 6-111] Adding FOR NEXT

4) Click Save -> compile -> Start.


Part 6. Program Example 275

5) Now, we practice DO LOOPWHILE statement. Delete FOR NEXT


statement structure written before and then write sentence structure as
below.

[Figure 6-112] Adding DO LOOPWHILE

6) Click Save -> compile-> Start.


5-Axis Arm Robot Trainer ED-7255
276

Practice Task 11 IO practice using a simulator

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)
Part 6. Program Example 277

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.

2) I/O device of ED7255

[Figure 6-113] I/O device of Main Controller of ED-7255

ED7255 has Analog Input 4 ports, Analog Output 4 ports, Digital In 8 ports, Digital
Out 8 ports, and Relay 10 ports.

FMS(Flexible Manufacturing System) in industrial fields, is intended, in the


production, to increase the operability, flexibility, and maneuverability, and especially
productivity of the long tail by controlling and operating, using a computer, various
process machine, robot, transfer machine, etc. which are used in the manufacturing
factory. However it is adapted in the massive manufacturing fields.
The following image shows a set for associative operation of educational FMS and
ED 7255 operating based on PLC, on the basis of I/O communication.

[Figure 6-114] Automation Apparatus(PLC) and ED7255


5-Axis Arm Robot Trainer ED-7255
278

This product provides practice exercises, as well as the principle of operation in


association with an educational automation apparatus modeled, based upon PLC,
from FMS used in manufacturing sites.
The educational automation apparatus shown in[Figure 6-114] is designed to detect
the metallic or non-metallic work under the control of PLC. If the work is of metal, it
is removed out by using a pneumatic system, while only the non-metallic work is
passed. To the above apparatus, ED7255 is attached in order that, if the non-metallic
work reaches the specific position, FMS sends the digital output signal and the
controller receives the signal through the digital input port. The controller, using a
gripper of a robot arm, picks the non-metallic work and load it to the predetermined
position.
The above process is performed by each device in FMS in the sequence of the
following procedure. In the final process, a vertical articulated robot loads the works
to the predetermined position.

① Supply step: The supplied work is put on a conveyor system by a forwarded


cylinder.

② Transfer step : The conveyor system transfers the work, such that the work
automatically moves to an inspection step.
Part 6. Program Example 279

③ Inspection step: The transferred work is detected whether it is of metal or


non-metal, by using a metal/non-meta detection sensor.

④ Extracting step: The work determined as of metal in the inspection step is


extracted into a fault product box by an extraction cylinder. The work
determined as of non-metal is moved to a good product collecting location at
the end portion of a container, and PLC sends to the vertical articulated robot
the signal indicating that a good product has arrived.
5-Axis Arm Robot Trainer ED-7255
280

⑤ 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.
Part 6. Program Example 281

6. Starting Practice `````````````

1) Open the previous project, 'Pick_and_Place'.

[Figure 6-115] Opening the existing project

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.

[Figure 6-116] Connection between same Port

Signal from Out port 1 goes into In port 1.


3) Conduct network connection in the simulator.
5-Axis Arm Robot Trainer ED-7255
282

[Figure 6-117] Connecting network

4) Move to IO View tap.

[Figure 6-118] Selecting IO View Tab

5) Click port 1 of Write Port to activate list box.

[Figure 6-119] Signal output to Out Port

6) Write Port is HIGH and Read Port becomes 1.


Part 6. Program Example 283

[Figure 6-120] Receiving High input at In Port

Now, we will write robot command language referring to Digital I/O.

7) Write REM (remark) before condition comparison statement at the 9th line as a
comment.

[Figure 6-121] Modifying the existing command language

8) Write command language to perform RETURN_PICK_A function when port 1


at Digital In is High and to perform RETURN_PICK_A_A function when it is HIGH.
5-Axis Arm Robot Trainer ED-7255
284

[Figure 6-122] Adding signal check command language

9) Click Save -> Compile-> Start to activate dialogue box below.

[Figure 6-123] Starting simulation

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.
Part 6. Program Example 285

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.

[Figure 6-124] Performance when Read Port is 1

[Figure 6-125] Performance when Read Port is 0

11) There are more I/O related command languages such as INDSIG ,
WAITINSIG, etc. Refer to the manual to practice those languages.
5-Axis Arm Robot Trainer ED-7255
286

Understanding and practice of


Practice Task 12
Cartesian Space

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) A simulator 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
Part 6. Program Example 287

each joint of an articulated device such as robot is defined as vector.


We will explain about a robot that consists of 2 degree of freedom(DOF- Degree of
Freedom) with Joint 1 and Joint 2.

2) Cartesian Space and Joint Space on a graph


When joint 1 is 30 degree, joint 2 is 60 degree, and length of link 1 is 15cm, length
of link 2 is 12cm, each space coordinate is explained as a graph below.

■ Joint Space

[Figure 6-126] 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

[Figure 6-127] Cartesian Space


5-Axis Arm Robot Trainer ED-7255
288

Cartesian Space in 2D is a space designed based on X, Y axis, and it is a space


designed based on X, Y, Z axis in 3D. Now, how do we express a robot in Cartesian
Space? The answer is in the above figure. In 2D space, it can be express with joint
position data.
Link 1 starting from joint 1 is connected to joint 1. In other words, end of Link 1 has
+12.99cm toward X direction and +7.49cm toward Y direction from the center point
(0,0).
Using the same method, end of Link 2 has +12.99cm toward X direction and
+19.5cm toward Y direction.

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)

Accordingly, end point X, Y position of Link 2;

Link2 X = Link 1 length × cos(30deg)+ Link 2 length × cos(30+60deg)


Link2 Y = Link 1 length × sin(30deg)+ Link 2 length × sin(30+60deg)

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.
Part 6. Program Example 289

[Figure 6-128] example of 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.

4) Trace planning for Joint Space and Cartesian Space


There are many kinds of automatic weapons in the army. The weapon can be
divided into howitzer (high-angle gun) and direct-firing gun.

[Figure 6-129] Trajectory trace

Howitzer (high-angle gun) is a cannon to hit target behind an obstacle. Mainly, it is


used to bombard the backside of a mountain in mountainous area.
5-Axis Arm Robot Trainer ED-7255
290

[Figure 6-130] Trajectory trace of direct-firing gun

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.

From now on, we will study about trace of a robot.

[Figure 6-131] position movement

As shown in above figure, we will study how to change end point at position A to
position B.
Part 6. Program Example 291

[Figure 6-132] Normalized transfer of 2degree of freedom robot in joint-space expression

Movement of Joint Space from Position A to Position B is shown in Figure 12-7.


Even though the trace is curve, all trace movement of Joint Space can not be
estimated like this. We are interested in the movement from A to B and not interested
in the movement during the movement of the point.
Accordingly, we call this movement as PtoP(point to point).
Now, the following image is to move Cartesian Space from 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

Figure 6-133 is the movement through linear interpolation in Cartesian Space. It


moves through linear Trajectory Planning from Position A to Position B.
In order to always place fingertip point on the straight line between Position A and
B, intermediate steps are interpolated in the figure above.
To use Position 1 calculated by interpolation as an example, get position 1 on a
straight line between Position A and Position B, and then get value of angle 20 deg
5-Axis Arm Robot Trainer ED-7255
292

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 6-134] Movement of rectangular-space


considered acceleration and deceleration

[Figure A] [Figure B]

Interpolation method in Figure 6-134 is Figure A and Figure 6-135 is interpolation


method in figure B.

[Figure 6-135] Rectangular-space movement of free trace


Part 6. Program Example 293

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.

6. Starting Practice `````````````

This practice is divided into 3 parts.


First, conduct linear movement of end point of the robot in Arm View using a
mouse. Second, we will check movement of Joint Space and Cartesian Space in Trace
View. The last, input Position Teaching as X, Y, Z value and check for the movement.

■ The first test

1) Create a new project.(Project name: Cartesian_Test)

[Figure 6-136] Opening the existing project


5-Axis Arm Robot Trainer ED-7255
294

2) Rotate the robot to see the side of the robot.

[Figure 6-137] Robot rotation

3) Set Joint2=-50, Joint3=-100, and Joint4=-30.

[Figure 6-138] Setting each joint angle

4) Click end of the gripper to create 3D cartesian coordinates system as shown


in the figure.
Part 6. Program Example 295

[Figure 6-139] Creating cartesian coordinates system

5) Click blue axis to perform linear movement to the direction in blue color.

[Figure 6-140] Z axis linear movement


5-Axis Arm Robot Trainer ED-7255
296

6) Click red axis and move it to the right and left to perform linear movement
to the direction in red color.

[Figure 6-141] Linear movement of X axis

■ The second test

7) Set Joint2=-30, Joint3=-80, and Joint4=-70 degree.

[Figure 6-142] Setting each joint angle


Part 6. Program Example 297

8) Perform 'Add Position'.

[Figure 6-143] Add Position

9) Move No. 1 axis by 90 degree.

[Figure 6-144] Moving Position


5-Axis Arm Robot Trainer ED-7255
298

10) Add Position.

[Figure 6-145] Add Position

11) Write command language.

[Figure 6-146] Adding control command language

12) Click Display Trace in pop-up menu.

[Figure 6-147] Activating Trace


Part 6. Program Example 299

13) Click Save -> Compile-> Start.

[Figure 6-148] Checking Joint Space movement

As shown in figure above, we check the movement in a curve trace from JPOS1 to
JPOS2.

14) Modify command language.

[Figure 6-149] Modifying to linear interpolation command language

'L' command is for linear interpolation.


5-Axis Arm Robot Trainer ED-7255
300

15) Click Save -> Compile-> Start.

[Figure 6-150] Linear interpolation movement

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.

[Figure 6-151] Check of final position


Part 6. Program Example 301

■ The third test

16) Click fingertip at the last JPOS2 position to create 3D coordinate.

[Figure 6-152] Creating cartesian coordinates system

17) Move a red axis in the outside direction to move a fingertip.

[Figure 6-153] X axis linear movement


5-Axis Arm Robot Trainer ED-7255
302

18) Select Type P at Add Position.

[Figure 6-154] Add Position to Cartesian coordinates system

19) Modify robot command language.

[Figure 6-155] Adding Cartesian coordinates system command language

20) Click Save -> Compile-> Start.


Part 6. Program Example 303

Interlock mode of simulator and


Practice Task 13
robot based on network

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.

5. Starting Practice ```````````

※ Checking interlock mode


1) Creating WorkInCup project
5-Axis Arm Robot Trainer ED-7255
304

[Figure 6-156] Creating project

2) Connect tap -> Connect to connect it to network.

[Figure 6-157] Connecting network

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.

[Figure 6-158] Associative operation of simulation


and robot-1
Part 6. Program Example 305

[Figure 6-159] Associative operation of simulation and robot-2

[Figure 6-160] Associative operation of simulation and robot-3

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.
5-Axis Arm Robot Trainer ED-7255
306

[Figure 6-161] Display by receiving Encoder value

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

[Figure 6-162] initial preparations


Part 6. Program Example 307

7) The first given Mission is"Start at Home/". Add command language of


GOHOME.

[Figure 6-163] Writing command language

8) Return to home, operate the Pendant to position End-Effector at a position


good to grip Work. Upper part of the Z direction of the Work is a good
position for gripping.

[Figure 6-164] Moving fingertip above the Work


5-Axis Arm Robot Trainer ED-7255
308

9) For Teaching of current robot position, perform Add Position- Type J in the
simulator.

[Figure 6-165] Add Position of the current status of the robot

10) Now we is going to move Joint Space from home coordinate to a position
good to grip object. Add robot command language.

[Figure 6-166] Added command for current


status of robot

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.
Part 6. Program Example 309

[Figure 6-167] Moving to position for Work pickup and picking up

12) When Work is correctly gripped, perform coordinate Teaching in the


simulator.

[Figure 6-168] Work pickup position Add Position


5-Axis Arm Robot Trainer ED-7255
310

13) Add robot command language up to object pickup. Generally, move to


position good to pick up Work in Pick and Place and then perform linear
movement of End-Effector. In case of movement by Joint Space, fingertip can
touch other equipment around the Work because trace can not be controled.
Therefore, we generally perform linear movement.

[Figure 6-169] Adding linear interpolation command language

Value of gripper that is closed at J6 at JPOS2 is input. However, it is not moved in


real. The gripper will be operated only by OPEN command.

14) Lift Work with Z axis higher than height of the cup using 'Z' button of the
Pendant.

[Figure 6-170] Pickup and linear movement to Z axis increasing point


Part 6. Program Example 311

15) Add a robot command as follows, to return to the original JPOS1 position.

[Figure 6-171] Adding command language for linear movement

16) Move End-Effector that picked up Work over the Z axis of the cup.

[Figure 6-172] axis 1 rotation to point over the cup


5-Axis Arm Robot Trainer ED-7255
312

17) After Type J Teaching using 'Add Position', add robot command language.

[Figure 6-173] Adding command language

18) Place Work into the cup using Z command in Manual Mode.

[Figure 6-174] linear movement into the cup

19) After Type J Teaching through 'Add Position', add robot command
language.

[Figure 6-157] Adding command language for linear movement


Part 6. Program Example 313

20) Open gripper to drop Work into the cup.

[Figure 6-176] Opening gripper to drop Work into the cup

Add OPEN command.

[Figure 6-177] Adding command language for gripper open

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.
5-Axis Arm Robot Trainer ED-7255
314

21) Take End-Effector out of the cup using Z command in Manual Mode on
Teaching Pendant.

[Figure 6-178] linear movement toward Z axis increasing direction

22) Add a robot command as follows, to return to the original JPOS3 position.

[Figure 6-179] Adding command language for linear movement

23) Since Mission is complete, move the robot to home position using
GOHOME command.
Part 6. Program Example 315

[Figure 6-180] Completing at initial posture of the robot

24) Be sure to check for the movement on the simulator. If there is no problem,
download it to perform Mission.
5-Axis Arm Robot Trainer ED-7255
316

Writing comment at robot


Practice Task 14
command language

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
Part 6. Program Example 317

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
5-Axis Arm Robot Trainer ED-7255
318

※ Writing comments
Part 6. Program Example 319

Moving Work tower to a designated


Practice Task 15
position

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.

[Figure 6-181] Initial status


5-Axis Arm Robot Trainer ED-7255
320

`` Starting Practice ````````

1. Pick up the first Work.

[Figure 6-182] The first Work pickup

2. Vertically lift up the Work.

[Figure 6-183] Linear movement after pickup


Part 6. Program Example 321

3. Place Work over Z direction at Position A.

[Figure 6-184] Z axis direction of Position A

4. Place the object at Position A.

[Figure 6-185] Placing Work at Position A


5-Axis Arm Robot Trainer ED-7255
322

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.

[Figure 6-186] Pickup of the second Work

6. Lift up the second Work to Z direction.

[Figure 6-187] Z direction linear movement after pickup


Part 6. Program Example 323

7. Place Work over Z direction at Position B.

[Figure 6-188] Moving over Z axis direction of Position B

8. Place Work at Position B through linear interpolation.

[Figure 6-189] Placing object at Position B


5-Axis Arm Robot Trainer ED-7255
324

9. After placing the object at Position B, in order to return End-Effector without


touching other Works, vertically lift End-Effector and pick up the third Work.

[Figure 6-190] the third Work pickup

10. Lift up the third Work to Z direction.

[Figure 6-191] Z direction linear movement after pickup


Part 6. Program Example 325

11. Place the Work to Z direction of Position C.

[Figure 6-192] Moving over Z axis direction at Position C

12. Place the object at Position C through linear interpolation.

[Figure 6-193] Placing the object at Position C


5-Axis Arm Robot Trainer ED-7255
326

13. Not to touch other Works, lift End-Effector through linear interpolation at Z
direction.

[Figure 6-184] Linear movement to Z direction after gripper open


Part 6. Program Example 327

Performing command using


Practice Task 16 conditional statement and Sub
Function

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.

[Figure 6-195] Mission

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.
5-Axis Arm Robot Trainer ED-7255
328

※ Program
Part 6. Program Example 329

Starting Practice

1. There are 1~4 Works as shown in the figure below.

[Figure 6-196] Initial status for Mission

2. Separate all of even number and odd number.

[Figure 6-197] After completing Mission


5-Axis Arm Robot Trainer ED-7255
330

Practice Task 17 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.

[Figure 6-198] example image of Hanoi Tower

In front of this sacred tower, god of Brahman gave monks a mission.

"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.
Part 6. Program Example 331

The followings are rules to move circular plate.


1. Move only one circular plate at a time.
2. Move only the circular plate on the top.
3. Large circular plate can be piled on small circular plate.
4. Use pillar in the middle temporarily on the condition you observe the conditions
above.

Explanation

4 disks will be raised as an example. The sequence goes from left to right in this
textbook.

[Figure 6-199] Explanation of Hanoi Tower (Left -> right)


5-Axis Arm Robot Trainer ED-7255
332

Starting Practice

Place Work as shown in the figure below and then solve the puzzle of Hanoi Tower.

The rules are;

1. All rules are same with those of Hanoi Tower.


2. Supposing that no 1 is the largest and no 4 is the smallest.
3. Can not place a larger on upon a smaller one.

[Figure 6-200] Initial status of Hanoi Tower

Observe the following operating rules.

1. Use linear interpolation to pickup and place Work.


2. Transfer velocity is limited to below velocity 40.
3. After completing a motion return to home position.
4. Mark comment.
Part 6. Program Example 333

※ Program
5-Axis Arm Robot Trainer ED-7255
334
Part 6. Program Example 335

5-Axis Arm Robot Trainer


ED-7255

Part 7
Toubleshooting

7-1. Basic Inspection


7-2. Error Codes
5-Axis Arm Robot Trainer ED-7255
336

7-1. Basic Inspection

If any trouble occurred over this product, it is necessary to inspect the basic portions
through the following procedure, more than anything else.
Although the following inspection procedure is the most basic inspection
procedure, it will settle most of problems regarded as to be the often cases in a robot.

7-1-1. Basic Visual Inspection Procedure

1) Make sure there is no apparent damage visible.


2) Make sure the system is being powered on.
3) Make sure the power source notation attached to the back of the controller is
identical to the voltage supplied to the system.
4) Make sure that the system has been turned on.
5) Check whether the alarm or error occurred over a front panel LCD / LED of the
controller, or a teaching pendant.
6) Check whether the excessive heat is generated on the controller.
7) Make sure that all the connectors are fully connected.
8) Check whether the apparent damage to the connector and the power lines
occurred.

7-1-2. Basic Operational Inspection Procedure

1) Motor operation inspection

(1) Inspection procedure

① Perform the system booting by connecting a robot to a teaching pendant and


powering on the system.
② Press 3-key in a main menu of the pendant to have a screen appear as follows.
Part 7. Toubleshooting 337

=> =>

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

(2) Checking malfunction

In the above inspection procedure, if the following failure occurs in the robot
movement, contact the seller or ED service center and settle the problem.

① Fault in motor system


- When a robot does not move, even though there is no problem on connection
lines between the power source and a robot or a controller
② Fault in encoder system
- When, although a robot moves, it cannot be stopped by releasing the button.

2) Checking hard home position

(1) Inspection procedure

① Perform the system booting by connecting a robot to a teaching pendant and


powering on the system.
② Press F2 key in a main menu of the pendant to have a home menu appear as
follows.
5-Axis Arm Robot Trainer ED-7255
338

=> =>

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

(2) Checking malfunction

In the above inspection procedure, if the following failure occurs in the robot
movement, contact the seller or ED service center and settle the problem.

① Fault in motor system


- When one or more axis did not move, not forming the vertical shape.
② Fault in encoder system or home coordinate
- When one or more axis moved in a certain direction to the maximum, not
forming the vertical shape.
- When there occurs 3 degree or more angle of one or more axis with regard to
the vertical.

7-2. Error Codes


If recognizable problem occurs over the robot controller, the error codes or alarm
codes, together with the message, are generated at the teaching pendant and a front
panel of the controller.
The error or alarm is roughly divided into the hardware error and the software error.
The hardware error means the problem occurring over the robot or controller, while
the software error means the problem occurring on the control program (script)
written by the simulator.
Part 7. Toubleshooting 339

7-2-1. Hardware alarm codes


Code
Code Description
name
․ Current value exceeds the current limit specified to x'
Problem
th motor

․ Robot arm movement is blocked by any mechanical


part or other hindrances
․ Fault in encoder cable connection between the robot
Cause arm and the controller
․ Mis-setting of the hard home of the robot arm
․ Long time operation of the robot (temporary error)

Over- ․ Remove the ambient hindrances.


A01x current ․ Correct the cable to the robot, and fasten it with a
Alarm screw.
․ For a long time operation, it may be the temporary
phenomenon. Perform again the motion, or stop the
system and restart it after 10 minutes.
Solution ․ Perform hard homing in the pendant menu. If the
robot arm does not remain home posture, have the
seller or ED service center newly establish the hard
home setting.
․ If the problems are not solved by the above measures
and the alarm generates repeatedly, motor or encoder
systems are likely to fail. Thus, contact the seller or ED
service center.

․ Data from x' th encoder exceeds the control limit


Problem
value range.

․ Fault in encoder and motor cables connection between


the robot arm and the controller
․ Error data occurred due to the fault in an encoder
Cause
system.
Following
or ․ Robot control error occurred due to the fault in a
A02x motor system.
Overrun
Alarm

․ Correct the motor and encoder cables to the robot,


and fasten them with a screw.
Solution ․ If the connection is normal but the problems occur
repeatedly, motor or encoder systems are likely to fail.
Thus, contact the seller or ED service center.
5-Axis Arm Robot Trainer ED-7255
340

Problem ․ Fail occurs in x' th encoder data.

․ Fault in encoder and motor cables connection between


the robot arm and the controller
Cause
․ Error data occurred due to the fault in an encoder
Encoder system.
A03x Data
Alarm ․ Correct the motor and encoder cables to the robot,
and fasten them with a screw.
Solution ․ If the connection is normal but the problems occur
repeatedly, motor or encoder systems are likely to fail.
Thus, contact the seller or ED service center.

․ Robot control command of a robot is about to move


Problem
out of the robot's soft limit range.

․ When a robot is tried to be moved out of the soft


limit range, in control by a robot control program
Soft Limit (Script).
A04 Cause
Alarm ․ When during calculating Inverse Kinematics of a robot
control program, the target coordinate value is outside
the soft limit region.

Solution ․ Check the robot control program and correct the code.

Problem ․ Fault in an encoder cable connected to the robot

․ Mis-connection of an encoder cable to be connected


Cause
to the robot
Encoder
A05 Connect
Alarm ․ Correct the encoder cable to the robot, and fasten it
with a screw.
Solution ․ If the connection is normal but the problems occur
repeatedly, an encoder system is likely to fail. Thus,
contact the seller or ED service center.
Part 7. Toubleshooting 341

Problem ․ Writing to EEPROM mounted in the robot failed.

․ Fault in an encoder cable connected to the robot


Cause
ROM ․ EEPROM failure
A06 Write
Alarm ․ Correct the encoder cable to the robot, fasten it with
a screw, and retry the writing.
Solution ․ If the connection is normal but the problem occurs
repeatedly, EEPROM is likely to fail. Thus, contact the
seller or ED service center.

Problem ․ Reading from EEPROM mounted in the robot failed.

․ Failure in an encoder connector to the robot


Cause
ROM
․ EEPROM failure
A07 Read
Alarm
․ Correct the encoder cable to the robot, fasten it with
a screw, and restart the system.
Solution ․ If the connection is normal but the problem occurs
repeatedly, EEPROM is likely to fail. Thus, contact the
seller or ED service center.

․ Abnormal data stored in EEPROM mounted in the


Problem
robot

․ Failure in an encoder cable connected to the robot


Cause
ROM ․ EEPROM failure
A08 Data
Alarm
․ Correct the encoder cable to the robot, fasten it with
a screw, and restart the system.
Solution ․ If the connection is normal but the problem occurs
repeatedly, EEPROM is likely to fail. Thus, contact the
seller or ED service center.
5-Axis Arm Robot Trainer ED-7255
342

7-2-2. Software error


Code Code name Description

Unusable
․ When a command which cannot be used at the
S01 Statement Cause
current position is tried to be used.
editing Error

Unusable
․ When an operator which cannot be used at the
S02 Operator Cause
current position is tried to be used.
editing Error

Condition ․ There is any problematic variable relevant to the


S03 Variable Cause condition or initiation of IF, FOR, and DOWHILE
editing Error statements

Next
․ In FOR-NEXT statement, ID is not designated to
S04 Statement Cause
NEXT statement
editing Error

Not Exist
․ When the project is loaded, there is no
S05 Project Load Cause
corresponding project.
Error

․ When the project is loaded, there is no Project


Cause
folder, in which the project is to be saved.
Not Exist
S06 Project Folder
Load Error ․ Fault in an embedded Linux file system in the
Solution
controller. Contact the seller or ED service center.

․ When the project is loaded, it is not possible to


Cause access Project folder, in which the project is to be
Can't Open saved.
S07 Project Folder
Load Error ․ Fault in an embedded Linux file system in the
Solution
controller. Contact the seller or ED service center.

․ When the project is loaded, the relevant project file


Cause
Can't Open cannot be loaded.
S08 Project File
Load Error ․ Delete the relevant project and create new one or
Solution
re-download it from HOST program

Host is
Connected ․ While the robot is being operated by a host, the
S09 Cause
Operating teaching pendant tries to perform the relevant task.
Error
Part 7. Toubleshooting 343

Script Syntax ․ There is any syntax error in the robot control


S10 Cause
Compile Error program (script).

․ There is not the position data in the robot control


Cause
program.

․ The position data, as was not saved, is


downloaded from the host, or there is any problem
Cause in transmission of the file.
Not Exist ․ There is the damage in the saved position data
S11
Position Error file.

․ If the project was downloaded from the host, check


the host position data with the control program and
correct it.
Solution
․ If the project was written in the teaching pendant,
upload it to the host to check, and correct, the
position data with the control program.

․ An incomplete command while in written is tried to


Statement is Cause be saved, or other different command is tried to be
Not performed.
S12 Completed
Statement
Error ․ Stop the execution in the host and disconnect the
Solution
host, and retry.

Not EMSTOP ․ Emergency Stop button was not pressed, in a


S13 State Mode Cause mode to be performed while the Emergency Stop
Error button is being pressed.

EMSTOP ․ Emergency Stop button was pressed, in a mode to


S14 State Mode Cause be performed while the Emergency Stop button is
Error not being pressed.

First Position
․ REM statement, declaration statement or the like is
S15 Statement Cause
not positioned at the first position of the sentence.
editing Error

First Character ․ The first spelling of the variable is not English


S16 Cause
editing Error alphabet.
Extra Motor ․ An external motor is tried to be used, while its
S17 Cause
Config Error setting is wrong.
Position File ․ Failed to open position data file, Position data file
S18 Cause
Open Error is damaged
Position Data ․ Position Data of selected project & coordination is
S19 Cause
is Empty empty
Save Position
S20 Cause ․ Failed to save position data
Data Error
5-Axis Arm Robot Trainer ED-7255
344

Select Wrong
S21 Cause ․ Selected axis is wrong
Axis
Part 7. Toubleshooting 345

5-axis articulated manipulator Trainer


ED-7255

Appendix

1. Introduction to Industrial Robot


2. Kinds of Industrial Robot
3. Introduction to FA System
4. Introduction to Flexible Manufacturing System
5. Application Examples of Industrial Robot
6. Introduction to PLC
7. Understanding and control of motor Actuator
5-Axis Arm Robot Trainer ED-7255
346

Appendix Ⅰ. Introduction to Industrial Robot

What is Industrial Robot?


A machine having functions of Manipulation or Mobility, based on the
automatic control, and capable of correcting, using the program, each task.

1. Introduction to Industrial Robot

Since the industrial revolution, due to the introduction of automation, people have
had to bear, only because of the convenient, standardized mass production. In the
current information society, however, owing to changes in social structure and the
improvement of living standards, the products that meet the user's personality and
preference was given to the more welcome that those of convenience only. This means
changes in the quality of upcoming products, as well as changes in the means of
production was caused.
Because the content of the product became intelligent and in order to produce
individual goods of intelligence, the means of production had to be required more than
ever. This new means of production is called FA, ie, Factory Automation.
Due to, in addition to such needs of the times, changes in the social environment,
such as the need for increased productivity, labor costs rise, workers' safety and high
quality requirements, or diversification of demand, the necessity of FA is acutely
increasing than ever.

1) History of Industrial Robot

The word "Robot" was first introduced in <RUR: Rossum's Universal Robots> the
play of Czech writer Capek's in 1920. This word Robot came from etymology of the
Czech word Robota meaning "forced, compulsory labor".
The first development of the Industrial Robot began in 1954 by Unimation Inc. and
AMF Inc. in the United States of America who used two patent applications
"Playback robot", filed by George C. Delvol. Both companies, in 1962, constructed
the first practical Playback robots named "Unimate" and "Basatoreon".
Appendix 347

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.

2) Definition of Industrial Robot

Although a lot of definitions for a robot, typically it can be introduced into the
following two.
According to the definition of America's RIA(Robot Institute of America), a robot
is defined as a versatile programmable mechanism to perform many kinds of works by
doing the programmed actions and therefore moving parts or equipments, tools, or the
like.
In addition, according to ISO (International Organization for Standardization),
Industrial Robot is "a multifunctional manipulator that can perform the
re-programmable automatic position adjustment and handle the goods, parts, or tools
in several degrees of freedom. Also, in order to perform a variety of missions, it is
designed to function as a programmed action apparatus. It has the appearance that one
wrist is attached to one arm".

3) Components of Industrial Robot

Elementary components of Industrial Robot are three parts as follows.


A) Manipulator : This is a main body of the robot composed of links, joints, and
other structural elements. A simple manipulator which has no other structural element
cannot be considered as a robot. The manipulator is again divided into Body, Arm,
and Wrist.
5-Axis Arm Robot Trainer ED-7255
348

[Figure Annex 1-1] Structure of manipulator

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 349

(a) Rectangular: P-P-P (b) Cylindrical

(c) Spherical : R-R-P (d) Articulated : P-R-R or R-R-R

[Figure Annex 1-2] Types of Industrial Robot Arm

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.
5-Axis Arm Robot Trainer ED-7255
350

(a) Prismatic (c) Prismatic/Revolute

(b) Revolute

[Figure Annex 1-3] Classification as wrist structure

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 (d) Gripper-1

(e) Gripper-2 (f) Gripper-3 (g) Gripper-4 (h) Fork-Lift

[Figure Annex 1-4] Variety of End Effector


Appendix 351

C) Actuator : Actuator is equivalent to the manipulator's "muscle". The general


form of the actuator is a servo motor or step motor, and a pneumatic cylinder or
hydraulic cylinder. It is controlled by a controller.

D) Controller : Controller has no outstanding ability as a human brain, but for


motion skills, features such as the cerebellum actions. The controller receives data
from a computer to control the movement of the actuator, and information from a
sensor to set the coordinate axes. The controller sends a signal to the actuator to move
and detects changes in joint angle by using an encoder, and stops the operating signal
when the joint reaches the desired value. In addition, the speed or force can be
controlled via the controller.

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.
5-Axis Arm Robot Trainer ED-7255
352

Appendix Ⅱ. Kinds of Industrial Robot

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.

1. Kinds of Industrial Robot

Many types industrial robots are used in industrial sites to save human from 4D
(Dull, Dirty, Dangerous, and Difficult) job. Shape and structure of industrial robots
are differ from working condition of each site. However, the basic robot technology is
same for all robots. Now, we check out the shape and structure of these robots.

1) Pick & Place Robot

[Figure Appendix 2-1] Pick & Place robot


Appendix 353

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.

[Figure Appendix 2-2] Pick & place motion

A pick & 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.

2) Cartesian Coordinate Robot

(1) Definition

A cartesian coordinate robot consists of only linear axis. As shown in Figure


Appendix 2-3, axis 1 is for right/left movement(X axis), axis 2 is for
forward/backward movement(Y axis), and axis 3 is for up/down movement(Z axis).
movement of each axis of this structure is limited to one direction, and it is
independent from other two axes. Added to that, cartesian coordinate robot consists
of 4 axes by attaching rotation axis(  ) to change gripping direction of an object.

[Figure Appendix 2-3] Cartesian coordinate robot


5-Axis Arm Robot Trainer ED-7255
354

Since working space of the robot in cartesian coordinate space(XYZ) is regular


hexahedrons or rectangular parallele piped, any work and operation of robot must be
included in this kind of working space. Added to that, coordinates system familiar
with people is cartesian coordinates system by 90° for easy , task teaching of general
users.
Cartesian coordinate robot is generally called XYZ robot. core parts of a robot is
Ball Screw that is a power transmission device for converting rotational motion of a
motor to rectilinear motion. Additionally, since cartesian coordinate is generally
based on rectilinear motion, movement is not independent to each movement
direction. Because theory of mechanism and dynamics is same for all positions of
workspace, it has even control characteristics enabling easy control. Additionally,
variation of repetition precision according to position is so small. Since three
directions are capable of independent movement, module-type design by one axis is
good for control.

(2) Merits ․ Demerits

① Merits
• Control for linear movement is simple.
• High mechanical rigidity, precise repetition precision performance
• Since weight-lifting capacity does not change at other position in working space,
the robot can handle heavy load.
• Since operating radius according to X axis can be extended, it is good for large
working space.

② 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

• X-ray shooting using robot to remove contamination


• Pick and place applications

3) Cylindrical Coordinate Robot

(1) Definition

Cylindrical coordinate robot has a structure of two rectilinear motion and one
rotational motion. robot with degree of freedom, one rotation capacity, and two
rectilinear motion degree of freedom can perform simple movement. The first
coordinate is relevant to base rotating angle for up/down coordinate axis, the second
coordinate is relevant to in and out movement of Y axis toward radius direction robot
angle. The last coordinate is relevant to Z axis, up/down direction.

[Figure Appendix 2-4] Wafer transfer robot

Above figure is an example of cylindrical coordinate robot. It is a semi-conductor


wafer transfer robot for quick and correct transfer of wafer to a designated zone.

(2) Merits ・ Demerits

① Merits
• Motion in wide horizontal range is possible and good for working in long
distance range.
• Precise repetition precision performance
• Vertical structure maintain side space.
• High loading capacity according to design of rotation axis degree of freedom of 1
axis.
5-Axis Arm Robot Trainer ED-7255
356

② 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

4) Horizontal articulated Robot

(1) Definition

Generally, it has one linear (vertical) movement and two rotational motions to get at
a specific position on a coordinate. This robot, called as SCARA (Selective
compliance assembly robot arm), has two horizontal joint segment and one linear and
vertical movement axis fixed on base. The first rotational motion is relevant to
shoulder against vertical axis, the second rotational motion is relevant to against
vertical axis, and the third rectilinear motion is relevant to Z axis that moves vertically
up/down. Figure Appendix 2-5 is SCARA robot currently on a market, and Figure
Appendix 2-6 shows operating radius of SCARA robot.

[Figure Appendix 2-5] [Figure Appendix 2-6] SCARA


SCARA Robot robot rotation radius
Appendix 357

(2) Merits ・ Demerits

① Merits
• Minimum installation space
• It is more precise than that of rectangular type, cylinder type, and has relatively
wide working zone.
• High flexibility.

② 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

5) Vertical articulated Robot

(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.
5-Axis Arm Robot Trainer ED-7255
358

4-axis
motor 5-axis 6-axis
motor motor

3-axis
motor

2-axis
motor
1-axis
motor

[Figure Appendix 2-7] Vertical articulated robot

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.

[Figure Appendix 2-14] Operating radius of vertical articulated robot


Appendix 359

(2) Merits ・ Demerits

① 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
5-Axis Arm Robot Trainer ED-7255
360

Appendix Ⅲ. 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,

1) Definition of FA(Factory Automation)

FA is the term came into use since the 1980s. In narrow sense, it means the
localized automation, when they actually create a product, such as the automation in
production process control or instrumentation and the design automation, or
automated means local. In a broad sense, it means the systematic technique efficiently
and organically combining all production activities, from ordering to shipment.
This can handle automatically product's design, automatic control of production
processes, production equipment management, fault finding and repair, quality
control and other personally done works. Thereby it has the advantages of improving
productivity and being able to produce large quantities of consistent quality products
in a short period of time while minimizing human intervention.
Appendix 361

Production plan

Production
management

Support CAD/CAM Support stock and


and CAE logistics

Assembly,
processing,
automatic control

Production

[Table Annex 3-1] Conceptual model of FA

In other words, the factory automation, as a comprehensive technology of a


production system, can be said to refer to the unattended plant which processes
CAD/CAM/CAE production management, computer control, transportation system,
plant layout technology, FMS industrial robot, NC factory machinery, etc.
System having the following form and features of the system can be called as a
factory automation system.
(1) Unattended process orienting to flexible production by means of the integrated
production and the management system, in-line combing from orders to the design,
manufacture, inspection, and shipment.
(2) Combination of OA in the factory sector status, combined with FMS features,
computer aided design CAD, and computer aided manufacturing CAM.
(3) The combination of robot and CAD/CAM, or FMS and unmanned carrier and
unmanned warehouse has a meaning of factory automation in a wider range. FA
orients to the unattended processing and assembly plants rather than to the process
industry.

2) Configuration of FA

Factory automation system can be classified according to the configuration scheme


as follows:
5-Axis Arm Robot Trainer ED-7255
362

(1) Configuration by process flow

Classified in the following table, the configuration is based on the process flow of
the manufacturing process having a similar flow. Thus, according to the order, its
configuration will be able to be easily identified.

Larger division Sub-division


- CAD/CAM
Product and process design - CAE
technologies
- Digital expression of CAD output for
outsourcing management
- FMC/FMS
Processing and assembly
- NC/CNC machine
technologies
- Industrial Robot

Transportation and - Automatic loading/unloading


warehousing technologies - Automatic guided vehicles (AGV)

- Material test at the time of introduction


Test technologies or manufacture
- Final product test

- LAN
Supervising, control and
- Computer network in factory
communication technologies
- Programmable controller

Information system - Material requirements planning (MRP)


technologies - Material resources planning (MRP2)

System integration - CIM


technologies - Artificial intelligence (AI)/Expert system

[Table Annex 3-2] Classification and configuration by process flow

(2) Configuration by process capability

Classification structure based on process capability in the table below, is different


from the process flow of the above classification and is classified by the technical
features.
Appendix 363

Fields of automation
Elementary technologies
technologies
- Computer aided design (CAD)
Design automation - Computer aided engineering (CAE)
- Automatic programming
- Industrial Robot
- NC machine
Processing automation
- Injection molding
- Computer for FA
- Assembly robot
Assembly automation
- Sensor
Test and inspection - Inspection robot
automation - Sensor, Measuring instrument
Transportation and storage - Automatic loading/unloading
automation - Automatic guided vehicles (AGV)
- Material requirements planning(MRP)
System integration
- LAN

[Table Annex 3-3] Classification and configuration by process capability

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.
5-Axis Arm Robot Trainer ED-7255
364

First, a problem in production workers in manufacturing: For example, the steeply


rising labor costs and labor disputes on wage growth arise, and difficulties in
obtaining the labor force should be solved.
Second is in terms of competitiveness of the market. Since high quality of the
product appears by machine rather than by human resources and in order to increase
other administrative profitability and to reach the competitive edge with third parties,
there is a need to introduce factory automation.
Third, the structure of corporate management through the automation of equipment
can be innovatively formed.
Fourth, if companies currently going to CIM adopts, as a pre-stage, the factory
automation, the factory automation will occupy a valid portion as one step on the
process to promote the CIM.
Fifth is an improvement of the factory environment. For example, if the safety is
ensured, accidents are prevented, and the work environment is improved, and
therefore Clean Factory image is shown outside, this cannot help benefiting the
corporation.

Factory automation's effects and advantages on the company are enumerated as


follows.
A) Reduction in direct labor costs: Reduction in direct labor cost is the biggest
advantage of factory automation. With the introduction of factory automation
line, a line for simple repetitive tasks, as well as staffing, is reduced and
therefore, labor costs can be saved.
B) Reduction of indirect costs: Factory Automation unifies the process, and
therefore, production-related services, transportation, and other quality
management costs will decrease.
C) Reduction of the cost of work standards: Operation elements associated with the
production are integrated into one, and thus, overall work standard time and
cost is reduced and equipment utilization is increased.
D) Quality improvement: Owing to a high level of automation, worker's skill level
can move into the machine. Thus, since the machine precision is more accurate
than person's, the quality can be improved further.
E) Reduction in the workplace: Several processes can be combined, and as a result,
a large establishment is not required. In addition, making the workplace becomes
easy.
F) Decrease in inventory: By automation, the production becomes efficient, and so,
the inventory can be reduced.
Appendix 365

G) The plant capacity will increase.


H) Production can increase with a minimum increase of the labor force.
I) Production and process controls are easy to control.
J) Increase in revenue.
5-Axis Arm Robot Trainer ED-7255
366

Introduction to
Appendix Ⅳ.
Flexible Manufacturing System

Flexible Manufacturing System(FMS)

Production system, in which the workpiece has different processes and


processing time for each sequence, as well as they can be machined at
random, and changes in product variety and production quantity can be
flexibly coped.

1. Flexible Manufacturing System

1) History of Flexible Manufacturing System

Flexible Manufacturing System began to conceptualize for the first time in the
cutting process, wherein the development of NC machine had to proceed. This was
designed in 1965 by an engineer David Williamson in Molins Inc. This was named as
"System24" because a group of machine tools could be operated for 24 hours a day,
and they thought that 16 hours among the 24 hours could be operated without human
operators.
One of FMS's first installed in America was a processing system of Ingersoll-Rand
Corp. established by Sun Strand in 1960s. Thereafter Kearney & Trecker FMS of
Caterpillar Tractor Company, and Variable Misson System of Cincinnati Milacron
Inc. were introduced. Most of the initial FMS built in the United States were built by
large-scale companies, Ingersoll-Rand, Caterpillar, John Deere, and General Electric
Co.
Since then, FMS were built in many countries around the world. In 1969, a
manufacturing system was built by Heidleberger Druckmaschinen Co. in West
Germany, along with University of Stuttgart. In 1972, FMS has been exhibited Stanki
exhibition in Moscow. Japan's first FMS was built by Fuji Xerox Corp. on the same
time.
Until 1985 or so, the number of FMS all over the world increased up to about 300.
Appendix 367

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.

2) Definition of Flexible Manufacturing System

Flexible Manufacturing System(FMS) is a production system, in which the


workpiece having different processes and processing time for each sequence can be
machined at random, and changes in product variety and production quantity can be
flexibly coped.
In Flexible Manufacturing System, the term Flexibility refers to the ability to
identify and distinguish multiple parts or component types that are processed by the
system, and the ability for rapid conversion of instructions on the process and for rapid
transformation of the physical installation. In other words, the flexibility is the ability
to be applied flexibly to changes in the environment of production. This flexibility is
the property which applies to both manual and automated system. In the manual
system, the operator allows a system to be flexible.

[Figure Annex 4-1] Examples of FMS


5-Axis Arm Robot Trainer ED-7255
368

3) Kinds of Flexibility that Flexible Manufacturing System Has

Kinds of flexibility that FMS has are greatly divided into mechanical flexibility,
route flexibility, process flexibility, product flexibility, production flexibility, and
expansion flexibility.
Mechanical flexibility is the machine's ability to perform various tasks for various
types and sizes of products. This refers to how easily can change the product being
processed in the current machine into the other product type: For example, set-up
changes, tool changes, part program changes, or changes in the product transport time.
Route flexibility says that a certain product can be produced or assembled through
an alternate route, which can be mainly used to control the internal change occurring
from the equipment failure, broken tools, controller failure, etc. And, production
quantity becomes possible even in the external changes, such as product mixing,
technological change or the introduction of new products.
Process flexibility refers to the ability to absorb changes that comes from the
product mixing, by performing a similar process or by allowing a similar product to be
produced, in the versatile adaptive CNC machining center. This provides the defense
against the changes in the market by joint use of resources to adjust the changes in
product mixing.
Product flexibility is the ability to quickly and economically switch to new
products, by responding to changes in product market and engineering technology.
Production flexibility is the ability to produce many types of products, even
without fundamental change in the main equipment, if the new machining or
resources is necessary.
Extension flexibility is the ability to respond to changes in the product.

4) Effects of Flexible Manufacturing System

FMS enables the efficient quantity batch production and can easily change
production lines, and has an effect of the execution of unattended operation overnight,
the rationalization of production management, and quality uniformization.
Accordingly, reduction of labor, reduction of the number of machinery, production
cost savings, job preparation and processing, reduction of work time, reduction in
plant size, improvement in utilization, increased productivity, and the like can be
accomplished.
A) Improved production capacity due to higher equipment utilization rates
B) Improved utilization of fixed-processing system
C) Reduction of inventory by continuous production
Appendix 369

D) Reduction of production time


E) Reduction of direct labor
F) Improved response capabilities for product change/design change
G) Maintain uniform and high level of quality

5) Components of Flexible Manufacturing System

Flexible Manufacturing System is largely composed of (1) workplace (2) material


handling and storage system and (3) computer control system.
Flexible Manufacturing System includes a numerical control (NC) machine, an
industrial robot, an automatic workpiece loading /unloading device, APC(Automatic
Pallet Changer), ATC(Automatic Tool Changer), and AS/RS(Automatic
Storage/Retrieval System), and is controlled by a computer system.

(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
5-Axis Arm Robot Trainer ED-7255
370

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.

(2) Material Handling and Storage System

The second primary component of FMS is a material handling and storage system.
In the following, functions, equipment, and arrangement of the material handling
system will be explained.
A) Functions of material handling system : In FMS, the material handling and
storage system performs the following functions.
- Arbitrary and independent transportation of workpiece between the workplaces:
Parts shall be able to be transported from one machine to another, in order to
provide the various processes for many other parts and to use an alternate
machine when a certain workplace is busy.
- Dealing with a variety of workpiece geometries: In the case of leg-standing parts,
a modular pallet fixture is mainly used for processing various workpieces. The
fixture is located in the upper surface of the pallet, and in order to rapidly fix
the fixture to a given part by using common elements, fast conversion parts,
and a variety of other devices, the fixture is designed to respond to the various
Appendix 371

workpiece geometries. In the case of rotary components, Industrial Robot is


often used for loading and unloading to and from shelf, and for part
transportation between the workplaces.
- Temporary storage: Normally, in FMS, at some point the number of parts is
greater than the number of parts actually being processed. In each workplace,
therefore, there is a place where parts are waiting for being processed. This
will increase the machine utilization.
- Easy access for parts loading/unloading: Also in a material handling system, the
location for the loading/unloading workplace shall be included.
- Interaction with computer control system: A material handling system shall work
with computer control system, in order to issue the command to multiple
processing plants, loading/unloading workplaces, and warehouses
B) Equipments: A material handling system used in FMS to transfer components
in the work areas, includes a traditional material transporting equipment, a
linear transfer mechanism, and an industrial robot. Material handling
functions of FMS are usually classified as a primary handling system and a
secondary handling system. The primary handling system constitutes the
primary placement of FMS, and is responsible for the workpiece transfer
between the workplaces. The secondary handling system consists of the
transfer mechanism, automatic pallet exchange unit, or any similar
mechanisms at the workplace. he The secondary handling system makes
transport for the workpiece from the primary handling system to the
processing plant, and allows it to take its position with sufficient accuracy and
repeatability.
C) FMS layout : A material handling system determines the layout of the FMS.
Currently, the most common forms of FMS layout are linear, loop, random,
and robot-coupled.

- 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.
5-Axis Arm Robot Trainer ED-7255
372

[Figure Annex 4-2] Example of linear flow FMS

- Loop Flow: There is a directivity in a loop flow mode of transport. Therefore,


this mode is suitable for processing that has less change in the flow of workpiece and
cycle times are some lengthy, and therefore, between the transportation path and the
workplace, the secondary transportation path or a buffer area must be installed.

[Figure Annex 4-3] Example of loop flow FMS

- Random (Random Access or Network Flow): Typically, this is by utilizing the


flexibility of transport functions, and is a complex type of linear and loop flow
types. In this format, trackless carts are primarily used. Therefore, to avoid
collision and to proactively respond to process changes, the control system
will get complicated and the price will rise.

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

Appendix Ⅴ. Application Examples of Industrial Robot

1. Application Examples of Industrial Robot

Currently about 1 million Industrial Robots are being used in the world, wherein,
the vertical and horizontal articulated robots and Cartesian coordinate robot
configuration are mainly distributed in the art of Industrial Robot. In recent years,
Clean Robot, which is required mainly for the semiconductor manufacturing industry,
has been developed and is being used, AGV (Automated Guided Vehicle) as a kind of
a mobile robot has been developed and used for logistics automation.
In the followings, such Industrial Robot is regarded as one component of FA system
and classified by usage, and its application examples will be discussed. In FA system,
the manufacturing includes the following functions.
- Processing
- Assembly
- Material Handling
- Inspection and Test

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.

(1) Spot welding

Car industry is one of the applications, in which Industrial Robots are most
commonly used. An end effector of the robot for such application is equipped with a
spot welding gun. Since this was a very heavy, it was hard for people to deal with it
correctly and there were many defects induced, and as a result, degrading the quality
of the finished product. With the advent of Industrial Robot, this problem has been
improved.
Robot used here has a body large enough to withstand the load, and has 5 to 7 axes
articulated type in order to obtain the desired position and orientation. Usually, 20 to
30 robots operates in the form of in-line arrangement.
5-Axis Arm Robot Trainer ED-7255
374

This is used mainly for a side panel sector, a cowl panel sector, a rear panel sector
of the automobile production process.

[Figure Annex 5-1] Example of welding robot

(2) Arc welding

Robots of 5-6 axes, for Cartesian coordinate system, possible for continuous path
control are used a lot.
If a human is working, the operation is difficult due to the ultraviolet radiation and
high temperature generated during welding, and it is not possible to accurately weld
the desired continuous path. Therefore, Industrial Robot was started to replace a
human, particularly in CO2 welding of a car body, chassis frame welding of railroad
cars, welding in a cutting machine production line, press Weset welding, etc.

(3) Waterjet Cutting

A nozzle that can spray water is fitted to the end effector of a robot. While the nozze
is being controlled, routing the desired cutting line, high pressure (60,000 psi),
high-speed (approximately 3,000 ft/s) water is sprayed from a small nozzle (0.003 to
0.012 diameter) to exactly cut the plastics, fabric, cardboard, or the like.
Appendix 375

[Figure Annex 5-2] Robotics Waterjet Cutting Cells

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.

[Figure Annex 5-3] Example of assembly robot


5-Axis Arm Robot Trainer ED-7255
376

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.

[Figure Annex 5-4] Example of


material handling robot

4) Inspection and Test

A mechanical probe is attached to the robot's end-effector, which provides the


contagious inspection measuring workpiece dimensions or volume. This is commonly
used in machinery industry. Meanwhile, the non-contact inspection method is to
examine, using a visual instrument, the abnormality of the parts.

[Figure Annex 5-5] Example of


inspection robot
Appendix 377

Appendix Ⅵ. Introduction to PLC

What is PLC(Programmable Logic Controller)?

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.

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.
5-Axis Arm Robot Trainer ED-7255
378

Fields Objects to be controlled

General conveyor control, production line automatic


Foods
control

Occupational loading control, raw material transport


Iron and steel industry
control, rolling line control

Raw materials import and shipment control, weaving


Textile, chemical industry
and dyeing line control

Transmission lines control, automatic assembly line


Automotive Industry
control, painting line control

Industrial Robot Control, machine control,


Machinery Industry
transmission/drain pump control

Water treatment plant control, sewage treatment


Water Supply
control, transmission/drain pump control

Automatic warehouse control, unloading equipment


Logistics Industry
control, transfer line control

Plant Compressor Control

Industrial Pollution Automatic incinerator control, pollution protector


Prevention control

[Table Annex 6-1] PLC Applications

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.

(2) CPU operation section in PLC

This is a part corresponding to the brain of PLC, that executes the program by
interpreting the program stored in the memory. This operation is iterated very fast.
Appendix 379

(3) Memory in PLC

① Kinds of memory device


IC memory type includes ROM (Read Only Memory) and RAM (Random Access
Memory). ROM is a read-only, of which the contents cannot be changed. Thus, the
fixed information can be recorded. This is a nonvolatile memory that the information
in this area is preserved if the power supply is disconnected. RAM is able to read and
write the information in memory, and so, is used to store data temporarily, but, this is
a volatile memory that if power is disconnected, the information content is lost.
However, some of the area of RAM may be used as the non-volatile area, as needed,
by battery backup.

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

(4) Input/output section in PLC

PLC's input/output section is directly connected to external devices of the site. DC


+5 V power is supplied for the PLC internal use, but the input/output section uses a
different voltage level, and thus connection of the PLC to the input/output is a crucial
factor to the stability of the system .
PLC's input/output section requires the followings.
- The electrical specifications must be consistent with external devices.
- The noise from the external devices must not be delivered to CPU side.
- Connection to the external devices must be easy.
5-Axis Arm Robot Trainer ED-7255
380

- Status of each contact of input/output must be able to be monitored.


The input section detects the status of external devices or directs the movement of
external devices through a control panel, and the output section moves, or displays the
state of, the external devices.

① 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

(1) Hard-wired vs. soft-wired

In the conventional relay-based control, in order to implement the required


operation, the order of work is development on a circuit diagram, and the necessary
controller is included in the diagram and wired with lead wires. Such way is called a
hard-wired logic.
In the hard-wired logic approach, the hardware (equipment) and the software are
paired, and if the spec. is changed, both the hardware and the software must be
changed all. So that causes to raise several issues. Therefore, owing to the study to
separate the hardware and software, computer methods have been developed.
A computer cannot be run by the hardware alone. The order of the work has to be
put in the storage device in the hardware to execute the desired work. The order, or
sequence, of the work is called Program, and putting the order of the work in the
memory is called Programming. This approach is called the soft-wired logic, and PLC
takes this approach.
Appendix 381

(2) Differences between relay sequence and PLC program

PLC is a set of electronic components, such as LSI. Contacts or coil as seen in the
relay sequences does not exist in PLC. Since the contacts or coil behavior is
performed by software approach, it is actually not visible.
Moreover, even in action, unlike the relay sequence that the contact makes by the
energized coil to activate the circuit, PLC sequentially reads the program stored in the
memory and acts as the content of the program.
PLC control is dependent on the content of the program. Therefore, the user is
required the ability to create a program, so that he or she can freely use the desired
control program.

① Serial processing vs. parallel processing


The most fundamental difference between the PLC sequence and the relay
sequence is on the difference in the operation of serial processing and parallel
processing.
PLC sequence does a serial processing which sequentially executes the program in
the memory, while the relay sequence operates in parallel processing many of the
circuit by the electrical signals. Thus, looking at any one moment, PLC performs only
one kind of work.

② Limit in the number of contacts used


In general, the number of contacts a relay can have is limited. Therefore, when a
relay sequence is created, the number of relay contacts to be used should be reduced
as less as possible. In contrast, in PLC, for the same contact, the number of contacts is
not limited. This is because the information about the same contacts (ON / OFF) is
saved in the specified memory, and it is read from the memory when in operation and
processing.

③ Limit in the position of contacts or coil


There are appointments in PLC sequence, which are not in the relay sequence. One
of the appointments is that a contact cannot be positioned after the coil. In other
words, in PLC sequence, the coil must be written, being close to the right bus line. In
addition, in PLC sequence, the signal always flows from left to right. Thus, in PLC
sequence, a circuit flowing from right to left, or through up and down, is prohibited,
unlike the relay sequence .
5-Axis Arm Robot Trainer ED-7255
382

Flowing up-down is Move to the position


prohibited below

Always from left to right


[Figure Annex 6-1] Limits in PLC sequence

3) CPU operation

(1) Operation method

Input refresh

Operation

Self-test

Output refresh

[Figure Annex 6-2] Operation method of CPU of PLC

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 383

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.

(1) PLC programming language

At present Mnemonic, Ladder, and SFC(Sequential Function Chart) are used as a


programming language.

① Mnemonic
Letter-based language in the form of Assembly language. Primarily used for a
simple logic programming using a portable programming tool(Handy Loader).

[Figure Annex 6-3] Example of Mnemonic program


5-Axis Arm Robot Trainer ED-7255
384

② 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

[Figure Annex 6-4] Example of Ladder program

(2) Understanding PLC operation

① Basic PLC symbols (command)


There are switch-like symbols for input and output, and a coil symbol similar to the
relay logic.
Appendix 385

Relay PLC
Div. Description
logic logic
Normally open contact; N.O.(Normally
Open)
A- contact
PLC : External input, External output.
ON/OFF status is input
Normally closed contact N.C.(Normally
Closed)
B- contact
PLC : External input, External output.
Inverted ON/OFF status is input
Combinational type of a and b
C- contact None contacts. In PLC, expressed as a
logic combination,
Output Operation results up to now are
coil output through the contact.
Applied
None Execute the PLC applied command
command

[Table Annex 6-2] Basic symbols for PLC

② Definitions of basic terms


A) Point : A PLC having 8 input points and 6 output points can serve maximum 8
input devices, such as a switch, sensor, etc. and maximum 6 output devices, such as a
lamp, a relay, etc. Point is used to designate the PLC input/output capacity.
B) Step : A minimum unit of PLC command. Commands for A contact, B contact,
or output coil corresponds to 1 Step, while each of the commands for other applied
command occupy multiple steps, respectively. Step is used as a unit to express the
program capacity and CPU speed.(E.g., 30k step for capacity, or sec/step for speed)
C) Scan Time : Time taken to once execute the user written program. The more the
number of steps in program, the longer the scan time.
D) WDT (Watch Dog Timer) : A system monitoring timer which generates the
error after waiting for a predetermined time (watch dog time), when the output is not
provided due to the program's operational runaway or CPU's functional fault. The
reference value has been set and can be changed by designating the parameter.
E) Parameter : Operating data stored in PLC along with the program, which
specifies the environment of communication or system.
5-Axis Arm Robot Trainer ED-7255
386

(3) Basic operation of PLC

The following drawings briefly show the basic construction of PLC. The operation
related to the external contact and operation of PLC will be described.

① Constructional principle of system


Inside the dotted line, there is a program stored in CPU of PLC, which can be input
by a program loader.
If, between the input terminal and COM terminal, DC24V is applied, the input
forms
After, between the output terminal and COM terminal, a load(lamp) is connected
and the power for the load is applied. (for DC load, the power for the load must be DC
source.)

A) Example of PLC operation

▶Since S/W1 is in OFF state, a


contact P00 is disconnected by
reflecting S/W 1 OFF state, and
output P10 is turned OFF.
▶Since S/W2 is in OFF state, b
contact P01 is connected by
reflecting the inversion of S/W2
OFF state, and output P13 is
turned ON.

[Figure Annex 6-5] Example of PLC operation-1


Appendix 387

▶Since S/W1 is in ON state, a


contact P00 is connected by
reflecting S/W 1 ON state, and
output P10 is turned OFF.
▶Since S/W2 is in ON state, b
contact P01 is disconnected by
reflecting the inversion of S/W2 ON
state, and output P13 is turned
OFF.

[Figure Annex 6-6] Example of PLC operation-2

B) Example of self-retention circuit operation

This circuit retains the continuous lamp output(P10) by the contemporary switch
input(P00).

▶Switch P00 OFF->program P00


disconnected
▶Switch P01 OFF->program P01
connected
▶program P10 OFF->lamp P10
OFF

[Figure Annex 6-7] Example of self-retention circuit operation-1

▶Switch P00 ON->program P00


connected
▶Switch P01 OFF->program P01
connected
▶program P10 ON->lamp P10 ON
▶program P10, a contact
connected

[Figure Annex 6-7] Example of self-retention circuit operation-2


5-Axis Arm Robot Trainer ED-7255
388

▶Switch P00 OFF->program P00


disconnected
▶program P10 connected
▶Switch P01 OFF->program P01
connected
▶program P10 ON->lamp P10 ON

[Figure Annex 6-8] Example of self-retention circuit operation-3

▶Switch P00 OFF->program P00


disconnected
▶Switch P01 ON->program P01
disconnected
▶program P10 OFF->lamp P10
OFF

[Figure Annex 6-9] Example of self-retention circuit operation-4


Appendix 389

Understanding and control of motor


Appendix Ⅶ.
Actuator

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. Structure and principle of motor Actuator

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.

[Figure Appendix 7-1] DC motor operating principle


5-Axis Arm Robot Trainer ED-7255
390

② Operating (control) method for DC motor


Generally, operating voltage of DC motor is 1 volt ~ hundreds of volt, Operating
current requires big operating power from scores of mA ~ scores of A. To drive this
DC motor using element with relatively small such as TTL IC or OP amp, power
element such as power transistor (hereinafter called as 'TR') or power MOSFET will
be used.
linear driving system and PWM (pulse width modulation)driving system are
typical system of motor driving system using power TR. In linear driving system,
drive TR in activation zone to drive motor with amplified collector current according
to base current. Operating circuit of this type is comparatively simply, but TR power
loss is big and big heat sink plate is needed making a big circuit size.
On the contrary, PWM driving system drives TR in ON-OFF zone (or
Saturation-Cutoff zone) to reduce TR power loss.

[Figure Appendix 7-2] PWM driving system principle


Appendix 391

■ H-bridge type PWM driving system

PWM driving system that uses single power and arrange 4 TRs in H-shape is
widely used in the sites. The following is the circuit of H-bridge type PWM driving
system.

[Figure Appendix 7-3] H-Bridge PWM

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.
5-Axis Arm Robot Trainer ED-7255
392

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

■ Simple On/Off control

In case of simple On/Off control, since control manipulated variable moves


between 0% and 100%, variation of manipulated variable is too big and repeated
excessively for real target value, so it becomes to control to repeat 凸凹 near target
value.
The following figure shows this form.

[Figure Appendix 7-4] Characteristics table of ON/OFF control


Appendix 393

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

[Figure Appendix 7-5] characteristics table of proportional control

■ 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.
5-Axis Arm Robot Trainer ED-7255
394

[Figure Appendix 7-6] Characteristics table of PID control (1)

■ Derivative(D) control and PID control

Control that approach real target value through PI control can be perfect. However,
there is one more improvement point.
That is velocity of control response. control by target value is surely possible in PI
control, but it needs regular time(time constant). At this time, if integer is big,
response performance during disturbance goes bad. In other words, quick response to
disturbance is not possible, and can not quickly return to original target value. That's
why we need derivative motion.
It check deviation against rapidly occurring disturbance, and when difference
between the previous deviation is big, increase manipulated variable for quick
response.
To check this difference between the previous deviation is "derivative". In case of
PID control that added this derivative motion, control characteristics are shown in the
following figure.
As shown in the figure, to begin with, control as like considerable overdrive, and
actively control to quickly reach at target value.
Appendix 395

[Figure Appendix 7-7] Characteristics table of PID control (2)

■ Algorithm of PID control by computer

In origin, the base of PID control is to control consecutive analogue amount.


However, in case of PID control with a computer program, successive amount can not
be handled. It is because that input/output of computer data must be done at regular
time. Futhermore, we need high-performance computer for consecutive processing of
differential and integral calculation. That's why we have designed PID calculation
type proper for sampling type (discrete value).
The basic formula of sampling-type PID control.

Manipulated variable = Kp×deviation + Ki × accumulated value of deviation +


Kd × difference with the previous deviation
(proportional clause) (integral clause) (derivative clause)

In symbol;

MVn=MVn-1+ΔMVn
ΔMVn=Kp(en-en-1)+Ki en+Kd((en-en-1)-(en-1-en-2))

MVn, MVn-1:manipulated variable of this time, previous time

ΔMVn: manipulated variable differential of this time


en, en-1, en-2: deviation of this time, previous, before previous time
5-Axis Arm Robot Trainer ED-7255
396

To realize this in a program, we can get manipulated variable if we can measure


deviation value of this time and previous time.

■ Method to get parameter

Task in PID control type is to designate integer, Kp, Ki, Kd for each clause.
There are several method to get optimum value. However, all of them are difficult,
and it is not easy to realize it with a small microcomputer (called as tuning). This
parameter gets optimum value out of real control result through cut and try, and then
set the value. For your information, step response method and critical gain method is
famous for tuning method. Added to that, in process control field, there is auto control
unit with auto tuning function. study of control result, calculation of optimum
parameter value from the result, and function to apply it to control cycle are set for that
unit. Now, we introduce method to get parameter for step response method. First of
all, provide step signal to the input of control system, and suppose that the output
result is the following figure (properly set the parameter).

[Figure Appendix 7-8] PID control parameter

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 397

[Table Appendix 7-1] Parameter for each control motion]

control motion
Kp value Ki value Kd value
classification
proportional control 0.3~0.7T/KL 0 0

PI control 0.35~0.6T/KL 0.3~0.6/KL 0

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.

[Figure Appendix 7-9] Difference of characteristics by PID control parameter

④ 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.
5-Axis Arm Robot Trainer ED-7255
398

■ 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 90°of phase difference, electrical signal
output with arranged wave form also becomes square wave with 90°of 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

■ Absolute value-type encoder

[Figure Appendix 7-12] Absolute encoder structure [Figure Appendix 7-13] Output wave form

Basic construction of absolute value-type encoder is same with that of incremental


type. slit of rotation disc is binary code sequence. Set outer diameter of rotation disc as
the lowest bit. slits as many as necessary bits are arranged on a concentric circle
toward this center. Figure 2-12 is a structure plan of absolute value-type encoder.
Since absolute value-type encoder can detect absolute position at input side, error
due to noise during signal transmission is not accumulated. Added to that, in case of
power failure, correct current position can be normally detected without losing
original position like incremental type. The negative element of it is that in case of
increasing the number of bits, the number of output signal cable increase also.
Therefore, miniaturization and realization of low price is difficult.

(2) Example of realization of DC motor

[Figure Appendix 7-14] An example of realization of DC motor (ED7271-13)


5-Axis Arm Robot Trainer ED-7255
400

① Timing Pulley : power transmission by an interactive driving module and a


timing belt
② Connection : connected to main control module
③ Angle disc : angle display for angle control

DC motor is a combined type motor with gearbox(gear head), DC motor, and


encoder. motor driving and control circuit is built in main control module.
Motor driver IC, PID control IC of main control module are included in to take care
of control of DC motor. two DC motors can be controled at a time.

2) Step motor

(1) Basic knowledge

① Operating principle of step motor


Rotate magnetic field at stator side and mechanically rotate rotor using that force.
Step motor rotates by one step by switching field rotation of the stator according to
pulse signal.

[Figure Appendix 7-15] Step motor structure

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 90°rotation CW and stop. Change magnetizing pole to
phase A, phase B,  phase,  phase in order, step motor keeps rotating and stopping.
Appendix 401

[Figure Appendix 7-16] Cross section of step motor

② Motor driving method


Current on the stator coil is excitation current. 1-phase stepping motor has electric 4
stator windings of phase A, phase B,   phase,  phase. Excitation type will be
decided according to 'excitation current flows on how many phase at a time'. 3 types of
excitation of 1-phase excitation, 1-2-phase excitation, 2-phase excitation are used for
excitation type of 2-phase step motor.
There are unipolar driving system and bipolar driving system whether current flows
to one direction or to both directions. unipolar driving system uses center tap in the
center of winding. current flows toward one direction on each phase through center
tap. bipolar driving system changes the direction of current using H-bridge circuit.
Since it uses whole winding without using center tap, it can achieve bigger torque than
that of unipolar type.
In case that control is simple bipolar 1-phase excitation type, input the following
pulse heat to each phase of step motor to rotate motor by one step.

[Figure Appendix 7-17] unipolar 1-phase excitation


5-Axis Arm Robot Trainer ED-7255
402

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.

2) Example of realization of step motor

[Figure Appendix 7-18] An example of realization of step motor (ED7271-14)]

① Timing Pulley : power transmission by an interactive driving module and a


timing belt
② Connection : connected to main control module
③ Angle disc : angle display for angle control

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.

[Figure Appendix 7-19] Driving circuit of a step motor


Appendix 403

3) RC motor

(1) Basic knowledge

① RC servo motor
Servo motor is to maintain regular angle or regular position through given signal.
Generally, RC servo motor is widely used mostly for steering device for RC vehicle,
model airplane, etc. Regular angle is maintained by giving regular PWM signal to a
servomotor. Operating zone is approx 0 to 180°.

[Figure Appendix 7-20] Appearance of RC Servo Motor

② Driving method of RC servo motor


ARC servo motor has 3 cables as shown in the figure. They are each of
GND(black), VCC(red), and PWM(yellow, white). Generally, power is between
4~6V. Provide regular period pulse signal through PWM input cable to rotate motor
between -90 ~ 90°.
If 1.5ms of signal is supplied at 20ms of period, it rotates at 0°of angle, and when
the signal is, 0.7ms, rotates at -90°, and if 2.3ms of signal is supplied, rotates at 90°.
For control of other angles, supply other pulse signal between 0.7ms ~ 2.3ms. In case
of stoppage of signal during pulse input, motor will not perform angle control.
5-Axis Arm Robot Trainer ED-7255
404

[Figure Appendix 7-21] RC motor control pulse

(2) Example of realization of RC motor

RC motor consists of 2 RC servo motors and USB camera.

[Figure Appendix 7-22] An example of realization of RC motor (ED7271-10)


Appendix 405

[Figure Appendix 7-23] control method of RC motor

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.

You might also like