Epson RC PL 70 Users Guide-Rc700a Rc90 T 1 256
Epson RC PL 70 Users Guide-Rc700a Rc90 T 1 256
Introduction
1. Introduction
1.1 Welcome to EPSON RC+ 7.0
Welcome to the EPSON RC+ 7.0 Project Management and Development Environment.
EPSON RC+ 7.0 is used to develop application software for the Robot Controller.
EPSON RC+ 7.0 features
- Operable on Windows
- Integrated application development environment
- Communicates with the Controller by USB or Ethernet
- Allows you to connect one computer with multiple Controllers
- Multi simultaneous session
- 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
- RC+ API option
Enables you to control the system using standard Microsoft .NET programming
environments 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
- Force Control
Force is controlled or measured by force sensor.
1.2.1 Controller
RC700
The RC700 Controller is a powerful robotic work cell controller that controls our SCARA
robots and 6-axis robots.
Controller features
- Sophisticated yet achieving reliability and stability
- Built in Motion System
The motion drive system can control up to 6 axes simultaneously and 1 robot,
and can add up to three drive units
- Includes standard I/O
- Wide variety of options
For detailed information on the Controller, refer to the controller manual.
RC90
The RC90 Controller with the following label attached can be used in combination with
EPSON RC+ 7.0.
RC90 Controller firmware
EPSON RC+ 7.0
Ver.7.0.2.0
Before Ver.7.0.1 !!!
Ver.7.0.2 or later OK
OK: Compatible All functions of the EPSON RC+ 7.0 and the Controller are
available.
!!!: Compatible Connection is OK. We recommend using EPSON RC+7.0 Ver. 7.0.2
NOTE
or later.
This option is not available for Robot Controller RC90 (EPSON RC+ 5.0) without the
label.
Manual PDF for this robot system is available from EPSON RC+ 7.0 Ver. 7.0.2
The RC90 Controller is a robot controller that can drive LS series manipulators.
Features:
- Built in motion drive system. The motion drive system can control one robot.
- Standard I/O
- Optional digital I/O expansion boards
- Optional Fieldbus slave support for DeviceNet, PROFIBUS-DP, CC-Link Ethernet/IP,
PROFINET, and EtherCat.
- RS232 ports (standard + optional)
For details on the Controller, refer to the RC90 controller manual.
1.2.2 Software
EPSON RC+ 7.0 needs to be installed to your development PC. To communicate with the
Controller, the computer should support USB 1.1 / 2.0 or Ethernet communication.
You can purchase options with the product or add them later.
Using EPSON RC+ 7.0, you can develop application software for the SPEL+ language
that runs in the RC700 controller.
1.2.3 Simulator
Simulator functions enable easy robot motion check on your PC, which gives you
flexibility to consider the system layout, measure the operation time, and create the robot
programs.
They are useful in all the way from introduction stage of robot automation to launch of
robot system.
Simulator is supported by EPSON RC+ 7.0 Ver.7.0.0 or later as standard.
For details, refer to 8. Simulator.
System 1: Connects the PC with one Controller using USB 1.1 or USB 2.0
Ethernet
PC Robot Controller
Robot Controller 1
PC
Robot Controller 2
Ethernet
Robot Controller 3
1.3 Options
EPSON RC+ 7.0 enables the purchased Controller options.
Refer to 22. Installing Controller Options for details.
1.8 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+ 7.0
- From Windows desktop, click <Start>-[Programs]-[EPSON RC+ 7.0]
2. Safety
2.1 Overview
This chapter describes the important safety requirements for robotic systems using EPSON
RC+ 7.0 and the 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+ 7.0 system.
Safety is the most important consideration when designing and operating any robotic
system.
In this manual, important matters are shown with the symbols below.
Each symbol has following meanings.
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, install a safety system using safety doors, light curtains, safety
floor mats, etc.
■ The EMERGENCY connector on the controller has a safeguard input circuit to connect
the safety device interlock switch. To protect operators working near the robot, be sure to
WARNING connect the interlock switch and make sure that it works properly.
If a closed safeguard is open during robot motion, the robot stops immediately and enters
into pause state. Then, 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 or TEST 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 Robot
Controller manual, Setup & Operation: 9. EMERGENCY.
NOTE
Robot Controller option Teach Pendant TP2 manual, 4. Operation Mode (TEACH/AUTO).
■ The path that the robot will follow from the time the emergency stop switch is pressed
until the device stops, as well as the stop position itself, cannot be positively determined.
In many cases, the stop position will not exceed the target position for the operation prior
the emergency stop. Depending on the robot’s loading condition and operation speed,
CAUTION overruns are inevitable. Taking this into consideration, be sure the layout for the
peripheral equipment includes extra space.
For detailed wiring instructions, refer to the Robot Controller manual, Setup & Operation:
9. EMERGENCY.
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.
Presence Sensing Device
The above mentioned safeguard interlock is a type of presence sensing device, since it
indicates the possibility of somebody being inside the safeguard system. When separately
installing a presence sensing device, however, perform a satisfactory risk assessment and
pay thorough attention to its dependability.
Here are precautions that should be noted:
- Design the system so that when the presence sensing device is not activated or a
dangerous situation still exists that no personnel can go inside the safeguard area or
place their hands inside it.
- Design the presence sensing device so that regardless of the situation the system
operates safely.
- If the robot stops operating when the presence sensing device is activated, it is
necessary to ensure that it does not start again until the detected object has been
removed. Make sure that the robot cannot automatically restart.
Resetting the Safeguard
Ensure that the robot system can only be restarted through careful operation from outside
the safeguarded system. The robot will never restart simply by resetting the safeguard
interlock switch. Apply this concept to the interlock gates and presence sensing devices
for the entire system.
Robot Operation Panel
The robot operation panel must not be located inside of the robot work envelope / workcell.
Ensure that the robot system can be operated from outside of the safeguard.
2.4.2 Robot System Installation, Start-up, and Testing
Installation
When installing the robot and robot system, follow the instructions contained in each of
the robot and robot controller manuals.
Start-up and Functional Testing
If the safeguard system is not ready at the time of start-up and functional testing, specify
an area to install the safeguard system (as a temporary measure) and then begin.
During start-up and functional testing, do not allow workers inside the safeguarded area
until the safeguard function is activated.
Before start-up and functional testing, carefully read the related manuals and obtain a good
understanding of safety-related precautions.
Before supplying the robot and robot system with power for the first time, verify the items
listed below.
Items to check before supplying with power
- Prescribed bolts are securely tightened to the robot.
- Electrical connections are set up correctly, and power supply conditions (including
voltage, frequency, and error level) are within the specified range.
- Compressed air source (if applicable) is properly connected.
- Peripheral devices are properly connected.
- Safety device is equipped with an interlock switch, and it functions properly.
- Operating environment conditions conform to the conditions specified in the robot and
controller manuals.
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.
■ If your system cannot be restored by Restore Controller, you must restore robot
calibration parameters (Hofs, CalPls) before operating the robot. If you fail to do so, the
CAUTION robot will move to incorrect positions.
3. Getting Started
This chapter contains instructions for setting up and using EPSON RC+ 7.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
- Windows Security Administration
4. Operation
This chapter contains instructions for operation of the EPSON RC+ 7.0 system. The main
topics are:
- System Power Up Procedure
- Starting EPSON RC+ 7.0
- System Shutdown Procedure
- Writing your first program
Real Part and connected 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 the Robot Controller, the Independent mode which these parts operate
individually is applied.
NOTE According to the design of robot system, it may not need to synchronize Real Part and
connected Windows Part. In this case, change to Cooperative mode.
For the instructions of this settings, see the section below How to set the Cooperative
mode.
When the controller is in Cooperative mode, it has to wait until both of Real Part and
connected Windows Part can start up without failure.
Meanwhile, on the front surface of the controller displays as below:
RC700 RC90
Seven-segment LED LED
Repeats
Repeats
and
alternately. ,
alternately.
Then, it also has to wait until connected Windows part is ready and RC+ 7.0 can start up
without failure.
The table below shows the startup sequence when the controller is in Cooperative mode:
RC700 RC90 Console Background
Seven-segment LED LED instruction task
(1) Not
Not
Power started
No display available yet
ON
Blinking
Repeats
(2) Repeats Not
Not
Real Part and started
available
starts up alternately. and yet
alternately.
(3) Repeats Not
Windows Not
and started
part and available
alternately. yet
starts up alternately.
(4)
Already
RC+ Available
Blinking started
starts up
Blinking
(Includes the startup of the Operator Window and RC+ API application)
The table below shows the startup sequence when the controller is in Independent mode:
RC700 RC90 Console Background
Seven-segment LED LED instruction task
(1)
Not Not
Power
No display available started yet
ON
Blinking
(2)
Available Already
Real Part
Blinking *1 started
starts up
Blinking
(3)
Windows Available
Running
part Blinking *1
starts up Blinking
(4)
RC+ Available Running
starts up Blinking
Blinking
*1 When the control device is “PC”:
It waits the command execution from the Operator Window or RC+ API application.
When the control device is other than “PC”:
(2) At Real Part starts up, Remote function becomes enable and starts operating.
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 control device is other than “PC”,
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>.
This allows authorized personnel to enter Program mode temporarily to make changes or
adjustments.
NOTE When you change to PROGRAM mode from this dialog, it is only temporary. The next
time EPSON RC+ 7.0 runs, the original start mode setting will be used.
Login
You can automatically login from the command line if you are not using the Auto Login
feature for the security Option:
ERC70.EXE /LOGIN "userID", "password"
The dialog has a list of connections. The first connection is for USB and is fixed. You
cannot delete it or rename it.
You can add one or more Ethernet connections and give each one a meaningful name.
The name for each connection is also shown in the Connections dropdown list on the main
toolbar. If no name is supplied, the Ethernet IP address is shown in the dropdown list.
For more information on PC to Controller Communications, refer to 5.12.1. PC to
Controller Communications Command.
4.3.2 USB Communications
USB 2.0 or USB 1.1 can be used to communicate with one controller. This is the default
communication method for EPSON RC+ 7.0 and requires no configuration.
To connect to a controller via USB:
1. Connect a USB cable between the PC and the controller.
2. Turn on the Controller.
3. Start EPSON RC+ 7.0.
4. Click the [PC to Controller Communications] button on the tool bar.
5. Ensure that connection #1 (USB) is selected.
6. Click <Connect> button.
7. Click <Close> button.
NOTE If the EPSON RC+ 5.0 is installed in the same computer and is performing the USB
communication, the EPSON RC+ 7.0 cannot perform the USB communication. Make
sure that the EPSON RC+ 5.0 is disconnected before connecting the EPSON RC+7.0.
NOTE When used with the Robot Controller RC620, the EPSON RC+ 7.0 cannot perform the
USB communication.
■ When performing the USB communication using the computer with Windows 7 or
later, communication with the Controller is disconnected as the PC enters a sleep
state. Before performing the USB communication, make sure to change the PC
CAUTION setting so that it will not enter the sleep mode.
This allows you to [Leave the controller in Auto mode] to monitor operation, or [Switch
the controller to Program mode] so you can edit and debug programs. If you choose to
[Switch to Program mode], then the remote device cannot start programs until remote
control has been enabled from the Run window.
If the project on the PC is not the same as the project in the controller, you will see the
following message box when connection is established:
If you choose to monitor controller operation, the Run window will open if EPSON RC+
7.0 is started in Program mode. If EPSON RC+ 7.0 is started in Auto mode, the Operator
window will appear. From the Run window or Operator window, you can view display
output from Print statements executing in the application. You can also use the Task
Manager and I/O monitor.
When monitoring controller operation, the controller remains in Auto mode. You cannot
stop tasks from EPSON RC+ 7.0, because the control device is not PC. If you want to
switch the controller to Program mode, you must first stop all tasks from the current
control device, then connect to the controller from EPSON RC+ 7.0 and choose to switch
to Program mode (see the previous section Connecting while control device is not PC and
tasks are not running).
Disconnecting while tasks are running
You can only disconnect from the controller with tasks running when the control device is
set to Remote.
1. Stop communications with the controller by selecting [Offline] from the [Connection]
dropdown list on the toolbar.
2. You may now disconnect the communications cable between the PC and the controller.
Tasks will continue to run in the controller.
(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
the “Main.prg” window open 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.
Tool Bar
Project
Explorer
Status Pane
Status Bar
Context Menu
The Project Explorer Pane has a context menu for various operations for elements in the
project tree. To access the context menu, right click on an item in the project tree.
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.
Up to 24 characters can be input.
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.
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 overwrite. 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+ 7.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.
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+ 7.0.
Shutdown EPSON RC+ Exits the EPSON RC+ 7.0 and shutdown the Windows.
and Windows
Shutdown EPSON RC+ Exits the EPSON RC+ 7.0 and reboot the Windows.
and Restart Windows
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.
Time Zone Select a time zone. Time of event, warning, and error occurrences
are displayed according to the selected time zone.
Refresh Click this button to reload the data from the controller.
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
Line number occurred 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 cannot 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.
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.
3. Select the project type. You can select from the following:
- EPSON RC+ 7.0
- EPSON RC+ 3.x / 4.x / 5.x / 6.x
- SPEL for Windows 2.0
NOTE When project for EPSON RC+ 3.x / 4.x / 5.x /6.x or SPEL for Windows 2.0 is imported,
the project is converted to project for EPSON RC+ 7.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.
6. The project in the destination project will be built.
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.
3. Name of a new project is set to the name of the exported project. The name of the new
project can be changed. Select the destination drive and project folder. Then, click
<Next>.
5. Click <Export>. If the destination already exists, you will be asked whether or not to
overwrite the project.
Item Description
Destination Type in a name for the new copy of the project.
Project Name 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'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 box.
[Project]-[Properties]-[Compiler] Page
This page allows you to configure the compiler settings.
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 Checks the Boolean type strictly.
If the program contains following descriptions, an error will occur.
Boolean variables are assigned to other numerical types
Specifies a wait time to Wait
Compares Boolean types
Globals must be Checks the Global variables (including Global Preserve variables)
declared in each for each file.
file used
When this item is checked, you must declare Global variables in
each file in which they are used, otherwise an error will occur at
build time.
TIP
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 box.
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 When the operator teaches a new point, a dialog will be
point information displayed 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 box.
Item Description
Select views for Configures the I/O views that operators use when opening the
operators [I/O Monitor] from the [Operator Window].
You can configure the custom views.
Allow I/O status Check this box if you want to allow operators to turn on or off
change for operator the inputs and outputs.
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the [Project Properties] dialog box.
[Project]-[Properties]-[Vision]
The Compact Vision can manage two vision projects simultaneously. Each vision project
can be used by one controller, so two controllers can use the same camera.
In this page, you can configure the vision project number of the Compact Vision used for
this project.
Project 1 is used by default.
Item Description
Smart Camera Select the vision project number.
Project Numbers
Apply Set current values after changes have been made.
Restore Reverts back to the previous values.
Close Closes the [Project Properties] dialog box.
[Project]-[Properties]-[GUI Builder]
On this page, you can specify the startup form for GUI Builder and also set the value of
the help file used in your project.
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 box.
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.
To clear the Emergency Stop status, click <Reset>.
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 of the selected robot.
MOTOR ON Turns on all robot motors of the selected 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.
Not available for 6-axis robots (including N series).
Free All Click this button to free all joints from the servo control.
Lock All Click this button to lock all joints under the servo control.
Reset Resets the robot servo system and Emergency Stop condition.
Home Moves the robot to the position specified by 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 (Cartesian coordinate or SCARA), you can
also jog U (roll). For robots with 6 DOF (vertical 6-axis (including N
series)), you can jog U (Z axis rotation of the base coordinate system), V
(Y axis rotation of the base coordinate system), and W (X axis rotation of
the base coordinate system). 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
Jog Speed Jog Method Speed Accel Decel
Continuous World/Tool/ECP XYZ 10 mm/sec 100 mm/sec2 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
* Speed of Continuous Joint depends on the robot model
Vertical 6-axis robot, N series
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
* Speed of Continuous Joint and High speed Continuous XYZ depends on the robot model.
Jog Buttons
Use the jog buttons to jog the robot throughout the work envelope. They can be controlled
only by the mouse.
The robot jogs one step at a time as you click the button in either “Long”, “Medium”, or
“Short” mode of the Jog Distance. The robot jogs 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 are displayed differently depending on the Jog mode. For World, Local,
Tool, and ECP jogging, the X, Y, Z, U, V, W buttons appear (V and W are only for 6-axis
robots (including N series)). For Joint jogging, the joint buttons labeled J1 - J6 appear.
The X, Y, and Z buttons jog the robot in the Cartesian axis.
The U buttons rotate the Tool coordinate system of the Z axis. (roll)
For 6-axis robots (including N series), the V buttons rotate the Tool coordinate system of
the Y axis. (pitch).
The W buttons rotate the Tool coordinate system of the X axis. (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
(including N series).
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,
J1Flag value, J4Flag value, J6Flag value
N : Hand orientation, Elbow orientation, wrist orientation,
J4Flag value, J6Flag value
RS series : Hand orientation, J1Flag value, J2Flag value
Others : Hand orientation
When [USE LJM (Least Joint Motion)] checkbox is checked, posture of the manipulator is
automatically adjusted to reduce the motion distance.
The default setting is unchecked.
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 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 color changes from yellow to cyan. After jogging
is completed, the jog button color returns 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 allows you to align the
orientation of the jog buttons with the orientation of the robot motion.
(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.
3. Click the <Next> button to proceed with the Local setting using the Jog & Teach.
For details of the Local setting, refer to 7. Vision Calibration in the Vision Guide 7.0
Software manual.
4. 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.
5. We will now teach the local origin point. Click the <Teach> button to open the [Local
Wizard Teach Point] dialog box.
6. Jog the robot until the end effector is aligned with the local origin point. Then click the
<Teach> button.
7. The new local definition is displayed as shown below. Click <Finish> to accept the
new definition.
3. Click the <Next> button to proceed with the Local setting using the Jog & Teach.
For details of the Local setting, refer to 7. Vision Calibration in the Vision Guide 7.0
Software manual.
4. 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.
5. We will now teach the local origin point. Click the <Teach> button to open the [Local
Wizard: Teach Point] dialog box.
6. Jog the robot until the end effector is aligned with the origin point. Then click the
<Teach> button. The next step will be displayed.
7. 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 box to
continue.
8. 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 box to
continue.
9. The new local definition is displayed as shown below. Click <Finish> to accept the
new definition.
3. Click the <Next> button to proceed with the Tool setting using the Jog & Teach.
For details of the Tool setting, refer to 7. Vision Calibration in the Vision Guide 7.0
Software manual.
4. Jog the robot until the tool is aligned with the reference point. Then click the
<Teach> button to show the [Jog & Teach] dialog box. Jog the robot so that the tool
is aligned with the reference point.
5. Click the <Teach> button to display the following dialog box. After rotating the U
axis as shown below to change the angle, jog the X and Y axes until the tool is aligned
with the reference point. Click the <Teach> button to show the [Jog & Teach] dialog
box. Match the tool and the reference point.
6. Click the <Teach> button. The new tool definition is displayed as shown below.
Click <Finish> to apply the new definition.
NOTE
The robot can be calibrated with a different posture from the wizard.
When comparing 2D Tool and 3D Tool, 2D Tool has following advantages and
disadvantages. Choose the suitable method according to the intended use.
Advantages:
- Shorter calibration time than 3D Tool
- Since V and W axes are not moved, peripherals and cables are less likely to
interfere the calibration
Disadvantages:
- Calibration accuracy may be worse than 3D Tool
- The Z-axis direction offset is not performed automatically (*1)
*1: If the Z-axis direction offset is required, enter the offset value in the following dialog
box after calibration.
3. Click the <Next> button to proceed with the Tool setting using the Jog & Teach.
For details of the Tool setting, refer to 7. Vision Calibration in the Vision Guide 7.0
Software manual.
4. If using 3D Tool, select the tool number to define and the number of points to teach,
and click the <Next> button.
NOTE The “number of points to teach” is the amount of times to teach the same point
(reference point) in the robot motion range while changing only the tool direction. The
number to teach should be at least three. Although it depends on the teaching accuracy
of each point, more accurate tool setting can be set by increasing the number.
To increase the tool setting accuracy, set the angle of approximately 10 degrees or
more for J5 pulse in order to avoid singularity near 0 degree when teaching the
reference point.
5. Jog the robot until the tool is aligned with the reference point. Then click the
<Teach> button to show the [Jog & Teach] dialog box. Match the tool and the
reference point.
For 2D Tool:
7. The new tool definition is displayed as shown below. Click <Finish> to apply the
new definition.
NOTE Although it is recommended to calibrate the robot with the same posture as the wizard, it
is possible to calibrate the robot with the different robot posture from wizard.
3. Select the pallet number to define, the number of points to teach, the number of rows
and columns, and whether to use “Outside”. Then, click the <Next> button.
NOTE
If a pallet is a well ordered rectangular shape, only 3 of the 4 corner points should be
specified. However, in most situations, it is recommended to use 4 corner points to
define a pallet.
4. Click the <Teach> button to show the [Teach first point] page.
5. Jog the robot to the first corner to teach the position of it. Click the <Teach> button to
show the following dialog box.
6. Teach the second to forth corners by following the steps (4) and (5).
7. The new pallet definition is displayed as shown below. Click <Finish> to apply the
new definition.
3. Select the Box number to define and click the <Next> button.
4. Click the <Teach> button to show the [Teach first corner of box] page.
5. Jog the robot to the first corner to teach the position of it. Click the <Teach> button to
show the following dialog box.
6. Teach the second to forth corners by following the steps (4) and (5).
7. Select the polarity to output the I/O
8. The new box definition is displayed as shown below. Click <Finish> to apply the new
definition.
3. Select the plane number to define and the number of points to teach, and then click the
<Next> button.
NOTE You can select either “1” or “3” for the number of points to teach. If you select “1”,
the robot posture at teaching will be reflected. If you select “3”, the robot posture
will not be reflected. For details, refer to the SPEL+ Language Reference: Plane
Statement.
4. Click the <Teach> button to show the [Teach plane origin point] page.
If the number of point to teach is “1”:
5. Jog the robot to the reference point to teach the position of it. Click the <Teach>
button to show the following dialog box.
6. The new plane definition is displayed as shown below. Click <Finish> to apply the
new definition.
1) Jog the robot to the reference point to teach the position of it (Point #1). Click
the <Teach> button to show the following dialog box.
2) Teach the X axis specified point (Point #2) and the Y axis specified point (Point
#3) in the same way as the step 1).
7. The new plane definition is displayed as shown below. Click <Finish> to apply the
new definition.
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
current 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.
You can resize the I/O monitor in the vertical direction to show more data. Move your
mouse pointer to the lower right corner of the window to activate a size handle, then click
down and drag the window down or up to the desired size.
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.
Restrictions
Displayed values do not guarantee the accuracy. Due to limitations of measuring method,
some differences are included. The load factor of the properly created program is minimal.
Also, in a program like Example 2, commands are executed by other system tasks.
Therefore, the load factor is displayed as “0”.
Example 1)
Function main
Do
Do
If Sw(1) = On Then Exit Do
Loop
Go P(0)
Loop
Fend
Example 2)
Function main
Do
Print "TEST"
Loop
Fend
Item Description
Halt Suspends the selected task. The halted task can be resumed by 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 associated with Halt is executed, 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 are suspended with the <Halt> button, clicking
<Resume> 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.
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.
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 users to send a snapshot of the controller status to a system vendor or to
Epson technical support, should the need arise.
NOTE
Backup Controller is equivalent to connecting a USB memory key to the controller and
pressing the TRIG button on the controller to save controller status.
Controller status is stored in a folder named “B” followed by the controller type, the
controller serial number, and the date / time.
You can configure the controller whether to save the project files in the status folder or not.
See [Setup]-[System Configuration]-[Controller]-[Preferences].
1. Select [Tools]-[Controller].
2. Click on the <Backup Controller> button to open the [Browse For Folder] dialog box.
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” followed by the controller type, the controller serial number, and the
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 box.
3. Select the drive and folder where the information is stored. Controller backup
information is stored in a folder that is named “B” followed by the controller type, the
controller serial number, and the date / time.
NOTE
You can also select a folder containing export controller status information.
4. Click <OK> to display the dialog to select the restore data.
Project checkbox
This checkbox allows you to restore the files related to projects.
The default setting is unchecked.
When the project is restored, all the values of Global Preserve variables are restored.
For details about Global Preserve variable backup, refer to 5.10.10 [Display Variables]
Command (Run Menu).
Vision hardware configuration checkbox
This checkbox allows you to restore the vision hardware configuration.
For details, refer to the EPSON RC+ 7.0 option: Vision Guide 7.0.
This is not checked by the default setting.
Security configuration checkbox
This checkbox allows you to restore the security configuration.
For details, refer to 15. Security.
This is not checked by the default setting.
Force Sensing I/F configuration checkbox
This checkbox allows you to restore the Force Sensing I/F configuration.
For details, refer to EPSON RC+ 7.0 option Force Control 7.0.
This is not checked by the default setting.
Click the <No> button to cancel restoration of data except for special situations such as
controller replacement.
NOTE When restoring the backup which includes the data of the robot configured to the Drive
NOTE
Unit, be sure to restore the data while the Drive Unit is connected and turned on.
When restoring the backup including the unsupported robot information to the target
controller, an error occurs.
NOTE You cannot restore the backup including PG to the virtual controller.
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).
3. Select the drive and folder where the information is stored. Controller status
information is stored in a folder that is named “B” followed by the controller type, the
controller serial number, and 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.
Maintenance
It shows the parts consumption data for the Controller or Manipulator parts.
For details, refer to Maintenance 6. Alarm in the RC700 / RC700-A Controller Manual.
Item Description
Connect Connect the selected communication.
Disconnect Disconnect the communication.
Add Add communication information of Ethernet or a virtual controller.
Clicking this button opens the dialog to specify the communication
type.
Program execution time
In the virtual controller, programs
will execute continuously for up to
one hour.
If continuous execution is over one
hour, a warning message appears.
You can execute the program again
after the warning is displayed, and the
continuous execution timer will be
reset.
Delete Deletes selected communication information. Connection #1 “USB”
cannot be deleted.
Apply Saves changes.
Restore Restores to previous settings.
Work Offline You can build a project without connecting to the controller in Offline
mode. Some functions such as Robot Manager are not available in this
mode.
Auto Connect If the connection is enabled, connects to the controller automatically.
Close Closes the dialog.
Item Description
Auto Select Auto to start EPSON RC+ 7.0 in Auto mode. Refer to 4. Operation
for details.
Program Select Program to start EPSON RC+ 7.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+ 7.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+ 7.0 to automatically
Windows start start after Windows starts.
Command line options Enter the command line options used when EPSON RC+ 7.0
is automatically started. This is active only when the Start
EPSON RC+ 7.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.
[Setup]-[System Configuration]-[Controller]
[Setup]-[System Configuration]-[Controller]-[General] Page
This page allows the user to view general information about the controller.
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.
T2 Password Allows you to change the TP2 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.
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.
Include project files when status exported
This preference allows you to configure whether project files are included or not when the
controller status is exported. Refer to 5.11.8 [Controller] Command (Tools Menu). The
default setting is on.
Independent Mode
This preference allows you to use the controller without interfacing with the Windows
(Independent mode).
Use this option when you want to use the controller through the external device using
Remote I/O. This option is checked 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.
[Setup]-[System Configuration]-[Robots]
[Setup]-[System Configuration]-[Robots]-[Model] page
Item Description
Model Displays the robot model.
Type Displays the robot type.
Reach Displays the robot length (J1 + J2 for SCARA robots) or reach for
6-axis robots.
Max payload Displays maximum payload of the robot.
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>.
[Setup]-[System Configuration]-[RS232]
[Setup]-[System Configuration]-[RS232]-[PC] Page
Use this page to configure the RS232 ports on PC.
Item Description
Auto file save Checking this box will cause EPSON RC+ 7.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 7.0. For details, refer to 5.6.11 Exit Command (File Menu).
Default is Off.
Do not open last project If this radio button is selected, the last project will not be opened
when EPSON RC+ 7.0 is started.
Open last project and If this radio button is selected, the last project will be opened
program file and 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
all windows and 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+ 7.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.
[Setup]-[Preferences]-[Editor] Page
This page is used to configure your preferences for the program editor windows.
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+ 7.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.
Above Line Select this button to display the syntax help above the input line.
Below Line Select this button to display the syntax help below the input line.
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.
[Setup]-[Preferences]-[Robot Manager]
[Setup]-[Preferences]-[Robot Manager]-[General] Page
This page lets you configure your preferences for the Robot Manager.
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.
The jog button orientations are useful for “aligning” your PC monitor with the robot’s
Cartesian coordinate system. Align the buttons so that the robot moves in the direction of
the arrows.
You can change the orientation of the jogging buttons and arrow keys for the X and Y
axes by selecting the desired top button from the Top Button dropdown list.
You can also click on one of the buttons to change it to the top button position.
Program Mode Options
NOTE
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 RC+ API. 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.
[Setup]-[Preferences]-[Language] Page
This page allows you to change the EPSON RC+ 7.0 GUI language.
When EPSON RC+ 7.0 is installed on a Windows system using a Western language, then
the English, German, and French selections are available.
When it is installed on a Windows system using Japanese, then English and Japanese are
available.
When it is installed on a Windows system using Chinese, then English, Chinese
(Simplified), and Chinese (Traditional) are available.
After selecting the desired language, you must reboot EPSON RC+ 7.0.
Item Description
Language This set of option buttons allows you to choose which language to use
for the EPSON RC+ 7.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 purchase 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 <OK> 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.
Contents
- Overview
- Program structure
- Commands and statements
- Function and variable names
- Date types
- Operators
- Working with variables
- Working with strings
- Multi-statements
- Labels
- Comments
- Error handling
- Multi-tasking
- Robot coordinate systems
- Robot arm orientations
- Robot motion commands
- Working with robot points
- Input and output control
- Using Traps
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 operators for the SPEL+ language.
Keyword
Example Description
or Symbol
+ A+B Addition
− A-B Subtraction
* A*B Multiplication
/ A/B Division
** A**B Exponentiation
= A=B Equal
> A>B Greater than
< A<B Less than
>= A>=B Greater than or equal
<= A<=B Less or than equal
<> A<>B Not equal
And A And B Performs logical and bitwise AND operation.
Returns the remainder obtained by dividing a numeric
Mod A Mod B
expression by another numeric expression.
Not Not A Performs logical or bitwise negation of the operand.
Performs the bitwise Or operation on the values of the
Or A Or B
operands.
Performs the bitwise Xor operation on the values of the
Xor A Xor B
operand.
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 #fNum
Fend
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.
Example:
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
User Errors
You can define your own error messages by using the User Error Editor which is available
from the Tools Menu. For details refer to 5.11.7 User Error Editor Command (Tools
Menu).
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
6.16.1 Overview
This section describes the coordinate systems for different types of robots supported in
SPEL+. Right-handed rule is used for all coordinate systems.
The following coordinate systems are used in SPEL+:
Robot Coordinate System This is the native coordinate system of the robot.
This is also known as the default base coordinate system
or world coordinate system.
Local Coordinate System This is a user defined coordinate system located
somewhere within the working envelop.
Tool Coordinate System This is the coordinate system of the tool mounted on the
robot end-effector. This is also known as the end effector
coordinate system.
World/
Tool ECP
Base Local
Y+
Center of Joint #3
Origin
X+
± 360 degrees
+Y +U
+X
−Z
-U
In the robot coordinate system, +Z axis is defined in the opposite direction of gravity. X
and Y axes are defined in horizontal plane as shown in the figures above.
The position and orientation are designated by the position data (X, Y, Z) and the
orientation data (U, V, W).
Roll-Pitch-Yaw angles are used for the orientation data.
U corresponds to roll (Z-axis rotation), V corresponds to pitch (Y-axis rotation), and W
corresponds to yaw (X-axis rotation).
The orientation is designated by rotating the coordinate axis of U, V, and W, in that order
(movable axis expression).
Origin
X+
+Y
Z=0 -X
-Z -U +U
Center of Joint #3
+Z
+X +Y +Z
+X +Y
+Y
+X
yt0
yt1
Y
b c
xt0
a
Tool 0 coordinate system
+Y +X
+X
+Z +Y
Examples of moving to the same point using Lefty and Righty arm orientations
Arm #1
Below elbow
orientation
Arm #1
Below elbow
orientation
The following enlarged figures of right hand orientation are to assist understanding.
NoFlip wrist orientation Flip wrist orientation
Above elbow
orientation
Below elbow
orientation
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
Proper motion
However in the cases, 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 the arm orientation of 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.
For the RS series robots, some points in the work envelope can have the same position and
orientation even if J1 or J2 is rotated 360 degrees.
To distinguish these points, the J1Flag and J2Flag point attributes are provided.
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
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 (X=0, Y=0)
Hand singularity
When jogging near the singularity, follow the directions below.
To specify orientation for the N series 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
The following describes the elbow singularity area which is unique for N series robot.
Note:
- The pass motion can be confirmed by the sample simulator program “N2_sample”.
- With Jump3, Jump3CP, and JumpTLZ, the motion to pass the elbow singularity
area is not available. (Shoulder and wrist singularity pass motions are possible.)
- In the singularity avoiding motion, the Joint #4 and #6 may rotate largely.
- In the singularity avoiding motion, onward and backward paths may differ.
- To display the elbow singularity area and its neighborhood on the simulator, select
[Render Singularity Area of Elbow] in the [Simulator setting] dialog box.
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.
Display either message below and stop the robot when detecting an error A or B. Reduce the
damage of the robot or equipment.
Error 5057: detect the collision in high power. (Detect the robot motion error.)
Error 5058: detect the collision in low power. (Detect the robot motion error.)
The following error has been existed, however, this function can detect the above errors
quickly.
Error 5042, 5043: Position error.
Error is not detected by torque saturation in short time. Detect a state with high risk that causes
a malfunction and stop the robot. The following phenomena may occur if continuing robot
operation in a state of B1 or B2. Make a state that errors not occur.
Loose binding parts such as screws.
Reduction gear is damaged.
Increase a risk of robot damage
The following describes the detail of error B when error 5057 or 5058 is detected without a
collision or contact of the robot or arm.
In high power mode
Check the torque saturation by using PTRQ command. Torque saturation is occurred if the
joint outputs “1” in PTRQ command.
In that case, make sure that the Weight setting is properly and in accord with the hand weight.
Also, make sure that Inertia setting is properly for joint #4 of SCARA robot and joint #6 of 6-
axis robot.
Next, make sure that there is no torque saturation by using PTRQ command by combined
motion that multiple joints (#2, #3 and #5 joints of 6-axis robot) operate in the same direction
and throwing around the long object.
If torque saturation occurs, reduce acceleration/deceleration of Accel command until there is
no torque saturation (the value: 1.0 or less is displayed in PTRQ).
Also, torque saturation may occur due to reduction of supply voltage that inputs to the
controller. Check the power supply voltage is within the specifications.
You can turn ON/OFF the collision detection function per equipment if you want to use
without performing those error detection due to equipment compatibility securement or similar
reasons.
If other error occurs at the same time, take a countermeasure for that first.
In low power mode
Make sure that hand weight is within the specifications.
Also, check the torque saturation when errors occur on the joint #4 and 5 of 6-axis robot.
When torque saturation is occurred, it is long object that cannot be hold by low power mode.
Hold in high power mode.
If other error occurs at the same time, take a countermeasure for that first.
Immediately stop result of the torque saturation by combination of the following motion and
command. Error of A and B can be detected faster.
HP motion: LimitTorqueStop Command
LP motion: LimitTorqueStopLP Command
The following describes details of collision of the robot arm A and contact detection.
For reduction of damage on the arms and the end effectors due to the collision with
peripherals, there are two functions: Collision detection function and torque restriction
function.
The collision detection function detects the collision and stops the robot immediately.
The torque restriction function restricts torque at the collision and also stops the robot
immediately.
These are functions to reduce damage on the robot at the collision, but cannot avoid
damage completely. Also, the functions cannot be used for the purpose of human safety.
The force applied to the robot at the collision can Impact of speed
be roughly divided into two types as shown on the
right: the impact of speed right before the
Pressing force by torque
collision, and the pressing force by the motor
Force
The collision detection function detects collision by the speed deviation value for robot
motion control (differentiation between the desired speed and the actual speed) showing an
abnormal value which is greatly different from normal motion due to the collision.
Turn ON CollsionDetect command and the detection is enabled. (Default: ON)
Default is different depending on the firmware version.
Ver.7.2.1.x or later: default: ON
Before Ver.7.2.0.x : default: OFF
Reboot a controller to return to the default.
When enabled, this function reduces the time of pressing force by the motor torque, by
detecting the collision and stopping the robot immediately. This reduces the pressing
force by about 20%. To reduce the damage more, use this function together with the
torque restriction function.
The collision detection function is automatically disabled during the pressing motion and
the force sensing operation described in “6.18.9 Pressing Motion”.
Also, the function may have false detection in cases of powerful contact motion and
significant acceleration and deceleration which may have consecutive torque saturation.
To confirm if there is a risk of false detection, use PTRQ.
If PTRQ is less than 1 for all axes, there is no risk of false detection.
If PTRQ is one, torque saturation is occurring on the axis. This means excessive
acceleration and deceleration are applied, and it is not preferable for motor control. It also
has a risk of damage on the manipulator. In such a situation, take the following
countermeasures.
For contacting operation,
- Check if Weight and Inertia settings are appropriate
- Lower acceleration and deceleration
- Lower speed
When performing contacting motion:
- Lower acceleration and deceleration at a contact
- Set a contacting depth shallow
If you want to operate the manipulator without taking the above countermeasures, you can
enable and disable the function for each axis. Set the function off for the axis which you
want to disable the function.
For details of the command and function, refer to the following manual.
EPSON RC+ 7.0 SPEL+ Language Reference
CollisionDetect Statement
CollisionDetect Function
When the torque is restricted at 30% and the robot is stopped immediately, the total of less
than 25% or equivalent reduction effect can be obtained.
For SCARA robots, the end of the extended shaft may get caught and bent. To reduce
occurrence of the bent shaft, it is recommended to use this function to reduce the pressing
force to the maximum degree.
If malfunction occurs, take any of the following measures for the axis of malfunction.
- Set LimitTorqueStop or LimitTorqueStopLp off
- Increase the threshold value of LimitTorque or LimitTorqueLp
To use the torque restriction function for jogging motion, follow the steps below.
(1) Execute PTCLR and start torque measurement.
(2) Execute the jogging motion.
(3) Measure the maximum torque value by PTRQ, and then add the margin to it.
(4) Set LimitTorqeLP and LimitTorqeLPStop.
If the robot is temporarily stopped in the low power motion, the value larger than the
normal program operation or jogging motion may be obtained. In such case, execute the
temporary stop while measuring PTRQ and include it into measurement.
For details of the command and function, refer to the following manual.
EPSON RC+ 7.0 SPEL+ Language Reference
LimitTorque Statement, LimitTorque Function,
LimitTorqueLP Statement, LimitTorqueLP Function,
LimitTorqueStop Statement, LimitTorqueStop Function,
LimitTorqueStopLP Statement, LimitTorqueStopLP Function
The following is a sample program which automatically configures the collision detection
function and the torque restriction function.
The program repeats the motion called “all_ax_move”.
The program enables the collision detection function, measures the maximum torque in the
first five moves, adds the margin to the measured value (1.2 times if HighPower, 1.4 times
if LowPower), and sets the upper limit torque value to stop the robot at the upper limit
torque.
This is the example of automatic setting to repeat motion with the above settings from the
sixth time.
When the upper limit torque value is changed, the changed value will be considered as
“1.0” for the subsequent PTRQ measurement. If the margin of 1.2 times is set, PTRQ will
be slightly larger than 0.8, and if the margin of 1.4 rimes is set, PTRQ will be slightly
smaller than 0.7.
Setting example)
Function main
Integer icnt
Real rtrq(6)
Motor On
Power High
‘ Power Low
Weight 8
Speed 50
Accel 80, 80
icnt = 1
PTCLR
Fend
Function all_ax_move
Integer icount
Go JA(10, 10, 10, 10, 10, 10)
Go JA(-10, -10, -10, -10, -10, -10)
Fend
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 & 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”.
6.19.4 Using points in a program
When starting programs, the default point file for the robot is loaded. You can also load
other points in the program using the LoadPoints statement.
Function main
Integer i
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
' Sets 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.
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.
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
to the I/O output that specifies Forced flag. Connecting external equipment may
CAUTION 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+ 7.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.
Check this preference when you execute the commands below from a
background task.
StartMain, Cont, Recover, Reset Error, Reset
When you execute these commands from a task, you should understand each
CAUTION command specification and verify that the system has the appropriate conditions.
Improper use, such as executing commands continuously in a loop, can reduce
the security of system.
*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 Execution
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+ 7.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+ 7.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 equipment
CAUTION 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.
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+ 7.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.
Operator interface
Operator Window
Use the operator window provided with EPSON RC+ 7.0. You can configure EPSON
RC+ 7.0 so that after Windows starts, EPSON RC+ 7.0 will start in Auto mode, which will
automatically open the Operator Window.
Operators can select up to 64 programs. They can also optionally use the Pause/Continue
buttons, I/O Monitor, Robot Manager, and System History viewer.
To use the Operator Window to allow programs to be started and stopped, the Control
Device must be set to Self from [Setup]-[System Configuration]-[Controller]-
[Configuration].
For details on configuring EPSON RC+ 7.0 for auto start, refer to 4.2.3 Start Mode.
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 RC+ API
Use the RC+ API Option along with a Windows development tool such as Visual Basic,
Visual C#, or Visual C++. See the RC+ API 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
The Robot 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 13. RS-232 Communications for details.
You can use TCP/IP to connect peripheral equipment.
Refer to 14. TCP/IP Communications for details.
7.2.1 Overview
What is an EPSON RC+ 7.0 Project?
An EPSON RC+ 7.0 project is a collection of SPEL+ program files, include files, robot
point files, I/O labels, user errors, Vision settings, and conveyor settings used to run a
SPEL+ application.
Project file
This file contains all of the information that describes the project. This file is
automatically created by EPSON RC+ 7.0. You should never edit this file. Doing so may
cause errors when you open the project. The file extension is “.sprj”.
Program files
A program file is an ASCII text file that contains one or more SPEL+ functions. Each
function in SPEL+ can be run as a separate task (thread) in the controller or called from
other functions.
Include files can also be used. These contain macro definitions and must be included in a
program file using the #include statement. The file extension is “.prg”.
Point files
A point file contains a list of robot points. The file extension is “.pts”.
Include files
In the include file, you can declare variables and macros. The file extension is “.inc”.
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.
Item Description
Row select column This is the leftmost column. 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 of X, Y, Z in millimeters and U, V, and W in
degrees.
Local number column Drop down list of local numbers. Range is from “0” to “15”.
Hand column Drop down list of robot hand orientations: Lefty and Righty.
Elbow column Drop down list of robot elbow orientations: Above and Below.
This column is shown only for 6-axis robots.