Epson RC PL 60 Users Guide-Rc620 (v62r5)
Epson RC PL 60 Users Guide-Rc620 (v62r5)
Epson RC PL 60 Users Guide-Rc620 (v62r5)
User's Guide
Project Management and Development
Rev.5 EM15XS3084F
EPSON RC+ 6.0 (Ver.6.2) User's Guide Project Management and Development Rev.5
EPSON RC+ 6.0 (Ver.6.2)
User's Guide
Rev.5
WARRANTY
The robot and its optional parts are shipped to our customers only after being subjected to
the strictest quality controls, tests, and inspections to certify its compliance with our high
performance standards.
Product malfunctions resulting from normal handling or operation will be repaired free of
charge during the normal warranty period. (Please ask your Regional Sales Office for
warranty period information.)
However, customers will be charged for repairs in the following cases (even if they occur
during the warranty period):
1. Damage or malfunction caused by improper use which is not described in the manual, or
careless use.
2. Malfunctions caused by customers’ unauthorized disassembly.
3. Damage due to improper adjustments or unauthorized repair attempts.
4. Damage caused by natural disasters such as earthquake, flood, etc.
1. If the robot or associated equipment is used outside of the usage conditions and product
specifications described in the manuals, this warranty is void.
2. If you do not follow the WARNINGS and CAUTIONS in this manual, we cannot be
responsible for any malfunction or accident, even if the result is injury or death.
3. We cannot foresee all possible dangers and consequences. Therefore, this manual cannot
warn the user of all possible hazards.
NOTICE
No part of this manual may be copied or reproduced without authorization.
The contents of this manual are subject to change without notice.
Please notify us if you should find any errors in this manual or if you have any comments
regarding its contents.
INQUIRIES
Contact the following service center for robot repairs, inspections or adjustments.
If service center information is not indicated below, please contact the supplier office for
your region.
Please prepare the following items before you contact us.
SERVICE CENTER
SUPPLIERS
North & South America Epson America, Inc.
Factory Automation/Robotics
18300 Central Avenue
Carson, CA 90746
USA
TEL : +1-562-290-5900
FAX : +1-562-290-5999
E-MAIL : [email protected]
1. Introduction 1
1.1 Welcome to EPSON RC+ 6.0 ............................................................... 1
1.2 System Overview .................................................................................. 1
1.2.1 RC620 Controller .......................................................................... 2
1.2.2 Software........................................................................................ 2
1.2.3 System Block Diagram ................................................................. 3
1.3 Options.................................................................................................. 4
1.4 EPSON RC+ 5.0 Ver.5.x Users ............................................................ 4
1.5 EPSON RC+ 3.x and 4.x Users............................................................ 4
1.6 SPEL for Windows Users ..................................................................... 4
1.7 Documentation ...................................................................................... 5
2. Safety 6
2.1 Overview ............................................................................................... 6
2.2 Definitions ............................................................................................. 6
2.2.1 Robot Power ................................................................................. 6
2.2.2 Safeguard ..................................................................................... 7
2.2.3 Operation Modes .......................................................................... 7
2.2.4 Start Mode .................................................................................... 7
2.2.5 Changing Operation Mode ........................................................... 8
2.2.6 Emergency Stop ........................................................................... 8
2.2.7 Teach Control Device ................................................................... 8
2.3 Safety-related Requirements ................................................................ 9
2.4 Installation and Design Precautions ................................................... 10
2.4.1 Designing a Safe Robot System ................................................ 10
2.4.2 Robot System Installation, Start-up, and Testing ....................... 13
2.5 Precautions regarding Robot Operation ............................................. 15
2.5.1 General Precautions ................................................................... 15
2.5.2 Automatic Operation ................................................................... 15
2.5.3 Teaching Robot Points ................................................................ 15
2.5.4 Return to Automatic Operation ................................................... 16
2.5.5 Program Verification ................................................................... 16
2.5.6 Troubleshooting .......................................................................... 16
2.5.7 Maintenance ............................................................................... 16
2.5.8 Backup of Projects and Controller .............................................. 17
2.6 End User Instruction Manual .............................................................. 17
2.7 End User Training ............................................................................... 17
3. Getting Started 18
3.1 Hardware Installation ..........................................................................18
3.2 Software Installation ............................................................................18
3.3 Installation for Offline Development ....................................................18
3.4 Windows Security Administration........................................................19
4. Operation 20
4.1 Simple Mode ......................................................................................20
4.2 System Power Up Procedure ............................................................20
4.2.1 Startup Sequence ..................................................................... 20
4.2.2 Startup Configuration ................................................................ 23
4.2.3 Start Mode ................................................................................. 23
4.2.4 Start Mode Dialog ..................................................................... 24
4.2.5 Start Mode : Program ................................................................ 24
4.2.6 Start Mode : Auto ...................................................................... 25
4.2.7 Auto Start .................................................................................. 25
4.2.8 Using Monitor Mode .................................................................. 26
4.2.9 Windows Login .......................................................................... 26
4.2.10 Command Line Options ............................................................ 27
4.2.11 Using Command Line Options .................................................. 28
4.3 Writing your first Program ..................................................................29
4.4 System Shutdown Procedure ............................................................33
14 Security 245
14.1 Overview ..........................................................................................245
14.2 Installation ........................................................................................245
14.3 Security Configuration ......................................................................245
14.4 Security Log Check ..........................................................................249
14.5 SPEL+ Security Command ...............................................................249
1. Introduction
1.1 Welcome to EPSON RC+ 6.0
Welcome to the EPSON RC+ 6.0 Project Management and Development Environment.
EPSON RC+ 6.0 is used to develop application software for the EPSON RC620 Robot
Controller.
EPSON RC+ 6.0 features
- Integrated application development environment
- SPEL+ programming language
A powerful, easy to use BASIC-like programming language that supports multi-tasking,
robot motion control, I/O control, and networking.
- I/O systems including Digital I/O boards and Fieldbus I/O
- TCP/IP and RS-232 communications
- Background task
Controls entire system
- Database access
- Vision Guide option
Integrated vision robot guidance
- VB Guide option
Enables you to control the system using standard programming environments includes
including Microsoft Visual Basic and Microsoft Visual C++.
- Security option
Allows you to administrate all EPSON RC+ users on your system. It also includes
usage auditing, so you can track how many hours are spent using the system, and if
changes were made.
- Conveyor Tracking option
Enables one or more robots to pick parts from moving conveyors using vision or
sensors.
- PG Motion System option
Allows you to use third party motors and drivers to control auxiliary equipment such as
XY tables, slides, etc.
- ECP option
Supports CP motion relative to a fixed point.
- GUI Builder option
Integrated GUI development tool
- Force Sensing option
Allows a robot to use torque/force sensing and measurement
1.2.2 Software
The EPSON RC+ 6.0 software comes pre-installed in the controller.
You can purchase options with the product or add them later.
The software can be installed on your PC using the installation disk supplied with the
controller.
Using EPSON RC+ 6.0, you can develop application software for the SPEL+ language that
runs in the RC620 controller.
1.3 Options
You can purchase options that must be enabled in the controller. EPSON RC+ 6.0 is used
to enable these options. Refer to 18. Installing Controller Options for details.
1.7 Documentation
All documentation is installed on the PC in PDF format.
To view manuals on the PC:
- Select Manuals from the Help Menu in EPSON RC+ 6.0
- From Windows desktop, click Start | Programs | EPSON RC+ 6.0
2. Safety
2.1 Overview
This chapter explains the important safety requirements for robotic systems using EPSON
RC+ 6.0 and the RC620 Controller.
Installation of robots and robotic equipment should only be performed by qualified
personnel in accordance with national and local codes. Please read and understand this
entire chapter before using your EPSON RC+ 6.0 system.
Remember that safety is the most important consideration when designing and operating
any robotic system.
2.2 Definitions
2.2.1 Robot Power
The status of robot power is explained below in terms of restriction to operation:
Operation-prohibited status: Robot cannot be operated.
Restricted (low power) status: Robot can operate at low speed and low torque.
Unrestricted (high power) status: Robot can operate without restriction.
The robot will not operate regardless of the control actions taken by the operator when in
the operation-prohibited state. During operation, when the safeguard circuit opens, the
system will switch to operation-prohibited state.
The robot will operate at low speed and torque in the restricted state (low power). In the
unrestricted state (high power), the robot will operate at the programmed speed and torque.
In the event that the robot should make an unexpected movement, the restricted state (low
power) decreases operating speed allowing the operator to avoid danger. The torque is
also decreased to minimize serious injury to the operator should one be struck by the robot.
The maximum values of the decreased speed and torque are set according to the robot used
and cannot be changed by the user.
As a safety precaution the initial power state of the robot will be set to either the restricted
(low power) state or the operation-prohibited state. The system will not change to the
unrestricted (high power) state if the appropriate procedures are not followed.
When the system is in restricted (low power) state or operation-prohibited state, a single
failure will not cause a runaway action that surpasses the assigned speed or torque decrease.
This is due to the multi-protect circuit and mutual monitoring circuit in the control system.
2.2.2 Safeguard
To ensure safe operation of the robotic work cell, you must install a safety system using
safety doors, light curtains, safety floor mats, etc.
■ There is a safeguard input circuit in the EMERGENCY connector on the
controller that connects with the safety device interlock switch. In order to protect
those working with the robot be sure that the interlock switch is connected and
WARNING working properly.
If a closed safeguard is open during robot motion, the robot stops immediately and enters
pause state. All robot motors are turned off. The descriptions below explain how the
safeguard input works.
Safeguard closed: The safeguard input is turned ON. The robot can automatically
operate in unrestricted (high power) state.
Safeguard open: The safeguard input is turned OFF, and the interlock function
operates. The robot stops immediately, motors are turned off, and
further operation is impossible until either the safeguard is closed or
Teach mode is turned ON and the enable circuit is engaged.
For further details on the safeguard and interlock, refer to 2.4 Installation and Design
Precautions later in this chapter. For detailed wiring instructions, refer to the RC620
Robot Controller manual, Setup & Operation: 8. EMERGENCY.
For detailed wiring instructions, refer to the RC620 Robot Controller manual, Setup &
Operation: 8. EMERGENCY.
UL specification
Compatibility assessment of the UL-compliant model is performed according to the
following standards.
UL1740 (Third Edition, Dated December 7, 2007)
ANSI/RIA R15.06-1999
NFPA 79 (2007 Edition)
CSA/CAN Z434-03 (February 2003)
CE Marking − Machinery Directive, Low Voltage Directive, EMC Directive
Environmental Conditions
Carefully observe the conditions for installing robots and robot systems that are listed in
the “Environmental Conditions” tables included in the manuals for all equipment used in
the system.
System Layout
When designing the layout for a robot system, carefully consider the possibility of error
between robots and peripheral equipment. Emergency stops require particular attention,
since a robot will stop after following a path that is different from its normal movement
path. The layout design should provide enough margin for safety. Refer to the manuals
for each robot, and ensure that the layout secures ample space for maintenance and
inspection work.
When designing a robot system to restrict the area of motion of the robots, do so in
accordance with the methods described in each robot manual. Utilize both software and
mechanical stops as measures to restrict motion.
Install the emergency stop switch at a location near the operation unit for the robot system
where the operator can easily press and hold it in an emergency.
Do not install the controller at a location where water or other liquids can leak inside the
controller. In addition, never use liquids to clean the controller.
Remote Control
To prevent operation by remote control from being dangerous, start signals from the
remote controller are allowed only when the control device is set to REMOTE, TEACH
mode is OFF, and the system is configured to accept remote signals. Also when remote is
valid, motion command execution and I/O output are available only from remote. For the
safety of the overall system, however, safety measures are needed to eliminate the risks
associated with the start-up and shutdown of peripheral equipment by remote control.
Emergency Stop
Each robot system needs equipment that will allow the operator to immediately stop the
system’s operation. Install an emergency stop device that utilizes emergency stop input
from the controller and all other equipment.
During an emergency stop, the power that is supplied to the motor driving the robot is shut
off, and the robot is stopped by dynamic braking.
The emergency stop circuit should also remove power from all external components that
must be turned off during an emergency. Do not assume that the robot controller will turn
off all outputs if configured to. For example, if an I/O card is faulty, the controller cannot
turn off a component connected to an output. The emergency stop on the controller is
hardwired to remove motor power from the robot, but not external power supplies.
Do not press the Emergency Stop switch unnecessarily while the Manipulator is operating.
Pressing the switch during the operation makes the brakes work. This will shorten the life
of the brakes due to the worn friction plates.
Normal brake life cycle: About 2 years (when the brakes are used 100 times/day)
Before using the Emergency Stop switch, be aware of the followings.
- The Emergency Stop (E-STOP) switch should be used to stop the Manipulator only in
case of emergencies.
- To stop the Manipulator operating the program except in emergency, use Pause (halt) or
STOP (program stop) commands.
Pause and STOP commands do not turn OFF the motors. Therefore, the brake does not
function.
- For the Safeguard system, do not use the circuit for E-STOP.
For details of the Safeguard system, refer to the following manuals.
Safety and Installation 2.6 Connection to EMERGENCY Connector
Safeguard System
To ensure safety, a safeguard system should be installed for the robot system.
When installing the safeguard system, strictly observe the following points:
Refer to each robot manual, and install the safeguard system outside the maximum space.
Carefully consider the size of the end effector and the work pieces to be held so that there
will be no error between the moving parts and the safeguard system.
Manufacture the safeguard system to withstand calculated external forces (forces that will
be added during operation and forces from the surrounding environment).
When designing the safeguard system, make sure that it is free of sharp corners and
projections, and that the safeguard system itself is not a hazard.
Make sure that the safeguard system can only be removed by using a tool.
There are several types of safeguard devices, including safety doors, safety barriers, light
curtains, safety gates, and safety floor mats. Install the interlocking function in the
safeguard device. The safeguard interlock must be installed so that the safeguard interlock
is forced to work in case of a device failure or other unexpected accident. For example,
when using a door with a switch as the interlock, do not rely on the switch’s own spring
force to open the contact. The contact mechanism must open immediately in case of an
accident.
Connect the interlock switch to the safeguard input of the drive unit’s EMERGENCY
connector. The safeguard input informs the robot controller that an operator may be inside
the safeguard area. When the safeguard input is activated, the robot stops immediately and
enters pause status, as well as either operation-prohibited status or restricted status (low
power status).
Make sure not to enter the safeguarded area except through the point where the safeguard
interlock is installed.
The safeguard interlock must be installed so that it can maintain a safe condition until the
interlock is released on purpose once it initiates. The latch-release input is provided for the
EMERGENCY connector on the Controller to release the latch condition of the safeguard
interlock. The latch release switch of the safeguard interlock must be installed outside of
the safeguarded area and wired to the latch-release input.
It is dangerous to allow someone else to release the safeguard interlock by mistake while
the operator is working inside the safeguarded area. To protect the operator working inside
the safeguarded area, take measures to lock out and tag out the latch-release switch.
2.5.6 Troubleshooting
Troubleshoot from outside the safeguard system. If that is not possible, strictly observe the
requirements below.
- Operators responsible for troubleshooting should be trained and qualified to perform such
work.
- Establish work safety procedures to minimize the danger that operators inside the
safeguard system will be exposed to.
2.5.7 Maintenance
In order to keep the robot and robot system operating safely, maintenance (and inspection)
is important. Adequately trained personnel should perform the procedures required to do
the maintenance work safely. Make sure that maintenance is performed according to the
instructions in the robot and controller manuals (maintenance editions).
If maintenance is required inside the safeguarded area, take the following precautions:
- Shut off the power supply using lockout / tagout to prevent anyone from turning ON the
robot power supply by mistake. For further details, refer to the section Procedure of
Lockout/Tagout in the chapter Safety Precautions in the controller manual.
- If the robot system power supply cannot be shut off, strictly observe the following:
(1) Visually inspect the robot system to ensure that there are no conditions that could lead
to a malfunction.
(2) If it is discovered that the robot system is damaged or malfunctioning, perform the
required repairs and retest it before allowing the operator to go inside the safeguard
system.
- Grant full control of the robot and robot system to those performing maintenance and/or
repairs inside the safeguard system.
- Ensure that the robot system does not respond to any remote control devices.
- Ensure that all emergency stop devices are functioning correctly.
- Before starting the robot system in automatic operation, return all temporarily disabled
safety devices to their original enabled status.
- Do not use tweezers or other metal tools to aid in battery replacement. This could cause a
battery short. Replace a battery using only the specified type and be careful to observe
the polarity of the battery.
3. Getting Started
This chapter contains instructions for setting up and using EPSON RC+ 6.0. It is
recommended that first time users first read the preceding Safety chapter, then read
through this chapter to get more familiar with the system.
Contents
- Hardware Installation
- Software Installation
- Installation for Offline Development
- PC Configuration
- Windows Security Administration
For RC620 Controller, the EPSON RC+ 6.0 has been already installed before shipment.
To update the software version, refer to Appendix B: EPSON RC+ 6.0 Software.
EPSON RC+6.0 can be installed in the other PC such as laptop computer as well as the
controller and edit programs and build projects.
For the details, refer to the next section 3.3 Installation for Offline Development.
Insert the EPSON RC+ 6.0 setup DVD into the DVD drive of a PC (not the controller)
such as laptop computer, and start the installation.
Follow the instructions in the setup wizard to install the software.
For offline development, make sure you uncheck the [Installed on Controller] preference in
the following dialog before the installation.
(The [Installed on Controller] preference is checked by default.)
When using EPSON RC+ 6.0 for offline development, you can edit programs and build
projects. You cannot use Vision Guide 6.0 in offline development.
To provide security within the EPSON RC+ environment, a Security software option is
available. This option allows you to manage EPSON RC+ users and audit development
activity. Refer to 14. Security for details.
4. Operation
This chapter contains instructions for operation of the EPSON RC+ 6.0 system. The main
topics are:
- System Power Up Procedure
- Starting EPSON RC+ 6.0
- System Shutdown Procedure
- Writing your first program
For session 1 with independent mode off and any control device
If there are no project files specified on the startup command line, then the last project that
was opened will be opened at startup time. The program files that were last opened will be
opened again.
If the Start Mode is Auto, the Start Mode dialog is opened (see 4.2.4 Start Mode Dialog).
If the Start Mode is Program, the EPSON RC+ 6.0 GUI is opened.
Real Part and Windows Part are started up separately at the each timing.
To operate the robot system without problem, you should synchronize these two parts. At
the shipment of RC620 robot controller, the Cooperative mode that synchronizes these
parts is applied.
NOTE According to the design of robot system, it may not need to synchronize Real Part and
Windows Part. In this case, change to Independent mode.
For the instructions of this settings, see the section below How to set the Independent mode.
When the controller is in Cooperative mode, it has to wait until both of Real Part and
Windows Part can start up without failure.
----
Waiting for RC+
Then it also has to wait until Windows part is ready and RC+ can start up without failure.
This table shows the startup sequence when the controller is in Cooperative mode:
Console
LCD display Background task
instruction
EPSON
(1) Power ON Not available Not started yet
Robot Controller
----
(2) Real Part starts up Not available Not started yet
Waiting for RC+
-----
(4) RC+ starts up Available Already started
Ready V.6.0.0.1
This table shows the startup sequence when the controller is in Independent mode:
Console
LCD display Background task
instruction
EPSON
(1) Power ON Not available Not started yet
Robot Controller
-----
(2) Real Part starts up Available *1 Already started
Ready V.6.0.0.1
-----
(4) RC+ starts up Available Running
Ready V.6.0.0.1
NOTE When the controller is in Cooperative mode, the state does not back to wait for the RC+
connection even after RC+ shutdown. Also when the console is Remote, you need to be
careful during the RC+ shutdown because the remote command is still executable.
(5)
(4)
(2)
(3)
If you click the Change To Program Mode button, another dialog will be displayed, as
shown below:
To change to Program mode, you must supply the password and click OK, or you can
abort startup all together by clicking Cancel.
NOTE This allows authorized personnel to enter Program mode temporarily to make changes or
adjustments.
When you change to PROGRAM mode from this dialog, it is only temporary. The next
time EPSON RC+ 6.0 runs, the original start mode setting will be used.
When using auto start, ensure that your application can automatically start safely and
inform operators how to abort the startup.
When the control device is PC, you cannot close the operator window while tasks are
running.
Example
Open project myapp on drive C and display the operator window:
ERC60.EXE c:myapp /AUTO
NOTE The Controller should be ON before starting EPSON RC+ 6.0 with the /AUTO command
line option. If EPSON RC+ 6.0 cannot communicate with the controller, then an error
message will be displayed with a retry button.
For more details, see 7.6 Operator Window.
Login
You can automatically login from the command line if you are not using the Auto Login
feature for the security Option:
ERC60.EXE /LOGIN "userID", "password"
(2) Type in a name for a project in the [New Project Name] box. e.g. FirstApp
(3) Click OK to create the new project.
When the new project is created, a program called Main.prg is created. You will see a
window open with the title Main.prg with a cursor flashing in the upper left corner.
Now you are ready to start entering your first program.
3. Edit the program
Type in the following program lines in the Main.prg edit window.
Function main
Print "This is my first program."
Fend
(3) Click the Start button on the Run window to run the program.
(4) You should see text similar to the following displayed in the Status window:
19:32:45 Task main started
19:32:45 All tasks stopped
On the Run window, you will see the output of the print statement.
Now let's teach some robot points and modify the program to move the robot.
5. Teach robot points
(1) Ensure that it is safe to operate the robot. Click the Robot Manager button on
the toolbar. You will see the Robot Manager window with the Control Panel page
displayed.
(2) Click on the Motor On button to turn on the robot motors. You will be prompted to
confirm the operation.
(3) Answer Yes to continue.
(4) Click the Jog & Teach tab.
(5) Click the Teach button in the lower right corner to teach point P0. You will be
prompted for a point label and description.
(6) Jog the robot by clicking the +Y jog button. Hold the button down to continue
jogging. Let go when the robot is about half way out in the work envelope.
(7) Jog the robot down by clicking the -Z button.
(8) Now change the current point to P1 by selecting P1 in the Point dropdown list next
to the Teach button.
(9) Click the Teach button. You will see a confirmation message to teach the point.
(10) Answer Yes.
(11) Click the +X button to jog the robot in the +X direction.
(12) Change the current point to P2 by selecting P2 in the Point dropdown list.
(13) Click the Teach button. You will see a confirmation message to teach the point.
(14) Answer Yes.
(15) Click the Save Project toolbar button to save the changes.
6. Modify the program to include robot motion commands
(1) Insert three new Go statements into the Main.prg program as shown below:
Function main
Print "This is my first program."
Go P1
Go P2
Go P0
Fend
(2) Run the program by pressing F5 and then click on the Start button on the Run
window.
(3) The robot should move to each of the points you taught.
7. Modify the program to change speed of robot motion commands
(1) Insert the Power, Speed, and Accel commands as shown in the program below:
Function main
Print "This is my first program."
Power High
Speed 50
Accel 50, 50
Go P1
Go P2
Go P0
Fend
(2) Run the program by pressing F5
(3) Click on the Start button on the Run window.
The robot should go to each of the points you taught at 50% speed, acceleration, and
deceleration. The Power High statement enables your program to run the robot at
high (normal) power, which in turn allows the robot speed and acceleration to be
increased.
Main Window
Menu Bar
Child Window
Tool Bar
Project
Explorer
Status Pane
Status Bar
Context menu
For MDI child windows, the Help button is located on the main toolbar and is also shown
as a question mark icon as shown below.
Item Description
File Name Enter a name for the new file in this box. If you supply a valid file
extension, the File Type selection will change to match the extension.
For a file name, two byte characters such as Japanese, Chinese
characters are not allowed.
File Type Use this dropdown list to select Program, Include or Point file.
Existing Files Shows the files for the selected type currently in the Project folder.
OK Click OK when you are ready to create the new file.
Cancel Cancels the operation.
Item Description
Program Select this radio button to show a list of program files in the current
project.
Include Select this radio button to show a list of include files in the current
project.
Points Select this radio button to show a list of point files in the current
project.
Select file to open Click on the file name you want to open. You can select more than
one file by using the Ctrl key or Shift key. The Ctrl key allows you
to select or deselect any file. The Shift key allows you to select a
group of files.
Open Opens the selected file(s).
Cancel Cancels the open operation.
TIP
You can also double click on a file name in the Select file to open list box to open the file
without having to choose the OK button.
TIP You can also close a window or dialog box by double clicking on the control box button
located in the upper left corner of the window or dialog box.
To rename a file
- Click anywhere on the program window
- Select the Open command from the File Menu
- Select the Window from the Window Menu
- Select from the Window Menu list
Select Rename from the File Menu. Type in a new name for the file and click OK.
The new file name cannot be the same as the existing files. You will get an error message
if you enter a new name that is already being used.
If you use Rename on an include file, you must rename the file in each of your #include
statements that refer to it.
For a file name, two byte characters such as Japanese, Chinese characters are not allowed.
The program file name must be less than 24 characters (excluding the extension).
Item Description
Select file to delete Click on the file name you want to delete. This file list displays
all .PRG, .INC, and .PTS files in the current project folder.
Delete Deletes the selected file. You will be prompted with a confirmation
message before the file is deleted. If the file is currently open, it will
be closed and removed from the current project before it is deleted
from disk.
Cancel Cancels the delete operation.
To import a file
1. Select the file type from the File Type list box.
2. Navigate to the file you want to import.
3. Click Open to continue. If a file name is already used in the project folder, you will be
prompted to confirm the overwriting. The file will then be copied to the current
project's folder.
NOTE If you need to import files from previous versions of EPSON RC+ or from SPEL for
Windows 2.0, you must first import the project using Project | Import, which converts the
point files and label files into EPSON RC+ 6.0 formats. Then you can use File Import to
import the desired files.
Item Description
Select items to print Check the items in the tree that you would like to print out.
Project Summary Select this check box to print a summary of the programs and
points used in the current project.
Item Description
Program Files Select this check box to print all program files, or click on the +
button to view all program files and check the ones you want
printed.
Include Files Select this check box to print all include files, or click on the +
button to view all include files and check the ones you want
printed. This check box is not shown if there are no include files in
the current project.
Robot Points Select this check box to print all point files, or click on the + button
to view all point files and check the ones you want printed.
Input Output Labels Select this check box to print a listing of the all of the I/O labels
used in the project.
User Errors Prints a listing of all user errors for the current project. If either the
label or message is non-blank, then the error definition will be
printed.
Print Prints the selected files. This button will be dimmed if nothing is
selected to be printed.
Preview Preview the selected files before printing. This button will be
dimmed if nothing is selected to be printed.
Font... Opens a dialog for selecting the printer font. The selected font is
saved for subsequent printing.
Cancel Closes the dialog box without printing anything.
Item Description
Exit EPSON RC+ Exits the EPSON RC+ 6.0.
Shutdown System Exits the EPSON RC+ 6.0 and the system.
Reboot System Exits the EPSON RC+ 6.0 and reboot the system.
OK Executes the selected operation.
Cancel Cancels the operation and close the dialog.
You can also access the Edit Menu by right-clicking anywhere in a program editor window.
Item Description
Find What Type the text you want to search for. If any text was selected
when you execute the Find command, it will be displayed here.
When executing the Find with a text string selected, selected text
will displayed. If no text was selected, then the text from the last
Find will be displayed. You are limited to one line of text. If
selecting more than one line before executing Find, the search will
not start.
Current File Searches only in the current program file and include file.
All Files Searches all files in the project.
Whole Word Searches for the full word by itself and not as part of another word.
Match Case Text must also match lower and upper case in order to be found.
Find Starts the search. If the text is found in a file that is not open, then
the file will be opened to display. This button will be dimmed if
nothing is entered to be searched.
Find All Search for all occurrences and list the results in the Status pane.
Each result shows the file name, line number, and line where the
text was found. You can then double click on a result to open the
file where the text was found. The Find & Replace dialog will
close after the results are displayed. This button will be dimmed
if nothing is entered to be searched.
Close Closes the dialog box.
Item Description
Find What Type the text you want to search for. If any text was selected
when you execute the Replace command, it will be displayed
here. If no text was selected, then the text from the last Find will
be displayed.
Replace With Enter the replacement text here. The replacement text can be
empty.
Current File Searches only in the current program file and include file.
All Files Searches all files in the project.
Whole Word Searches for the full word by itself and not as part of another
word.
Match Case Text must also match lower and upper case in order to be found.
Find Finds the next occurrence.
Replace If already found, replaces the current find, otherwise searches for
the next occurrence.
Replace All Replaces all occurrences.
Close Closes the dialog box.
Item Description
Data To Display Select which data you would like to view.
Choices are All, Events, Errors, and Warnings.
From / To Select the dates you want to view data from. When the window is
first opened, these are automatically set to the first and last dates in
the history data.
Message Contains Type in text to be found in the error message. After typing in the text,
click the Refresh button.
Refresh Click this button to reload the data from the controller.
Item Description
Type Event Information for operation and mode change.
Warning Program can be executed continuously, however, needs
countermeasure.
Error Error occurred in the program or the Robot.
Number For details of the number, refer to SPEL+ Error Message in the
SPEL+ Language Reference.
Message
Function and Function name and the line number are displayed when error occurred
Line number while executing a program.
Robot and Robot and the axis number are displayed when Robot error occurred.
axis number
Task number Task number of the task with error is displayed when error occurred
while executing the program. “0” is displayed for others.
Additional More details are displayed for some errors.
information For details, refer to SPEL+ Error Message in the SPEL+ Language
1 and 2 Reference.
Item Description
Project Name Type in a new name for the project. The name can include
alphanumeric characters along with underscores.
For a project name, two byte characters such as Japanese, Chinese
characters are not allowed.
Template Select a project template. The new project will be a copy of the
template project.
Select Drive Select the desired disk drive for the new project.
Select Project Folder This is a list of folders and projects on the selected drive. If you
click on a name in this list, it will be displayed in the New Project
Name text box. You can then edit the name, or you can create a
new project with the same name as one that has already been
created. In the later case, you will be prompted to overwrite the
old project if it is in the same folder.
New Folder Creates a new folder in the currently selected folder.
OK Creates the new project.
Cancel Aborts creating a new project.
Item Description
Select Drive Select the desired disk drive for the project you want to open.
Select Project to Open Select a project name from the list box. To open a folder, double
click on the folder or click the + box located to the left of the
folder.
Read Only If you set this check box and open a project, you can not edit the
program file, include file, point file, I/O label, and user error.
Open Opens the selected project.
Cancel Cancels the operation.
Project Info Displays general project properties for the selected project. To
view project information, first select a project in the list, then
click the Project Info button.
NOTE Project information for a project can be changed by selecting Properties from the Project
Menu after opening the project.
The files shown in the file list are in the current project disk directory. Before you can use
a file in the project, you must put it into the project make tree using the Add button.
To create a new program
1. Type the name of program file in the File Name text box in the Program Files section.
Add the PRG extension to the file name. For a file name, two byte characters such as
Japanese, Chinese characters are not allowed. The program file name must be less than
24 characters (excluding the extension).
2. Click the Add>> button. You will be prompted to create a new file. Answer Yes to
create the file and put it in Program Files folder in the project make tree.
To add an existing program file
1. Select the Program in the File Type list box.
2. Select the program file name you want to add to the project from the list box.
3. Click the Add >> button, or
double click on the program file name in the file list box.
The file will be added to the Program Files folder in the project make tree.
TIP It’s a good idea to save files frequently while you are editing project files. Just click the
disk button on the toolbar to save all of your files.
Item Description
New Project Name Type in a new name for the project. The name can include
alphanumeric characters along with underscores but cannot
include two byte characters such as Japanese, Chinese characters.
The maximum number of characters is 24. You can use the same
name as the current project if you select a drive and folder that is
not the same as the current project folder and the folder drive.
New Project Drive Drives for the new project location.
Select Project Folder Click on the desired folder for the project.
New Folder Click this button to create a new folder under the Projects folder.
OK Saves the project using the new name and location.
Cancel Cancels the operation.
Item Description
New Project Name Type in a new name for the project. The name can include
alphanumeric characters along with underscores but cannot
include two byte characters such as Japanese, Chinese
characters.
Existing Project This list box shows other projects on the selected drive. The
new name you choose cannot be one of the names in this list.
OK Renames the project.
Cancel Cancels the operation.
Importing a PC project
Follow these steps to import a project from a PC:
1. Select Import from the Project Menu to open the Import Project dialog.
2. Select PC and click Next.
3. Select the project type. You can select from the following:
- EPSON RC+ 6.0
- EPSON RC+ 3.* / 4.* / 5.*
- SPEL for Windows 2.0
NOTE When project for EPSON RC+ 3.* / 4.* / 5.* or SPEL for Windows 2.0 is imported, the
project is converted to project for EPSON RC+ 6.0 by automatic processing.
For details, refer to Appendix A: Automatic Processing of Project Import.
4. Select the drive. After you select the project type and drive, the project list will be
updated to show the projects available for import. Select the project to import in the list
and click Next.
5. The new project name is set to the name of the imported project. You can modify the
destination project name if desired. Select the destination drive and project folder, then
click Next.
6. Verify the import source, import project, and destination project. Check Open
Destination Project After Import if you want the project to open after import.
7. Click the Import button. If the destination project already exists, you will be asked if
you want to overwrite it.
3. The new project name is set to the name of the current project in the controller. You
can modify the new project name if desired. Select the destination drive and project
folder, then click Next.
4. Verify the import source, import project, and destination project. Check Open
Destination Project After Import if you want the project to open after import.
5. Click the Import button. If the destination project already exists, you will be asked if
you want to overwrite it.
The projects using Vision Guide cannot be imported from the Controller Status Folder.
4. The new project name is set to the project found in the controller status folder. You
can modify the new project name if desired. Select the destination drive and folder,
then click Next.
5. Verify the import source, import project, and destination project. Check Open
Destination Project After Import if you want the project to open after import.
6. Click the Import button. If the destination project already exists, you will be asked if
you want to overwrite it.
Item Description
Destination Type in a name for the new copy of the project. The name can include
Project Name alphanumeric characters along with underscores but cannot include two
byte characters such as Japanese, Chinese characters. The maximum
number of characters is 24. You can use the same name as the current
project if you select a drive and folder that is not the same as the
current project's drive and folder.
Destination Drive Drives for the project copy.
OK Performs the copy process.
Cancel Cancels the operation.
Item Description
Project Drive Select drive for the project to delete.
Project To Delete Select a project to delete from the list.
Delete Delete the project. You will be prompted to confirm the operation.
Cancel Cancel the operation.
Item Description
Name The name of the current project.
Created Date and time when the project was created.
Last Modified Date and time when the project was last modified.
Version User version number of the project. You can type any text here.
Description A description of the project. You can type any text here.
Notes Any project notes can be entered into this section.
Apply Set current values after changes have been made.
Restore Revert back to previous values.
Close Close the Project Properties dialog.
TIP
When the Open Project dialog is used, clicking the Project Info button will open a dialog
that contains the general project properties entered on this page.
Item Description
Select Source Files To This is a list of the source files in the project. Select which
Store in Controller source files you want to have stored in the controller.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Keep a record of the password(s) used for encryption in a safe place. Once a
file is encrypted, it can only be opened with the password you enter. If you
CAUTION
forget the password, the file contents CANNOT BE RECOVERED
Item Description
Normal Files This is a list of the source files in the project that are not encrypted.
Select which source files you want to encrypt.
Encrypted Files This is a list of the source files in the project that are encrypted.
Select which source files you want to decrypt.
Encrypt >> Encrypts the files selected in the Normal files list. When this
button is clicked, you will be prompted for a password that will be
used to access these encrypted files.
<<Decrypt Decrypts the files selected in the Encrypted files list. When this
button is clicked, you will be prompted for the password that was
used to encrypt the files.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Compiler Version [Default] is the normal setting.
When the projects cannot be built because new SPEL+ language
keywords have been added that conflict with your variable names,
you can select a previous version to build the projects. Specify the
controller version that compiles the project.
Strict Compile Check the Boolean type strictly.
When Strict Compile is checked, you cannot assign integer values
to Boolean variables.
Globals must be To improve link times for large projects that use many global
declared in each variables.
file used
When this item is checked, you must declare global variables in
each file that they are used in, otherwise an error will occur.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the [Project Properties] dialog.
Item Description
Window Title Type in the title that you want to appear at the top of the operator
window.
Window Size Choose Normal or Maximized.
Font Click on the Font button to open the fonts dialog. Choose the font
you desire for the operator window. The current font name and size
is displayed next to the Font button.
Vision Display If this check box is set, the Vision Guide image will be displayed in
the operator window.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Pause and Continue Check this box if you want the Pause and Continue buttons to be
displayed. This will allow the operator to pause and continue from
the operator window.
I/O Monitor Check this box if you want the I/O Monitor button to be displayed.
This will allow the operator to view input and output status.
Robot Manager Check this box if you want the Robot Manager button to be
displayed. This will allow the operator to open the Robot Manager
from the operator window.
System History If this check box is set, the <System History> button will appear.
You can check the system history.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Page and options Check the pages that you want the operator to have access to
enabled for operators when the Robot Manager is displayed from the operator window.
In some pages, there are additional options.
Allow SFree / SLock Allows the operator to free or lock joints from the Control Panel
page.
Allow Home Allows the operator to home the robot from the Control Panel
page.
Allow Teach Allows the operator to teach points from the Jog & Teach page.
Teach only defined Only defined points are shown in the point list on the Jog &
points Teach page.
Prompt for new point When the operator teaches a new point, a dialog will be displayed
information for entering the point label and description.
Allow Motion Allows the operator to execute motion commands from the Jog &
Commands Teach page.
Allow Edit Allows the operator to edit point data on the Points page.
Allow Delete Allows the operator to delete points on the Points page.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Views Enabled for Configures the I/O views that operators use when opening the I/O
Operators Monitor from the operator window.
You can configure the custom views.
Allow output status Check this box if you want to allow operators to turn outputs on
change or off.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Smart Camera Select the project number used by each Smart Camera for this
Project Numbers project in the "Project #" column.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Startup Form Select the startup form for the current project. If no forms have
been created in GUI Builder, then there will be no forms in the
list.
Help File Set help file that will be used by forms in GUI Builder.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the Project Properties dialog.
Item Description
Select tasks to resume A list of all currently halted tasks. Click on one or more tasks
to resume.
Resume Click to resume.
Select All Click to select all of the tasks in the list.
Cancel Cancel the operation and close the dialog.
Toolbar:
Stops all tasks. This command is disabled when no tasks are running.
The Preserved page displays the Global Preserve variables. The numbers of used and
available bytes for preserved variables are also displayed.
You can save the values of Global Preserve variables in the controller to a file on the PC
by clicking the Save button. The default file name is “GlobalPreserves.dat”.
A “GlobalPreserves.dat” file is also saved by using Backup Controller from the Tools
Menu.
You can load the global preserve variables that are stored in the file on the PC by clicking
Load button.
For module variables, you must select the desired program.
Local variables are not displayed unless one or more tasks have reached a breakpoint or
have been halted from the Task Manager. You can view local variables for each function
in the call stack for each halted task.
The Call Stack command is available when a program window is clicked which contains a
function that is currently halted.
The most recent function is at the top of the list, and parent functions are listed afterwards
in descending order. The last function is the task function.
Each row in the list shows a program, function, and line number.
You can view the code for any of the function calls in the list by selecting a function, then
clicking Show. The program window for the function you selected is then displayed and
the line of the function call is marked by a yellow arrow in the editor left margin.
Status Indicators
Indicator Description
Emergency Stop Indicates if Emergency Stop has occurred. Once an Emergency
Stop occurs, you must execute a Reset to clear it.
Safeguard Indicates whether the Safeguard input is on or off.
Motors Indicates whether the robot motors are on or off.
Power Indicates whether the robot motor power is high or low.
Controls Description
Robot Select a robot.
MOTOR OFF Turns off all robot motors for the robot.
POWER LOW Puts the robot servo system in low power mode.
POWER HIGH Puts the robot servo system in high power mode.
J1 to J4 checkboxes You can free one or more joints using the checkboxes. These will
be disabled for 6-axis robots.
Free All Click this button to free all joints from servo control.
Lock All Click this button to lock all joints under servo control.
Reset button Resets the robot servo system and Emergency Stop condition.
Home button Moves the robot to the position specified with the HomeSet
command.
Jog Controls
The Robot Manager Jog & Teach page contains several controls, described below.
Robot
Select a robot.
Jogging Group
This group contains controls for setting jog mode, speed, and jog buttons.
Mode
This dropdown list contains the following choices jog mode.
World Jogs the robot along the X, Y, Z axes in the current local, tool, arm, and
ECP. For robots with 4 DOF, you can also jog U (roll). For robots with 6
DOF, you can jog U (roll), V (pitch), and W (yaw). This is the default
setting.
Tool Jogs the robot in the coordinate system defined by the current tool.
Local Jogs the robot in the coordinate system defined by the current local.
Joint Jogs each joint of the robot. A separate set of jog buttons will appear when
using joint mode when using non-Cartesian robots.
ECP Jogs the robot along the axes of the coordinate system defined by the
current external control point. Coordinates are World coordinates.
Speed
The speed for jogging and motion commands can be changed by selecting Low or High.
When the Robot Manager is first open, the speed is set to Low. Jogging is always in low
power mode. The speeds and accelerations associated with the jog speed settings are
shown in the next page.
SCARA robot RS series PS series
Jog Speed Jog Method Speed Accel Decel
2
Continuous World/Tool/ECP XYZ 10 mm/sec 100 mm/sec 200 mm/sec2
Continuous World/Tool/ECP UVW 2 deg/sec 20 deg/sec2 40 deg/sec2
Low Continuous Joint * 10 deg/sec2 20 deg/sec2
Default PTP Default PTP
Step 1/5 of default PTP speed
acceleration deceleration
Continuous World/Tool/ECP XYZ 50 mm/sec 100 mm/sec2 200 mm/sec2
Continuous World/Tool/ECP UVW 10 deg/sec 20 deg/sec2 40 deg/sec2
High Continuous Joint * 10 deg/sec2 20 deg/sec2
Default PTP Default PTP
Step Default PTP speed
acceleration deceleration
*Continuous joint speed depends on robot model
6-Axis robot
Jog Speed Jog Method Speed Accel Decel
2
Continuous World/Tool/ECP XYZ 10 mm/sec 200 mm/sec 400 mm/sec2
Continuous World/Tool/ECP UVW 2 deg/sec 20 deg/sec2 40 deg/sec2
Low Continuous Joint * 20 deg/sec2 40 deg/sec2
Default PTP Default PTP
Step 1/5 of default PTP speed
acceleration deceleration
Continuous World/Tool/ECP XYZ * 200 mm/sec2 400 mm/sec2
Continuous World/Tool/ECP UVW 15 deg/sec 20 deg/sec2 40 deg/sec2
High Continuous Joint * 20 deg/sec2 40 deg/sec2
Default PTP Default PTP
Step Default PTP speed
acceleration deceleration
*Continuous joint speed and High Continuous XYZ depends on robot model
Jog Buttons
The jog buttons are used to jog the robot throughout the work envelope. They can be
actuated only with the mouse.
You can jog one step at a time by setting the Jog Distance to Long, Medium, or Short and
then clicking on a button and releasing. You can step continuously by holding the button
down. To jog continuously without stepping, set the Jog Distance to Continuous. See
How to jog robot for details
You can change the orientation of the jog buttons to align your PC monitor with the robot
from Setup: Preferences: Robot Manager: Jogging.
The jog buttons that are displayed depend on the Jog mode. For World, Local, Tool, and
ECP jogging, the X, Y, Z, U, V, W buttons appear (V and W are enabled only for 6-Axis
robots). For Joint jogging, the joint buttons appear, labeled J1 - J6.
The X, Y, and Z buttons jog the robot along the associated Cartesian axis.
The U buttons rotate the tool coordinate system about the Z axis. This is also known as
roll.
For 6-Axis robots, the V buttons rotate the tool coordinate system about the Y axis. This is
also known as pitch. The W buttons rotate the tool coordinate system about the X axis.
This is also known as yaw.
Local
This drop down list is used to select the current Local for jogging and teaching. Only
Locals that have been defined are shown in the list. When you teach a point, the Local
point attribute defaults to the current local number.
Tool
This drop down list is used to select the current Tool for jogging and teaching. Only Tools
that have been defined are shown in the list.
Arm
This drop down list is used to select the current Arm for jogging and teaching. Only Arms
that have been defined are shown in the list. Arms are not used with 6-axis robots.
ECP
This drop down list is used to select the current ECP for jogging. Only ECPs that have
been defined are shown in the list. ECPs are only allowed if the External Control Point
option has been activated.
Current Position Group
This group displays the current position of the robot. There are three ways to display
position. World displays the current position and tool orientation in the selected local
coordinate system, Joint displays the current joint values, and Pulse displays the current
encoder pulse count for each joint.
Current Arm Orientation Group
This group displays the current arm orientation.
6-axis robot : Hand orientation, Elbow orientation, wrist orientation,
J4Flag value, J6Flag value
RS series : Hand orientation, J1Flag value, J2Flag value
Others : Hand orientation
Jog Distance Group
This group contains text boxes that are used to specify the distance that each axis moves
when its corresponding jog button is pressed. There are radio buttons for selecting
Continuous, Long, Medium, and Short jog distances. When Continuous is selected, the
robot is jogged in continuous mode and the jog distance text boxes are grayed out. When
Long, Medium, or Short are selected, the robot is jogged in step mode for the distance
specified in the jog distance text box for the axis being jogged.
To change a jog distance, first select the distance to be changed, then type in the new value.
Distance Set Value * Default Value
Short 0 to 10 0.1
Medium 0 to 30 1
Long More than 0 to 180 10
* If you enter a too large value, an error message appears when you attempt to jog.
When the jog mode is changed, the jog distance units change appropriately between
millimeters (mm) and degrees (deg).
NOTE When the jog distance is longer than the default, jog distance is reset to default status by
rebooting the controller.
The Execute Motion tab can be disabled from Setup | Preferences | Robot Manager| Jog &
Teach.
How to jog
In the upper left hand corner of the Jog & Teach page, you will see a control group called
Jogging that contains jog buttons. In the World, Local, Tool, and ECP jog modes, the
robot is jogged in the Cartesian coordinate system (X, Y, Z). In the Joint jog mode, each
robot joint can be jogged separately.
The jog speed is determined by the Speed setting. In step mode, each time you click a jog
button, the robot moves along the appropriate axis by the amount specified in the Jog
Distance control group. In continuous mode, when a jog button held down, the robot
moves continuously using linear interpolated motion.
NOTE For robots other than the 6-axis robots, the jog motion in step mode is PTP (point to point)
motion. It is difficult to predict exact jog motion trajectory. Therefore, be careful that the
robot doesn't collide with peripheral equipment and that the robot arms don’t collide with
the robot itself during jogging.
For the 6-axis robots, the jog motion in step mode is CP (Continuous Path) motion. Note
that when jogging near the singularity, if you try to pass through the singularity, a warning
dialog below will appear.
Click the <OK> button and click the same Jog button again to jog using PTP motion and
pass the singularity.
It is difficult to predict exact jog motion trajectory in the PTP motion. Therefore, be
careful that the robot doesn't collide with peripheral equipment and that the robot arms
don’t collide with the robot itself during jogging. Also, if you attempt the other jogs or
operations, it cancels the switching to PTP motion. So when jogging near the singularity
again, the same warning dialog will appear.
If passing the singularity in the continuous jog motion, the following warning message will
appear.
When jogging in continuous mode, if an out of range condition occurs, the robot motors
will turn off and an error will be displayed. In this case you must execute a Reset and
Motor On from the Control Panel page to continue the jog.
To jog
Select the jog mode: World, Tool, Local, Joint, or ECP.
Select the jog speed: Low or High.
Select Continuous, Long, Medium, or Short jog distance. You can type in the desired
jog distance when Continuous is not selected.
Click on one of the jog buttons with the left mouse button. If you hold the mouse button
down, the robot will continue to jog.
When jogging is started, the jog button picture color will change from yellow to cyan.
After jogging is completed, the jog button picture color will change back to yellow.
If you click any jog button during a step jog, the robot will stop.
TIP You can change the orientation of the jog buttons for the robot by selecting Preferences |
Robot Manager | Jogging from the Setup Menu. This will allow you to align your PC
monitor with the orientation of the robot.
5. As an alternative to clicking the Teach button, on the Points tab you can type in the
coordinates of the point.
Item Description
Robot Select a robot.
Point File Select a point file.
Delete Pxxx Deletes the selected point. You will be prompted to confirm the operation.
Delete All Deletes all points in the file. You will be prompted to confirm the
operation.
Save Saves the current values.
Restore Reverts back to the previous values. You will be prompted to confirm the
operation.
NOTE To change the base coordinate system, use the Base command from the command window.
See the SPEL+ Language Reference for more information.
When a local is undefined, then all fields for that local will be blank. When you enter a
value in any of the fields for an undefined local, then the remaining fields will be set to
zero and the local will be defined when you click the Apply button.
For details on using Local, see the SPEL+ Language Reference: Local Statement.
3. Select the local number you want to define. For How many points will be used, select
1 - Origin. Since this is a single point local, you will just teach the origin of the new
coordinate system. If you want to use the U, V, or W axes for the orientation of the
coordinate system, check the Use U, V, W tool coordinates for local rotation
checkbox. If this checkbox is unchecked, the new coordinate system is offset from
local 0 in X and Y, but is not rotated about any axis. Click the Next button.
4. We will now teach the local origin point. Click the Teach button to open the Local
Wizard Teach Point dialog.
5. Jog the robot until the end effector is aligned with the local origin point. Then click the
Teach button.
6. The new local definition is displayed as shown below. Click Finish to accept the new
definition.
3. Select the local number you want to define. For How many points will be used, select
3 - Origin, X, Y. Since this is a three point local, you will teach the origin of the new
coordinate system, and then teach one point anywhere along the X axis and one point
anywhere along the Y axis. Select which axis will be used to align the coordinate
system. For example, if you select X, then the new coordinate system X axis will be
aligned to the X axis point that you will teach in a later step. The Y axis point will be
used to determine tilt. Click the Next button.
4. We will now teach the local origin point. Click the Teach button to open the Local
Wizard Teach Point dialog.
5. Jog the robot until the end effector is aligned with the origin point. Then click the
Teach button. The next step will be displayed.
6. We will now teach a point on the local X axis. Click the Teach button and jog the
robot until the end effector is aligned with a point anywhere along the X axis of the new
coordinate system. Click the Teach button on the Teach Point dialog to continue.
7. We will now teach a point on the local Y axis. Click the Teach button and jog the
robot until the end effector is aligned with a point anywhere along the Y axis of the new
coordinate system. Click the Teach button on the Teach Point dialog to continue.
8. The new local definition is displayed as shown below. Click Finish to accept the new
definition.
4. Click the Teach button to open the Tool Wizard Teach Point dialog.
5. Jog the robot until the tool is aligned with the reference point. For 6-axis robots, ensure
that U = 0, V = 0, and W = 180 at the reference point. Then click the Teach button.
The next step will be displayed in the wizard.
6. Click the Teach button. Jog the robot so that the tool is aligned with the reference
point, but from another U angle. To do this, jog the U axis several degrees, then jog X
& Y until the tool is aligned with the reference point. After you have finished jogging
to the reference point, click Teach.
7. For 6-axis robots only: Jog the robot back to the reference point with U = 0, V = 0, and
W = 180. Jog the W axis several degrees, then jog X and Y until the tool is aligned
with the reference point. Ensure that U and V remain at 0 degrees.
8. The new tool definition is displayed as shown below. Click Finish to accept the new
definition.
If the ECP option is not enabled in the controller, this page will not be visible.
For detailed information on using external control points in your application, refer to
6.16.5 ECP Coordinate Systems (Option).
A grid is used to display all of the values for all ECPs you can define.
When an ECP is undefined, then all fields for that ECP will be blank. When you enter a
value in any of the fields for an undefined ECP, then the remaining fields will be set to
zero and the ECP will be defined when you press the Apply button.
Item Description
Robot Select a robot.
Weight Type in the new total weight of the payload on the robot.
Kg/Lb Choose which unit the weight is represented in: kilograms or pounds.
Length Type in the new length.
Apply Sets the current values.
Restore Reverts back to the previous values.
Defaults Displays factory default settings.
Item Description
Robot Select a robot.
Load inertia Type in the new load inertia of the payload on the robot in kg⋅m2. This
includes the inertia of end effector plus the part to be carried.
Eccentricity Type in the new eccentricity value in millimeters. This is the distance from
rotational center of joint 4 to the center of gravity of end effector and part.
Apply Set the current values.
Restore Revert back to the previous values.
Defaults Press the defaults button to display factory default settings.
Item Description
Robot Select a robot.
X, Y, Z Type in the minimum and maximum X, Y, and Z limit values. Setting
both values to zero disables the limits.
Read Current Click this button to read the value from the current robot position. The
button text shows the axis and minimum or maximum depending on
which text field has the current focus.
Apply Set the current values.
Restore Revert back to previous values.
Defaults Set default values.
Item Description
Robot Select a robot.
J1 - J6 Type in the minimum and maximum encoder pulse values for each joint.
Read Current Click this button to read the current joint value of the robot into the
currently field. The button text will change depending on which text
field has focus.
Apply Save the current changes.
Restore Revert back to the previous values.
Defaults Set the default values.
Testing home
After making changes to the home position and home order, you can click the Robot
Manager Control Panel tab and click the Home button.
Item Description
Robot Select a robot.
Read Current Click this button to read the current position encoder pulse value into the
currently selected text field. The button text will change according which
text field is selected.
Defaults Set the value of the [Home order] group box to the default value.
Apply Save the current changes.
Restore Revert back to the previous values.
Key Action
Ctrl+V Execute Paste command. Paste from Clipboard to current selection.
Ctrl+W Re-display last command line after the prompt.
Ctrl+X Execute Cut command. Cut current selection and put in Clipboard.
Ctrl+Z Undo last change.
Ctrl+Home Go to the top of the window.
Ctrl+End Go to last prompt at end of the window.
? Translates to "PRINT " when used as the first character of a command.
This can be used to display variables or any statement that requires a
PRINT command.
To change a view
1. Click on a custom view tab. If none are currently shown, right click on the Standard
View tab and select one of the three custom views to show it.
4. In the Port column, select the port (bit, byte, or word, depending on I/O type).
5. Add more rows as needed by repeating steps 2 - 4.
6. Save the changes by clicking the Apply button.
7. Click the Delete button to delete a row.
8. Use the Restore button to cancel changes.
To rename a view
1. Click on a custom view tab. If none are currently shown, right click on the Standard
View tab and select one of the three custom views to show it.
2. Right click on the view tab and select Rename.
3. Enter the new name for the view.
Operation
The Task Manager is used for suspending, resuming, stepping, and stopping tasks.
When Task Manager is started, you will see a grid containing status information for 32
tasks standard tasks and 11 trap tasks. Also, you will see the status information of 16
background tasks if the background task is enabled. There are 8 items shown for each task.
To view all of the columns, use the scroll bar or resize the window.
Task Number of task from 1 to 32 and 11 trap tasks.
Name Name of the function that was started as a task.
Status Current task status: Run, Wait, Halt, Pause, Aborted, Finished.
Type Task types
Normal This task is a normal task
NoPause This task does not pause with Pause statement or when
Pause input or Safety Door open occur.
NoEmgAbort This task continuously processes during the Emergency
Stop or error occurrence.
Line Current task line number.
Function Current task function name.
Program Current task program name.
Start The date and time that the task was started.
Item Description
Halt Suspends the selected task. This temporarily stops the task so that it
can continue with the Resume button. Halt can only be executed when
a task is running (status is Run). When Halt is executed, the Resume
button will be enabled. If a motion command is executing with Halt
occurs, the motion will be completed before the task reaches the Halt
state.
The task also temporarily stops when the task is NoPause type or
NoEmgAbort type.
Resume After one or more tasks have been suspended with the Halt button,
clicking on Resume will make the halted tasks continue where they left
off. First, a confirmation dialog is displayed.
Quit This button stops the selected task permanently. You cannot Resume a
task once you have executed Quit. To restart the task, you must start it
from within a program or from the Run window. The task also stops
when the task is NoPause type or NoEmgAbort type.
Pause This button pauses tasks that can be paused. After pause, you must use
either Continue or Stop.
The task does not pause when the task is NoPause type or NoEmgAbort
type.
Continue This button continues all tasks that were paused with the Pause button.
Stop This button stops all tasks.
- For the Editor version, the I/O Label Editor shows the all I/O types.
For example, you can edit Fieldbus I/O labels, but you may not have a Fieldbus board
installed in the controller.
In your program code, use the Error statement to generate a user error. For example:
On Vacuum
Wait Sw(VacOn), 1
If Tw = 1 Then
Error ER_VACUUM
EndIf
The user error information is stored in the current project directory in a file called
UserErrors.dat.
You can use the Import command from the File Menu to import user errors from other
projects.
After adding new error definitions, save the changes by executing Save from the File Menu
or by clicking on the Save Project toolbar button. If any duplicate labels are detected,
an error message will be displayed and the save operation will be aborted. You must
correct the duplication before you can save the labels successfully.
Backup Controller
Use Backup Controller to save controller configuration data on your PC. You cannot
backup the controller data while tasks are running. If you attempt to do so, an error
message will be displayed.
1. Select Tools | Controller.
2. Click on the Backup Controller button to open the Browse For Folder dialog.
3. Select the disk drive and parent folder where you want to save the information. You
can create a new parent folder by clicking the Make New Folder button.
4. Click OK. A new folder containing the backup files will be created in the selected
folder named "B_" plus the controller serial number followed by the current date / time.
Restore Controller
Use Restore Controller to load controller settings from previously saved backup data. You
cannot restore the controller data while tasks are running. If you attempt to do so, an error
message will be displayed.
To restore controller configuration:
1. Select Tools | Controller.
2. Click on the Restore Controller button to open the Browse For Folder dialog.
3. Select the drive and folder where the information is stored. Controller backup
information is stored in a folder that is named “B” plus the controller serial number
followed by the date / time.
You can also select a folder containing export controller status information.
NOTE
Export controller status is stored in a folder that is named “S” plus the controller serial
number followed by the date / time.
4. Click OK to display the dialog to select the restore data.
Click the No button to cancel restoration of data except for special situations such as
controller replacement.
Export Controller Status
You can export the current status of the controller using this button. Tasks can be running
when this command is executed. The current status is saved in a folder containing several
files. The controller configuration settings, task status, I/O status, robot status, etc. are
saved in these files. This is useful for an end user to send a snapshot of the controller
status to a system vendor or to Epson technical support, should the need arise.
NOTE Export Controller Status is equivalent to connecting a USB memory key to the controller
and pressing the TRIG button on the controller to save controller status.
You can configure the controller whether to save the project files in the status folder or not.
See Setup | System Configuration | Controller | Preferences.
You can view the exported status using the View Controller Status button (see next
section).
3. Select the drive and parent folder where the information is to be saved.
4. Click OK to save the current controller status. A new folder will be created inside the
parent folder using the controller serial number and the current date / time.
View Controller Status
Click the View Controller Status button to view the status data stored from a previous
status export (see the Export Controller Status section above).
To view controller status:
1. Select Tools | Controller.
2. Click on the View Controller Status button to open the Browse For Folder dialog.
3. Select the drive and folder where the information is stored. Controller status
information is stored in a folder that is named "S_" plus the controller serial number
followed by the date / time.
4. Click OK to view the selected controller status.
5. The Controller Status Viewer dialog will be displayed.
6. Select items to view from the tree on the left side of the dialog.
7. To view another controller status, click the ellipses button next to the Status Folder
name and select a new status folder.
Reset Controller
Use the Reset Controller button to reset the SPEL controller.
Item Description
Auto Select Auto to start EPSON RC+ 6.0 in Auto mode. Refer to 4. Operation
for details.
Program Select Program to start EPSON RC+ 6.0 in Program mode. Refer to 4.
Operation for details.
Password Click this button to change the password required to enter Program mode
from Operator mode when EPSON RC+ 6.0 starts.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Defaults Click this button to set the default startup mode.
Close Closes the System Configuration dialog.
Item Description
Start EPSON RC+ after Check this box if you want EPSON RC+ 6.0 to automatically
Windows start start after Windows starts.
Command line options Enter the command line options used when EPSON RC+ 6.0
is automatically started. This is active only when the Start
EPSON RC+ 6.0 with Windows start checkbox is not
checked.
Auto start SPEL+ Check this box if you want to execute the main program after
program a delay.
This is active only when starting in Operator mode and the
control device is “Self”.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Close Closes the System Configuration dialog.
Item Description
Enable windows auto Check this box if you want to automatically login to Windows
login when it starts. You must supply a valid user name, password,
and domain.
User Name Enter the name of a valid Windows user on the system.
Password Enter the login password for the user.
Domain Optional. If the PC is the member of a domain, enter the name
here.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Close Closes the System Configuration dialog.
Item Description
Serial # Displays the serial number of the current controller.
MAC Address Displays the MAC Address of the controller.
Firmware Version Displays the firmware version used in the current controller.
Date / Time Displays the current date and time in the controller.
Project Name Displays the name of the project in the controller.
Close Closes the Setup Controller dialog.
Item Description
Name Use this text box to change the controller name. You may use
any name up to 16 characters long using alphanumeric
characters and underscore.
IP Address Use this text box to set current IP address of the LAN-1 port.
The IP Address must be on the same subnet as the PC.
IP Mask Use this text box to set the IP mask of the LAN-1 port. Note
that the IP Mask must match the IP mask used for your
network.
IP Gateway Use this text box to set the IP gateway of the LAN-1 port. This
is only required if you will be accessing the controller from
outside of the local network.
Control Device Allows you to select the Control Device.
TP Password Allows you to change the TP password.
Apply Saves the current changes. If necessary, the controller will be
reset to use the new settings.
Restore Reverts back to previous settings.
Close Closes the Setup Controller dialog.
Uncheck this preference to execute I/O On/Off using the NoEmgAbort task or background
task after Emergency Stop. If it remains checked, the execution order of turn Off by this
preference and turn On using the task are not guaranteed.
NOTE
You should design your system to always remove all power to output devices when
emergency stop occurs. Even if the controller turns off outputs, the I/O hardware could
malfunction.
Allow motion with one or more joints free
When this preference is turned on, motion commands can be executed after SFree has been
used to free one or more joints. The default setting is off.
Walk stops for output commands
When checked, the Walk command from the Run Menu will execute lines until after the
next motion or output statement (whichever comes first). When unchecked, the Walk
command will execute lines until after the next motion statement and will not stop for
output statements. The default setting is on.
Dry run
This preference allows you to run programs without a robot connected to the controller.
All program statements will work. Motion statements will execute approximately the same
amount of time as when connected to a robot.
Virtual I/O
This preference allows you to run programs using virtual I/O. When Virtual I/O is enabled,
I/O commands do not affect the hardware I/O. There are also several commands available
for turning on inputs from within a program. The default setting is off.
NOTE
Remote function is also available when virtual I/O is enabled.
Independent Mode
This preference allows you to use the controller without interfacing with the Windows
(Independent mode).
Usually you can use the controller after the EPSON RC+ 6.0 becomes active. Use this
option when you want to use the controller through the external device using Remote I/O.
This is turned off by default.
Initialize global variables when Main XX function started
This preference allows you to initialize the global variables as the main function becomes
active.
Turn off this preference when you sue the global variables from the background task.
Otherwise, the variables will be initialized by the controller and the variable-access
conflict from tasks will occur. This is turned on by default.
■ Before you execute StartMain, Cont, Recover, Reset, Error commands, you
should understand each command's specification and verify that the system has
the appropriate condition to execute these commands.
CAUTION Improper use, such as executing commands continuously in a loop, can reduce
the security of system.
Item Description
Model Displays the robot model.
Type Displays the robot type.
Length Displays the robot length (J1 + J2 for SCARA robots) or reach for
6-axis robots.
Add Adds a robot.
Remove Deletes a robot.
Close Closes the System Configuration dialog.
Item Description
S Axis Displays the configuration of additional S axis.
T Axis Displays the configuration of additional T axis.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Add Adds an additional axis.
Remove Deletes an additional axis.
Close Closes the dialog.
Item Description
Name Enter a Name for the robot.
Serial # Enter the Serial number of the robot.
Joint These checkboxes determine if the respective joint is
enabled or disabled.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Close Closes the Setup Controller dialog.
Item Description
Joint to Calibrate Select the joint that you want to Calibrate.
Calibrate Starts the Calibration Wizard dialog that walks you through the
calibration process.
Calpls These are the Calpls settings for each joint. Normally, the
calibration wizard will calculate these values.
Hofs These are the Hofs settings for each joint. Normally, the
calibration wizard will calculate these values.
Load Cal Use this button to load data from a previously save calibration file.
After the data is loaded, the grid will be refreshed to show the
values.
Save Cal Use this button to save the calibration data to a calibration file.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Close Closes the Setup Controller dialog.
Item Description
Robot Amplifiers This shows the power for each robot amplifier currently in
the controller along with the associated drive unit and
amplifier number.
Close Closes the System Configuration dialog.
Item Description
Input # Select an input bit to use for the corresponding input signal. Select "Not
used" to disable the remote input.
For example, if “Start” is assigned to I/O input bit 0, select “Not used” to
use this as a normal I/O input.
NOTE
Both the remote inputs and outputs are loaded or saved together when using Load or Save.
Item Description
Output # Select an output bit to use for the corresponding output signal. Select "Not
used" to disable the remote output.
For example, if “Ready” is assigned to I/O output bit 0, select “Not used”
to use this as a normal I/O output.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Defaults Click this button to set the default remote outputs. First, a dialog box will
be displayed asking you which type of outputs to use for defaults:
Standard, Fieldbus master, or Fieldbus slave I/O. You can also select Clear
All to set all remote outputs to Not used.
Load Reads the assigned remote inputs and outputs from a file on the PC and
save it in the controller.
Save Saves the assigned remote inputs and outputs shown in the dialog to a file
on the PC.
Close Closes the Setup Controller dialog.
NOTE
Both the remote inputs and outputs are loaded or saved together when using Load or Save.
Item Description
Auto file save Checking this box will cause EPSON RC+ 6.0 to automatically
save any open files before executing a command that requires
the file to be saved. For example, if a file needs to be saved
before executing a project build, the file will automatically be
saved before running the build. Default is On.
Stop compile after Stops compile after first error occurs. This makes it easier to see
first error the first error in the status pane and allows you to fix one error at
a time. Default is On.
Display the shutdown Displays the shutdown dialog when closing the EPSON RC+
dialog on exit 6.0. For details, refer to EPSON RC+ Online Help or SPEL+
Language Reference manual: Shutdown. Default is ON.
Do not open last project If this radio button is selected, the last project will not be opened
when EPSON RC+ 6.0 is started.
Open last project and If this radio button is selected, the last project will be opened and
program file any program windows that were previously opened will be
opened.
Open last project and If this radio button is selected, the last project will be opened and
all windows all windows will be restored to their previous locations. This is
the default setting.
Show Tip of the Day If this check box is on, the Tip of the Day dialog will be
displayed when EPSON RC+ 6.0 is started.
Apply Saves the current changes.
Restore Reverts back to previous settings.
Default Sets the default values.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
Item Description
Auto Indent Check this box if you want new lines to follow the indentation
for the previous line. Also, lines will automatically be indented
after Do, If, Else, For, Select, and Case statements. Default is
on.
Auto End Construct Check this box if you want EPSON RC+ 6.0 to add the end
construct statement for a loop construct. For example, if you
enter a For statement, then a Next statement will be added
automatically. Default is on.
Margin Indicators Check this box to display a margin on the left side. This margin
is used to indicate lines with breakpoints, current step line,
current execution line. Default is on.
Function Separators Check this box to display a line after each Fend statement.
Default is on.
Syntax Help Check this box to enable the Syntax Help window. The Syntax
Help window displays syntax for a keyword after it has been
typed. Default is on.
Tab Stops Type in the number of columns to move for the TAB key.
Default is 4.
Font Click on the Font button to open the fonts dialog. Choose the
font you desire for the editor. The monitor window also uses the
editor font. The current font name and size is displayed next to
the Font button.
Apply Applies the current settings.
Restore Reverts back to the previous settings.
Defaults Sets default value.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
Item Description
Display Choose if you want the Robot Manager to be displayed as an MDI
Window or as a Dialog.
Apply Applies the current settings.
Restore Reverts back to the previous settings.
Defaults Sets default values.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog
The Robot Manager can be displayed as an MDI child window (default) or as a dialog.
When displayed as an MDI child, the Robot Manager is displayed in the MDI document
area and can remain open while you work with other windows and dialogs. When
displayed as a dialog, you can only work with the Robot Manager controls until you close
the dialog. When using screen resolutions less than 1024 × 768, only the Dialog mode is
allowed.
These options affect the Robot Manager Jog & Teach page when used from program mode.
These settings do not affect the Robot Manager when used for operators in auto mode,
such as for the Operator Window or from VB Guide. To configure the Robot Manager for
operators, see Project | Properties | Operator Settings | Robot Manager.
Item Description
Confirm teach Check this box if you want a confirmation prompt each
time you press the Teach button on the Robot Manager
Jog & Teach page.
Enable motion commands Check this box if you want to execute motion commands
(Go, Jump, etc.) from the Robot Manager Jog & Teach
page.
Prompt for new point Check this box if you want to be prompted for point label
information and description when a new point is taught using the
Teach button.
Apply Applies the current settings.
Restore Reverts back to the previous settings.
Defaults Sets default values.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
Item Description
Confirm Start This checkbox allows you to select if you want to see a
confirmation message box before a program is started.
Clear text window on start Checking this will cause the Run Window text pane to be
cleared each time the Start button is clicked.
Allow multiple tasks to be Checking this allows you to start a task from the Run
started window while other tasks are running. The Start button will
not be disabled after starting a task.
Font Click on the Font button to open the fonts dialog. Choose
the font you desire for the Run window. The current font
name and size is displayed next to the Font button.
Apply Applies the current settings.
Restore Reverts back to the previous settings.
Defaults Sets default values.
Restore Reverts back to the previous settings.
Defaults Sets default values.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
Item Description
Preserve contents Checking this option will cause the command window to
preserve its contents between sessions.
Font Click on the Font button to change the font for the Command
window.
Apply Saves the current changes.
Restore Reverts back to the previous values.
Defaults Set default values.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
When EPSON RC+ 6.0 is installed on a Windows system using a Western language, then
the English, German, and French selections are available.
If it is installed on a Windows system using Japanese, then English and Japanese are
available.
After selecting the desired language, you must reboot EPSON RC+ 6.0.
If you select English for EPSON RC+ 6.0, but you are using Japanese Windows, then
messages boxes and some file navigation dialogs will be in Japanese.
Item Description
Language This set of option buttons allows you to choose which language to use
for the EPSON RC+ 6.0 GUI.
Apply Saves the current changes.
Restore Reverts back to the previous values.
Defaults Set the default language.
Load Reads the preferences previously saved on the PC.
Save Saves the preferences to a file on the PC.
Close Closes the Preferences dialog.
If an option is not enabled, you can enable it by purchasing it from your distributor. When
you call to purchase, you must give the Options Key Code to the operator. You will then
be given a code to enable the option for the current software options key.
After receiving the code, click the Enable button and enter the code. The option you
purchased should now be enabled.
Item Description
Activate Brings the selected window into focus.
Save Saves the contents of the selected windows.
Close Closes the selected windows.
OK Closes the dialog.
6.1 Overview
SPEL+ is a BASIC-like programming language that runs in the controller. It supports
multitasking, motion control, I/O control.
Programs are written in ASCII text and then compiled into executable object files.
Several language instructions can also be executed in immediate mode from the Command
window.
6.6 Operators
The following table shows the different operators for the SPEL+ language.
Function main
m_IntVar1 = 25
Call test
Fend
Function test
Print m_IntVar1
Fend
NOTE Be careful about the backup battery power, because you will lose the data of global
preserve variables stored in SRAM if the battery is weak.
6.7.6 Arrays
You can declare local, module, and global variables with up to three dimensions as arrays
for all data types.
To declare an array, use this syntax:
dataType name ( ubound1 [ , ubound2 [ , ubound3] ] )
SPEL+ arrays are zero based. The first element is referenced with a value of zero.
The total available number of array elements for local variables is 200 for strings and 2000
for all other types.
The total available number of array elements for global preserve variables is 400 for strings
and 4000 for all other types.
The total available number of array elements for global and module variables is 10,000 for
strings and 100,000 for all other types.
To calculate the total elements used in an array, use the following formula. (If a dimension
is not used, substitute 0 for the ubound values.)
total elements = (ubound1 + 1) * (ubound2 + 1) * (ubound3 + 1)
Before using a file you must open it with one of the following commands: AOpen, Bopen,
ROpen, and WOpen. And specify a file number in the Open statement. File number can
be 30 ~ 63.
Here is an example to save a text file and read it.
fNum = FreeFile
WOpen "c:\mydata\data.txt" As #fNum
' Store the count
Print #fNum, UBound(data$)
For i = 0 To UBound(data$)
Print #fNum, data$(i)
Next i
Close #fNum
Fend
fNum = FreeFile
ROpen "c:\mydata\data.txt" As #fNum
Input #fNum, i
Redim data$(i)
For i = 0 To UBound(data$)
Input #fNum, data$(i)
Next i
Close #fNumFend
NOTE
6.10 Multi-statements
A program statement can contain several statements separated by semi-colons. The total
length of a multi-statement program line cannot exceed 255 characters.
For example:
Function Test
Pass P1; Pass P2; Go P3 ' Multi-statement
Fend
It is not recommended to use multi-statements. Multi-statements can make your code more
difficult to read and debug.
6.11 Labels
A program line is an alphanumeric name followed by a colon (":") that marks a location in
a program for a GoTo or GoSub statement. The name may be up to 32 characters long and
can include alphanumeric characters and the underscore ("_") character if it is not the first
character. You cannot use any SPEL+ keywords as labels.
For example:
Function Main
Do
Jump P1
Jump P2
If Sw(1) Then GoTo MainAbort
Loop
MainAbort: ' Program label
Print "Program aborted"
Fend
6.12 Comments
Use comments to add notes to your programs. An apostrophe character (') starts a
comment.
Examples of comments
Function Main
' ****** Main Demo Program ******
Xqt conveyor ' Start up the task for conveyor
Do
Print "Press ENTER to run demo cycle"
Print "Press CTRL+C to quit"
Input dumy
Call demo ' Execute the demo function
Loop ' Return to start of main loop
Example
The following example shows a simple error handling routine. When an error occurs,
program execution goes to the ErrHandler label, where the error handler starts. The error
number is displayed and the operator is asked to continue or not. If the operator enters "N"
then the program executes the Quit All statement to end the program.
Function Main
String cont$
Integer i
OnErr Goto Errhandler
For i = 1 To 10
Jump P(i)
Next i
Exit Function
' *** Error handler ***
Errhandler:
enum = Err
Print "Error #", enum, " occurred"
Print "Continue (Y or N)?"
Line Input cont$
Select cont$
Case "y", "Y"
EResume Next
Default
Quit All
Send
Fend
6.14 Multi-tasking
For some applications, you may want to control other equipment besides the robot, such as
conveyors, pick and place units, etc. By using multi-tasking, you can control this other
equipment with their own tasks.
SPEL+ supports up to 32 normal tasks and 16 background tasks (48 tasks in total) running
simultaneously. A task is a function that has been started by the system or by the Xqt
statement.
Use the Xqt statement to start another task from within a function. You can optionally
specify a task number from 1 to 32 in the Xqt statement.
A task started from a background task is started as a background task. You can execute up
to 16 background tasks simultaneously.
The table below shows the program instructions that are used for multitasking.
Statement Purpose
Xqt Starts a function as a task.
Halt Temporarily suspends execution of a task.
Resume Resumes a task that has been halted.
Quit Stops a task.
Signal Sends a signal to one or more tasks that are waiting for the signal using
WaitSig.
SyncLock Locks a resource for use by the current task and blocks other tasks from
using the resource until SyncUnlock is executed.
WaitSig Waits for a signal from another task.
Pause Pause all tasks.
One example for starting another task is to run a conveyor system for the robot work cell.
Program: MAINTASK.PRG
Function Main
Xqt Conveyor ' Start the conveyor task
Do
...
...
Loop
Fend
Program: CONVTASK.PRG
Function Conveyor
Do
Select True
Case Sw(10) = On
Off convCtrl
Case Sw(11) = On
On convCtrl
Send
Loop
Fend
Function main
Xqt Robot1
Xqt Robot2
Fend
Function Robot1
Robot 1
Speed 50
Do
Jump pick
On gripper1
Wait .1
Jump place
Off gripper1
Wait .1
Loop
Fend
Function Robot2
Robot 2
Speed 50
Do
Jump pick
On gripper2
Wait .1
Jump place
Off gripper2
Wait .1
Loop
Fend
Origin
X+
± 360 degrees
+Y +U
+X
−Z
-U
+X +Z
+X
Robot
+Y Coordinate +Y Tool 0
system Coordinate
+Z system
+X
+X
Tool 0
+Y Coordinate +Y Tool 0
+Z system Coordinate
+Z system
Origin
X+
+Y
± 360 degrees
View from this
direction
Z=0 -X
-Z -U +U
Center of Joint #3
+X
-Z
+U -U
(360 degrees) (360 degrees)
U
yt0
yt1
Tool 1 coordinate system
xt1
Y
b c
xt0
a
Tool 0 coordinate system
X
Robot coordinate system
Use the ECPSet statement for defining an ECP coordinate system. A maximum of 15 ECP
coordinate systems can be defined.
The following commands are available for optional ECP:
- Move command
- Arc3 command
- Curve and CVMove commands
- ECP jog motion
For details, refer to 16. ECP Motion.
Examples of moving to the same point using Lefty and Righty arm orientations
To specify orientation for the 6-axis robot, add a forward slash (/) followed by L (for Lefty
hand orientation) or R (Righty hand orientation), A (Above elbow orientation) or B (Below
elbow orientation), and NF (NoFlip wrist orientation) or F (Flip wrist orientation).
There are eight available orientations as shown below, however, the 6-axis robot cannot be
operated in all of the orientations depending on point.
Available Orientation
1 /R /A /NF 5 /R /A /F
2 /L /A /NF 6 /L /A /F
3 /R /B /NF 7 /R /B /F
4 /L /B /NF 8 /L /B /F
At some points in the work envelope, the 6-axis robot can have the same position and
orientation even if the fourth joint or the sixth joint is rotated 360 degrees. To distinguish
these points, the J4Flag and J6Flag point attributes are provided.
To specify the J4Flag, add a forward slash (/) followed by
J4F0 (-180 < the forth joint angle <= 180), or
J4F1 (the forth joint angle <= -180 or 180 < the forth joint angle).
To specify the J6Flag, add a forward slash (/) followed by
J6F0 (-180 < the sixth joint angle <= 180),
J6F1 (-360 < the sixth joint angle <= -180 or 180 <the sixth joint angle <= 360), or
J6Fn (-180*(n+1) < the sixth joint angle <= 180*n or 180*n <the sixth joint angle <=
180*(n+1)).
Singularity
The orientation in the boundary where the arm orientation switches to the other
Hand singularity : The boundary where Righty hand orientation and Lefty hand
orientation switch
Elbow singularity : The boundary where Above elbow orientation and Below elbow
orientation switch
Wrist singularity : The boundary where NoFlip wrist orientation and Flip wrist
orientation switch
For the 6-axis robot, Hand / Wrist singularities exist also inside the motion range. When
jogging near the singularity, follow the directions below.
Proper motion
However in the cases like this, it is difficult for users to specify the proper arm orientations
by a program. For this LJM function is a useful command. LJM function switches the arm
orientations to enable the least motion of the joints. For the details of LJM function, refer
to SPEL+ Language Reference manual.
Also, AutoLJM command can automatically apply LJM function to the motion commands
which are included in a particular section of the program without using LJM function.
For details of AutoLJM command, refer to the SPEL+ Language Reference.
In addition, you can set AutoLJM function to be enabled at the controller start up by
setting preferences of the controller. However, if Auto LJM is enabled in preferences, this
function automatically adjusts the posture of the manipulator to reduce the motion distance,
even when you intend to move the joint widely. Therefore, it is recommended to build a
program using AutoLJM command or LJM function to operate the manipulator as you
desired.
If you specify all points by teaching, the arm orientations are also recorded. Therefore, the
manipulator moves to the taught position without using LJM function or AutoLJM.
Instead, the manipulator may move differently from the taught position by the use of LJM
and AutoLJM.
To specify orientation for the RS series, add a forward slash (/) followed by L (for Lefty
hand orientation) or R (Righty hand orientation), J1F0 or J1F1, J2F0 or J2F1.
The RS series can have the same position and orientation even if the first joint or second
joint are rotated 360 degrees. To distinguish these points, the J1Flag and J2Flag point
attributes are provided.
To specify the J1Flag, add a forward slash (/) followed by J1F0 (−90 < the first joint angle
<= 270) or J1F1 (−270 < the first joint angle <= −90 or 270 < the first joint angle <= 450).
To specify the J2Flag, add a forward slash (/) followed by J2F0 (−180 < the second joint
angle <= 180) or J2F1 (−360 < the second joint angle <= −180 or 180 < the second joint
angle <= 360).
There are eight available orientations as shown below. However, the RS series cannot be
operated in all of the orientations depending on point.
Available Orientation
1 /R /J1F0 /J2F0
2 /L /J1F0 /J2F0
3 /R /J1F1 /J2F0
4 /L /J1F1 /J2F0
5 /R /J1F0 / J2F1
6 /L /J1F0 / J2F1
7 /R /J1F1 / J2F1
8 /L /J1F1 / J2F1
6.18.4 Curves
Curves commands move the robot in a circular arc. Curves is a CP (Continuous Path)
motion.
To set velocity (speed) for Curves, use the SpeedS command. To set acceleration and
deceleration, use the AccelS command.
Command Description
Arc Move the robot through one point to another point using circular interpolation.
Arc3 Move the robot in 3D using circular interpolation.
Curve Creates a file containing a path specification.
CVMove Executes a path specified by Curve.
For i = 0 To 10
Go P(i)
Next i
NOTE Although you can define points at the Command window for test purposes, it is
recommended that all points be defined in a program, point editor, or with the Robot
Manager Jog and Teach page. Points defined at the Command window will be cleared
from memory when you build a project or run a program unless you execute SavePoints.
LoadPoints "model1.pts"
For i = 0 To 10
Jump pick
Jump place
Next i
Fend
Function main
Integer i
CX(pick) = 25.5
CY(pick) = CY(pick) + 2.3
Function main
' Arm the trap
Trap 1 Sw(1) = On Xqt Sw1Trap
Do
RunCycle
Loop
Fend
Function Sw1Trap
' Turn on output 1 for 2 seconds
On 1, 2
' Wait for trap condition to clear
Wait Sw(1) = Off
' Re-arm the trap
Trap 1 Sw(1) = On Xqt Sw1Trap
Fend
Trap Description
Trap 1 – 4 Goto Triggered by an input condition specified by the user.
Trap 1 – 4 Call User traps can use GoTo, Call, or Xqt.
Trap 1 – 4 Xqt
Trap Emergency Xqt When Emergency Stop occurs, a specified function is executed.
Trap Error Xqt When an error occurs, a specified function is executed.
Trap SgOpen Xqt When the Safeguard circuit is open, a specified function is
executed.
Trap SgClose Xqt When the Safeguard circuit is closed, a specified function is
executed.
Trap Pause Xqt When the system enters the Pause state, a specified function is
executed.
Trap Abort Xqt When all tasks (except background tasks) have been stopped by
user or system, such as when a command corresponding to
Abort All is executed, a specified function is executed.
Trap Finish Xqt When all tasks (except background tasks) have been finished, a
specified function is executed. However, the function will not
be executed under the condition that executes Trap Abort.
Forced Flag
Specify Forced flag in the I/O output commands such as On/Off command to
enable On/ Off of the I/O outputs during Emergency Stop, Safety Door open,
Teach mode, and error condition.
Do not connect external equipment that operates mechanically such as actuator
to the I/O output that specifies Forced flag. Otherwise, the external equipment
CAUTION may move during Emergency Stop, Safety Door Open, Teach mode, or error
condition and this will cause serious safety problems.
Forced flag is designed to be specified for I/O outputs connected to external
equipment without mechanical motion such as status display LEDs.
Forced Flag
Specify Forced flag in the I/O output commands such as On/Off command to
enable On/ Off of the I/O outputs during Emergency Stop, Safety Door open, and
error.
Do not connect external equipment that operates mechanically such as actuator
CAUTION to the I/O output that specifies Forced flag. Connecting external equipment may
cause serious safety problems and operate the external equipment during
Emergency Stop, Safety Door Open, or error occurrence.
Forced flag is designed to be specified for I/O outputs connected to external
equipment without mechanical motion such as status display LEDs.
NoEmgAbort Task
When Emergency Stop or errors occur, finish the task promptly after completing the error
handling.
If you do not complete the NoEmgAbort task, the controller does not change to Ready
status and you cannot cancel the Emergency Stop or the error. You cannot execute Reset
command from the NoEmgAbort task to cancel the Emergency Stop or the error
automatically.
NoEmgAbort task is designed for I/O process without motion and communication with
external device using the Ethernet. Therefore there are commands such as robot motion
commands that cannot be executed in the NoEmgAbort task. An error occurs if you use
these commands. The list of these commands is in the next section.
For details, refer to EPSON RC+ 6.0 Online Help or Xqt in SPEL+ Language Reference.
NoPause Task
NoPause task continues the operation during the Pause or Safety Door open condition.
However, when a robot is operating NoPause task, the task pauses as the robot pauses.
Background task
Background task always exists while the controller is working, and it is designed for
monitor of the entire system and communication with external device. Therefore there are
commands such as robot motion commands that cannot be executed in the background task.
An error occurs if you use these commands. The list of these commands is in the next
section.
In addition, the background task continues processing even when Pause is input or
safeguard is open, so it doesn’t affect the controller state transition.
For details, refer to 6.23 Background Task.
Outputs off during Emergency Stop
Uncheck this preference to execute I/O On/Off using the NoEmgAbort task or background
task after Emergency Stop. If this check box is checked, the execution order of turn Off by
the controller and turn On using the task are not guaranteed.
Setting of Safeguard open stops all tasks
When this preference is checked, NoPause task stops by Safety Door open. NoEmgAbort
task or background task continues the task.
Setting of [Enable the Background task]
Set this preference when you use the background task.
Setting of [Initialize global variables as the MainXX starts]
Uncheck this preference when you use the global variables from the background task.
When this check box is checked, the controller will initialize the variables and the variable-
access conflict from tasks will occur.
*1 When the robot is operating, the task pauses as the robot pauses.
*2 When Outputs off during Emergency Stop is checked in the Preferences page of
Setup Controller, normal tasks and NoPause tasks stop by Safety Door open.
Task Exection
Normal Omit the task type in Xqt statement, or specify Normal for the task
type.
Xqt NormalTask
Xqt NormalTask, Normal
NoPause Specify NoPause in Xqt statement.
Xqt NoPauseTask, NoPause
NoEmgAbort Specify NoEmgAbort in Xqt statement.
Xqt NoEmgAbortTask, NoEmgAbort
You cannot change the task type after executing a task.
main to main63 that are executed at the beginning of the program are executed as normal
tasks.
Type of a task executed in Trap Xqt is determined by the event type.
For details, refer to EPSON RC+ 6.0 Online Help or Trap in SPEL+ Language Reference.
Restricted Commands by Task Types
Normal No restriction
NoPause No restriction
NoEmgAbort Cannot execute the following commands.
Command for robot motion
Commands for vision
Reset, Xqt, Trap, etc.
For details, refer to EPSON RC+ 6.0 Online Help or Xqt in SPEL+
Language Reference.
Function ErrorMonitor
Wait ErrorOn
If 4000 < SysErr And Syserr < 5999 Then
Print "Mortion Error = ", SysErr
Off 10, Forced
On 12, Forced
Else
Print "Other Error = ", SysErr
Off 11, Forced
On 13, Forced
EndIf
Fend
■ Specify Forced flag in the I/O output commands operated from the background
tasks to enable On/ Off of the I/O outputs during Emergency Stop, Safety Door
open, and error.
Do not connect external equipment that operates mechanically such as
actuators to the I/O output that specifies the Forced flag. Connecting external
CAUTION equipment may cause serious safety problems and operate the external
equipment during Emergency Stop, Safety Door Open, or error occurrence.
Forced flag is designed to be specified for I/O outputs connected to external
equipment without mechanical motion such as status display LEDs.
When you have already checked the box above and the Function BgMain exists in your
program, it will automatically start as Task 65 as the controller starts and loads the project,
it executes as a “Background task”.
However in PROGRAM mode, the Function BgMain will not start automatically. You
need to start it using the Start button in the [Run] window.
This is because the PROGRAM mode is for creating programs and debugging and it may
be more efficient when it doesn’t start the Function BgMain.
When the controller operating mode shifts from PROGRAM to AUTO mode, the Function
BgMain will start automatically.
In the [Task Manager] window, the background tasks can be managed in the same way as
the non-background tasks except for the <Pause/Cont> button. You can set a break point
in a background task and step through the code.
As a rule, the background task cannot be controlled in AUTO mode. It is by design that
any error that occurs in the background task cannot be recovered in AUTO mode.
Therefore, thorough debugging in PROGRAM mode is recommended. Be particularly
careful that the communication errors are handled properly without fail before using the
background task in AUTO mode.
The following tables show how the background will (or will not) be affected by operation
from the console.
Operator Window
Button Background task
START It will not be affected.
Abort It will not be affected.
Pause It will not be affected.
Continue It will not be affected.
Remote Input
Button Background task
Start / Stop It will not be affected.
Pause / Continue It will not be affected.
Reset It will not be affected.
Shutdown It will be stopped.
Data correspondence
EPSON RC+ 6.0 C/C++
Boolean short
Byte short
Short short
Integer short
Long int
Real float
Double double
String char [256] * Null included
LIBRARY "MyCalculator"
EXPORTS
fnMyCalculator
MyArithmetic
calc$ = "add"
result = MyArithmetic(1, 2, ByRef calc$);
Print "1+2=", Str$(result)
calc$ = "sub"
result = MyArithmetic(1, 2, ByRef calc$);
Print "1-2=", Str$(result)
calc$ = "mul"
result = MyArithmetic(1, 2, ByRef calc$);
Print "1*2=", Str$(result)
calc$ = "div"
result = MyArithmetic(1, 2, ByRef calc$);
Print "1/2=", Str$(result)
Fend
NOTE Before you build the project, be sure to copy the native DLL to the project folder
without fail. If you fail, a warning or error will occur.
Remote Control
Use remote control to turn motors on/off, home the robot, start programs, etc. A simple
push button box can be used, or a PLC can be connected.
When using Remote Control, the Control Device must be set to Remote from Setup |
System Configuration | SPEL Controller Board | |Configuration.
Windows Applications using VB Guide
Use the VB Guide Option along with a Windows development tool such as Visual Basic,
Visual C#, or Visual C++. See the VB Guide Manual for more information.
GUI Builder
To use the GUI Builder option, refer to the GUI Builder manual.
Safety interface
Use guard doors, safety mats, light curtains, etc. to protect the operator from injury.
Peripherals
RC620 Controller has one RS-232C port as standard (two ports depending on the type of
controller). You can also add up to 9 ports by installing an optional RS232C expansion
board. Refer to 12. RS-232 Communications for details.
You can use TCP/IP to connect peripheral equipment. For details, refer to 13. TCP/IP
Communications.
Editing a project
Select Edit from the Project Menu to open the [Edit Project] dialog. From this dialog, you
configure which program files, include files, and point files are used in the current project.
Status Pane
This window shows progress messages and error messages during project build.
Double click
this line to go
to the source
code.
When errors occur during the build process, a message is displayed that includes the error
number, program file name, and line number. Double click on the line with the error to go
directly to the source code that caused the error.
For i = 1 To 10
Jump P(i)
Jump P0
Next i
Use the Auto End Construct feature to automatically add the end construct statement.
For example, when you enter a For statement and press Enter, a Next statement is
automatically created with an indented blank line above it.
Red indicates
syntax error
Error message
in status bar
The spreadsheet window contains one row for each point in the file. The spreadsheet
always contains rows for all points, even if they are not defined. The cells for an
undefined point are blank.
Row select column This is the first column on the left. Click on this column to select
a row.
Number column Point number. Range is from 0 to a maximum point number.
Name column Name of the point.
Coordinate columns Coordinates in millimeters for X, Y, Z and degrees for U, V, W.
Local number column Local number drop down list. Range is from 0 to 15.
Hand column Drop down list with two values for robot hand orientation: Lefty
and Righty.
Elbow column Drop down list with two values for robot elbow orientation:
Above and Below. This column is shown only for 6-axis robots.
Wrist column Drop down list with two values for robot wrist orientation: Flip
and NoFlip. This column is shown only for 6-axis robots.
J4Flag column Drop down list with two values for robot J4Flag: 0 and 1.
This column is shown only for 6-axis robots.
J6Flag column Drop down list with values for robot J6Flag: 0 - 127.
This column is shown only for 6-axis robots.
J1Flag column Drop down list with values for robot J1Flag: 0 and 1.
This column is shown only for RS series.
J2Flag column Drop down list with values for robot J2Flag: 0 and 1.
This column is shown only for RS series.
J1Angle Coordinate in units of degrees. This column is shown only for
RS series.
Item Description
Text area This is the area that takes up most of the run window. Output
from your programs is displayed here. When your program uses
an Input statement, you can type in the requested input from this
text box. You can use the scroll bars to view the entire text
buffer.
If an error occurs while running a program, the error number,
program file name, line number and function name will be
displayed in this text area. You can double click on the line
where the error is displayed to directly go to the source line that
caused the problem.
Function Select a function to start. Functions are sorted alphabetically.
Function main is selected by default.
Low Power When this box is checked, SPEL+ ignores the Power High
command. This allows you to run your program in low power
mode to verify operation without having to change the program.
Speed Factor Specifies the robot motion speed factor. The speed factor is a
percentage of maximum point to point speed and linear
interpolated speed. For example, if you program executes Speed
80 and the speed factor is 50%, the robot will move at speed 40.
Start Starts the function shown in the function drop down list.
Stop Stops all tasks. If the robot is executing a motion command
when this button is pressed, the robot will decelerate to a stop.
Pause Pauses all tasks with pause enabled. Activates the Continue
button. If the robot is executing a motion command when this
button is pressed, the robot will decelerate to a stop.
Continue Continues paused tasks.
CTRL+C Same as Stop button.
7.5.2 Debugging
EPSON RC+ 6.0 supports source level debugging. You can set breakpoints and step
through your source code. You can also pause / continue a program or halt a task using the
Task Manager.
Setting and clearing breakpoints
Open the program where you want to set a breakpoint, then click on the line where you
want to stop. Use one of the following methods to set a breakpoint:
- If Margin Indicators are enabled, then click in the margin next to the line on the left. You
will see a breakpoint symbol next to the line.
Or
- Type F9.
Or
- Select Toggle Breakpoint from the Run Menu.
Execute one of the methods above to clear a breakpoint, or select Clear All Breakpoints
from the Run Menu.
You cannot set a breakpoint on non-executing statements, such as #define, #include, or
blank lines.
After setting a breakpoint, the task will halt when the execution line is reached the
breakpoint. You can set or clear a breakpoint while a task is running.
When reached a breakpoint, the program window containing the program source line at the
breakpoint is opened and the line is highlighted in yellow. The task number is shown in
the title of the program window.
If more than one task reaches a breakpoint, then a program window will be opened for
each task. This allows you to step through each task that reached the breakpoint.
After you double click a function in the Call Stack list, the function will be displayed in a
program window and an arrow in the left margin will point to the line where the next
function in the call stack is being called. In the example below, the arrow in the
SingleCycle function is pointing to the Gripper On statement to indicate that Gripper was
called from SingleCycle.
Displaying variables
To view variable values, you can do one of the following:
1. When a task is halted by halt or breakpoint, you can view the value for a variable by
moving the mouse cursor over the variable name. The value will be displayed in a tool
tip type window beneath the variable name.
2. Select Display Variables from the Run Menu to display the variable display dialog.
This dialog has three tabs for viewing Global, Module, and Local variables.
You can change the value of a variable by checking the Edit check box, then type in the
new value in the value column. Next, click the Write button to change the variable. When
the Edit box is checked, the variable values are not automatically updated. You can click
the Read button to update all values.
Status bar
Operator
buttons
Item Description
Program to Run Select a program to run.
Start Starts the selected program.
Stop Stops all tasks.
Pause Pauses all tasks that are enabled for pause.
Continue Continues paused tasks.
Robot Manager Opens the Robot Manager dialog in operator mode. It cannot be
shown while the program is running.
I/O Monitor Opens the I/O Monitor in operator mode. This window can
remain open while programs are running.
System History Opens the System History window. This window can remain
open while programs are running.
Status Bar The status bar is located at the top of the window and shows
emergency stop and safeguard status. In addition, if a warning
is detected from the controller (such as low encoder battery), a
warning label will be displayed on the right side of the status
bar. If the mouse is over this label, you can see the warning
error message. When there is no warning, the warning label is
hidden.
There are several settings for operator Robot Manager and I/O Monitor.
For details, refer to 5.9.14 Properties Command.
When you open an encrypted file, you will be prompted for the password.
8. Motion System
EPSON RC+ supports the motion systems listed below.
- Standard Motion System
- PG Motion System
9. Robot Configuration
This chapter contains information for adding robots and configuring additional axes.
- Robot Configuration
Adding a standard robot
- Additional axes Configuration
Adding a robot with additional axes
Robots are configured from the Robots folder on the Setup | Controller dialog tree.
4. Type in a name for the new robot and enter the serial number from the robot’s
nameplate. Any serial number can be used, but it is recommended tat you use the
number that is stamped on the robot.
5. Select a motion system to use from the [Motion System] dropdown list. If there are no
other motion systems installed, then “Standard” will already be selected.
6. Select a Drive Unit for your robot from the [Drive Unit] dropdown list.
7. Select a robot type from the [Robot type] box.
8. If you are adding an EZ module, select the number of robot axes from the [Robot
Joints] dropdown list.
9. Select a robot series from the [Series] dropdown list.
10. Select a robot model from the [Model] dropdown list.
After you select a robot model, all robots available for the type of motor driver
currently installed in the controller will be shown. If you use [Dry run], all robots
selected in step 9 will be shown.
11. Click OK and the controller will be rebooted.
4. Select a motion system from the [Motion System] dropdown list. If there are no other
motion systems installed, then “Standard” will already be selected.
5. Select a Drive Unit from the [Drive Unit] dropdown list.
Here, Robot 1 uses “CU1”, so “CU2” will be selected.
6. Select a robot series from the [Series] dropdown list.
7. Select a robot model from the [Model] dropdown list.
After you select a robot model, all robots available for the type of motor driver
currently installed to the controller will be shown. If you use [Dry run], all robots
selected in step 6 will be shown.
8. Click OK and the controller will be rebooted.
NOTE
When you configure additional axes, you should perform the calibrations for the added
axes.
Refer 9.2.3 Calibrating the additional axes and perform the calibration.
After the additional S axis has been added to the robot, you can add the additional T axis.
The procedure is the same as for the S axis. Refer to 9.2.1 Adding the additional S axis.
9.2.5 Differences of the standard robot and robot with additional axes
The robot with additional axes installed has some parts which are different from the
standard robot when using GUI and SPEL+ commands.
For the SPEL+ commands, refer to the SPEL+ Language Reference manual.
The main differences in the EPSON RC+ 6.0 GUI are as below.
When the additional T axis is installed, delete it first.
When only the additional S axis is installed, delete it.
For details of each I/O connection, refer to the RC620 Robot Controller manual or
Fieldbus I/O option manual.
For details using this dialog, refer to 5.12.1 System Configuration Command (Setup Menu).
For details on using this dialog, refer to 5.12.1 System Configuration Command (Setup
Menu) – Setup | System Configuration | Controller | Configuration.
■ Remote status outputs (such as MotorOn, Home, etc.) will operate when Teach
Mode is ON, even when the enable switch (dead man) is disengaged.
Therefore, DO NOT use remote status outputs to drive any devices that cause
WARNING motion or any other safety hazard.
You can monitor teach mode status using the TeachMode remote output.
NOTE If you cannot wire the I/O, use virtual I/O mode for debugging. Remote function is also
available when virtual I/O is enabled.
(*1) Outputs the current or the last function number of CurrProg1, 2, 4, 8, 16, or 32.
By Home motion
*1 The motion of the CmdRunnig can be different from this figure according to the
condition.
*2 Refer to only as reference value for a robot. It can be different according to the
number of robots.
*1 Differs according to the setting condition of Quick Pause and the program running
condition when the PAUSE is input.
*2 Shutdown input can be accepted when the Ready output is ON.
If an error occurs, the Error output will turn on. To clear the error, you must turn on the
Reset input. No other inputs will be accepted when there is an error condition.
By Recover motion
NOTE If several ports are used for communication at one time with more than a 19200 baud rate,
error 2929 or 2922 may occur. In this case, select a lower baud rate or avoid using several
ports at one time.
NOTE If no RS-232C boards have been installed on the controller, you will not see the
corresponding ports in the tree.
3. Select a port to configure.
4. Change the settings as desired.
5. Click Apply to save the new settings.
6. Click Close.
LAN-2 is not available for pear to pear communications of EPSON RC+ 6.0.
For details, refer to RC620 Controller manual: Setup & Operation 6. LAN (Ethernet
Communication) Port.
CAUTION
13.1.2 IP Addresses
The controller has a fixed IP address that you can configure from EPSON RC+ 6.0. To
configure the IP address, mask, and gateway for the controller, refer to 5.12.1 System
Configuration - System Configuration | Controller | Configuration.
The following table shows a typical IP address configuration.
Controller 2 PC2
LAN-1 LAN
Ethernet
LAN LAN-1
PC1 Controller 1
In this example, the network address (subnet) is 192.168.0. With a subnet mask of
255.255.255.0, there can be 254 hosts on this subnet (0 and 255 cannot be used).
Refer to the Microsoft Windows operating system manual for instructions on setting the
PC IP address.
13.1.3 IP Gateway
If you are connecting PCs and controllers on different networks, you will need to route
traffic between the networks using one or more routers. Each device communicating via
Ethernet will need to have their default gateway address set to the address of the router for
its subnet.
To configure the gateway address for the controller, refer to 5.12.1 System Configuration -
System Configuration | Controller | Configuration.
14. Security
14.1 Overview
The EPSON RC+ Security Option allows you to manage EPSON RC+ 6.0 users and also
monitor usage.
When the Security Option is activated, administrators can add groups and users. Each
group can have one or more rights associated with it. For example, you can create a group
called Maintenance that has rights to edit robot points, use Jog & Teach, and enable you to
use the Command Window. When a user attempts to do something that he/she does not
have a right for, a message “Permission denied” will be displayed.
Each login session is recorded in a Microsoft Access compatible data base. Security Log
Viewer is included that allows you to view each session’s activity.
User can login to EPSON RC+ with a name and password. Optionally, EPSON RC+ can
use the Windows user name to log in automatically.
14.2 Installation
Your RC620 controller must have the Security Option enabled. You can enable the option
by calling your distributor and purchasing the Security Option. Refer to Installing EPSON
RC+ Options for details.
Normally this is installed at the factory if the Security Option is purchased with the system.
General Tab
This tab allows you to configure the general security settings.
It will be disabled if the Security Option is not activated.
User Page
This page allows you to add and remove EPSON RC+ 6.0 users.
Two users are permanent: Administrator and Guest. Only the passwords can be changed
for these users. You should always use a password for the Administrator, though no
password is set at shipment time.
To add a user
1. Click the Add button.
2. A new user will be added to the tree.
3. Click the Group tree for the new user.
4. Click the dropdown button and select the group for the user.
To delete a user
1. Click the User you want to delete in the tree.
2. Click the Delete button.
3. A confirmation message to delete the user will appear.
Group Page
This page allows you to configure user groups. Every EPSON RC+ 6.0 user must belong
to a group.
Two groups cannot be deleted or modified: Administrators and Guests. Administrators
have full rights, and Guests have no rights.
To add a group
1. Click the Add button.
2. Type in a name for the group.
3. Click the Apply button.
To delete a group
1. Select the group you want to delete.
2. Click the Delete button.
3. A confirmation message to delete the group will appear.
Group Rights
The list below shows the rights that are available for user groups. Administrators have full
rights, and Guests have no rights.
Right Description
Configure options Users can change option settings in Setup | Options.
Use Command Window Users can open the command window and execute
commands.
Configure system Users can configure the entire EPSON RC+ system.
Jog Users can open the Jog & Teach dialog and jog a robot.
Check security log Users can see security logs.
Delete security log Users can delete security logs in Tools | Audit Viewer.
Teach points Users can teach points and delete points from the Jog &
Teach dialog.
Edit vision Users can edit vision parameters.
Edit programs Users can edit program.
Edit projects Users can edit projects.
Edit points Users can change points.
Change memory I/O Users can turn ON/OFF memory I/O bits.
Change robot parameter Users can open the Robot Manager dialog and change the
settings.
Output port ON Users can turn ON/OFF outputs.
Command Description
LogIn Function Logs in the application as another user at runtime.
GetCurrentUser$ Function Returns the login ID of the current user.
A total of 16 physical conveyors can be defined on each system. A physical conveyor has
one encoder whose signals are received by an encoder board.
Up to 16 logical conveyors can be defined in each project. To define a logical conveyor,
set a conveyor number, a robot number, encoder number and select vision or sensor.
Multiple robots and multiple conveyors are supported. For example, 2 robots can be used
to pick parts from one physical conveyor.
The Conveyor Tracking option is available for straight conveyors and circular conveyors,
as shown in the figures below. These conveyors have different calibration and
programming methods. For details, refer to 15.11 Vision Conveyors and 15.12 Sensor
Conveyors.
Camera Robot
Straight conveyor
Part
Camera
Robot
Part
Circular conveyor
Camera Robot
Conveyor
Part
Camera Robot
Conveyor
Part
Index distance
PG board specifications
The table below shows the specification for the PG board.
Board Name H745
Compatible Controller RC620
Board Extension Capability 4 boards maximum
Encoder channels 4 channels / board
Encoder Type ABZ phase differential input (RS-422 line receiver)
Input Pulse Rate Max. 5 MPPS
Input Signal Conveyor pulse latch input
Set the DIP switch according the board number.
Board Address
(See DIP Switch Settings later in this chapter).
connector DX10A - 100S (Hirose Electric Co.,Ltd.)
Power Supply 24V ±2V 200mA or under
X
Y
Z
A
S1 S2 S3
CN2
CN3
JP1
170.0
CN1
86.0
S2 S3
Board # Address 1 2 3 4 1 2 3 4
(A15) (A14) (A13) (A12) (A11) (A10) (A9) (A8)
1 1000h OFF OFF OFF ON OFF OFF OFF ON
2 1100h OFF OFF OFF ON OFF OFF ON OFF
3 1200h OFF OFF OFF ON OFF OFF ON ON
4 1300h OFF OFF OFF ON OFF ON OFF OFF
If you purchased the PG board separately, place the attached Board No. Label sticker on
the board panel prior to installation of the board in the Control Unit and keep a written
record of the address setting and the board number.
If you have purchased the PG Board with the Control Unit, the board address has been set
properly before shipment and further settings should not be necessary.
Jumper settings
The jumpers are reserved and should not be changed.
Signal Connections
The table below lists the connectors on the PG board and the compatible connectors for
wiring:
DXA10A-100S
Receptacle on the Board
(manufacturer: Hirose Electric Co.,Ltd.)
DX30-100P (for AWG#30)
Individually pressed-in type
DX30A-100P (for AWG#28)
Wiring Plug DX31-100P (for AWG#30)
Pressed-in-as-a-whole type
Connectors DX31A-100P (for AWG#28)
EXTV
External power supply:
+24V
TRIG
6.8 kΩ
[Board] [Drive]
Line driver RS422
+5V compliant and connection
+A, B, Z
220 Ω
26C32 26C31
-A, B, Z equivalent
equivalent
+5V
[Board] [Driver]
Camera power
Camera Robot
Encoder
Parts
Conveyor
Vision Conveyor Tracking Overview (using a software trigger)
Camera power
Camera Robot
Encoder
Parts
Conveyor
Vision Conveyor Tracking Overview (using a hardware trigger)
(3) Attach Exp1 BNC connector (2) Attach BNC connector for desired
to VIDEO OUT. video channel to VIDEO OUT.
DC-700 Camera Power Junction Box (Rear View)
(2) Pick up the BNC to D-Sub cable that is now attached to the frame grabber. Locate
the cable to the Camera Power Junction box. Attach the Video 1 BNC connector
cable to the VIDEO OUT BNC female connector on the Camera Power Junction box.
(3) Attach the Exp 1 BNC connector cable to the TRIG connector on the Camera Power
Junction box.
(4) Connect the OPTO TRIGGER BNC connector cable and the coaxial cable as shown
below.
Coaxial cable
(5) Refer to the option manual, Vision Guide 6.0 - Appendix A: Camera Interfaces and set
the camera external setting to asynchronous reset mode.
NOTE When you use the other cameras such as Smart Camera, refer to Vision Guide 6.0 - 2.
Installation and Appendix A: Camera Interface to attach the cables.
PG
Board
Robot
Encoder
Sensor
Conveyor
Wiring of PG Board
The following describes the procedures to connect the encoder to the Axis #1 and to use
the hardware trigger.
(1) Encoder wiring
Connect the encoder output +A, −A, +B, −B, +Z, −Z to pins 25 to 30.
(2) Hardware trigger wiring
Connect pin 14 and I/O (Out). For sensor conveyor tracking, connect pin 14 to the
sensor trigger.
Connect the 24V external power supply to the pin 14 and 64 .
NOTE
- The pin number indicates the number on the PG board connector.
- The hardware trigger latches the encoder pulse when the signal turns from OFF to ON.
- When you use vision conveyor tracking, the software trigger is available instead of the
hardware trigger.
When you use a software trigger, you need only the encoder wiring with the PG board
and use the Cnv_Trigger command in the SPEL+ program. For the command usage,
refer to the sample program.
- The software trigger uses the Cnv_Trigger command and latches the encoder on the
conveyor.
Click the Add button to add an encoder. Encoders are added in the order of Axis number.
You can delete the last encoder in the list. Select it, then click the Delete button.
4. Now you can use the Cnv_Pulse function to read pulses from Encoder 1 from a
program or from the monitor window.
For example, execute this print statement from the monitor window to read the pulses from
encoder 1. Then move the conveyor and execute the command again.
>print cnv_pulse(1)
You can also use a simple program as shown below. Start the program and move the
conveyor. When the conveyor starts moving, the value of Cnv_Pulse will be changed.
Function main
Do
Print Cnv_Pulse(1)
Wait .5
Loop
Fend
NOTE To track a part as the conveyor moves, you must use Cnv_QueGet in a motion command
statement. For example:
Jump Cnv_QueGet(1) ' this tracks the part
You cannot assign the result from Cnv_QueGet to a point and then track it by moving to
the point.
P1 = Cnv_QueGet(1)
Jump P1 ' this does not track the part!
When you assign the result from Cnv_QueGet to a point, the coordinate values correspond
to the position of the part when the point assignment was executed.
Queue Waiting queue of the FIFO (First-In, First-Out) type for each
conveyor.
With the queue, you can register the pose data of work pieces running
on the conveyor and user data. When you add data, it will be
registered to the end of the queue. When you delete data from the
queue, the remaining data in the queue will be moved up
automatically.
Queue depth The number of data entries registered in a queue.
Maximum number of queue data is 1000.
Queue user data Optional real value that can be registered in a queue.
You can store additional information such as sorted data or part type
determined by the image processing.
Downstream Use this when using multiple conveyors and you run them
Conveyor continuously. By making an association (upstream/downstream)
between conveyors, you can move a queue using the Cnv_QueMove
command. “Multiple conveyors” is not necessarily more than one
conveyor. You can use one long physical conveyor and set upstream
side and downstream side as different logical conveyors. This enables
the robots cooperative work, for instance, robot at the downstream side
can pick up the work pieces that the robot at upstream fails to pick in
time.
Upstream Dividing line in the upstream side of the Pickup Area.
Limit
Downstream Dividing line in the downstream side of the Pickup Area.
Limit
Pickup Area The area between the upstream limit and downstream limit.
The robot picks parts which flow in the Pickup Area.
The robot starting pickup near the downstream limit continues its
operation over the downstream limit.
Make sure that the Pickup Area covers the whole robot motion range.
For details, refer to 15.15 Pickup Area.
2. To add a conveyor, click the Add button. The following dialog will appear.
3. Enter a name for the conveyor, then specify the Robot #, Encoder #, Type, Motion,
and Orientation.
NOTE - A default conveyor name is created automatically when a new conveyor is added.
You can change the name as desired.
- When you use a straight conveyor, select “Straight” for [Motion].
- When you use a circular conveyor, select “Circular” for [Motion].
The following table explains the parameters you can edit in the General and Preferences
pages.
For example:
SyncLock 1 ' Lock vision for this task
VRun FindPart
On strobe, .2
Do
VGet FindPart.AcquireState, state
Loop Until state = 3
SyncUnlock 1 ' Unlock vision
The two parts can be anywhere in the field of view. However, the first object of a
sequence must be taught with the robot as Part 1. The second object of a sequence must be
taught with the robot as Part 2.
Also, the two parts can be anywhere in the field of view. However, to make it as easy as
possible for operators to calibrate the conveyor, the parts that will be found in the vision
sequence should be located such that part 2 is after part 1 in the direction of part flow. In
the figure below, object 1 in the vision sequence is Corr01, which locates Part 1. Object 2
is Corr02, which locates Part 2.
Part Flow
Conveyor Part 1
NOTE - When teaching part positions with the robot during calibration, it is important to position
X, Y, and Z of each point accurately. The conveyor is calibrated in X, Y, Z, U, V, and
W.
- To perform the fine calibration, in the step 15 and 17, set as wide distance as possible
between the upstream limit and downstream limit. After the calibration, adjust the
Pickup Area by resetting the upstream / downstream limits.
- For the level orientation, it determines the conveyor height with the position of robot
end effector taught in the step 12. It cannot be used for the tilted conveyor for it does
not detect the conveyor slope. The steps 19 to 20 are not displayed.
- For the tilted orientation, it calibrates the conveyor slope with the position of robot end
effector taught in the steps 12, 14, 16, 18, and 20.
10. Arrange the parts to be inside the range correctly and click Teach button.
Use the camera video to ensure that the parts are within the correct search area for
each. Click the Teach button. If the Vision tab is selected when you click Teach,
you will see the vision sequence graphical results displayed. In this case, the
wizard will not advance to the next step and you must click the Next button to
view the next step. This allows you to click Teach more than one time in case
you want to adjust the parts.
11. Move the conveyor by hand until both parts are within reach of the robot. Do not
move the parts, only the conveyor. Click the Jog & Teach button.
12. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position for Part 1. Click the Teach button.
14. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position for Part 2. Click the Teach button.
15. Now move or place the part at the upstream limit. Click the Jog & Teach button.
16. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
17. Move the conveyor so the part is at the downstream limit. Do not move the part,
only the conveyor. Click the Jog & Teach button.
18. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector towards the part. Click the Teach button.
19. Place a part on one side of the conveyor near the downstream limit. This point is
used to determine the tilt of the conveyor from side to side. Click the Jog &
Teach button.
20. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the part position. Click the Teach button.
21. The calibration complete picture will be displayed. Click the Finish button.
12. Arrange the parts to be inside the range correctly and click the Teach button.
If the Vision tab is selected when you click Teach, you will see the vision sequence
graphical results displayed. In this case, the wizard will not advance to the next step
and you must click the Next button to view the next step.
This allows you to click Teach more than one time in case you want to adjust the
parts.
13. Move the conveyor by hand until both parts are within reach of the robot. Do not
move the parts, only the conveyor.
14. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position for Part 1. Click the Teach button.
16. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position for Part 2. Click the Teach button.
18. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
20. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
21. Place a part on the upstream limit. Click the Jog & Teach button.
22. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
23. Move the conveyor so the part is on the downstream limit. Click the Jog & Teach
button.
24. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
25. The calibration complete picture will be displayed. Click the Finish button.
6. Check if the robot end effector is over the center of the part to pick.
7. Move the conveyor and check if the robot follows the part. At this point, the end
effector will be off the center of part but this is no problem.
8. Stop the tracking motion.
>Cnv_AbortTrack
In case the following symptoms occur, the Vision Guide or conveyor calibration was not
executed correctly. Perform the calibration again.
- Robot cannot pick a part in the center.
- Robot cannot follow parts when the conveyor is moving.
Function ScanConveyorNonStrobed
Integer i, numFound
Real x, y, u
Boolean found
Cnv_OffsetAngle 1,xx 'Command used for only circular conveyors
'Adjust the tracking error with an offset value in xx
Do
Cnv_Trigger 1 'Latch the encoder with software trigger
' Search for parts on the conveyor
VRun FindParts
VGet FindParts.Parts.NumberFound, numFound
'Register the part as a queue
For i = 1 to numFound
VGet FindParts.Parts.CameraXYU(i), found, x, y, u
Cnv_QueAdd 1, Cnv_Point(1, x, y)
Next i
Wait .1
Loop
Fend
Function ScanConveyorStrobed
Integer i, numFound, state
Real x, y, u
Boolean found
Cnv_OffsetAngle 1,xx 'Command used for only circular conveyors
'Adjust the tracking error with an offset value in xx
'Turn OFF the camera shutter and I/O (conveyor trigger)
Function PickParts
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
'Wait until a part (queue) enters the Pickup Area
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
'Start tracking the parts
Jump Cnv_QueGet(1)
On gripper
Wait .1
'Move the picked part to a specified place
Jump place
Off gripper
Wait .1
'Clear the picked part (queue)
Cnv_QueRemove 1, 0
Loop
'Clear the parts (queue) in the downstream side from the Pickup Area
'When error 4406 occurs, restore automatically
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueRemove 1, 0
EResume WaitParts
NOTE
When you use the strobe light and software trigger, use the “ScanConveyorStrobed”
function shown below.
Function ScanConveyorStrobed
Integer i, numFound, state
Real x, y, u
Boolean found
Cnv_OffsetAngle 1,xx ' Command used only for circular conveyors
'Adjust the tracking error with an offset value in xx
'Turn OFF the camera shutter
Off trigger
Cnv_Trigger 1 'Latch the encoder with software trigger
Do
' Search for parts on the conveyor
VRun FindParts
'Turn ON the camera shutter
On Trigger; On Cv_Trigger
Do
VGet FindParts.AcquireState, state
Loop Until state = 3
VGet FindParts.Parts.NumberFound, numFound
'Register the part that has been shot as a queue
For i = 1 to numFound
VGet FindParts.Parts.CameraXYU(i), found, x, y, u
Cnv_QueAdd 1, Cnv_Point(1, x, y)
Next I
' Turn OFF the camera shutter
Off Trigger
Wait .1
Loop
Fend
7. Move the conveyor by hand until the part is within reach of the robot. Do not move
the part itself, only the conveyor. Click the Jog & Teach button.
8. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
9. Now move or place the part at the upstream limit. Click the Jog & Teach button.
10. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
11. Move the conveyor so the part is at the downstream limit. Do not move the part, only
the conveyor. Click the Jog & Teach button.
12. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
13. Place a part on one side of the conveyor near the downstream limit. This point is
used to determine the tilt of the conveyor from side to side. Click the Jog & Teach
button.
14. The Jog & Teach window will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
15. The calibration complete picture will be displayed. Click the Finish button.
9. Place a part on the conveyor and move the conveyor toward the sensor until the
sensor just turns on. Click the Teach button.
10. Move the conveyor by hand to move the part. Click the Jog & Teach button.
11. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
12. Move the conveyor by hand to move the part. Click the Jog & Teach button.
13. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
14. Move the conveyor by hand to move the part. Click the Jog & Teach button.
15. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
16. Place a part on the upstream limit. Click the Jog & Teach button.
17. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
18. Move the conveyor so the part is at the downstream limit. Click the Jog & Teach
button.
19. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
20. The calibration complete picture will be displayed. Click the Finish button.
2. Place parts before the sensor area. Move the conveyor until the sensor turns ON.
3. Register a queue data.
>Cnv_QueAdd 1,Cnv_Point(1,0,0)
4. Move the conveyor until the parts reach the Pickup Area.
5. Pick up parts.
>Jump Cnv_QueGet(1)
6. Check if the robot end effector is over the center of the part to pick.
7. Move the conveyor and check if the robot follows the part. At this point, the end
effector will be off the center of the part but this is no problem.
8. Stop the tracking motion.
>Cnv_AbortTrack
Function main
Xqt ScanConveyor 'Task that registers queues
Xqt PickParts 'Task that tracks parts (queue)
Fend
Function ScanConveyor
Double lpulse1 'Previous latch pulse
lpulse1 = Cnv_LPulse(1) 'Register the latch pulse as lpulse1
Do
'Register a part as a queue only when it passes the sensor
If lpulse1 <> Cnv_LPulse(1) Then
Cnv_QueAdd 1, Cnv_Point(1, 0, 0)
lpulse1 = Cnv_LPulse(1) 'Update lpulse1
EndIf
Loop
Fend
Function PickParts
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
'Wait until a part (queue) enters the Pickup Area
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
‘Start tracking the parts
Jump Cnv_QueGet(1)
On gripper
Wait .1
'Move the picked part to a specified place
Jump place
Off gripper
Wait .1
'Clear the picked part (queue)
Cnv_QueRemove 1, 0
Loop
'Clear the parts (queu) in the downstream side from the Pickup Area
'When error 4406 occurs, restore automatically
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueRemove 1, 0
EResume WaitParts
'When an error other than error 4406 occurs, display the error
Else
Print "Error!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
Multiple Conveyors
A system that uses multiple conveyors is a system that:
- Uses two or more robots and logical conveyors with one physical conveyor as
shown below, and the parts that are not picked up by the first robot (upstream)
can be picked up by the second robot (downstream).
- Uses several robots with one camera or sensor, one encoder, and one conveyor.
Robot 2
Upstream conveyor
Upstream limit Downstream limit
Vision
search area
Downstream conveyor
Robot 1
3. Calibrate Conveyor 1.
4. Refer to 15.11 Vision Conveyors or 15.12 Sensor Conveyors and check the conveyor
operation.
5. Set the [Downstream Conveyor] to 2.
6. Calibrate Conveyor 2.
7. Check the operation of Conveyor 2.
(7)-1 Clear the all queue data registered to each conveyor.
>Cnv_QueRemove 1,all
>Cnv_QueRemove 2,all
(7)-2 Place parts in the vision search area.
(7)-3 Execute the program “ScanConveyorStrobed(ScanConveyor)” and register a
queue.
(7)-4 Halt the program “ScanConveyorStrobed” and move the conveyor until the
parts reach the Pickup Area.
(7)-5 Stop the program “ScanConveyorStrobed” and move the conveyor until the
part reaches the Pickup Area of the conveyor 2.
(7)-6 Execute the command below to move the queue data from conveyor 1 to
conveyor 2.
>Cnv_QueMove 1,0
(7)-7 Pick up the parts.
>Jump Cnv_Queget(2)
(7)-8 Check if the robot end effector is over the center of a part to pick. If the
robot end effector is not over the center of a part, perform the calibration
again.
(7)-9 Move the conveyor and check if the robot follows the part. At this point, the
end effector will be off the center of part but this is not a problem.
(7)-10 Stop the tracking motion.
>Cnv_AbortTrack
Function ScanConveyorStrobed
Integer i, numFound, state
Real x, y, u
Boolean found
'Turn OFF the camera shutter and I/O (conveyor trigger)
Off trigger; off Cv_trigger
Do
'Search for a part on the conveyor
VRun FindParts
'Turn ON the camera shutter and I/O (conveyor trigger)
On Trigger; On Cv_Trigger
Do
VGet FindParts.AcquireState, state
Loop Until state = 3
VGet FindParts.Parts.NumberFound, numFound
'Register the part that has been found in the queue of conveyor 1
For i = 1 to numFound
Function PickParts1
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
'Wait until a part (queue) enters the Pickup Area
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
'Start tracking the part
Jump Cnv_QueGet(1)
On gripper
Wait .1
'Move the picked part to a specified place
Jump place
Off gripper
Wait .1
'Clear the picked part (queue)
Cnv_QueRemove 1, 0
Loop
'Move the parts (queue) in the downstream side from the Pickup Area of conveyor
1 to the conveyor 2
'When error 4406 occurs, restore automatically
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueMove 1, 0
EResume WaitParts
'When an error except error 4406 occurs, display the error
Else
Print "Error!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
Function PickParts2
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
'Wait until a part (queue) enters the Pickup Area
Wait Cnv_QueLen(2, CNV_QUELEN_PICKUPAREA) > 0
'Start tracking the part
Jump Cnv_QueGet(2)
On gripper
Wait .1
'Move the picked part to a specified place
Jump place
Off gripper
Wait .1
'Clear the picked part (queue)
Cnv_QueRemove 2, 0
Loop
'Clear the parts (queue) in the downstream side from the Pickup Area of conveyor 2
'When error 4406 occurs, restore automatically
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueRemove 2, 0
EResume WaitParts
'When an error except error 4406 occurs, display the error
Else
Print "Error!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
RC620
PG I/O Vision
Power 1 Power 2
Camera 2 view
Part 1
Camera 1 view Conveyor 1
Part 2
Conveyor 2
Encoder 1
Encoder 2
Robot
(3) Attach Exp1 BNC connector (2) Attach BNC connector for desired
to VIDEO OUT. video channel to VIDEO OUT.
Coaxial cable
(5) Refer to the option manual, Vision Guide 6.0 - Appendix A: Camera Interfaces and set
the camera external setting to the asynchronous reset mode.
NOTE When you use the Smart Camera that needs the wiring not described above, refer to Vision
Guide 6.0 - 2. Installation and attach the cables.
3. Calibrate Conveyor 1.
4. Refer to 15.11 Vision Conveyors or 15.12 Sensor Conveyors and check the conveyor
operation.
5. Calibrate Conveyor 2.
6. Check the operation of Conveyor 2.
7. The following program is a sample.
Function main
'Task that registers parts in the queues
Xqt ScanConveyorStrobed
'Task that tracks parts (queue)
Xqt PickParts
Fend
Function ScanConveyorStrobed
Integer i, j, numFound, state
Real x, y, u
Boolean found
'Turn OFF the camera shutter and I/O (conveyor trigger)
'Cv_trigger1: Conveyor 1, Cv_trigger2: Conveyor 2
Off trigger; off Cv_trigger1; off Cv_trigger2
Do
'Register the parts (queue) of the Conveyor 1
'Search for a part on the conveyor
VRun FindParts1
Loop
Fend
Function PickParts
OnErr GoTo ErrHandler
Integer ErrNum
MemOff 1
MemOff 2
Do
WaitPickup1:
'Tracking of Conveyor 1
'Turn ON the memory I/O when the Conveyor 1 tracking phase starts
MemOn 1
'Clear the parts (queue) in the downstream side from the downstream limit
Do While Cnv_QueLen(1 CNV_QUELEN_DOWNSTREAM) > 0
Cnv_QueRemove 1, 0
Loop
'Move to the standby position when there is no part (queue) in the Pickup Area
If Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) = 0 Then
Jump place
EndIf
'Wait until a part (queue) enters the Pickup Area
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
'Start tracking the parts
Jump Cnv_QueGet(1)
On gripper
Wait .1
'Clear the picked part (queue)
Cnv_Queremove 1,0
'Finish the Conveyor 1 tracking phase
MemOff 1
Cnv_QueRemove 2, 0
'Finish the Conveyor 2 tracking phase
MemOff 2
Loop
'Parts (queue) in the downstream side from the Pickup Area
'When error 4406 occurs, restore automatically
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
If MemSw(1) = On Then
Cnv_QueRemove 1
EResume WaitPickup1
EndIf
If MemSw(2) = On Then
Cnv_QueRemove 2
EResume WaitPickup2
EndIf
’When error 4406 occurs, restore automatically
Else
Print "Error!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
Function main
Xqt ScanConveyorStrobed
Xqt PickParts1
Xqt PickParts2
Fend
Function ScanConveyorStrobed
Function PickParts1
Robot 1
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
Jump Cnv_QueGet(1)
On gripper
Wait .1
Jump place
Off gripper
Wait .1
Cnv_QueRemove 1, 0
Loop
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueMove 1, 0
EResume WaitParts
Else
Print "Erro occurs!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
Function PickParts2
Robot 2
OnErr GoTo ErrHandler
Integer ErrNum
WaitParts:
Do
Wait Cnv_QueLen(2, CNV_QUELEN_PICKUPAREA) > 0
Jump Cnv_QueGet(2)
On gripper
Wait .1
Jump place
Off gripper
Wait .1
Cnv_QueRemove 2, 0
Loop
ErrHandler:
ErrNum = Err
If ErrNum = 4406 Then
Cnv_QueRemove 2, 0
EResume WaitParts
Else
Print "Error occurs!"
Print "No.", Err, ":", ErrMsg$(Err)
Print "Line :", Erl(0)
EndIf
Fend
6. The Jog & Teach dialog will appear. Click the jog buttons to move the robot end
effector to the pick position.
Click the Teach button.
Vision
search area
Pickup Area
Parts Flow
If the Pickup Area is not appropriate, the robot cannot pick up parts. Follow the steps and
cautions below to carefully set the Pickup Area.
Pickup Area
Vision
search area
Part Flow
NOTE The robot does not start pickup until parts cross the upstream limit. If you set the
upstream limit in uppermost position, you can reduce the robot standby time.
Pickup Area
Part Flow
Tracking area
NOTE The downstream limit position depends on the conveyor speed and robot position
when it starts pickup. If the robot goes over the motion range during the operation,
move the downstream limit to upper side.
Part Flow
Robot motion range
Pickup Area
Tracking area
5. When you directly specify the value, enter the value in the box and click Apply.
6. When you use Jog & Teach, click the Teach button.
7. The dialog shown below appears. Follow the directions as you do during calibration.
To change the downstream limit, edit the [Downstream Limit] value the same as described
for the upstream limit.
Pickup Area
Vision
search area
Part Flow
The following are the advantages you can get by widening the Pickup Area.
- Reduce robot standby time by widening the upper side Pickup Area.
- Less possibility of missing parts which flow longer after the downstream limit.
NOTE If there are too many parts on the conveyor for the robot to pick up, it only makes the robot
move for longer distance and longer time and the number of parts the robot can pick up
may decrease, even in a widened Pickup Area. For such a case, you may want to consider
using the multiple conveyors system. To use the multiple conveyors system, set a short
Pickup Area in the upstream conveyor and wide Pickup Area in the downstream conveyor.
The robot capacity (how fast or how many parts robot can pick up) depends on the Pickup
Area width, robot standby position, and conveyor speed.
Check the <Diagonal Limit> check box in the [Upstream Limit] area and click Apply.
The following dialog appears.
To define the values for X1, Y1, X2, Y2, enter the values directly or use Jog &
Teach. Entering values directly is for fine adjustment.
5. When you directly specify the values, enter the values in the boxes and click Apply.
9. The dialog shown below appears. Click the Jog & Teach button.
10. The Jog & Teach dialog appears. Click the jog buttons to move the robot end
effector to the pick position. Click the Teach button.
To set the diagonal downstream limit, check the <Diagonal Limit> check box in the
[Downstream Limit] area and click Apply.
The following dialog appears. Click the Teach button and follow the directions in the wizard.
Note that error 4415 occurs when the diagonal upstream / downstream limits are defined as in
the following cases.
- They are perpendicular to the part flow direction.
- They are parallel to the part flow direction.
- The diagonal upstream limit and downstream limit cross on the conveyor.
NOTE When you set a diagonal upstream limit, register the queue data in the order of entering
the Pickup Area.
Also, when you set a diagonal upstream limit, note that the queue sorting cannot be
canceled.
Function MonitorDownstream
Robot 1
Do
If Cnv_QueLen(1, CNV_QUELEN_DOWNSTREAM) > 0 Then
Cnv_AbortTrack 0
EndIf
Wait .1
Loop
Fend
NOTE When the picking quantity-priority mode is selected, tracking delay (situation in which the
Manipulator does the picking motion at the posterior part of the work piece to the direction
of the conveyor motion) may occur. If the tracking delay occurs, write the program as
follows.
Go Cnv_Queget(Conveyor number,[Index])+X(**)
NOTE When the conveyor of 350mm/sec or more is used, the tracking mode will be picking
quantity-priority mode regardless of the setting of Cnv_Mode.
Although the tracking delay does not occur in the picking accuracy-priority mode, the
NOTE
Manipulator may slide to the direction of the conveyor motion in Go, Move, or Jump3
motions after the downward motion of the Z-axis. If this occurs, take following
countermeasures (these may not be effective for Go and Move motions)
- For Go motion: Change to Jump motion. Or, reduce the values of Accel and Speed.
- For Move and Jump3 motions: Reduce the values of AccelS and SpeedS.
During the tracking motion, singularity avoiding function cannot be used. Therefore, set
NOTE
the positions of the Manipulator and the conveyor so that the Manipulator does not pass
through the singularity.
1. Setting an ECP
The ECP (external control point) is a coordinate system data used for defining the robot
position and orientation at a processing point on the tip of the outside fixed tool.
The ECP should be defined based on the robot coordinate system or desired local
coordinate system.
For example, when a drawing shows that the ECP is located at X=300, Y=300, Z=300
based on the robot coordinate system, specify it as shown below.
ECPSet 1,XY(300,300,300,0,0,0) ' Defines ECP No.1
When you have no ECP location data, you can specify it by teaching.
As an example, attach the tool of which you know the data precisely and bring the tip of
the tool close to the ECP and then teach its position anywhere as P0. Then, specify the
ECP using P0 coordinate data as shown below.
ECPSet 1,P0 :U(0) :V(0) :W(0) ' Defines ECP No.1
The orientation data (U, V, W) were set to 0 in the above examples. In these cases, the
orientation in the ECP coordinate system is equal to that in the reference robot coordinate
system.
You can specify U, V, and W coordinates in the ECP coordinate system. However, this
data is valid only during the tangential correction mode ON in the Curve statement and
ECP jog motion.
2. Teaching
Teach the point data while moving the robot arm holding the actual part. In this section,
the part is assumed to be a rectangular solid and the arm is moved straight so that it touches
one side of the part of the ECP specified in the previous section 1. Setting the ECP.
For details on teaching, refer to 5.11.1 Robot Manager (Tools Menu).
2-1 Teaching the motion start point
Move the arm to the motion start point and teach it as P1.
NOTE
ECP Jog Mode:
The ECP jog mode is an additional jog mode used for teaching besides the Joint, World,
and Tool jog modes.
The ECP jog mode is based on the selected ECP coordinate system.
3. Executing Motion
To move the arm with ECP motion, add the “ECP” parameter to a motion command.
ECP 1 ' Select ECP
Go P1 ' Moves the arm to the motion start point
Move P2 ECP ' Executes ECP motion
Use the Arc3 command to move the arm in an arc trajectory with the fixed tool. Use the
Curve and CVMove commands to move the arm in cubic spline curves.
17.2 Specifications
EPSON RC+ supports ATI force sensors using PCI interface boards.
For the PCI interface board, we support the following products of National Instruments.
PCI-6220 Connect one force sensor
PCI-6224 Connect one or two force sensors
PCI-6034E Connect one force sensor (Conventional)
Note that we offer only the software license of this option. If you need ATI Force Sensor,
a set of the PCI interface board and the sensor, please purchase it separately.
When ordering force sensors and interface boards from ATI, be sure to mention that the
equipment is being used with an Epson robot and also mention the controller model.
For specifications on force sensors, please see the ATI website:
http://www.ati-ia.com/products/ft/sensors.aspx
17.3 Installation
The Force Sensing Option must be enabled in the RC620 controller. If you purchased the
option with your system, then the option will already be installed and configured.
You can also purchase the Force Sensing Option and install it in the field. See the chapter
Installing EPSON RC+ Options for details.
NOTE When ordering force transducers from ATI, you need to mention that they will be used in
the EPSON RC620 controller. You can specify a board that connects with one force
transducer, or a board that connects with two force transducers.
Board Installation
Before installing the force sensing circuit board(s), you must first install the National
Instruments DAQmx drivers that came with the board, then install the board. To install the
National Instruments DAQ drivers:
1. Run the NI-DAQmx driver installer.
2. Accept defaults for each step of the installation wizard.
3. Shutdown the system.
4. Install the board(s).
5. Start the system.
6. Run the National Instruments Measurement & Automation Explorer program once to
verify that the board(s) that were installed are recognized.
You do not need to install the ATI software that came with the force transducer.
NOTE The calibration for the transducer must be loaded into memory. EPSON RC+ 6.0 handles
this when you import the calibration data file as described in the section Software
Configuration later in this chapter. The calibration data file can be located on the CD that
came with the force transducer.
The following figures show mounting for gamma and nano transducers.
8 mounting screws
Force sensor
mounting cover
4 mounting screws
Gamma force
transducer
3 mounting screws
4 mounting screws
Make sure power is off before connecting or disconnecting the force transducer.
Protect transducer from electro-static discharge. Do not touch the internal
electronics or connector pins.
CAUTION
Software Configuration
To configure EPSON RC+ 6.0 Force Sensing:
1. Start EPSON RC+ 6.0, then select Setup | System Configuration.
2. Click on the Force Sensing item in the tree on the left. If Force Sensing item is not
visible, then the software options key for Force Sensing has not been enabled.
3. To add a board, click the Add button. A new force sensor will be shown in the tree
on the left, and the controls used to configure the sensor will become enabled.
4. Enter the NI DAQ device name. This is assigned by the National Instruments
software. To view NI DAQ device numbers, run the Nation Instruments
Measurement & Automation Explorer.
5. Click the button shown on the right of ATI Calibration File to import a calibration
file for the sensor. This can be found on the CD that came with the sensor. Navigate
to the calibration file whose name includes the serial number of the sensor. Click
Open, and the file will be copied to the EpsonRC60\force directory.
6. Leave the force and torque units at the default setting to use the native units. The
actual units will be displayed in the sensor list after you click Apply. Or, you can
select the desired units.
7. Click Apply to accept the new sensor.
8. From the Tools menu, select Force Monitor. This will open the Force Monitor
window.
9. Apply pressure to the sensor. You should see the values change on the Force Monitor
window. If you are using multiple sensors, change the sensor number on the monitor
and verify that each sensor is working.
' Set the force trigger to fire when force on Z axis is less than −10
Force_ClearTrigger
Force_SetTrigger FORCE_ZFORCE, -10, FORCE_LESS
Till Force
Jump P1
Speeds 1
Move P2 Till
You can combine other conditions with Force in the Till command:
You can combine other force/torque conditions by calling Force_SetTrigger more than once.
It's a good idea to clear all triggers first before setting them.
Force_ClearTrigger
Force_SetTrigger FORCE_ZFORCE, -10, FORCE_LESS
Force_SetTrigger FORCE_XFORCE, 5, FORCE_GREATER
' Set the force trigger to fire when torque or force on X axis is less than −10
Force_ClearTrigger
Force_SetTrigger FORCE_XFORCE, -10, FORCE_LESS
Force_SetTrigger FORCE_XTORQUE, -10, FORCE_LESS
Till Force
Jump P1
Speeds 1
Move P2 Till
18 Real-Time I/O
This function does not work with EPSON RC+ 6.0 Ver.6.2.0.
You can use this function with the controller (Serial number 01 / 02-02001 or later).
In the case of 6-axis robot, this function can not be used.
18.1 Overview
Real-time I/O is a feature that allows you to input trigger signals into the R-I/O connector
of the robot controller so that you can latch and acquire the robot position at high speed
while it is operating.
An example of an application using real-time I/O is "Picture on the fly": This synchronizes
the robot position detection and the vision position detection, and performs part pickup,
alignment, and assembly without stopping the robot.
With the real-time I/O feature, you can reduce the robot stop time for vision image
acquisition that is necessary for traditional vision applications.
18.2 Specifications
R-I/O Connector
The RC620 robot controller has an R-I/O connector that is used to connect the real-time
I/O trigger input signals. An R-I/O input is a special input interface that monitors the
signals at higher speed than the standard I/O inputs. There are two trigger input signals on
each of the RC620 Control Unit and external Drive Unit. For example, set the
transmission type sensor so that it reacts when the robot passes the camera acquisition
point and use the R-I/O connector so that the R-I/O input is detected at the moment shutter
clicked.
For the details of the hardware (connection connector, connection circuit), refer to the
manual RC620 Robot Controller - R-I/O.
LatchEnable
This command is used to enable or disable the latch function of the robot position
information with the real-time I/O. When LatchEnable On executes, it enables the
robot position latch function using the trigger input signals connected to the R-I/O
connector. After the latch is enabled, the robot current position information is latched
when the first trigger input is detected. To repeatedly latch the robot position,
execute LatchEnable Off and then execute LatchEnable On again. To use the
LatchState Function
This function returns the position latch status.
After it confirms that the latch has been done, it acquires the position information
using the LatchPos Function.
LatchPos Function
This function returns the robot position information latched by the trigger input.
Executing the LatchPos Function needs approximately 15 msec for processing.
Latch accuracy
The following is the theoretical sampling time used to latch the position information.
Sampling time [μsec]
4-axis robot 32
Control Unit
6-axis robot 32
4-axis robot 32
Drive Unit
6-axis robot 21
You can get a rough idea of latch accuracy from the robot speed (parts moving speed) at
the latch trigger input and the sampling time. For real accuracy, you must have a margin
on the required accuracy because time delay and variation in the hardware may affect. The
latch accuracy will improve as the robot moves slower at the trigger input.
Latched position accuracy [mm] = Robot speed [mm/sec] × Sampling time [sec]
18.3 Usage
1. Basic example
The following program is a sample to connect any trigger signal to the R-I/O connector of
the controller, latch the robot position information while it is operating at the trigger input,
and show the latched position information.
Function Main
Motor On
Power High
Go P0 'Start point
SetLatch SETLATCH_PORT_CU_0, SETLATCH_TRIGGERMODE_LEADINGEDGE
LatchEnable On 'Enable the latch
Move P1 'Start the operation, trigger input while operating
Sensor
Controller
R-I/O Input
Shooting trigger
Trigger signal
This system has a transmission type sensor that outputs the trigger signal when the robot
end effector handles a part and passes the camera acquisition point. Then, it connects the
sensor output with both the R-I/O and the camera trigger input for external tuning and
synchronizes the latched robot position information and the camera image. It calculates
the part position error and offsets the position comparing the robot position information
from the camera image to the robot position information from the real-time I/O.
In this case, the robot vision system must be calibrated.
For details on the camera trigger signal connection and the vision calibration, refer to the
manual Vison Guide 6.0.
FrontPos PassingPos
StartPos TargetPos
Function Main
Robot 1
Motor On
Power High
Speed 100
Accel 100, 100
MemOff 0
Xqt PictureOnFly_Camera 'Start the shooting task
Motor Off
Fend
Wait MemSw(0) = On
MemOff 1 'Clear the acquire completion flag
MemOff 0 'Clear the acquire start flag
AcqStat = 0 'Clear the strobe acquire flag
VRun PictureOnFly_i
Fend
19 Additional Axis
19.1 Overview
You can attach up to two additional drive axes (per manipulator) which can operate in
association with the manipulator. The position data of the additional axis is saved with the
robot point data. The additional axis can move simultaneously with the manipulator by
motion commands and you can design an application using a traveling axis (manipulator
on the straight axis) with simple programming.
NOTE If you want to operate the manipulator and drive axis separately, you need to define the
additional axis as another manipulator using the multi-manipulators feature.
■When you use the additional axis as traveling axis and mount a manipulator(s) on the axis, the
reaction force of manipulator(s) is put on the traveling axis. Therefore, you should limit the
acceleration/deceleration speed with the Accel setting so that it is within the allowable
CAUTION inertia of traveling axis. In addition, the manipulator may swing widely at the positioning
and possibly break the additional axis.
19.2 Specification
Types of additional axis
The supported additional axes are the servo axis (X5 series Single-axis robot) controlled by the
servo driver of the controller and the PG axis, controlled by the pulse generator board.
However, note that the PG axis has some limitations.
How to operate
The additional axis can move simultaneously with the manipulator (synchronous start / stop).
However, if you use the PG axis, it doesn’t synchronize with manipulator to finish and operate
by the different acceleration/deceleration speed from the manipulator. See below for the details
of motion commands.
Also, you can operate the additional axis and manipulator separately by proper management of
the point data. However, you cannot operate separately both of them in arbitrary timing. In
this case, use the multi-manipulators function and set the drive axis as another manipulator.
Commands’ specification
Pulse, Go, BGo, TGo, Pass
The additional axis can operate in association with the manipulator motion. However, if
you use the PG axis, it synchronizes only to start the motion and a motion command
completes when both the manipulator and axis finish each motion. In addition, if the PG
additional axis has a travel distance, the Path motion with CP On and Pass are prohibited
and the axis moves with CP Off automatically.
Arc, Arc3
The additional axis can operate in association with the manipulator motion. It doesn’t go
through the specified midPoint and directly goes to the end point. If you use the PG axis,
it synchronizes only to start the motion and a motion command completes when both the
manipulator and axis finish each motion. In addition, if the PG additional axis has a travel
distance, the Path motion with CP On is prohibited and the axis moves with CP Off
automatically.
CVMove
The additional axis can operate in association with the manipulator motion. If you use a
servo axis for the additional axis, for each of the S and T axis it creates a curve going
through the S and T coordinates specified by a series of point data. However, if you use
the PG axis for the additional axis, it doesn’t go through the series of points and directly
goes to the end point. Also, it synchronizes only to start the motion and a motion
command completes when both the manipulator and axis finish each motion. In addition,
if the PG additional axis has a travel distance, the Path motion with CP On is prohibited
and the axis moves with CP Off automatically.
Jump
The additional axis executes PTP motion in association with the manipulator horizontal
motion. However, if you use the PG axis, it synchronizes only to start the motion and a
motion command completes when both the manipulator and axis finish each motion. In
addition, if the PG additional axis has a travel distance, the Path motion with CP On is
prohibited and the axis moves with CP Off automatically.
Jump3, Jump3CP
The additional axis can operate in association with the manipulator depart / span /
approach motion. However, if you use the PG axis, it synchronizes only to start the
motion and a motion command completes when both the manipulator and axis finish each
motion. In addition, if the PG additional axis has a travel distance, the Path motion with
CP On and Pass are prohibited and the axis moves with CP Off automatically.
JTran, PTran
The additional axis can operate separately by specifying as Joint #8, #9.
Example:
> JTran 8, 90 'Move the additional S axis by 90 mm
> PTran 9, 10000 'Move the additional T axis by 10000 pulse
19.3 Usage
Additional axis configuration
For the instruction of configuring the additional axis, refer to 9.2 Configuration of
Additional Axes.
If you use the PG axis for the additional axis, you need to set the PG parameters. For the
details of PG parameters, refer to the Robot Controller RC620 option: PG Motion System
manual.
This example specifies the position data of manipulator and additional ST axes and executes a
PTP motion.
Go XY(10, 20, 30, 40) :ST(10, 20)
Go XY(10, 20, 30, 40, 50, 60) :ST(10, 20)
This example omits the robot position assignment XY( ) and specifies only the additional axis
position. Then, the point data is defined so that the manipulator doesn’t move (undefined).
P1 = ST(10, 20)
Go P1 ‘Only additional axis moves and
the manipulator remains at the current position.
This example omits the additional axis position assignment ST( ) and specifies only the
manipulator position. Then, the point data is defined so that the additional axis doesn’t move
(undefined).
P1 = XY(10, 20, 30, 40)
Go P1 ‘Only the manipulator moves and
the additional axis remains at the current position.
This example calculates the additional axis coordinate value using a point operator expression.
P1 = XY(10, 20, 30, 40, 50, 60) :ST(10, 20)
P2 = P1 + S(10) + T(20) ‘Add the offset amount to the additional ST axes for P1.
Note that you cannot use the point operator for undefined points.
P1 = XY(10, 20, 30, 40, 50, 60)
P2 = P1 + S(10) + T(20)
‘ Error (ST are undefined for P1 and you cannot use
the point operator)
P1 = XY(10, 20, 30, 40, 50, 60) +ST(10, 20) ‘ Error
P1 = XY(10, 20, 30, 40, 50, 60) +S(10) +T(20) ‘ Error
Go ST(10, 20) + X(10)
‘ Error (XY are undefined and you cannot use the point operator)
This example shows the additional ST axes coordinate values retrieved from the point data.
Print CS(P1), CT(P1)
Pallet motion
When you specify a pallet with the point data including the position data of additional axis, the
position data of additional axis is also calculated by the pallet operator. If you use the
additional axis as traveling axis, you can define a wide range pallet than for a single
manipulator.
Also, if you want to use the additional axis not as traveling axis and exclude the additional axis
position from the pallet operator, define the pallet with the point data that clears the additional
axis position data.
Item Description
Option Name of the option.
Key Enabled Indicates that the option is enabled in the controller.
Option Active Indicates that the option is currently active in RC+.
The key code is case sensitive.
Enabling an option
LICENSE
SEIKO EPSON CORPORATION (the "Licenser") hereby grants to you (the
"Licensee") a non-exclusive and transferable right to use the EPSON RC+ 6.0
Software program and documentation (the "Licensed Materials"). You may only use
this software on one (1) CPU. You may not use, copy, or modify the Licensed
Materials, in whole or in part, except as expressly provided for by this agreement.
OWNERSHIP
As the Licensee you own the magnetic or other physical media on which the Licensed
Materials are recorded or fixed, but the Licenser retains sole and exclusive title to and
ownership of the Licensed Materials recorded on the original disk and all subsequent
copies regardless of the form or media in or on which the original and other copies
may exist. By paying the fee required for this license, you do not become the owner of
the Licensed Materials, but are entitled to use the Licensed Materials according to the
terms of this agreement. You acknowledge that the Licensed Materials are not your
property and understand that giving away or selling copies of the Licensed Materials is
theft.
TERM
This license is effective until terminated. You may terminate this license by
destroying the Licensed Materials together with any backup copies that may have been
made. This license will also terminate if you fail to comply with any term or
conditions of this Agreement. You agree upon such termination to destroy the
Licensed Materials together with any copies which may have been made.
LIMITED WARRANTY
The only warranty the Licenser makes to you in connection with this license to use the
Licensed Materials is that the media on which the Licensed Materials are recorded will
be replaced without charge, as long as the original diskette(s) are returned to the
licenser, with satisfactory proof of date of purchase, within ninety (90) days of
purchase. This warranty is limited to the Licensee and is not transferable. The
foregoing warranty does not extend to any Licensed Materials that have been damaged
as a result of accident, misuse or abuse.
ENTIRE AGREEMENT
This Agreement represents the entire agreement between Licenser and Licensee with
respect to the License and use of the Licensed Materials.
SEVERABILITY
If any provision or a portion of this agreement is determined to be invalid under any
applicable law, it shall be deemed omitted and the remaining provisions and partial
provisions of this agreement shall continue in full force and effect.
NOTICE
Any notice or other communication relating to this license agreement to be sent to the
Licenser must be mailed by certified mail to your distributor.
For EPSON RC+ 4.*, the EPSON RC+ 6.0 .PTS files are generated automatically from
the .PNT files.
Project Type EPSON RC+ 4.* EPSON RC+ 6.0
Point File *.PNT file (Point file) *.PTS
I/O Label File Conversion
IOLabels.dat is generated automatically from the following three files.
Project Type EPSON RC+ 3.* / 4.* EPSON RC+ 6.0
I/O Label File inplabel.txt IOLabels.dat
outlabel.txt
memlabel.txt