You are on page 1of 390

Revision History

S/N Date Version Description


1. Reformat the documentation, add manual index and update
control cabinet content
2. Update "2.3.6 Introduction to Mode Switches"
3. Update "3.3 Start/Stop Timing Diagram"
4. Add the content of "4.1.7 Write Protection"
5. Add the content of "4.1.8 Program Information"
6. Update "4.2.3 Other operations" to include "MovJ and MovL
quick switch function, reverse copy/paste function, motion
execution pointer"
7. Update "4.4 IO Detection"
8. Update "4.6 Log Management" to include "Help" function
9. Update "4.7.1 User Management" to update user role
names
10. Update "4.7.2 General Settings > Basic Settings" to include
"Remote Settings, Program Settings, System Time"
11. Update "4.7.3 Advanced Settings>Local Settings" to add
"Long Standby Screen Off, Teach Pendant Restart"
12. Add "APOSARRAY, CPOSARRAY" in the section "5.2
Location Data Types"
13. Add "INTERRUPT, COLLIPARAM" in the section "5.3
System Data Types"
14. Update the description of transition methods in the section
1 2023.03 V1 18
"6.1 Motion Commands"; update "MovJOffset, MovLOffset,
MovLSearch, MovJSearch" to include "MovLArch,
OnDistance, OnParameter";
15. Add "For Loop Commands" in the section "6.2 Control
Commands"
16. Update the "SetRtToErr command description supports
English and Chinese" in "6.5 Setup Commands"; add
"SetOriMode, SetColliAutoTune, SetColliParam" commands
17. Add "6.8 Interrupt Commands"
18. Add "AreaConnectIO, AreaDisConnectIO,
PolyhedronAreaConnectIO, PolyhedronAreaConnectIO,
PolyhedronAreaDisConnectIO" to "6.11 Area Commands"
19. Add "6.18 Online Load Recognition Commands"
20. Add "6.21 Other Functions"
21. Update "7.1 Multi-zone Monitoring"
22. Add "7.3 Collision Rollback"
23. Update "7.27 Maintenance Tips"
24. Add "7.33 Interrupt Function"
25. Add "7.34 Auto De-excitation"
26. Add "7.35 Online Load Recognition".
27. Update "9.1 Allocation List of Teach Pendant Permissions"
and "9.3 List of Alarm Information"
Instruction Manual of ER Series Industrial Robots Table of Contents

Table of Contents
Revision History ............................................................................................................................... i
Table of Contents ............................................................................................................................. i
Preface v
Overview ........................................................................................................................................................ v
Terms Used Often in this Manual............................................................................................................... v
Meanings of Symbols .................................................................................................................................. v
Manual Index ................................................................................................................................................ v
Safety Precautions....................................................................................................................... vii
Chapter 1 Safety............................................................................................................................. 1
1.1 For your safety ....................................................................................................................................... 1
1.2 Specialized training ............................................................................................................................... 1
1.3 List of instruction manuals of robots ................................................................................................... 1
1.4 Safety precautions for operators ......................................................................................................... 2
1.5 Robot safety precautions ...................................................................................................................... 3
1.5.1 Installation and wiring safety ............................................................................................................................3
1.5.2 Work area safety ................................................................................................................................................4
1.5.3 Operation safety .................................................................................................................................................5
1.6 Notes for moving and transferring the robot ...................................................................................... 6
1.7 Notes on robot disposal ........................................................................................................................ 6
Chapter 2 Product Confirmation................................................................................................ 1
2.1 Product confirmation ............................................................................................................................. 1
2.1.1 Contents confirmation........................................................................................................................................1
2.1.2 Order number confirmation ...............................................................................................................................1
2.2 Control cabinet ....................................................................................................................................... 1
2.3 Programming pendant .......................................................................................................................... 2
2.3.1 Appearance .........................................................................................................................................................2
2.3.2 Touch pen ............................................................................................................................................................3
2.3.3 USB slot...............................................................................................................................................................3
2.3.4 Keys .....................................................................................................................................................................4
2.3.5 Display .................................................................................................................................................................5
2.3.6 Mode switches ....................................................................................................................................................8
2.3.7 E-stop buttons.....................................................................................................................................................9
2.3.8 Servo enable switch...........................................................................................................................................9
2.3.9 Signal definition of internal wiring terminal of programming pendant .........................................................9
2.3.10 Programming pendant cables ...................................................................................................................... 10
Chapter 3 Product Use ................................................................................................................. 1
3.1 Connection methods ............................................................................................................................. 1
3.2 Operating instructions ........................................................................................................................... 1
3.2.1 Robot coordinates ..............................................................................................................................................1
3.3 Start/stop sequence .............................................................................................................................. 5
3.3.1 Teaching ..............................................................................................................................................................5
3.3.2 Playback ............................................................................................................................................................ 12
Chapter 4 Introduction to System Functions ......................................................................... 1
4.1 Project Management ............................................................................................................................. 1
4.1.1 Creating a New Project or Program.................................................................................................................3
4.1.2 Deleting a New Project or Program .................................................................................................................4
4.1.3 Renaming a Project or Program ......................................................................................................................4
4.1.4 To copy/paste a project or program .................................................................................................................5
4.1.5 Load/Cancel a New Project or Program .........................................................................................................5
4.1.6 Self-triggered Program ......................................................................................................................................6

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-i
Instruction Manual of ER Series Industrial Robots Table of Contents

4.1.7 Write Protection ..................................................................................................................................................6


4.1.8 Administration (Project Import/Export) ............................................................................................................6
4.1.9 Search for a Project/Program ...........................................................................................................................8
4.1.10 Program Information ........................................................................................................................................9
4.2 Program editing.................................................................................................................................... 10
4.2.1 Adding a New Command ................................................................................................................................ 10
4.2.2 Cancelling a Command ................................................................................................................................... 12
4.2.3 Other operations............................................................................................................................................... 13
4.3 Program data........................................................................................................................................ 17
4.3.1 Creating Variable .............................................................................................................................................. 17
4.3.2 Standard area variables ....................................................................................................................................1
4.3.3 Polygon area variables ......................................................................................................................................2
4.3.4 Tool Coordinates Variables ...............................................................................................................................3
4.3.5 User Coordinates Variables ..............................................................................................................................3
4.3.6 External Tool Coordinates Variables................................................................................................................4
4.3.7 Other operations.................................................................................................................................................5
4.4 IO detection ............................................................................................................................................ 6
4.5 Location management ........................................................................................................................ 13
4.6 System Log ........................................................................................................................................... 15
4.6.1 Alarm .................................................................................................................................................................. 15
4.6.2 Log ..................................................................................................................................................................... 17
4.6.3 Help .................................................................................................................................................................... 21
4.7 System settings.................................................................................................................................... 21
4.7.1 User management ........................................................................................................................................... 21
4.7.2 General Settings............................................................................................................................................... 24
4.7.3 Advanced Settings ........................................................................................................................................... 28
Chapter 5 Introduction to Variables .......................................................................................... 1
5.1 Basic data types..................................................................................................................................... 1
5.2 Position data types ................................................................................................................................ 2
5.3 System data types ................................................................................................................................. 8
5.4 IO data type .......................................................................................................................................... 15
5.5 Weave data type .................................................................................................................................. 16
5.6 Clock data type .................................................................................................................................... 17
5.7 Area data type ...................................................................................................................................... 17
5.8 PLC data type ...................................................................................................................................... 18
5.9 Pallet data type .................................................................................................................................... 19
5.10 SOCKET data type ............................................................................................................................ 20
Chapter 6 Introduction to Commands...................................................................................... 1
6.1 Motion commands ................................................................................................................................. 1
6.2 Control commands .............................................................................................................................. 21
6.3 WAIT commands ................................................................................................................................. 27
6.4 IO commands ....................................................................................................................................... 29
6.5 SET commands ................................................................................................................................... 38
6.6 POSITION operation commands ...................................................................................................... 50
6.7 Conveyor tracking commands ........................................................................................................... 53
6.8 INTERRUPT commands .................................................................................................................... 61
6.9 Bit operation commands ..................................................................................................................... 65
6.10 CLOCK commands ........................................................................................................................... 67
6.11 AREA commands ............................................................................................................................... 68
6.12 Visual commands .............................................................................................................................. 71
6.13 Palletizing commands ....................................................................................................................... 72
6.14 ARRAY commands ............................................................................................................................ 77
6.15 Socket commands ............................................................................................................................. 79
6.16 ModbusTCP commands ................................................................................................................... 84
6.17 SoftFloat commands ......................................................................................................................... 86

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-ii
Instruction Manual of ER Series Industrial Robots Table of Contents

6.18 Online load tuning commands ......................................................................................................... 87


6.19 STRING commands .......................................................................................................................... 89
6.20 Mathematical Functions ................................................................................................................... 94
6.21 Other functions................................................................................................................................... 96
Chapter 7 Advanced Functions ................................................................................................. 1
7.1 Multi-type Area Monitoring ................................................................................................................... 1
7.2 Collision Detection ................................................................................................................................. 8
7.2.1 Collision Detection .............................................................................................................................................8
7.2.2 Collision Detection Self-Adjustment ................................................................................................................9
7.3 Collision Rollback ................................................................................................................................ 10
7.4 Vibration Suppression ..........................................................................................................................11
7.5 Conveyor tracking................................................................................................................................ 12
7.6 System IP Setup .................................................................................................................................. 17
7.7 Upgrade and backup of programming pendant .............................................................................. 20
7.7.1 Program upgrading of programming pendant .............................................................................................. 20
7.7.2 Backup of teach pendant programs .............................................................................................................. 24
7.8 Update of controller operating programs ......................................................................................... 25
7.8.1 Update of controller programs ........................................................................................................................ 25
7.8.2 Controller program restoration ....................................................................................................................... 26
7.8.3 Backup export ................................................................................................................................................... 28
7.8.4 Project Import ................................................................................................................................................... 29
7.9 Reach by one-click .............................................................................................................................. 30
7.10 Calibration of tool coordinates ......................................................................................................... 31
7.11 Calibration of user coordinates/external tool coordinates ........................................................... 36
7.12 External TCP functions ..................................................................................................................... 40
7.13 Single-point alignment coordinate axis .......................................................................................... 42
7.14 Servo management ........................................................................................................................... 43
7.15 Use of 2D vision................................................................................................................................. 47
7.16 Use of 3D vision................................................................................................................................. 49
7.17 ModbusTCP ....................................................................................................................................... 52
7.18 Lockup and unlock ............................................................................................................................ 55
7.19 SoftFloat functions............................................................................................................................. 59
7.20 9-point Calibration ............................................................................................................................. 63
7.21 Multi-station Reservation .................................................................................................................. 66
7.22 Positioner function ............................................................................................................................. 71
7.23 Execution in reverse ......................................................................................................................... 75
7.24 Servo parameter self-tuning function ............................................................................................. 76
7.25 Cross-wrist singularity function........................................................................................................ 77
7.26 Homing function ................................................................................................................................. 78
7.26.1 Function overview .......................................................................................................................................... 78
7.26.2 Global Homing ................................................................................................................................................ 78
7.26.3 Single-Axis Homing ....................................................................................................................................... 79
7.27 Maintenance Tips .............................................................................................................................. 82
7.28 Scara fast calibration ........................................................................................................................ 85
7.29 Zero Loss Protection without Limit Block ....................................................................................... 93
7.30 Homing by One-Click ........................................................................................................................ 94
7.31 Global Program.................................................................................................................................. 95
7.32 Slave Configuration ............................................................................................................................. 1
7.33 INTERRUPT Function ........................................................................................................................ 2
7.34 Auto Demagnetization......................................................................................................................... 5
7.35 Online load tuning ............................................................................................................................... 7
Chapter 8 FAQs ............................................................................................................................ 11
8.1 The way to find the corresponding control cabinet manual based on nameplate.......................11

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-iii
Instruction Manual of ER Series Industrial Robots Table of Contents

Solutions...................................................................................................................................................................... 11
8.2 Power supply requirements for ESTUN robots ................................................................................11
Solution........................................................................................................................................................................ 11
8.3 The way to deal with the emergency stop status displayed after the robot is turned on .......... 12
Solution: ...................................................................................................................................................................... 12
8.4 The way to perform periodic maintenance on robots ..................................................................... 13
Solution........................................................................................................................................................................ 13
8.5 The way to backup the robot teach pendant program ................................................................... 13
Solution........................................................................................................................................................................ 14
8.6 The way to recover after triggering the robot E-stop button.......................................................... 14
Solution........................................................................................................................................................................ 14
8.7 What to do if the teach pendant cannot perform program editing and modification during use
...................................................................................................................................................................... 15
Solution........................................................................................................................................................................ 15
8.8 What communication protocols does Estun robot currently support ........................................... 16
8.9 The way to solve the problem of point deviation during normal use of the robot ...................... 16
Solution........................................................................................................................................................................ 16
8.10 How to determine if the robot cannot move after power on ........................................................ 16
Solution........................................................................................................................................................................ 16
8.11 The way to solve the failure of teach pendant to enter system after robot powering on ........ 17
Solution........................................................................................................................................................................ 17
Chapter 9 Annexes ........................................................................................................................ 1
9.1 Privilege assignment of programming pendant................................................................................. 1
9.2 ModbusTCP control interface data sheet........................................................................................... 9
9.3 List of Alarm Information ......................................................................................................................11

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-iv
Instruction Manual of ER Series Industrial Robots Table of Contents

Preface

Overview
This Manual is applicable to the control system RCS2 V1.30. It describes the components of the ER series
robots as well as the operation of the teaching controller, in such as way users can understand and master
the operation and use of the ER Series Robots.

Terms Used Often in this Manual


"ESTUN ROBOTICS" is the trade name of ESTUN’s Industrial Robots. ESTUN ROBOTICS usually
consists of the "robot", the "control cabinet", "teaching programmer" and "power supply cables". In this
manual, the equipment is designated as follows.

Equipment Manual Designation

Electric control cabinet of ER series


Control cabinet
robots

ER series programming pendant Programming pendant/Teach pendant

Cable between the robot and the


Power supply cables
control cabinet

Meanings of Symbols
Following signs incorporated in this Manual shall have the following meanings.

Symbol Description

Indicates an imminently hazardous situation, which if not avoided, will result


in death or serious injury.
Danger

Indicates a hazard with a medium or low level of risk, which if not avoided,
Warning could result in minor or moderate injury

Indicates a potentially hazardous situation, which if not avoided, could result


in equipment damage, data loss, performance degradation, or unexpected
Caution results.

Tips Assist users in solving problems or saving time.

Provides additional information to emphasize or supplement important points


Note of the main text.

Manual Index
Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-v
Instruction Manual of ER Series Industrial Robots Table of Contents

The manuals usually include: Operation Manuals, Instruction Manuals for Control Cabinet, and Instruction
Manuals for Main Units. For downloads, please visit the Download section at the website of ESTUN.

Manual Type Download Address Description

Operation Manuals Common manuals:  The Operation Manual


describes the functions of the
Operation Manual of ER Series Industrial Robots teach pendant and how to
reproduce the robots
RCS2 Commands System Manual for the ER
operations with the teach
Series
pendant
You can download the information you need by
visiting Download section at the website of
ESTUN and searching for the name of the
relevant manual.

Instruction Manuals for  You can download information on control  The Instruction Manual of
Control Cabinets cabinets in the "Downloads - Control Cabinets" Control Cabinet explains the
section. structure and functions of the
control cabinet and its
connection methods.

 The structure of the control


cabinet varies from series to
series, please refer to the
manual that comes with the
control cabinet.

 You can find the manual for the


control cabinet by referring to
"8.1 How to find the manual for
the corresponding control
cabinet according to the
nameplate".

Instruction Manual for  You can download information on control  These manuals provide detailed
Main Unit cabinets in the "Downloads - Instruction information about the "robots",
Manuals for Main Units" section. and how to install them.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-vi
Instruction Manual of ER Series Industrial Robots Table of Contents

Safety Precautions
Robots generally have requirements which are different from other manufacturing equipment, such as
larger working areas, high-speed operation, rapid arm movements, etc., which can pose safety hazards.
Read and understand the instruction manuals and related documents, and observe all precautions in order
to avoid the risk of injury to personnel and damage to equipment. It is the users responsibility to ensure
that their safe operating environment complies with and observes local and national safety-related laws,
regulations and ordinances.

Warning
Before using this manual, be sure to read this section and all the safety precautions in "Chapter 1 Safety".

 This manual explains teaching, playback, programs and file editing of the ER series robots. Read this
manual carefully and be sure to understand its contents before handling the robot.

 Some drawings in this manual are shown with the protective covers or shields removed for clarity. Be
sure all covers and shields are restored as required before operating this product according to this
manual.

 The drawings and photos in this manual are representative examples and differences may exist
between them and the delivered product.

 Estun may modify this model without notice when necessary due to product improvements, changes
in specifications and modification to the manual for easier use. For the latest version, please concern
our website, or contact our service department.

 It is not allowed to add or delete part or all of the content without our consent. Never use part or all of
the manual in the design of a third party.

 Estun is not responsible for incidents arising from unauthorized modification of its products.
Unauthorized modification voids your product’s warranty, and we bear no liability for the direct or
indirect losses arising from this.

Danger
 Use of E-stop button

Before operating the robot, check that servo power is turned off when the E-stop button on the front
door of the robot control cabinet and the programming pendant is pressed. In case of a servo
emergency, if the robot cannot be braked in time, a personal injury or equipment damage may then be
caused.
Once the servo power is turned on after the emergency stop is released, the accident that causing the
emergency stop must be eliminated before turning on the servo power. Robot actions caused by mis-
operation may result in the personal injury accidents.
Rotate

E-stop key Release of Emergency Stop

 Observe the following precautions when performing teaching operations within the working envelope
of the robot:

-View the robot from the front whenever possible.

-Always follow the operating procedure.

-Consider the contingency plan when the robot moves suddenly to the position you are located.

-Ensure that you have a safe place to retreat in case of emergency.


Improper or unintended robot operation may result in bodily injury.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-vii
Instruction Manual of ER Series Industrial Robots Table of Contents

 Confirm that no persons are present in the robot’s working envelope and that you are in a safe location
before:
 Turning ON the power of the control cabinet of robot.
 Moving the robot with the programming pendant.
 Running check operations.
 Performing automatic reproductions.
Injury may result if anyone enters the working envelope of the robot during operation. Always press an
E-stop button immediately if there are problems. The E-stop button is located on the right of the control
cabinet and the programming pendant.

Warning
 Perform the following inspection procedures prior to conducting robot teaching. If problems are found, repair
them immediately, and be sure that all other necessary measures have been performed.

Check for problems in robot movement.

Check for damage to insulation and sheathing of external wires.

 Always return the programming pendant to its original position after use.

The personal injury or damage to programming pendant may be caused if it is left in the robot, on the
floor, or near fixtures, as in such a way it may collide with the robot or fixtures.

 Read and understand the Explanation of Warning Labels in the instruction manuals of ER series
robots before operating the robot.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-viii
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Chapter 1 Safety
Robots generally have requirements which are different from other manufacturing equipment, such as larger working
areas, high-speed operation, rapid arm movements, etc., which can pose safety hazards. Read and understand the
instruction manuals and related documents, and observe all precautions in order to avoid the risk of injury to personnel
and damage to equipment. It is the users responsibility to ensure that their safe operating environment complies with
and observes local and national safety-related laws, regulations and ordinances.

1.1 For your safety


1. Teaching maintenance of the robot must conform to:

Industrial Safety and Health Law

Enforcement Order of Industrial Safety and Health Law

Ordinance of Industrial Safety and Health Law

2. Other related laws are:

Occupational Safety and Health Act in USA.

Factory Act (Gewerbeordnung) in Germany.

Health and Safety at Work, etc. Act in UK.

EC Machinery Directive 89/392 and EEC Council Directive 91/368.

3. SAFETY WORK REGULATIONS

Observe the “Robots and robotic devices - Safety requirements for industrial robots” (ISO 10218) for
safe operation of robots.

4. Other safety matters

Reinforce the SAFETY MANAGEMENT SYSTEM. Designate authorized workers and safety
managers, as well as give continuing safety education.

Teaching and maintaining the robot are specified as "Hazardous Operations" in the Industrial Safety
and Health Law (China only).

Workers employed in these above operations are requested to attend special training offered by

1.2 Specialized training


Persons who teach or inspect the robot must undergo required training before using the robot.

For more information about training, please contact Nanjing Estun Robotics Engineering Co., Ltd.

1.3 List of instruction manuals of robots


Please make sure that you have been provided with all the following commands. In case of any missing,
please contact Nanjing Estun Robotics Engineering Co., Ltd.

Instruction manuals of ER series robots

Electrical maintenance manuals of ER series robots

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-1
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

1.4 Safety precautions for operators


The maximum range of motion of the robot is potentially dangerous. All the involved workers (safety
managers, installers, operators, and maintenance workers) must always be safety oriented to guarantee
the safety of all workers.

Warning
 Avoid any dangerous operations in the area where the robot is installed.

There is a danger of injury if there is contact with the robot or peripheral equipment.

 Please take strict safety precautions by placing signs such as "Flammable", "High Voltage",
"Stopping", and "Off-limits to Unauthorized Personnel" in necessary areas in the factory.

Failure to observe these cautions may result in fire, electric shock, or injury due to contact with the
robot and other equipment.

 Strictly observe the following items:

Always wear approved work clothes (no loose-fitting clothes).

Do not wear gloves when operating the robot.

Do not allow underwear, shirts, or neckties to hang out from the work clothes.

Do not wear large jewelry, such as earrings, rings, or pendants.

Wear protective safety equipment, such as helmets, safety shoes (with slip-proof soles), face
shields, safety glasses, and gloves as necessary.

Improper clothing may result in bodily injury.

 Unauthorized persons should not approach the robot or associated peripheral equipment.

Failure to observe this may result in bodily injury due to contact with the control cabinet, the
workpiece, the positioner, etc.

 Never forcibly move the robot axes.

Failure to observe this may result in bodily injury or equipment damage.

 Never lean on the control cabinet, and avoid inadvertently pushing buttons.

Failure to observe this may result in bodily injury or damage by unexpected movement of the robot.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-2
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

1.5 Robot safety precautions


1.5.1 Installation and wiring safety
When installing and wiring, please check the detailed information from the ER series robot instruction
manual. During the installation preparation and installation process, the following matters should be
observed to ensure the safety of the installation process.

Danger
 Select an area such as that described below to install the robot: Confirm that the area is large enough
so that the fully extended robot arm with tool will not reach a side wall, safeguarding, or the control
cabinet.
Failure to observe this may result in bodily injury or damage resulting from unexpected movement of
the robot.

Safeguarding

1000mm or more

1000mm or more
1000mm or more

Max motion range of robot

Max working envelope of robot


including tool or workpiece

1000mm or more

 Perform grounding in accordance with all applicable electrical codes and rules for internal wiring.
Failure to observe this may result in fire or electric shock.

Caution
 Be sure there is sufficient room for maintenance on the robot, control cabinet, and other peripheral
equipment. Failure to observe this caution could result in bodily injury during maintenance.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-3
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

 The robot is controlled by a control cabinet or a control cabinet for fixture use.
To ensure safety, be sure to operate the controller from a location where the robot is easily visible.
Operation by unauthorized personnel may result in bodily injury or equipment damage.
 Install the control cabinet outside the safeguarding of the robot’s safety enclosure. Failure to observe
this caution may result in bodily injury or damage to equipment resulting from contact with the robot.
 Install the robot using bolts of the size and type specified for each robot in the instruction manual.
Failure to observe this may result in bodily injury or damage to equipment.
 Be familiar with the connection diagram before wiring the control cabinet, and perform the wiring in
accordance with the connection diagram. There is a danger of equipment damage or injury due to
wrong wiring and unexpected movement of the equipment.
 Protective measures shall be taken when wiring and piping between the control cabinet and robots and
peripheral equipment, for example, thread the pipes, wires or cables through the pit or cover with
protective covers to avoid being stepped on or being crushed by forklift.
 Operators and other personnel may stumble on exposed wiring or piping. Cable damage can cause
unexpected robot motion resulting in injury or property damage.

Safety first

Tube Wire
Wiring duct

1.5.2 Work area safety


Carelessness contributes to serious accidents in the work area. To ensure safety, enforce the following
precautions:

Danger
Install a safeguarding around the robot to prevent any accidental contact with the robot while the power is
ON. Post a warning sign stating "Off-limits during Operation" at the entrance of the enclosure. The gate of
the safeguarding must be equipped with a safety interlock.
Failure to observe this warning may result in a serious accident due to contact with the robot.

Warning
Store spare tools and similar equipment in proper locations outside of the enclosure.
Tools and loose equipment should not be left on the floor around the robot, control cabinet, or system
(welding fixture), etc., as personal injury or damage to equipment can occur if the robot comes in contact
with objects or equipment left in the work area.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-4
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

1.5.3 Operation safety

Danger
 When attaching a tool to the robot, be sure to turn OFF the power supply of the control cabinet and the
tool; lock the switch, and display a warning sign.

Turning the power ON during tool installation may case electric shock or injury due to unexpected
movement of the robot.
 Never exceed the rated capacity of the robot (capacity can be found in the specifications section of the
robot manual.)
Failure to observe this may result in bodily injury or damage to equipment.
 Teach jobs outside the robot’s work area whenever possible.
 Observe the following precautions when performing teaching operations within the working envelope of
the robot:
-Always view the robot from the front.
-Always follow the predetermined operating procedure.
-Always have an escape plan in mind in case the robot comes toward you unexpectedly.
-Ensure that you have a place to retreat to in case of emergency.
Improper or unintentional robot operation can result in injury.
 Before operating the robot, check whether the SERVO ON lamp on the programming pendant goes out
when the emergency stop buttons on the top right of front door of the control cabinet and programming
pendant are pressed. And confirm that the servo lamp is turned OFF.
Injury or damage to machinery may result if the robot cannot be stopped in case of an emergency.
 Prior to performing the following operations, be sure that no one is in the working envelope of the robot
when:
- Turning ON the power of control cabinet.
- Moving the robot with the programming pendant.
- Running the system in the check mode.
- Performing automatic operations.
Injury may result from contact with the robot if persons enter the working envelope of the robot.
Press the E-stop button immediately if there are problems.
The E-stop buttons are located on the top right of front door of the control cabinet and programming
pendant.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-5
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Caution
 Perform the following inspection procedures prior to teaching the robot. If problems are found, correct
them immediately, and be sure that all other necessary tasks have been performed.
 - Check for problems in robot movement.
- Check for damage to the insulation and sheathing of external wires.
 Always return the programming pendant to its hook on the control cabinet after use.
 If the programming pendant is inadvertently left on the robot, a fixture, or on the floor, the robot or a tool
could collide with it during robot movement, possibly causing injury or equipment damage.
 Persons operating or inspecting the robot should be trained as required by applicable laws and
company policies.

1.6 Notes for moving and transferring the robot


When moving or transferring the robot, observe the following safety precautions:

 Attach the commands to the robot when moving or transferring the robot so that all users have
access to necessary manuals. See 1.3 “List of instruction manuals of robots” for a complete list of
manuals.

 If any manuals are missing, contact the ESTUN Robotics Engineering Co., Ltd.

 If the warning labels on the robot and control cabinet are illegible, clean the labels so that they can be
read clearly. Note that some local laws may prohibit equipment operation if safety labels are not in
place.

 When the robot is transferred, it is recommended to check with the personnel dispatched by ESTUN
Robotics Engineering Co., Ltd.

Incorrect installation or wiring may result in personal injury and property damage.

 Never modify the robot or the control cabinet. Failure to observe this precaution could result in bodily
injury or damage resulting from fire, power failure, or operation error.

1.7 Notes on robot disposal


When disposing of the robot, follow the applicable national/ local laws and regulations.

Anchor the robot well, even when temporarily storing it before disposal. Failure to observe this precaution
may result in injury due to the robot falling down.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 1-6
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Chapter 2 Product Confirmation

2.1 Product confirmation


2.1.1 Contents confirmation
Confirm the contents of the delivery when the product arrives. Standard delivery includes the following four
items: (information for the content of optional goods is given separately).
 Robot
 Control cabinet
 Programming pendant
 Power supply cable (between robot and control cabinet)

Figure 2-1 Diagram of packing list


Robot
Control cabinet

Programming
pendant

Power supply cable

2.1.2 Order number confirmation


Confirm whether the order number pasted on the robot and control cabinet match.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-1
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

2.2 Control cabinet


This section takes the standard control cabinet as an example and gives a brief introduction to the
appearance of the control cabinet and the buttons. The appearance of the buttons and internal structure of
the control cabinet varies from model to model. For detailed descriptions, please refer to the instruction
manual supplied with the model of control cabinet.

The appearance of the control cabinet and the distribution of buttons on the exterior of the electrical
cabinet are shown in Figure 2-2.

Figure 2-2 Appearance of the controller

E-stop

Paste lightning sign

Paste safety labels


(in English)
Paste safety labels
(in Chinese)

The distribution and illustrations of the control cabinet panel keys are shown in Figure 2-3.

Figure 2-3 Distribution of buttons on the control cabinet

Local E-stop button


E-stop

Local/remote switchover

STOP button

Run button and LED

The internal layout of the electrical cabinet is shown (the layout of the control cabinet varies between
robots):

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-1
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Figure 2-4 Internal layout of the electrical cabinet

Circuit breaker Driver

AC contactor Heat exchanger

IO module
Ground copper busbar

Controller
Switching power supply

External interface
Relay module

Filter

Tube type resistor

Fan

Transformer

Main power cable M25 reserved interface

RJ45 interface

IO cable interface Teach pendant cable


interface

Encoder cable
Heavy-duty connector
reserved interface

2.3 Programming pendant


2.3.1 Appearance
The programming pendant consists principally of the keys and buttons required to teach and program the
robot.

Figure 2-5 Appearance of programming pendant

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-2
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Table 2-1 Structure members of programming pendant


S/N Description

1 Display screen

2 E-stop button

3 Mode selector switch

4a, 4b, 4c General functional keys

5 Status indicator

6 Servo enabling switch

7 Suspension handle

8 Cable entry area

9 USB slot

10 Touch pen

2.3.2 Touch pen


The touch pen is supplied with the teach pendant and is placed on the back of the teach pendant and can
be pulled out when in used. No screwdrivers or other sharp objects should be used when clicking on the
display of the teach pendant with the touch pen.

2.3.3 USB slot


Connect a USB memory to the USB port to read or save files.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-3
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

2.3.4 Keys

Function keys
Function keys are arranged under the programming pendant. Table 2-2 lists the functions of each key.

Table 2-2 Function keys


Key Function description

Shortcut Menu key

Servo Enable key

Coordinates Selector key


Allow the switching of robot coordinates in jog mode, including joint coordinates,
world coordinates, user coordinates and tool coordinates
Reverse Program Execution key
Press this key in manual mode to switch to execute in reverse order, and press it
again to switch back to normal order.

Playback Selector Key in teach mode


Choose the running mode when under Playback mode, including single-step and
continuous modes.

Key used to decrease the speed. Press or click V- in remote mode to reduce the
global speed.

Key used to increase the speed. Press or click V+ in remote mode to increase the
global speed.

Menu keys
The menu keys are arranged on the left side of the programming pendant. Table 2-3 lists the functions of
each key.

Table 2-3 Menu keys


Key Function description

System Setup
In this menu interface, user login, version information and other functions are
available
Project Management
In this menu interface, you can perform the Project Management, such as import
and export, create, delete, rename, etc.
Program Editing
In this menu interface, the program editing is available, such as inserting and
modifying teaching commands, etc.
Program Data
In this menu interface, you can perform the operation such as create, assign, and
manage variables.
I/O Detection
In this menu interface, you can perform operations such as monitoring the system
I/O signals and I/O signal diagnosis.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-4
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Key Function description

Location Management
In this menu interface, you can set the teaching operation parameters, such as jog
speed, coordinates switching and so on.
System Log
This menu interface displays all system operation feedback information, including
prompts, warnings, errors, etc.

Axis Operation Keys


Axis Operation Keys are arranged on the right side of the programming pendant. Table 2-4 lists the
functions of each key.

Table 2-4 Axis Operation Keys


Key Function description

START button: Button to start the Teach Playback

STOP button: Button to stop the Teach Playback

Positive Jog Key


 It corresponds to the positive movement of the joint under the joint
coordinates,
 It corresponds to the positive movement of X, Y, Z, A, B, and C under the
base coordinates,
 It corresponds to the positive movement of TX, TY, TZ, TA, TB, TC under tool
coordinates (refer to section 3.2.1 Robot Coordinate System for the
introduction of coordinates)
Negative Jog Key
 It corresponds to the negative movement of the joint under the joint
coordinates
 It corresponds to the negative movement of X, Y, Z, A, B, and C under the
base coordinates,
 It corresponds to the negative movement of TX, TY, TZ, TA, TB, TC under
tool coordinates.

2.3.5 Display
Display Area
The display screen of the programming pendant is a 7-inch color display, on which the figures, letters and
symbols are displayed. The display screen is divided into 4 areas, the general display area, status display
area, shortcut button display area and jog display area. The display area interface of the programming
pendant is shown in Figure 2-6.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-5
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Figure 2-6 Display area of programming pendant

Shortcut button Status display Shortcut button

General-purpose display
Jog display area

Shortcut button display

General-Purpose Display Area


On the general-purpose display area, various settings and contents such as jobs, characteristics files and
settings can be displayed and edited.

Status Display Area


The Status Display area shows system status, including operation mode, servo status, jog coordinates and
jog speed, etc., as shown in Figure 2-7.

Figure 2-7 Status display area of programming pendant

Table 2-5 Display content of status area


Status Description
Programming pendant running mode
: Playback mode

Mode indication : Teach mode


: Operation prohibited mode

: Remote mode

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-6
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Status Description

: Joint coordinates
: Cartesian coordinates
: Tool coordinates
Jog coordinates : User coordinates

: External tool coordinates

: Positioner coordinates

Robot servo status

: Servo enabled

: Servo not enabled


Servo status
: Servo enabled, but there is zero loss

: Servo not enabled, but there is zero loss

: Automatic servo de-excitation


Motion mode of Playback

: Single-step running mode


Running mode
: Continuous running mode

: Reverse running mode


Playback running status

: RUN
Running status
: PAUSE

: STOP

: E-stop button not pressed


E-stop status

: E-stop button pressed


Display the current status of enable switch of programming pendant:

Enabling status : Enable switch not powered on

: Enable switch powered on

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-7
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Status Description

Display the percentage of the current global speed. The minimum global speed
is 1%. Click to select the global speed.

Current speed

Display current user permissions:


: Visitor

User status : User


: Administrator

: Debugging

Shortcut Button Display Area


Display the functions of each shortcut button on the current page.

Jog Display Area


Display the current jog mode corresponding to the jog key. For example, when the jog display area
displays A1, A2, A3, A4, A5, A6, it corresponds to the Joint Jog mode.

2.3.6 Mode switches


Toggle the keys to switch between the three modes. Three modes are available for system running:

1. Turn the key above the actual teach pendant to switch the robot from AUTO mode to MANUAL mode
and the speed is automatically adjusted to 10%.

2. In remote mode, press or click on the teach pendant V+ to increase the global speed and press or
click on V- to decrease the global speed.

3. The minimum global speed of 1% is supported.

Manual Mode (Teaching Mode)


You can do followings under teach mode:
 Edit and teach the programs
 Revise the program that have already been logged in
 Set program files and parameters.

Auto Mode (Playback mode)


You can perform following operation under Playback mode:
 Playback of teaching program
 Setting, modification or deletion of program files.

Remote Mode
System may call out the programs stored in the memory at any time for editing and execution.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-8
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

The program to be edited is called "Editor Program", which is the program displayed when the program
content is displayed in the teaching mode.

The program to be executed is called "Executive Program", which is the program displayed when the
program content is displayed in Playback mode.

Figure 2-8 Correspondence between running mode and program

When switching the motion mode on the programming pendant, there will be no conversion between the
editing program and the executive program. To run an editing program in Playback mode, you need to
change the mode to Playback mode, and then read the program.

2.3.7 E-stop buttons


The E-stop button is locked when pressed, the servo power is cut off and the robot becomes inoperable.
Users can press this button to get protective measures in case of an emergency.

Location: E-stop button on the front panel of the control cabinet or on the teach pendant.

E-stop: Press the E-stop button on the front panel of the control cabinet or the E-stop button of the teach
pendant.

Release E-stop: Turn the button in the direction indicated on the button, as shown in the figure below.

Figure 2-9 Release E-stop status

Turn

2.3.8 Servo enable switch


In teach and jog modes, to enable the servo (excitation), you need to press the servo enable switch. It
serves to control the turn-on and turn-off of the enable signal.

Switch Position: On the right-hand handle of the teach pendant

Enabling signal ON: first contact point at which the switch is pressed.

Enabling signal OFF: switch pressed to the bottom or switch button released.

2.3.9 Signal definition of internal wiring terminal of programming


pendant
Table 2-6 Definition of I/O terminal block pin signals
I/O terminal block pin S/N Signal definition

1 ENABLE_ED1+ (Enable switch signal 1 input)

2 ENABLE_ED1- (Enable switch signal 1 output)

3 ENABLE_ED2+ (Enable switch signal 2 input)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-9
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

I/O terminal block pin S/N Signal definition

4 ENABLE_ED2- (Enable switch signal 2 output)

5 NC

6 +24VDC

7 GND

8 E-STOP_ES1+

9 E-STOP_ES1-

10 E-STOP_ES2+

11 E-STOP_ES2-

Table 2-7 Definition of RJ45 pin signals


I/O terminal block pin S/N Signal definition

1 TD+

2 TD-

3 RD+

4 -

5 -

6 RD-

7 -

8 -

2.3.10 Programming pendant cables


Signal definition of aviation plug interface

Table 2-8 Definition of aviation plug interface signal


Signal S/N Wire color Signal definition

1 Pink 24VDC

2 Black GND

3 Brown-green E-STOP_ES1+

4 White-green E-STOP_ES1-

5 Gray-pink E-STOP_ES2+

6 Red-blue E-STOP_ES2-

7 Brown ENABLE_ED1+ (Enable switch signal 1 input)

8 Yellow ENABLE_ED1- (Enable switch signal 1 output)

9 - -

10 - -

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-10
ER 系列工业机器人操作手册 Chapter 2 Product Confirmation

Signal S/N Wire color Signal definition

11 Purple -

12 Green ENABLE_ED2+ (Enable switch signal 2 input)

13 Blue TD+

14 White TD-

15 Orange RD+

16 Red RD-

17 Grey ENABLE_ED2-(Enable switch signal 2 output)

Connection between cable and control cabinet

Figure 2-10 Connection between the programming pendant cables and control cabinet

17 pins (female) 17 pins (male)

View from View from


connecting end connecting end

The signal definition of each pin of K1 and K2 is the same as that listed in the signal definition of the
aviation plug interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 2-11
ER 系列工业机器人操作手册 Chapter 3 Product Use

Chapter 3 Product Use


It is necessary to install and connect the product before use.

3.1 Connection methods


Prior to use, please ensure that the robot, control cabinet and teach pendant are properly connected and
that the equipment is available. For connection methods, please refer to the Instruction Manual for Main
Unit of ESTUNs XX Series Robots .

Complete the connection of the robot, the control cabinet and the programming pendant by referring to the
following steps.

Step 1 Unpack, take out the power supply cable and connect the cable to the socket on the back of the control
cabinet.

Step 2 Connect the robot to the control cabinet.

Step 3 Check the shape and size of the cable connectors and the position of the sockets on the robot, insert the
cable into the appropriate socket and secure it firmly.

Step 4 Connect the cable from the programming pendant to the interface of the control cabinets teach pendant

Mating mark

----END

3.2 Operating instructions


3.2.1 Robot coordinates
The main types of robot coordinates are as follows:

Name Definition Function

Joint Each axis of the robot performs individual The axes A1, A2, A3, A4, A5
Coordinates movements. and A6 of the robot move
separately.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-1
ER 系列工业机器人操作手册 Chapter 3 Product Use

Cartesian The end points of the robot can move and The robot control points
Coordinates rotate in parallel along the X-, Y- and Z- move and rotate in parallel
axes, which are set in the Cartesian along the X, Y and Z axes.
Coordinates.

Tool The tool coordinates are defined at the tip The robot control point
Coordinates of the tool, assuming that the effective moves in parallel along the
direction of the tool mounted on the robot X, Y and Z axes set at the
wrist flange is the Z-axis. tip point of the tool.

Joint Coordinates
When operating in joint coordinates mode, the A1, A2, A3, A4, A5 and A6 axis of the robot moves
independently. The motion direction of each axis under joint coordinates is shown in Figure 3-1.

Figure 3-1 Motion direction of each axis under Joint Coordinates

The actions of each axis when pressing the Axis Operation Key are listed in Table 3-1.

Table 3-1 Actions of each axis when pressing the Axis Operation Key
Axis name Motion

A1 Main unit rotates right and left.

Upper arm moves forward and


A2
backward.

A3 Lower arm moves up and down.

A4 Wrist rolls right and left.

A5 Wrist moves up and down.

A6 Flange turns right and left.

Cartesian Coordinates
In the Cartesian Coordinates, the control point of robot moves parallel to the X-, Y-, or Z-axes. The motion
direction of each axis is shown in Figure 3-2.

Figure 3-2 Motion direction of each axis under Cartesian Coordinates

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-2
ER 系列工业机器人操作手册 Chapter 3 Product Use

Actions of each axis when pressing the Axis Operation Key are as shown in Table 3-2.

Table 3-2 Actions of each axis when pressing the Axis Operation Key in Cartesian Coordinates
Axis Motion

Move along the X direction of the


X
Cartesian Coordinates

Move along the Y direction of the


Y
Cartesian Coordinates

Move along the Z direction of the


Z
Cartesian Coordinates

Rotate around the Cartesian


A
Coordinates in X direction

Rotate around the Cartesian


B
Coordinates in Y direction

Rotate around the Cartesian


C
Coordinates in Z direction

Tool Coordinates
The tool coordinates are defined at the tip of the tool, assuming that the effective direction of the tool
mounted on the robot wrist flange is the Z-axis. When it is set to Tool Coordinates, the robot control point
moves in parallel along the X-, Y-, and Z-axes set at the tip point of the tool.

Figure 3-3 Definition of tool coordinates direction

When the Axis Operation Key is pressed, the motions of each axis are shown in Table 3-3.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-3
ER 系列工业机器人操作手册 Chapter 3 Product Use

Table 3-3 Axis motion corresponded to Axis Operation Key under Tool Coordinates
Axis name Motion

Move along X direction of Tool


TX
Coordinates

Move along Y direction of Tool


TY
Coordinates

Move along Z direction of Tool


TZ
Coordinates

Roll around X direction of Tool


TA
Coordinates

Roll around Y direction of Tool


TB
Coordinates

Roll around Z direction of Tool


TC
Coordinates

The movement of tool coordinates is based on the effective direction of the tool, but has no connection
with the position and posture of the robot. In this case, it would be most suitable for parallel movement
operations without changing the posture of the tool relative to the workpiece.

Figure 3-4 Parallel movement operation in the Tool Coordinates

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-4
ER 系列工业机器人操作手册 Chapter 3 Product Use

3.3 Start/stop sequence


Figure 3-5 Start/stop sequence diagram of the robot controller

Remote Mode External Startup Timing Diagram

Signal name Signal direction

Robot

Emergency stop status

Servo power on

Robot enable

Program loading status

Program running

Servo connected

Load program

External startup

External pause

External E-stop

Log out program

3.3.1 Teaching

Precautions
1. After the mode knob is turned to manual mode under programming pendant mode, users may
hold tightly the safety switch in case of mis-operation for its human instinctive reaction. The safety switch is
of a two-stage switch, and the servo will be powered off when pressing it to stage 2.

Confirmation of emergency stop


Before operating the robot, press the E-stop button on both the electrical cabinet and the programming
pendant to confirm whether the servo power is cut off.

Table 3-4 Steps to confirm E-stop button functions


S/N Item Description

Press the E-stop button on the electrical cabinet or the


1 E-stop button
programming pendant

When the servo power is turned on, the servo power-on


Confirm that the servo icon on the programming pendant is ON. After pressing the
2
power is cut off E-stop button, the servo power is cut off and the icon will
OFF.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-5
ER 系列工业机器人操作手册 Chapter 3 Product Use

S/N Item Description

After it is confirmed to be normal, press to make the


3
Press servo power supply in the state of excitation, and the Mot
indicator on programming pendant is always ON.

Preparation for teaching


Perform the following tasks before starting to teach.
 Check the electric control cabinet and the main unit, for example, if the power cord, servo port and controller port of
the control cabinet are properly connected, and if there are foreign objects on the main unit.
 Start the electric control cabinet and confirm that all parts are in proper working condition. (For details, please refer
to 2.2 Control cabinet)
 Turn on the main power of the servo, and test the E-stop keys on the electric control cabinet and the programming
pendant.
 Turn the mode switch on the programming pendant to teaching mode.
 Press the manual switch at this time to perform the axis operation using the axis operation keys (for the axis motion
corresponded to the Axis Operation Key, see 3.2.1 Robot coordinates).

Basic steps for teaching

Create New Job


When teaching, you can record the taught robot trajectory through commands. When replaying, the
teaching action can be replayed by using the recorded commands. The steps for creating a new job are as
follows.

Step 1 Click , or the “Project Management” in the main interface to enter to the Project Management
interface.
Step 2 Click "Create", and the "New Job" dialog box will pop up, as shown in Figure 3-6.

Figure 3-6 Dialog box of new job

Step 3 Select "New Job" from the drop-down list to the right of "Please select a job".

Step 4 Click the input box of "Please enter the job name", and enter the name of the job to be created in the pop-
up soft keyboard, i.e. project0.

Step 5 Click the input box of "Please enter the job name", and enter the name of the job to be created in the pop-
up soft keyboard, i.e. program0.

Step 6 Click "OK" to create a new job or program successfully, and the interface jumps directly to the Job Editing
interface, as shown in Figure 3-7.

Figure 3-7 Job editing interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-6
ER 系列工业机器人操作手册 Chapter 3 Product Use

Step 7 Edit commands in the job interface. The commands that control the robot's motion are motion commands.
In the movement instructions, the position of the movement, the interpolation mode, the playback speed,
etc. are recorded (for other types of commands, please refer to the appendix “Types of Basic Commands”).
MovJ (P1, V50, ”RELATIVE”, C0) //点到点的运动方式
MovL(P2, V50, ”RELATIVE”, C0) //直线的运动方式

----END

Teaching overview

Warning
When performing teaching operations, make sure that a safe distance is maintained between the operator
and the robot.

The program describes the robots work using the robot language. Now input the following processing
program from Point A to B for the robot. This program consists of 6 steps from 1 to 6.

Figure 3-8 Running path of teaching program

Step 6

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-7
ER 系列工业机器人操作手册 Chapter 3 Product Use

Step 1: Start Position


Move the robot to a safe work position away from surrounding objects, and enter Step 1.

Figure 3-9 Start point of teaching program

Step 1 Grip the enable switch, and move the robot to the start position using the Axis Operation Keys. Set the
starting position at a safe position suitable for job preparation.

Step 2 Press the "Create" button in the job interface, and select "Motion Command→MovJ" from the list.

Step 3 Click "OK" to enter the command editing interface of MovJ, as shown in Figure 3-10.

Figure 3-10 The command editing interface of MovJ

Step 4 After clicking "Teach", Point P1 records the robot sitting posture at Step 1 by this moment. Step 1 is taught
after clicking "Insert", and the commands displayed in the program interface are as follows:
MovJ (P1, V50, “RELATIVE”, C0)

----END

Step 2: Near the Work Start Position

Figure 3-11 Step 2 teaching

Make the robot in the work posture using Axis Operation Keys. Teach step 2 by utilizing the method of
teaching step 1: starting position. The program commands are as follows upon teaching:
MovJ(P2, V50, “RELATIVE”, C0)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-8
ER 系列工业机器人操作手册 Chapter 3 Product Use

Step 3: Work Start Position


Move the robot to the work start position (Step 3) with the pose as shown in Step 2.

Figure 3-12 Step 3 teaching

Step 1 Keep the posture of Step 2 the same, and click . Set the robot coordinate system to a Cartesian
Coordinates, and move the robot to the starting position of the job using the axis operation keys.

Step 2 Press "Create" in the job interface, to enter the command interface and select the linear interpolation
command.

Step 3 Click "Teach" to have the teaching of Step 3 done. The program commands are as follows.
MovL (P3, V50, “RELATIVE”, C0)

----END

Step 4: Work End Position


Specify the work end position.

Figure 3-13 Step 4 teaching

Move the robot to the work end position with the Axis Operation Keys. While the robot is moving from
starting position to the end position, keep a wide enough distance to ensure it will not strike the workpiece.

Use the method in the same way as the teaching Step 1 by adding a linear interpolation command. P4 is
the sitting posture of the robot at Step 4. The program commands are detailed as follows.
MovL (P4, V50, “RELATIVE”, C0);

Step 5: Position Away from Workpiece and Fixture


Move the robot to a position where it will not strike the workpiece or fixture.

Figure 3-14 Step 5 teaching

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-9
ER 系列工业机器人操作手册 Chapter 3 Product Use

Move the robot with the Axis Operation Keys to a position where it will not strike the fixture. Use the
method in the same way as the teaching Step 1 by adding a linear interpolation command. P5 is the sitting
posture of the robot at Step 5. The program commands are detailed as follows:
MovL (P5, V50, “RELATIVE”, C0);

Step 6: Near the Start Position

Figure 3-15 Step 6 teaching

Move the robot with the Axis Operation Keys to a position near the start position in the Joint Coordinates.
Use the method in the same way as the teaching Step 1 by adding a linear interpolation command. P6 is
the sitting posture of the robot at Step 6. The program commands are detailed as follows:

MovJ (P6, V50, “RELATIVE”, C0);

Ensuring the First and Last Step are Identical


The robot has stopped at Step 6, which should be very close to Step1. It is possible to move directly from
the welding end position of Step 5 to Step1, so that the robot can begin the next welding job quickly and
efficiently.

The following operation will make Step 6 (end position) and Step1 (start position) identical.

Figure 3-16 Modify Step 6 to Step 1

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-10
ER 系列工业机器人操作手册 Chapter 3 Product Use

Step 2 Move the cursor to Step 1; click "Set Pointer" button, press "Step" to select the single-step mode. After
setting the speed within 10%, press "Start" and the program starts to run, then move the robot to Step 1.

Step 3 Move the cursor to Step 6. After pressing "Modify", the modification interface appears.

Step 4 Press “Teach” key. This will change the position of Step 6 to be the same as Step1.

----END

Path confirmation

The job is now complete. Please run the next job, and try to check each step separately to ensure there
are no problems. When confirming the path, make sure that the programming pendant is in the teaching
mode, and the enable switch is pressed at time of motion.

Step 1 Move the cursor to Step 1, and click “PC”.

Step 2 Click to choose the single-step mode.


Step 3 Press the speed increase and decrease keys to set the speed within 10%.
Step 4 Press the enable switch, and the robot servo enables.

Step 5 Press , and the program starts operation in single-step mode. The robot runs a command program

each time you pressing the .


Step 6 When you finish step confirmation, move the cursor to the beginning of the job.

Step 7 Press to run all the steps continuously. After pressing , the robot plays back all the steps
continuously and stops when one cycle is finished.
Note
When running a path in teaching mode, the trajectory speed is limited by the national standard
speed, with a maximum linear speed of 250mm/s and a maximum posture speed of 180deg/s

----END

Correcting a Job

If the actual robot trajectory differs from the expected one, the robots trajectory can be adjusted by
modifying the step position and speed in a job.

Before Correction
Confirm the robot’s motion in each step. If any position modification or adding or deleting of steps is
necessary, edit the job content by following the procedures below.

Step 1 Press , or the “Project Management” on the main interface to enter the Project Management interface.
Step 2 Select the job to be edited.
Step 3 Click "Load" and enter the job editing interface.

----END

Changing the Position Data

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-11
ER 系列工业机器人操作手册 Chapter 3 Product Use

Change the position registered in Step 2.

Figure 3-17 Change the position of Step 2

Step 1 Using the above method, set it to single-step mode set the speed within 10%, and press to move

the robot to Step 2 to be modified. The robot moves a step by pressing the once.
Step 2 Move the robot to the modified position with the Axis Operation Keys, as shown in the new Step 2 in Figure
3-17.
Step 3 Press “Modify” to enter the point correction interface.
Step 4 Press “Teach”. The step’s position data is changed.

----END

Adding a Step
Add a new step between two steps. For example, add a step between Step 5 and Step 6 as follows.

Step 1 Move the robot to Step 6 by pressing . Make sure that the robot can move to position 6 from the
current position without collision before moving.
Step 2 Move the robot to the position at which you wish to add a step using the Axis Operation Keys.
Step 3 Add a joint interpolation command with reference to the “Adding Step 1”.

----END

Deleting a Step
Delete the step you just added. Return to the state on the original right picture from the state on the right
picture below.

Figure 3-18 Deleting a step

Enter the job editing interface; click the command to be deleted; then click "Delete" on the right, and "OK"
in the "Delete a Command” prompt box.

3.3.2 Playback
Preparation before playback
Precautions:

Check that there are no operators or other staff in the work area before operation.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-12
ER 系列工业机器人操作手册 Chapter 3 Product Use

Check that the E-stop buttons on the teach pendant and control cabinet is inactive.

The program after the teaching execution is called Playback. Before playback, make sure that the following
is done:

Step 1 Make sure that the operator and other staff are outside the working envelope of robot prior to re-operation.

Step 2 Make sure that the E-stop keys on the electric control cabinet and the programming pendant are in an
invalid state.

Step 3 Load the project file for playback.

Step 4 Select the program to be executed first, and then click "PC" to ensure that the program is executed from the
first line.

Step 5 Press the speed increase or decrease key to set the speed to the desired.

----END

Playback procedure
Step 1 Set the mode knob on the programming pendant to Auto mode, and move the cursor to the beginning of the
program.

Step 2 Click the , and power on the servo.

Step 3 Click the , and the robot will stop after one cycle of program under the playback.

----END

Stop and restart


Causes for stopping the robot in motion or enabling the robot to stop automatically are detailed as follows:
 Stop operation or emergency stop temporarily
 Stop by alarm
 Other stops
 Stop by the operations

Start-stop specifications
1. Do not switch the power on and off frequently, as this may damage the drive. Each time the power is
switched on and off, the time interval should be 60s or above.

2. Before powering off, please ensure that the machine is in a stopped state. Stop the program before
powering off.

Hold
 Stops using the programming pendant
− Hold

Press on the programming pendant, and the robot stops.


− Release

Press on the programming pendant. The robot restarts its operation from the position where
it was stopped.
 Stops using an external input signal (system input)
− Hold
Turn ON the hold signal from an external input. The robot stops temporarily.
− Release
Turn off the hold signal from an external input. The robot restarts its operation, beginning from the
position where it was stopped.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-13
ER 系列工业机器人操作手册 Chapter 3 Product Use

Caution
When the program is halted, it will automatically go to the stop state when the following operations are
performed:
 Program context changes, such as project loading/deregistration, command addition, deletion, etc.
 Setting up the PC
 Switch system mode
 End
 Jog operation
 Homing operation
 Operation of some other system settings

Emergency Stop
An emergency stop can be performed by using either of the following:
 Programming pendant
 Front panel of control cabinet
 External input signal (system input)

[E-STOP] Power off the robot by pressing the E-stop button of the programming pendant or control cabinet,
and the robot stops immediately.

[Release] Turn the E-stop button in the direction of the arrows. Then press and power on the servo.

Restart after Emergency Stop

Warning

Prior to restarting after an emergency stop, confirm the position by clicking and make sure there is
no interference with the workpiece or fixture.
The application of an emergency stop during high speed operations on continuous steps can result in the
robot stopping two or three steps prior to the step that is being displayed. There is a risk of interference
with the workpiece or fixture when the robot is restarted under such conditions.

Stop by Alarm
If an alarm occurs during operation, the robot stops immediately and the Alarm window appears on the
programming pendant indicating users can enter the system log interface to view the detailed alarm.

Type of alarm Alarm release

Minor fault Select “Clear Alarm” under the Alarm window to


release the alarm status.

Major fault Turn OFF the main power supply and remove the
cause of the alarm.

Others
 Temporary Stop by Mode Change
When the playback mode is switched to the teach mode during playback, the robot stops immediately.
To restart the operation, return to the playback mode and perform a start operation.
 Temporary Stop by the PAUSE Command

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-14
ER 系列工业机器人操作手册 Chapter 3 Product Use

When the PAUSE command is executed, the robot stops operating.


To restart the operation, perform a start operation. The robot restarts from the next command.

Modifying playback speed


Users can modify the playback speed by means of the speed increase or decrease keys in the following
way:
 Speed can be modified during playback.
 Speed can be changed experimentally, and modification can be performed when the actions are determined.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 3-15
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Chapter 4 Introduction to System Functions


The interaction between the robot controller and the user is performed through the programming pendant.
Programming pendant is an important part of the robot control system. The operator manually teaches
using the programming pendant, controls the robot to produce the different poses, and records the
coordinates of each pose; use the robot language to program online, realize the program playback, and
enable the robot to move along the path required by the program. Programming pendant consists of the
following functional component:

The programming pendant we use provides functional components including:

Name Description Shortcut key

User Administration: In this menu interface, user login, version


information and other functions are available
System
Setup General Settings: -

Advanced Settings: -

Project In this menu interface, you can perform the Project Management,
Management such as import and export, create, delete, rename, etc.

Program In this menu interface, the program editing is available, such as


Editing inserting and modifying teaching commands, etc.

Program In this menu interface, you can perform the operation such as
Data create, assign, and manage variables.

In this menu interface, you can perform operations such as


I/O Detection
monitoring the system I/O signals and I/O signal diagnosis.

Location In this menu interface, you can set the teaching operation
Management parameters, such as jog speed, coordinates switching and so on.

This menu interface displays all system operation feedback


System Log
information, including prompts, warnings, errors, etc.

4.1 Project Management


Press or click on "Project Management" on the main screen to enter the Project Management
interface, which consists of a status bar, function keys at the bottom and function keys on the right, as
shown below:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-1
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

1. Status Display Bar:

Project List: Displays the project name, click on to expand all program files under the project
directory.

Load Status: Displays whether the project or program is "loaded", the default display is blank, then
"loaded".

Running Status: Displays whether the project or program is running, with "running", "paused" or
"stopped" available under running status.

Self-trigger: Displays whether the program is set to "Self-trigger". The default display is blank, and
when enabled, the display shows "Self-starting".

Write Protection: Displays whether the program is set to "Write Protection". The default display is
blank, "read-only" appears when switched on.

2. Function Keys at the Bottom

Load: Loads a project or program from an existing project, allowing you to load the program directly.

Logout: Used in conjunction with Load, the button is greyed out when the file is not loaded.

Open: can only open program files. you need to load the project before opening; opening is not the
same as loading, when running you will be prompted to import the program first.

Self-trigger: Automatically loads the program file set in remote mode; a pop-up window will appear if
the program is not compatible with the self-trigger.

Rename: Rename the project or program name, not case sensitive.

Refresh: Refreshes the current interface.

Write Protection: Read-only program, which cannot be modified.

 Turn ON: Select the desired program, click on the "Write Protection" button. After turning
on "Write Protection" according to the prompts on the interface, the user cannot modify
the contents of the program, as the global variables, project variables and program
variables in the program cannot be changed.

 Cancel: Select the program again and click on the "Cancel Write Protection" button, and
user can change the program after cancel the write protection according to the prompts.

 If this button is greyed out, it means that the current user does not have access to the
program. This function can only be operated by "Admin" and "Factory Personnel".

3. Function keys on the right

Create: to create a new project or a new program file under an existing project;

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-2
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Copy: to copy an existing project or program file and prompt for renaming of the copied project or
program after clicking Paste;

Paste: used in conjunction with the copy function;

Delete: to delete a project or program that is not needed;

Admin: to import and export a project;

Find: to find a program;

Program Information: to view the status information of the selected program and add notes.

4.1.1 Creating a New Project or Program


Create a new project or a program by following the procedure below.

Step 1 Click , or the “Project Management” on the main interface to enter Project Management interface, as
shown in Figure 4-1. In the Project Management interface, click "Refresh" below to update the list of project.

Figure 4-1 Project Management interface

Step 2 Select "File→Create" on the right, and the "Create a Program" dialog box will pop up, as shown in Figure 4-2.

Tip
In other interfaces, select "File→Create" on the right to perform the operation of creating a new project.

Figure 4-2 Dialog box of “Creating a new project”

Step 3 To create a new project, select "Create a New Project" from the drop-down list on the right of "Select a
Project".

If you want to create a new job in a project, select the desired project name in the drop-down list and skip to Step 5.

Or, select a desired project in the project list in advance, and then click "Create".

If there is no program in the project list, the option "Create a Project” is in default.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-3
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 4 Click the input box of "Please enter the project name", and enter the name of the project to be created in the
soft keyboard popped up, for example, project0.

Step 5 Click the input box of "Please enter the program name", and enter the name of the program to be created in
the soft keyboard popped up, for example, program0.

Step 6 Click "OK", a new project or program is then created. The interface jumps directly to the program editing
interface, as shown in Figure 9-3.

Figure 4-3 Program editing interface

----END

4.1.2 Deleting a New Project or Program


Delete a project or a program by following the procedure below.

Step 1 Click the project or program to be deleted in the Project Management interface, for example, project0.

Note
1. To delete a project that has been "loaded", you need to click "Cancel" below before performing the
normal delete operation.
2. To delete a program, you must ensure that the project in which the program is located is logged out
before deleting.

Step 2 Click "Delete" on the right, and a prompt box will pop up, as shown in Figure 4-4.

Figure 4-4 Prompt box for deleting a project or program

Step 3 Click "OK" to delete the project.

----END

4.1.3 Renaming a Project or Program


Rename a project or a program by following the procedure below.

Note V1 18 (for RCS2 V1.30)


Document version 2023 ESTUN Robotics. All Rights Reserved. 4-4
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

1. To rename a project that has been "loaded", you need to click "Cancel" below before performing the
renaming operation.
2. To rename a program, the project in which the program is located cannot be "loaded" and must be
"logged off" before the program can be renamed.

Step 1 Click the project or program to be renamed in the Project Management interface, for example, project0.

Step 2 Click the "Rename" below.

Step 3 Click "Enter a new project name", and enter the new name in the pop-up soft keyboard.

Step 4 Click "OK", and the rename operation is done.

----END

4.1.4 To copy/paste a project or program


Copy and paste a project or a program by following the procedure below.

Step 1 Click a project or program to be copied in the Project Management interface, for example, project0.

Step 2 Click "Paste".

Note
The same program cannot be copied and pasted into different project directories.
When a program is to be copied, if the pasted path is under another project, the prompt message "Unable
to copy the program to another project!" will pop up. Please click and select the correct project before
proceeding.

Step 3 Click "Please enter a new project name", and enter the new project name in the soft keyboard.

Step 4 Click "OK" to finish the copy/paste operation.

----END

4.1.5 Load/Cancel a New Project or Program

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-5
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

In the project list, the "Loading Status" column already shows the project or program being loaded.

Only one project or program can be loaded. When another project or program is loaded, the previously
loaded project or program will be automatically cancelled.

To load or log off a project or program, click the project or program you want, and then click "Load" or
"Cancel".

4.1.6 Self-triggered Program


The self-trigger function can only be set for programs, not for projects. If a program is set to " self-
triggered", it will be loaded automatically when the remote mode is enabled.

Step 1 Select the program that needs to be self-triggered in the project list.

Step 2 Click on the "Self-trigger" button below.

Step 3 Click on "OK" in the pop-up dialog box to complete the self-trigger operation of the program.

4.1.7 Write Protection


The Write Protection function can only be set for the program, not the project. If a program is "write-
protected", the user cannot make any changes to the program files or variable files in the project. This
function can be cancelled manually, which guarantees the security of the program files.

Step 1 Select the program that needs to be write-protected in the project list.

Step 2 Click on the "Write Protection" button below.

Step 3 Click "Yes" in the pop-up dialog box to complete the write protection of the program.

Step 4 Click on "Remove Write Protection" below and follow the pop-up box to remove the write protection from
the program.

4.1.8 Administration (Project Import/Export)


Before performing the project import/export operation, the user needs to prepare a readable and writable
USB flash drive, and then perform the following procedures.

Project Import: To import the project or program file in the USB flash drive to the controller.

Project Export: To export the project or program file in the controller to the USB flash drive.

The following operations are the procedures for project import, which is similar to project export.

Step 1 Insert the U disk into the USB interface of the teaching pendant.

Step 2 Click , and enter the Project Management interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-6
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 3 Click "Manage" in the right menu to enter the interface, as shown in Figure 4-5.

Figure 4-5 Project program import and export interface

Click on "USB path" at the bottom right.


 Supports the export of project and data files from the controller to a USB flash drive.
 Supports importing the project and data files from the USB flash drive into the controller.
 Supports the creation of a new project folder under the project root folder in the controller.
 Supports deleting files and folders under the project root folder in the controller.
 Supports the creation, deletion, copying, pasting, renaming and opening of folders in the USB flash drive.

Project Export
1. Click on the "USB flash drive path" at the bottom right to access the USB flash drive.
2. Select the program file to be exported from the list of "Project File" on the left.
3. Click ">>" in the middle of the interface to export the program file selected to the USB flash drive.

Project Import
1. Select the program file to be exported from the "Project File" list on the right.
2. Click on "<<" in the middle of the interface to import the selected program file to the controller.
3. If the selected file is _global.erd, then a pop up will appear asking you to check the files that will not be
overwritten. The following variable types are currently available: APOS, CPOS, DAPOS, DCPOS,
AERA, USERCOOR, TOOL (in line with EStunEdit).

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-7
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Note

When importing the _global.erd file, data types that are checked in the interface will not be replaced
into the robot controller; data types that are not checked or do not exist in the interface will be removed
and replaced with the _global.erd data as checked on the right hand side of the interface.

Create
1. Click "Create" below, and the project create dialog box as shown in Figure 4-6 will appear.

Figure 4-6 Dialog box of “Enter a new project name”

2. Click the input box of "Enter a new project name", and enter the name of the project to be created in
the soft keyboard, for example, project0.
3. Click "OK" to produce a new project, prompting "Please reload the project". You can view the new
project in the project file list in the teaching box on the left.

----END

4.1.9 Search for a Project/Program


Locate a project or program by following the guidance steps below.

Step 1 Click the "Search" button in the Project Management interface to bring up the "Search for a Program"
interface, as shown in Figure 4-7.

Figure 4-7 “Search for a program” interface

Step 2 Enter the text you are looking for in the "Name" input box and click the "Search" button to search.

Note
On the left side of the Search screen, there are three filtering criteria including project name (checked by
default), case-sensitive and all-word match checkboxes, which can be freely checked according to your
needs. You can also enter some of the consecutive characters in the name to be located.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-8
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 3 The search result will be displayed, divided into three types: not found, one found, and multiple found. When
multiple found, you can click on the "Previous" and "Next" buttons to switch the search result, and the project list will
locate to the line with the search result, as shown in the figure below.

Figure 4-8 “Search results” interface

Step 4 Click "Close" to exit the Search function.

----END

4.1.10 Program Information


You can quickly view basic information about the current program or add comments.

Step 1 Select the program to view and click on the "Program Information" button on the right to switch to the
Program Information tab.

Step 2 View the information about the program and add comments in the program tab.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-9
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Load Status: Loaded, Not loaded, Called, /

Running Status: running, paused, stopped, parallel, execution interrupted, parallel interrupted, invoked
interrupted

Self-trigger: Yes, No

Write Protection: Yes, No

Comments: red font [editable] is displayed when no comments are available, click on the comments field to
fill in the comments.

The maximum length of a comment can be 35 characters.

4.2 Program editing


Press , or click "Program Editing" on the Home interface to enter the program editing interface.

Note
 You need to load the project where the program is located before editing commands.
 Program editing interface entered by clicking the menu key or through the Home interface is the
program being loaded. Refer to “Loading/canceling a project or program” for operation if there’s no
program currently loaded.
 Users may also click on the program being loaded in the Project Management interface, and then click
"Open" at the bottom to enter the Program Editing interface. You can edit programs that have not been
loaded under the project being loaded using this manner.

4.2.1 Adding a New Command


Create a new command by following the procedure below.

Step 1 Enter the program editing interface as shown in Figure 4-9, which is an interface description for an empty
program.

Move the cursor to the line where "End" is located when inserting the first command in the new program.

Figure 4-9 Interface description for an empty program

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-10
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Caution
 The new command will be inserted before the line where the cursor is located. Therefore, before
creating a new command, move the cursor to the correct position.
 The new program will be loaded automatically, and enter the program editing interface.

Step 2 Click "Create" at the interface bottom to enter the command selection interface, as shown in Figure 4-10.

Figure 4-10 Command selection interface

Step 3 Select "Command Class", and then select the command to be used on the right.

For example, if you need to create a new motion command MovJ, select "Motion Command→ MovJ".

Step 4 Click "OK" and enter the "Create Command" dialog box, where you can edit the command parameters you
want to insert. Figure 4-11 shows the parameter editing dialog box of MovJ.

Figure 4-11 Edit the parameters of the MovJ command

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-11
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Note

Parameter may be blank for some commands.

Step 5 Edit the parameters of the command based on actual requirements.


Following methods may be used for edition of different parameters:
 Click the input box of the parameter, and enter the correct value in the soft keyboard.
 Click the drop-down arrow behind the input box, and select the desired parameter from the drop-down
list.
 For the parameter denoting the position, click "Teach" if you want to select the current position as the
parameter value.

Step 6 Click "Insert" after the parameter is edited.


A MovJ command is successfully inserted if the interface returns to the command editing interface, as
shown in Figure 4-12.

Figure 4-12 Successful insertion of MovJ command

Step 7 Continue to add commands using the method described above.


Step 8 After checking and confirming that all program, you can return to the home interface for other operations.

----END

4.2.2 Cancelling a Command


In case of an incorrect operation while editing the program, and you want to cancel he new or modified
command, click "Cancel" in the command editing interface to withdraw and return to the previous step, as
shown in Figure 4-13.

Figure 4-13Withdraw a command

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-12
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Note
Up to 64 steps of commands can be cancelled.
If the program is cancelled, loaded or reopened, this operation cannot be performed.

4.2.3 Other operations


Modifying Command Rapidly
To quickly modify a command, refer to the following steps:

Step 1 Click on the command to be modified

Step 2 In the "Quick Teach" pop-up box on the right, select the parameter to be modified, as shown in Figure 4-14.

Figure 4-14 Modify the parameters of a command rapidly

1. Click on the drop-down box on the right to quickly switch between MovJ and MovL commands. Taking
MovJ to MovL as an example, proceed as follows: select the MovJ command you need to switch to

2. Click on the drop-down menu in the "Quick Teach" interface on the right, select the MovJ command
that needs to be switched to MovL and click on "Yes" in the pop-up box "Whether to switch MovJ to
MovL".

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-13
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

3. Click on the "Modify" button on the "Quick Teach" screen to quickly switch between MovJ and MovL
commands.

Note
- When switching between MovL and MovJ quickly, the switching is successful even if the "Rate Type"
is not "DEFAULT".

- If you do not click on the "Modify" button on the "Quick Teach" screen, the quick switch cannot be
done.

- Quick teaching is not supported by MovJsearch/MovLsearch.

Step 3 To specify the program to start execution from a command, click the command to be executed directly,
and then click "PC" below, the pointer will change to the command, as shown in Figure 4-15. The, the
command executing position has been changed to Line 0003.

Figure 4-15 Start position of change command execution

----END

Tips
Users can click on the "Command" on the right to create a frequently used command.
In addition, users can also click "Edit" on the right to perform the following operations on this interface:
 Copy: Click to select the command to be copied, and then click "Copy". Cross-program "Copy" is
supported.
 Cut: Click to select the command to be cut, and then click "Cut". Cross-program "Cut" is supported.

 Paste: Click to select the position of the command to be pasted, and then click "Paste". Cross-program
"Paste" is supported.
 Reverse Paste: Click to select the location of the command to be pasted, then click on "Reverse Paste"
to paste the selected multiple lines of commands into the location in the reverse order. Cross-program
"Reverse Paste" is supported.
 Delete: Click to select the command to be deleted, and then click "Delete".

 //: Click to select the command to be annotated, and then click "//".

 ToPC: Click "ToPC" to return the program editing interface to the line where the pointer is located.

Note
 Cross-program refers to different programs under the same project.
 The command supports cross-program copy, cut, paste and reverse paste operations, but not
cross-engineering operations.
 The pasted command distinguishes between variable types. If the command contains program
variables and the currently loaded program does not have the same program variables, the
execution process will report an error; if the currently loaded program has variables with the same
name, the execution will be normal and the value of the variables will be based on the one under
the current program. Global variables and project variables are not affected by this.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-14
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

 If you paste a command containing a program variable, you can modify it if there is no
corresponding variable in the current loaded program, and the command can be executed normally
after creating a new variable.
 For a detailed description of each instruction, please refer to Chapter 6.

One Point Reach by Command Point


In manual mode, the user can locate the target point manually by clicking "Quick Reach" → "Location
Point" on the right side of the program page, as shown in Figure 4-16.

Figure 4-16 Reach the location point quickly

Select the target "point" and the running command "MovJ" or "MovL" in the floating options, and then press
"Go", the TCP will continue to run to the target point; release "Go" to stop the movement of the TCP, as
shown in Figure 4-17.

Figure 4-17 Select the target point and run

 Please select the command line that specifies the target point, the "point" in the floating option will
automatically show the variable of the target point.
When multiple points appear in the command line, you can select the desired target "point" in the
drop-down list.
 Only "MovJ" and "MovL" are optional for the command operation when running to the target point.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-15
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

 If the coordinate system parameters such as tool and usercoord are included in the command,
switch the coordinate system to these set coordinates and perform point motion to avoid problems
related to collision arising from execution errors.

Locating Program Line Rapidly


User can click "Quick Reach" on the right side in the program page, and select the position to be quickly
located, such as "Top", "Bottom", "Select Line" or "Specify Line", as shown in Figure 4-18.

Figure 4-18 Locating program rapidly

 Click "Top", and the display of the program line will be located to the "Start" line.
 Click "Bottom", and the display of the program line will be located to the "End" line.
 Click "Select Line", and the display of the program line will be located to the position of the currently selected line.
 Click "specified line"; select the "label" or "line number" to be located in the options appeared, and the display of the
program line will be located to the designated one.

Figure 4-19 Locating specified program line rapidly

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-16
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Motion Execution Pointer


The motion execution pointer is used to point to the currently executed motion segment or the motion
segment in which the robot is currently resting.

The motion execution pointer has been added to the program editing screen and is still displayed to the left
of the selected row. It can point to the same motion command as the execution pointer.
1. Start:
2. MovJ(P0)
3. MovL(P1)
4. SetDO(DO1,0)
5. INT0 = INT0 + 1
6. Wait(2000)
7. MovL (P2)
8. Wait(2000)
9. End;

According to the above example program:

1. When execution reaches line 2, both the normal execution pointer and the motion pointer are
displayed on that line;

2. When the execution pointer reaches the SetDO command on line 4, the execution pointer will be
displayed on that line, but the motion pointer will stop on line 3 as the robot stops at point P1 of MovL
on line 3.

3. The motion execution pointer will jump to this line of display until the system executes to line 7 at
MovL (P2).

4.3 Program data


Press or click "Program Data" on the Home interface to enter the Program Data interface.
Click "Refresh" below to update the variable list in this interface.
Program data (variables) is of four ranges: System, Global, Project and Program.
 System (S): The variables as initially defined by the system.
 Global (G): The variables that can be used by all projects or programs.
 Project (P): The variables that can be used by programs in the same project.
 Program (L): The variables that can only be used in the current program.
Different domains support different types of variable. For details, please refer to "Chapter 5 Introduction to
Variables".

4.3.1 Creating Variable


Create a new variable by following the commands below.
Step 1 Enter the program data interface, as shown in Figure 4-20.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-17
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-20 Program data interface

Step 2 Click on the range to be created, such as "Global".


Step 3 Click "Create" and set the relevant parameters in the pop-up dialog box, as shown in Figure 4-21.

Figure 4-21 Creating a new variable

Step 4 Confirm or select the "Domain" (range) to which the variable to be created belongs.
Step 5 Set the category of the variable to be created. Table 4-1 lists all the categories and types.

Table 4-1 Categories of variables


Class Type Defaulted name prefix

Digital input DI

Digital output DO

Analog input AI

Analog output AO
IO data type
Virtual digital input SimDI

Virtual digital output SimDO

Virtual analog input SimAI

Virtual analog output SimAO

PLC real variable PLCREAL

PLC Boolean variable PLCBOOL


PLC data type PLC integer variable PLCDINT

PLC short integer


PLCINT
variable

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-18
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Class Type Defaulted name prefix

Socket data
socket name Socket
type

Joint position type P

Joint position arrays APOSARRAY

Joint relative position


DAPOS
type
Position data Coordinate system
type P
position type

Coordinate system
CPOSARRAY
position array

Coordinate system
DCPOS
relative position type

Standard area AREA


Area data type
Polygon area POLYHEDRON

One-dimensional array
RealOneArray
of real numbers

One-dimensional
BoolOneArray
Boolean array

One-dimensional
IntOneArray
Basic data type integer array

String variable STRING

Real variable REAL

Boolean variable BOOL

Integer variable INT

WEAVE data
WEAVE variable WEAVE
type

Clock data type Clock type CLOCK

Palletizing data
Palletizing variables PALLET
variables

Tool coordinates TOOL

Interrupt ID INTERRUPT

User coordinates USERCOOR

Turning zone variable ZONE

Speed variable SPEED


System data Moving coordinates SYNCOORD
types
Positioner coordinates POSITIONER

Load variable PAYLOAD

Servo low-speed gain


LsScale0
variables

Servo low-speed
LsThresh0
threshold variable

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-19
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Class Type Defaulted name prefix

External TCP
EXTTCP
coordinates

Step 6 Click the "Name" input box, and enter the name you want to define in the pop-up soft keyboard.
Note
The following "names" are reserved by the system and contain mainly the names of basic functions,
commands and variables, as well as specific names, etc. Users may not create variables with the same
name.
Basic functions:

and, break, do, else, elseif, end, false, for, function, if, in, local, nil, not, or, repeat, return, then, true, until,
while, assert, tostring, tonumber, rawget, xpcall, ipairs, print, pcall, rawset, error, loadfile, rawequal, load,
pairs, require, collectgarbage, dofile, next, select, type, getmetatable, goto, setmetatable, debug, log, max,
acos, huge, pi, cos, deg, tan, random, randomseed, ceil, floor, rad, abs, sqrt, modf, asin, min, fmod, log,
atan, exp, sin, coroutine, math, io, os, package, string, table, byte, find, find2, char, gsub, len, sub, lower,
trim, upper

Variable types:

BOOL, INT, REAL, STRING, BOOLONEARRAY, INTONEARRAY, REALONEARRAY, APOS, CPOS, TOOL,
USERCOOR, AI, AO, DI, DO, SimAI, SimAO, SimDI, SimDO, RET, AREA, POLYHEDRON, CLOCK,
PLCREAL, SOCKET, PALLET, WEAVE, SPEED, ZONE, PAYLOAD, EXTTCP, POSITIONER, SYNCOORD,
LsScale, LsThresh, PLCREAL, PLCBOOL, PLCINT, PLCDOMNT, APOSARRARY, CPOSARRARY,
INTERRUPT

Command names:

MovJ, MovL, MovC, MovCircle, MovJRel, MovLRel, MovLOffset, MovJSearch, MovLSearch, MovLW,
MovCW, MovCircleW, MovH, MovArch, OnDistance, OnParameter, LABEL, GOTO, ENDIF, THEN, IF,
THEN, ELSIF, ELSE, ENDWHILE, DO, WHILE, CALL, RUN, KILL, RETURN, /*...*/, ...=..., SetDO, SetAO,
SetSimDO, SetSimAO, WaitDI, WaitDI8421, WaitAI, WaitSimDI, WaitSimDI8421, WaitSimAI, PulseOut,
PulseSimOut, GetDI8421, GetSimDI8421, SetDO8421, SetSimDO8421, GetSimDIToVar, SetSimDOByVar,
GetSimAIToVar, SetSimAOByVar, SetDIEdge, SetSimDIEdge, Wait, WaitFinish, WaitCondition,
GetCurAPos, GetCurCPos, APosToCPos, CPosToAPos, CPosToCPos, ToolOffset, UserOffset, WaitWObj,
MovLSync, MovJSyncQuit, MovLSyncQuit, SetTargetPos, SetSyncoord, SynCToUserC, WaitConvDis,
SimConveyorOn, SimConveyorOff, ReceiveWObj, ResetWObjBuf, BitAnd, BitNeg, BitOr, BitXOr, BitLSH,
BitRSH, CLKStart, CLKStop, CLKRead, CLKReset, AreaActivate, AreaDeactivate, PolyhedronAreaActivate,
PolyhedronAreaDeactivate, TrigCam, WaitFinishCAM, GetCamPos, SendMessage, Tracking, PalletReset,
PalletToPut, PalletFromPut, PalletToGet, PalletFromGet, SetMatrix, GetMatrix, SocketCreate, SocketClose,
SocketSendStr, SocketSendReal, SocketSendInt, SocketReadReal, SocketReadInt, SocketReadStr,
GetModConState, ReadModbusReg, WriteModbusReg, SoftFloatStart, SoftFloatStop, IToStr, RToStr,
StrToI, StrToR, APosToStr, CPosToStr, TranStrToInt, TranStrToReal, TranStrToApos, TranStrToCpos,
MA_ELF_START, MA_ELF_STOP, SetTool, SetCoord, SetExternalTCP, SetPositioner, SetPayload,
SetJointDyn, SetCartDyn, SetBlendParam, SetOverRide, SetSingularPass, SetColliEnable,
SetAxisColliParam, GetCurOverRide, Hand, CalcTool, CalcCoord, SetRtToErr, SetRtInfo, SetRtWarning,
Stop, RefRobotAxis, SetMotionMode, AutoGainEnable, AutoGainDisable, SetAxisVibraBLevel,
SetRestorePC

Specific names:

POSCFG, PLACEOPTIO

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-20
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 7 Click “OK” after confirming that the variable to be created is set correctly.

The interface will return to the list of variables and display the created variable data. Figure 4-22 shows
that a global position variable P0 has been added.

Figure 4-22 Creating a variable successfully

----END

4.3.2 Standard area variables


Create a new standard area variable by following the steps below.

Step 1 Enter the program data interface and click "Create".


Step 2 Select "Class" as "Area Data Type" and "Type" as "Standard Area" from the pop-up dialog box, and enter
the "Name", for example, AREA1, as shown in Figure 4-23.

Figure 4-23 Creating a standard area variable

Step 3 Click “OK” after settings of the area variables to be created are confirmed to be correct.
Step 4 The interface will return to the list of variables and display the created variable data. Figure 4-24 shows
that a global area variable AREA1 has been created successfully.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-1
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-24 Creating a standard area variable successfully

----END

4.3.3 Polygon area variables


Create a new polyhedron area variable by following the steps below.

Step 1 Enter the program data interface and click "Create".


Step 2 Select "Class" as "Area Data Type" and "Type" as "Polyhedron" from the pop-up dialog box, and enter the
"Name", for example, POLYHEDRON1, as shown in Figure 4-25.

Figure 4-25 Creating a polyhedron area variable

Step 3 Click “OK” after settings of the polyhedron area variables to be created are confirmed to be correct.

Step 4 The interface will return to the list of variables and display the created variable data. Figure 4-26 shows that
a global polyhedron area variable POLYHEDRON1 has been created successfully.

Figure 4-26 Creating a polyhedron area variable successfully

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-2
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

----END

4.3.4 Tool Coordinates Variables


Create a tool coordinates variable by following the procedure below.

Step 1 Enter the program data interface and click "Create".


Step 2 Select "Class" as "System Data Type", and "Type" as "Tool Coordinates" in the pop-up dialog box, and
enter the "Name" (TOOL0), as shown in Figure 4-27.

Figure 4-27 Creating a tool coordinates variable

Step 3 Click “OK” after settings of the tool coordinates variable to be created are confirmed to be correct.
Step 4 The interface will return to the list of variables and display the created variable data. Figure 4-28 shows
that a global variable TOOL0 for tool coordinates has been created successfully.

Figure 4-28 Creating a tool coordinates variable for successfully

----END

4.3.5 User Coordinates Variables


Create a user coordinates variable by following the procedure below.
Step 1 Enter the program data interface and click "Create".
Step 2 Select "Class" as "System Data Type", and "Type" as "User Coordinates" in the pop-up dialog box, and
enter the "Name" (USERCOOR1), as shown in Figure 4-29.

Figure 4-29 Creating a user coordinates variable

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-3
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 3 Click “OK” after settings of the user coordinates variable to be created are confirmed to be correct.
Step 4 The interface will return to the list of variables and display the created variable data. Figure 4-30 shows
that a global user coordinates variable USERCOOR1 has been created successfully.

Figure 4-30 Creating a user coordinates variable successfully

----END

4.3.6 External Tool Coordinates Variables


Create an external Tool Coordinates variable by following the procedure below.
Step 1 Enter the program data interface and click "Create".
Step 2 Select "Class" as "System Data Type", and "Type" as "External TCP Coordinates" in the pop-up dialog box,
and enter the "Name" (e.g. EXTTCP1), as shown in Figure 4-31.

Figure 4-31 Creating an external tool coordinates variable

Step 3 Click “OK” after settings of the external tool coordinates variable to be created are confirmed to be correct.
Step 4 The interface will return to the list of variables and display the created variable data. Figure 4-32 shows
that a global external tool coordinates variable EXTTCP1 has been created successfully.

Figure 4-32 Creating an external tool coordinates variable successfully

----END

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-4
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

4.3.7 Other operations


Modifying Variable Value
Modify the value of a variable by following the procedure below:

Step 1 Select the variable to be modified, and “Parameters” and “value” of the variable will appear on the right
side of the interface.

Step 2 Click the parameter value to be modified and re-enter the correct value in the pop-up soft keyboard (note
the range of parameter values on the soft keyboard).

Step 3 For some special variables (variables that cannot be entered into edit mode by clicking on "value"), click
"Modify", and the interface will display the modification interface to assist operation.

----END

Deleting a Variable
Step 4 Select the variable to be deleted, click "Delete", then the prompt box shown in Figure 4-33 will pop up.

Figure 4-33 Prompt box of “Deleting Variable”

Step 5 Click "OK" to delete the variable.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-5
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Renaming a Variable
Step 1 Select the variable to be renamed, the "Change Variable Name" interface will pop up by clicking "Rename",
as shown in Figure 4-34.

Figure 4-34 Renaming a variable

Step 2 Click the input box of "New variable name", and type the desired name in the pop-up soft keyboard.

Step 3 Then click "OK". The variable renaming is done.

Searching Variable
Step 1 Click "Search" in the "List of Variable" page, and enter the "Name" of the variable you want to search in the
floated option, as shown in Figure 4-35.

Figure 4-35 Searching variable

Step 2 You can find the desired variable precisely by selecting the "Domain" or "Type" you want to search.

Step 3 Click on "Search".

Step 4 When a matching name is searched, multiple results appear. You can select by clicking "Previous" or
"Next".

4.4 IO detection
Press or click "IO Detection" on the Home interface to enter the IO Detection interface, which
consists of five tabs: Physical Digital IO, Physical Analog IO, Virtual Digital IO, Virtual Analog IO, and
System IO. The default tab is the physical digital IO interface, as shown in Figure 4-36.

Figure 4-36 IO detection interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-6
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

S/N Meaning Value

1 Input Din, Ain, SDin, SAin

2,5 Input 0: low level; 1: high level


signal

4 Output Dout, Aout, SDout, SAout

3, 6 Definition Comment function for outputs and


inputs

Step 1 To modify the value: Click on the value of the digital IO to be modified and the corresponding 01 keyboard
will pop up, as shown below:

Step 2 Select 0 or 1 and check the "Emulation" checkbox, then click "OK", as shown below, and the value of the
corresponding port will become the set value and turn red, which indicates successful modification.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-7
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 3 To release the emulated value of one of the ports, click on the digital IO that needs to be modified, check
"Emulate" in the corresponding pop-up box, and click "OK".

Step 4 Click on "Release Emulation" above and confirm the release according to the interface prompt to restore the
port value of the physical IO to its initial state, while the virtual IO will only change the emulation state, but
the modified port value will remain unchanged.

Physical IO
Click on "Physical Digital IO" below to switch to the "Physical Digital IO" screen:

Figure 4-37 Physical digital IO interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-8
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

The parameters are described below:

Parameter Description

Din Digital input port

Dout Digital output port

Value 0: Low level

1: High level

Definition IO commenting

Physical Simulation IO
Click on the "Physical Simulation IO" button below to switch to the "Physical Simulation IO" tab.

Figure 4-38 Physical simulation IO interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-9
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

The parameters are described below:

Parameter Description

Ain Analog input port

Aout Analog output port

Value 0: Low level

1: High level

Definition IO commenting

Virtual Digital IO

Figure 4-39 Virtual digital IO interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-10
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

The parameters are described below:

Parameter Description

SAin Virtual digital input port

SAout Virtual digital output port

Value 0: Low level

1: High level

Definition IO commenting

Virtual Analog IO

Figure 4-40 Virtual simulation IO interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-11
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Parameter Description

SDin Virtual analog input port

SDout Virtual analog output port

Value 0: Low level

1: High level

Definition IO commenting

System IO
Clicking the “System IO” key and entering the password in the pop-up dialog box, then you can enter the
system IO interface. System IO is not modifiable by default. The System IO interface is shown in Figure 4-
41.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-12
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-41 System IO detection interface

4.5 Location management


In JOG mode, it is possible to run multiple axes by jogging. The robot performs simultaneous movements
of multiple axes with a speed limit of up to the national standard (250 mm/s).

Click , or the "Location Management" in the "Jog Management" plugin group in Home interface to
enter the location management interface, as shown in Figure 4-42.

Figure 4-42 Location management interface

Joint Coordinates
Click "Joint Coordinates", and the current joint position information of the robot (A1, A2, A3, A4, A5, A6) will
appear.

World Coordinates

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-13
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Click "World Coordinates", the position information (X, Y, Z, A, B, C) of the robot TCP in the World
Coordinates will appear.

User Coordinates
If the “Reference Coordinates” is set to “G: USERCOOR”, clicking “User Coordinates”, the position
information of the robot TCP in the User Coordinates (RX, RY, RZ, RA, RB, RC) will appear.

External Tool Coordinates


If the “Reference Coordinates” is set to “G: EXTTCP”, clicking “External Tool Coordinates”, the position
information of the robot TCP in the External Tool Coordinates (EX, EY, EZ, EA, EB, EC) will appear.

Positioner Coordinates
If the “Reference Coordinates” is set to “G: POSITIONER””, clicking “Positioner Coordinates”, the position
information of the robot TCP in the Positioner Coordinates (PX, PY, PZ, PA, PB, PC) will appear.

Torque
Clicking "Torque", the rated torque value (percentage) of each joint motor of the robot will appear.

Single-turn Value
Clicking "Single-turn Value", the left side of the interface displays the set single-turn value of each axis (set
by clicking the right position), and the right side displays the actual single-turn value of each axis.

Inching Setting
If "Jog Mode" is set to " Inching ", click " Inching Setting", the inching parameters of each axis of the robot
will appear. To modify the jogging parameters, just click the parameter value input box and enter the value
to be modified in the pop-up soft keyboard.

Users can modify the "Jog Coordinates" to the coordinate system requiring jog operation, or press the

key on the programming pendant to switch the coordinates requiring jog operation.

Homing
When the robot is in servo excitation state, click "Homing" and enter the correct administrator password in
the pop-up dialog box. After that, a prompt message will pop up on the interface, as shown in Figure 4-43.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-14
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-43 Homing interface

Single-axis Homing: Click on the "Homing" button after pressing the corresponding axis to perform a
single-axis homing operation;

Integral Homing: Click on the "Integral Homing" button to perform a homing operation on all axes.

Note
Single-axis homing or commanded homing is recommended. Integral Homing may result in loss of robot
zero accuracy.

4.6 System Log


Press or click "Log Management" on the Home interface to enter the system log interface. The
System Log interface consists of three main tabs: Alarm, Log and Help.

4.6.1 Alarm
The alarm page is divided into two sections: "Current Alarm" and "Historical Alarm".

Current Alarm
After entering the "System Log" interface, click the "Alarm" button to switch to the alarm interface; if there
is an alarm that needs to be cleared, the current alarm interface will be displayed first.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-15
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-44 Current alarm interface

1: Click on the Alarm button to enter the alarm page 2: Current Alarm button: click on it to enter the
"Current Alarm" tab to view the currently generated alarms.

4: In the alarm display page, you can find the alarm generation time, alarm number and content. Click on
the "Content" corresponding to the alarm to display the "Details" of the current alarm in a pop-up window,
i.e., phenomenon, cause and solution.

5: Clear Current Alarm button. If there is a current alarm, click on this button to clear the current alarm to
enable the program to run properly. Its function is the same as the button to the right of the alarm
bar. Users may click on the to clear the alarm.

Historical Alarm
Click on "Historical Alarm" on the "Alarm Page" to access the "Historical Alarm" page, where you can view
the history of generated alarms.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-16
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-45 Historical alarm interface

6: Historical Alarm Button: Click to switch to the "Historical Alarm" page, the interface will display the alarm
information occurred since the current start-up.

7: Clear Historical Alarm: Clear all alarm information.

8: Get Historical Alarm: Synchronize all the historical alarms of the controller and update the interface of
historical alarms.

4.6.2 Log
There are three ways to view and export system logs:
 Home>System Log>Log
 Home>General Settings>System Diagnostics
 Home>Advanced Settings>Local Settings>Close Teach Pendant>ESTool

Log
Click on the "Log" button in the "System Log" interface to switch to the logging interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-17
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-46 Log interface

1: List of log files, showing the names of the log files. It is divided into the controller side and the teach
pendant side.

2: Expandable file list, showing the file size.

3: Display interface, which reads and displays the contents of the corresponding log files.

4: Expandable and extended display is available.

5: Clear cache: Clears the local cache of the controller log files on the teach pendant.

6: Update: Updates the controller and kernel log files and refreshes the log file list.

7: Export: Pops up a USB flash drive directory browser window (shown in 4-19 below) and selects the path
to the folder to be exported.

8: Page Turn Button: Enter a page number to turn the page.

Figure 4-47 File management interface


Select folder path

Name Type Modification time Size


Folder
Folder
Folder
Folder
Folder
Folder

Create new Copy Rename OK


folder Paste Delete

The file management interface, which pops up and displays the path of the export for the user to choose
when performing the USB export:

1: Display Interface: Shows file details, i.e. name, type, modification time, size.

2: Shortcut Button: Click to return to the root directory.

3: Back Button: Click to return to the previous directory.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-18
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

4: Display the contents of the selected folder.

5: Display to current path.

6: Refresh: Refresh the directory display.

7: Creat New Folder: Creates a new folder under the current folder.

8: Copy: Copies the selected file or folder.

9: Paste: Pastes the copied file or folder into the target path.

10: Delete: Deletes the selected file or folder.

11: Rename: Renames the selected file or folder.

12: OK: Confirm the path of the currently selected folder.

System Diagnosis
Clicking "System Diagnosis" in the general setting interface, the system diagnosis interface will appear, as
shown in Figure 4-48.

Figure 4-48 System diagnosis interface

 Clicking "Update Log", the system will then enter the diagnostic mode, and produce a report after a while.
 Clicking "ViewLog", the report of the most recent system diagnosis will appear. The log files of the diagnosis report
include ERC.log (controller running log), ErrLog.txt (controller running fault log), RTstart.elog (controller startup log), etc.
 To export the diagnosis log file, user needs to prepare a U-disk, insert it into the USB port of the programming
pendant, then click "Export Log".
 All log files (controller logs and programming pendant logs) will be exported to the root directory of the USB flash
drive.

Start ESTool
When the programming pendant is connected and the user type has been switched to "Administrator",
click the local settings in the System Home/Advanced Settings, and click "Turn off the teach pendant" in
the local settings power management, as shown in Figure 4-49. Then, start ESTool to enter the
maintenance mode of the teach pendant (Figure 4-50), and start ESTool by clicking keys in order.

Figure 4-49 Turning off the teach pendant

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-19
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-50 Starting ESTool

The system log files currently are available for viewing and exporting include ERC.log (controller running
log), RTstart.log (controller startup log), and RTdata.elog (controller running data log).

After the ESTool is started, click logView; select the desired system log on the left side of the interface, and
click “Refresh” to view the log information, as shown in Figure 4-51.

To export the system log file, insert the U-disk into the USB interface of the programming pendant, select
the log file to be exported on the left side of the interface, click “Refresh” and “Export”.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-20
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-51 ESTool view system log interface

4.6.3 Help
Click on the "Help" button in the "System Log" screen to switch to the help interface.

Figure 4-52 Help interface

1: Display Area: Displays the parsed cases of the help file, e.g.: serial number, type, description.

2: Details Display: Displays the details of the selected case.

3: Search Box: Enter keywords and the system will filter the search by the information in the short
description and details.

4: Checkboxes: Filter the display according to the type of help.

5: Page Turn button: Enter the page number to turn the page.

4.7 System settings


4.7.1 User management

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-21
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Click "User Login" on the Home interface and enter the corresponding interface, as shown in Figure 4-53.

Figure 4-53 User management interface

Current User
1. There are four user roles: "Administrator", "Programmer", "Operator" and "Factory Personnel", and by
default the login user role is "Operator".

Role Operator Permissions

For front-line operators and production personnel.


Operator Limited to manual movement of the robot, start and stop of the teaching
program, reset of the system alarm status, viewing of running information.
For on-site teaching and programming personnel.
In addition to the operators permissions, other roles are allowed to run the
Programmer
teaching and editing programs, run and debug the teaching programs and
the set the system application parameters.
For system maintenance personnel.
In addition to the permissions of the programmer, the permission to configure
Administrator
and manage the robot system: setting of system parameters, administration
of user passwords, etc.
For manufacturer personnel.
Manufacturer Top permission to upgrade and maintain the robot.
Personnel

Remark:
Manual/Auto mode is used for the teaching and playback of robot programs, while remote mode
means that the robot is controlled by external IO signals, PLC devices, etc. in production mode.
The above operating permissions are a general overview without considering the system mode. In
practice, the operating permissions of the same role for a certain function may be affected by the
system mode and may differ to some extent.

2. Different user roles have different operation permissions and the level of detail of the version
information they can view also differs. The level of permissions: "Manufacturer > Administrator >
Programmer > Operator" can be found in the Permission Assignment Table of Programming Pendant.

3. To switch between users: click on the drop-down list and select the required user role. To switch
between some user roles, you need to enter a password.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-22
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Language
The default language is "Simplified Chinese". Users can choose to switch to another system language
from the drop-down menu. The switched language will take effect after a system restart.

Figure 4-54 Switching language interface

Change Password
Users can click on the "Change Password" button, switch to the "Change Password" tab, enter the "New
Password" and "Confirm New Password" (you need to enter the same password twice) and click on the
"Save" button to change the password of the current login user.

Figure 4-55 Change password

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-23
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

4.7.2 General Settings


Note
1. This chapter introduces the "Basic Settings" function in the "General Settings" section, other functions
such as "Collision Detection", "Vibration Suppression", "Vision Settings", "Servo Management",
"Slave Configuration", etc. are detailed in Chapter 7.

2. The functions in the "General Settings" interface are only available for the "Programmer" and
"Administrator" user types. To use them, please first switch between users in "Home > User Login".

Basic Settings
Using the Basic Settings, you can complete some basic settings for the operating software, such as
system time, program settings, remote settings and other basic operations.

Step 1 Click "General Settings" on the Home screen to enter the General Settings interface, as shown in Figure 4-
56.

Figure 4-56 Interface of General Settings

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-24
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 2 Click on "Basic Settings" to enter the "Basic Settings" interface, as shown in Figure 4-57. Set the
corresponding parameters to suit the actual situation.

Figure 4-57 Basic Settings

Parameter Description Mode of Operation

Robot Type To display the current robot type -

1. Click on the drop-down menu


Robot install Type To set and display the current robot and select the desired
mounting method. installation method. 2.
2. Follow the prompt "Please
Range of values: Floor mounted or by
reboot your system".
lifting

Pay Load To display the effective weight of the -


workpiece set in the system, in Kg.

Tool Pay Load To display the effective weight of the tool -


set in the system, in Kg.

Step 3 Click on "System Time" to enter the "System Time" settings tab and set the "Date" or "Time" according to
your needs. ". After setting, click on the "Set Time" button, the control system and the teach pendant will
restart automatically, and the system time setting will take effect after the restart is finished.

Figure 4-58 Basic Settings - System Time

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-25
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Step 4 Click on "Program Settings" to enter the "Program Settings" tab and set the appropriate parameters
according to your needs.

Figure 4-59 Basic Settings - Program Settings

 Tool
- Default Tool: Selects the type of tool that is loaded by default on boot. Default value: nullTool.
- Reset on program load/logout: By checking the box, the tool type will be the default after program
load/logout; by unchecking the box, the tool type will be the same after program load/logout as the
value set before reset.
 Coordinates
- Default Coordinates: Selects the type of coordinate system that is loaded by default on boot. Default
value: World.
- Reset on program load/logout: By checking the box, the type of coordinates will be the default value
after reset; by unchecking the box, the type of coordinates will be the same after program load/logout
as the value set before program load/logout.
 Pay Load

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-26
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

- Default Load Inertia: Selects the load inertia variable that is loaded by default on boot. Default value:
FullPayload.
- Reset on program load/logout: By checking, the load inertia type will be the default after program
load/logout; by unchecking, the type of coordinates after program load/logout will be the same as the
value set before reset.
 Command Format
Enable the scope display of command parameters: set to distinguish between system variables, global
variables, project variables and program variables in the program.
 S: System variable; G: Global variable; P: Program variable; L: Program variable.
Example: For the program variable in a program, check to display MovJ (L: P1, S: V100, "RELATIVE", S:
C100); uncheck to display MovJ (P1, V100, C100).

Note
Enable for reset on program load/logout, and support for power-down save function, i.e. after modification
of this parameter, the value is still the same as before power-down after power-off restart.

Step 5 Click on "Remote Settings" to go to the "Remote Settings" page.

Figure 4-60 Basic Settings - Remote Settings

Parameter Description Mode of Operation


1. Click on the input box and enter the system
Remote speed Set the system global speed percentage global speed percentage value you need to
value. set when switching to Remote mode in the
pop-up soft keyboard
1. Click Refresh after setting "Remote Speed"
Refresh Refresh the value of the "Remote Speed"
setting

1. Click on the drop-down menu to switch ON


API mode External control (API) mode. or OFF the external control (API) mode.
Range of values: ON or OFF

1. Set the parameter to ON, the system is in


Auto remote Marker to control whether the system is Auto mode and unexcited state, and the
excitation automatically excited when switching excitation is ON automatically by switching
from AUTO to Remote mode to Remote mode.
2. Set the parameter to ON, the system is in
Auto mode and excited state, and the
excitation is maintained by switching to
Remote mode.
3. Set the parameter to OFF, the system is in
Auto mode and unexcited state, and the

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-27
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

excitation will not be ON automatically by


switching to Remote mode, but waiting for
external excitation command.
4. Set the parameter to OFF, the system is in
Auto mode and excited state, and de-
excitation is performed by switching to
Remote mode and waiting for an external
excitation command to re-excite (required
to connect the actual shaft)
1. If the program is set to self-trigger, the
Self-triggered Shows if the program is set to self-trigger program directory is displayed
program

4.7.3 Advanced Settings


Note
1. This chapter introduces the "Local Settings" function in "Advanced Settings", other functions such as
"Network Settings", "Lock Management", etc. are detailed in Chapter 7.

2. The functions in Advanced Settings are only available for the "Admin" user type. To use them, please
first switch between users in "Home > User Login".

Local Settings
Step 1 Click "Advanced Settings" on the Home screen to enter the Advanced Settings interface, as shown in Figure
4-61.

Figure 4-61 Advanced settings interface

Step 2 Click on "Local Settings" in the Advanced Settings interface to enter the Local Settings interface, as shown
in Figure 4-62.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-28
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

Figure 4-62 Virtual Pendant - Local Setup Interface

 General settings:

Rob button: Check "Redefine", the Rob button does not allow access to the Quick Launcher.

Screen Brightness: User can set the screen brightness percentage and adjust the screen brightness (this
takes effect immediately after setting; the set brightness is not changed by rebooting the teach pendant).
 Robot (only displayed in the virtual pendant):

Settings for the marking robot. Only displayed when using the virtual programming pendant to set the ID of
the marking robot.
 Teach pendant timeout inactive (only displayed in physical teach pendant): screen off and logout if selected by
default

Function Operation phenomena Wake-up method

No operation Screen will not be OFF -

Screen OFF Wake up directly and go to the current interface  Click on the pendant
only screen
 Press the physical
Screen OFF  Wake up with the interface showing the status
keys on the pendant
and logout before it goes off.
panel
 Switch role to the "Operator".
 Controller alarms and
Screen OFF  Display the current role, enter the password wakes up actively
and locked and goes to the screen OFF interface.
 Switch to another user, enter password and
turn off the lock screen.

Screen OFF to  Switch to "Guest" and click on "Login" on the


lock and log lock screen.
out  Switch to another user, enter your password
and close the lock screen.

Timeout time (minutes): 5 minutes by default. Setting range 1 - 360 (minutes).


Save: Click the "Save" button when finished to write the parameters to a file and prompt for a reboot to take
effect.
Note
 The presence of pop-ups such as soft keyboards, prompt message boxes etc. will not trigger a timeout
event.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-29
ER 系列工业机器人操作手册 Chapter 4 Introduction to System Functions

 This function is only supported on physical teaching pendant and the screen OFF function is only supported
on T76 pendant.
 Timeout inactivity includes: failure to tap on the pendant screen; failure to press any physical button on the
pendant; failure to turn the key switch, etc.
 Power Management:

Reboot Control System:

- When the controller is rebooted, the virtual pendant closes the virtual pendant program
and the pendant reboots. After clicking on the "Reboot controller system" button, a
password must be entered and the password is checked successfully before the
controller can be rebooted.

Switch OFF the Control System:

- When the controller is switched off, the virtual pendant switches off the virtual pendant
program and the physical pendant enters a selectable interface: pendant maintenance
mode. After clicking on the "Switch OFF Control System" button, enter the password, and
close the controller after a successful password check.

Turn OFF the Teach Pendant:

- After clicking on the "Close Teach Pendant" button, you will need to enter your password
and switch off the pendant after a successful password check.

Virtual Teach Pendant: If you are currently using a virtual pendant, close the pendant
program.

Physical Teach Pendant: If you are currently using a physical pendant, you can access
the selection screen: Pendant Maintenance Mode

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 4-30
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Chapter 5 Introduction to Variables


Different types of variables are supported by different domains, which are detailed as follows:
 System Domain: The system predefined variables, which cannot be edited.
 Global Domain: IO data type, PLC data type, socket data type, position data types, area data type, basic data type,
weave data type, clock data type, pallet data type, and system data type.
 Project Domain: IO data type, socket data type, position data types, basic data type, weave data type, pallet data
type, and system data type.
 Program Domain: IO data type, socket data type, position data type, basic data type, and system data type.

5.1 Basic data types


BOOL
This variable is used to store bool type data. It supports operations such as Create, Delete, and Modify in
the scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

value bool Variable value

saveflag bool Power-down memory

INT
This variable is used to store integers. It supports operations such as Create, Delete, and Modify in the
scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

value int Variable value

saveflag bool Power-down memory

REAL
This variable is used to store real numbers. It supports operations such as Create, Delete, and Modify in
the scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

value real Variable value

saveflag bool Power-down memory

STRING
This variable is used to store character strings. It supports operations such as Create, Delete, and Modify
in the scope of the three major variables: Global, Project, and Program.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-1
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

value string Variable value

saveflag bool Power-down memory

BoolOneArray
This variable is used to store bool type array data. It supports operations such as Create, Delete, and
Modify in the scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

count int Count of data, in the range 0~255

value bool Variable value

IntOneArray
This variable is used to store the integer array data. It supports operations such as Create, Delete, and
Modify in the scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

count int Count of data, in the range 0~255

value int Variable value

RealOneArray
This variable is used to store the real array data. It supports operations such as Create, Delete, and Modify
in the scope of the three major variables: Global, Project, and Program.

Parameter Data type Meaning

count int Count of data, in the range 0~255

value real Variable value

Caution
1. If the last command of the program is an assignment to a power-down memory variable, it may not be saved
successfully after execution and a wait period will be required afterwards. Similarly, there is a chance that a single-
step pc run on this assignment command will not save successfully.

2. If the count of data in an array variable is too large (e.g. count is 200), do not create the variable in the same
variable field as a variable with power-down memory enabled. For example, create an INT variable with the power-
down memory property in the Global domain, and then create a one-dimensional array variable in the project field.

5.2 Position data types


APOS – Joint Position Type
This variable is used to store the coordinate values of axis in the joint space. It supports users to create
and modify independently, and to perform assignment operations and other jobs in the teaching program.
Also, it supports operations such as Create, Delete, and Modify in the scope of the three major variables:
Global, Project, and Program.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-2
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

a1 real The coordinates of the 1# axis of the joint.

a2 The coordinates of the 2# axis of the joint.


… real …
a15 The coordinates of the 15# axis of the joint.

a16 real The coordinates of the 16# axis of the joint.


[Note] The number of parameters of axes will be displayed based on the number of axes. For example, the general six-axis
robot displays aa1~a6, while the scara robot displays a1~a4.

POSCFG
Robot may have differed joint position combinations under the same Cartesian space position
(corresponding to the multiple solutions of the robot inverse solution). This attribute is used to define the
morphological configuration data corresponded to the spatial target point.

Parameter Data type Meaning

mode int -

cf1 int The value of quadrant where the angle of the #1 axis of the joint is located.

cf2 The value of quadrant where the angle of the #2 axis of the joint is located.
… int …
cf5 The value of quadrant where the angle of the #5 axis of the joint is located.

cf6 int The value of quadrant where the angle of the #6 axis of the joint is located.

The values of these quadrants are divided as follows:

Non-negative numbers: 0: (-pi,pi], 1: (pi,3pi], 2: (3pi,5pi], ...; 2pi difference between each quadrant

Negative numbers: -1: (-3pi,-pi], -2: (-5pi,-3pi], ...; -2pi difference between each quadrant

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-3
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

①, Definition of general-purpose six-joint dynamics mode

There are eight sets of solutions for the dynamics of the general-purpose six-joint. The mode value is
defined as 0~7. The meanings are listed in table below:

Mode The relationship between the center of the wrist and the center of the Axis3(flag3) Axis5(flag5)
axis (flag1)
( θ5 )
(𝜃𝜃3 + 90
0: Front 1: Back𝑅𝑅 + 𝐿𝐿3 • 𝑐𝑐𝑐𝑐𝑐𝑐( 𝜃𝜃2 + 𝜃𝜃3 ) + 𝐿𝐿2 • 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃2 + 𝑆𝑆 • 𝑠𝑠𝑠𝑠𝑠𝑠( 𝜃𝜃2 + 𝜃𝜃3 ) − 𝑎𝑎𝑎𝑎𝑎𝑎 tan(𝑆𝑆⁄𝐿𝐿3))
0: [0,180] 0: [0,180]
1:(-180,0) 1:(-180,0)

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

Note
 mode = flag5 + 2*flag3 + 4*flag1

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-4
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

aa: The relationship between the wrist center and the center of the axis is shown in the figure below. Front:
refers to the positive direction of x in the figure; Back: refers to the negative direction of x in the figure.

Wrist center

1-axis rotation axis

Meaning of bb: Axis3 (flag3): The second and third axis are on a straight line are taken as the boundary
condition. 0 is for forward inclination, and 1 is for backward inclination.

Meaning of cc: Axis5(flag5): The angle of 5 axes.

②, Definition of SCARA dynamics mode

There are two sets of solutions for Scara dynamics. The mode values are defined as 0 and 1, with the
meanings listed as follows:

Mode Axis2(flag2)
(𝜃𝜃2 )
0:[0,180]
1: (-180,0)

0 0

1 1

Note
mode = flag2

③, Definition of 3-axis plane robot dynamics + "3+1" robot mode

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-5
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Mode Aixs2(flag2)
(𝜃𝜃2 + 90)
0: [0,180]
1: (-180,0)

0 0

1 1

Note
mode = flag2

④, Definition of SCARA hoisting dynamics mode

There’re two sets of solutions for Scara hoisting dynamics. The mode value is defined as 0 and 1, with
the meanings listed below:

Mode Axis2(flag2)
(𝜃𝜃2 − 180)
0:[0,180]
1: (-180,0)

0 0

1 1

CPOS – Coordinate Position Type


This variable is used to store the position of the TCP point in the Cartesian coordinates. It supports users
to create and modify independently, and to perform assignment operations and other jobs in the teaching
program. It also supports operations such as Create, Delete, and Modify in the scope of the three major
variables: Global, Project, and Progra

Parameter Data type Meaning

The morphological configuration information corresponded to the space


confdata POSCFG
target point.

x real The coordinates of TCP point in the x direction in reference coordinates.

y real The coordinates of TCP point in the y direction in reference coordinates.

z real The coordinates of TCP point in the z direction in reference coordinates.

The Euler angle of the TCP point relative to the z-axis of the reference
a real
coordinates

The Euler angle of the TCP point relative to the y′-axis of the reference
b real
coordinates

The Euler angle of the TCP point relative to the x″-axis of the reference
c real
coordinates

a7 real The coordinates of the 7# axis of the joint.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-6
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

a8 The coordinates of the 8# axis of the joint.


… real …
a15 The coordinates of the 15# axis of the joint.

a16 real The coordinates of the 16# axis of the joint.


[Note] The number of parameters of axes will be displayed based on the number of axes.

DAPOS – Relative Position Type of Joint


This variable is used to store the relative offset of each axis in the joint space. It supports users to create
and modify independently, and to perform assignment operations and other jobs in the teaching program.
It also supports operations such as Create, Delete, and Modify in the scope of the three major variables:
Global, Project, and Program.

Parameter Data type Meaning

da1 real The angle offset of the #1 axis of the joint.

da2 The angle offset of the #2 axis of the joint


… real .…
da15 The angle offset of the #15 axis of the joint.

da16 real The angle offset of the #16 axis of the joint.
[Note] The number of parameters of axes will be displayed based on the number of axes. For example, the six-axis robot
displays d1~d6, while the scara robot displays d1~d4.

DCPOS – Relative Position Type of Coordinates


This variable is used to store the relative offset of the TCP point in the Cartesian coordinates. It supports
users to create and modify independently, and to perform assignment operations and other jobs in the
teaching program. It also supports operations such as Create, Delete, and Modify in the scope of the three
major variables: Global, Project, and Program.

Parameter Data type Meaning

The displacement offset of TCP point in the x direction on the reference


dx real
coordinates.

The displacement offset of TCP point in the y direction on the reference


dy real
coordinates.

The displacement offset of TCP point in the z direction on the reference


dz real
coordinates.

The Euler angle offset of TCP point relative to the z-axis of the reference
da real
coordinates.

The Euler angle offset of TCP point relative to the y′-axis of the reference
db real
coordinates.

The Euler angle offset of TCP point relative to the x″-axis of the reference
dc real
coordinates.

da7 real The angle offset of the #7 axis of the joint.

da8 The angle offset of the #8 axis of the joint.


… real …
da15 The angle offset of the #15 axis of the joint.

da16 real The angle offset of the #16 axis of the joint.
[Note] The number of parameters of axes will be displayed based on the number of axes.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-7
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

APOSARRAY – Joint Position Array


The array form of APOS. It is used to store the coordinate values of the axes in the joint space. The
variable allows the user to create and modify them, as well as to perform assignment operations in the
teaching program. It also supports operations such as Create, Delete, and Modify in the scope of the three
major variables: Global, Project, and Program.

Parameter Parameter Data type Meaning

APOSARRAY0[1]
APOSARRAY0[X] … APOS The stored individual APOS values
APOSARRAY0[1000]

CPOSARRAY – Coordinates Position Array


The array form of CPOS. It is used to store the position of TCP points in the Cartesian Coordinates. The
variable supports the creation and modification by the user, as well as the assignment of values and
operations in the teaching program. It also supports operations such as Create, Delete, and Modify in the
scope of the three major variables: Global, Project, and Program (the array variable in use cannot be
deleted or modified).

Parameter Parameter Data type Meaning

CPOSARRAY0[X]
CPOSARRAY0[X] … CPOS The stored individual CPOS values
CPOSARRAY0[1000]

5.3 System data types


LsScale
The LsScale variable is used to record the gain ratio threshold parameter for each joint axis to improve the
low speed jitter in a certain speed range and is used in conjunction with the speed range threshold
parameter. Setting range: [100,1000], in %. This variable can only be created and modified in the Global
domain.

Parameter Data type Meaning

J1 int Gain ratio threshold corresponding to J1 axis, in %

J2 int Gain ratio threshold corresponding to J2 axis, in %

J3 int Gain ratio threshold corresponding to J3 axis, in %

J4 int Gain ratio threshold corresponding to J4 axis, in %

J5 int Gain ratio threshold corresponding to J5 axis, in %

J6 int Gain ratio threshold corresponding to J6 axis, in %

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-8
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

LsThresh
The LsThresh variable is used to record the speed interval threshold for each joint axis to improve low
speed jitter in a certain speed interval and is used in conjunction with the gain ratio threshold parameter.
The range is [10,1000], in r/min. This variable can only be created and modified in the Global domain.

Parameter Data type Meaning

J1 int Speed interval threshold corresponding to J1 axis, in %

J2 int Speed interval threshold corresponding to J2 axis, in %

J3 int Speed interval threshold corresponding to J3 axis, in %

J4 int Speed interval threshold corresponding to J4 axis, in %

J5 int Speed interval threshold corresponding to J5 axis, in %

J6 int Speed interval threshold corresponding to J6 axis, in %

SYNCOORD
The SYNCOORD variable is used to record the parameters of the datum reference coordinates of a
moving target object during following, and to define its displacement and rotation relative to the World
Coordinates. The parameters can be calculated by the user based on the calibration of the variable
interface or entered by the user.

Parameter Data type Meaning

The unique index number of the coordinates. The value cannot be


id int
modified. It is assigned automatically by the system when being created.

The displacement offset of the origin of the coordinates in the x-direction


x real
relative to the World Coordinates, in mm.

The displacement offset of the origin of the coordinates in the y-direction


y real
relative to the World Coordinates, in mm.

The displacement offset of the origin of the coordinates in the z-direction


z real
relative to the World Coordinates, in mm.

The Euler angle of rotation of the coordinates with respect to the z-axis of
a real
the World Coordinates, in deg.

The Euler angle of rotation of the coordinates with respect to the y′-axis of
b real
the World Coordinates, in deg.

The Euler angle of rotation of the coordinates with respect to the x″-axis of
c real
the World Coordinates, in deg.

POSITIONER
The POSITIONER type variable selects the positioner (ID) by index.

Parameter Data type Meaning

The range of index values is [0, 6]. Where:


 0: indicates that the variable is invalid.
index int
 1: indicates the coordinates for which the positioner ID=1 is selected.
 2: indicates the coordinates for which the positioner ID=2 is selected.
 ...
 6: indicates the coordinates for which the positioner ID=6 is selected.

Note

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-9
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

See "7.22 Functions of positioner" for calibration of the indexing positioner coordinates.

EXTTCP
EXTTCP variable is used to record the parameters of external tool coordinates, and to define the
displacement and rotation of the external tool coordinates relative to the world coordinates. The parameter
can be calculated based on the variable interface calibration, or be input by the user. This variable can only
be created and modified in the Global domain.

Parameter Data type Meaning

The unique index number of the external tool coordinates. The value
id int cannot be modified. It is assigned automatically by the system when being
created.

The displacement offset of the origin of the external tool coordinates


x real
relative to the world coordinates in the x direction, in mm.

The displacement offset of the origin of the external tool coordinates


y real
relative to the world coordinates in the y direction, in mm.

The displacement offset of the origin of the external tool coordinates


z real
relative to the world coordinates in the z direction, in mm.

The Euler angle of external tool coordinates rotates relative to the z-axis of
a real
the world coordinates, in deg.

The Euler angle of external tool coordinates rotates relative to the y′-axis of
b real
the world coordinates, in deg.

The Euler angle of external tool coordinates rotates relative to the x″-axis of
c real
the world coordinates, in deg.

TOOL
The TOOL variable is used to record the tool parameters, and to define the displacement and rotation of
the tool end in relation to the robot flange. The parameter can be calculated by the user based on the
calibration of the variable interface or can be entered by the user. This variable can only be created and
modified in the Global domain.

Parameter Data type Meaning

The unique index number of tool coordinates. The value cannot be


id int
modified. It is assigned automatically by the system when being created.

The displacement offset of TCP relative to the flange coordinates in the x


x real
direction, in mm.

The displacement offset of TCP relative to the flange coordinates in the y


y real
direction, in mm.

The displacement offset of TCP relative to the flange coordinates in the z


z real
direction, in mm.

The Euler angle of TCP relative to the z-axis of the flange coordinates, in
a real
deg.

The Euler angle of TCP relative to the y′-axis of the flange coordinates, in
b real
deg.

The Euler angle of TCP relative to the x″-axis of the flange coordinates, in
c real
deg.

The mass information of the tool, which is used to calculate the full model
dyn LoadDyn
of robot dynamics.

The system predefines the tool variable nullTool, in which the value of each offset is 0 by default. User can
define the tool coordinates to be used on the basis of site requirements.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-10
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

USERCOOR
The USERCOOR variable is used to record user parameters, and to define the displacement and rotation
of the user coordinates relative to the world coordinates. This parameter can be calculated based on the
variable interface calibration, or be input by the user. The variable can only be created and modified in the
Global domain.

Parameter Data type Meaning

The unique index number of the user coordinates. The value cannot be
id int
modified. It is assigned automatically by the system when being created.

The displacement offset of the origin of the user coordinates relative to the
x real
world coordinates in the x direction, in mm.

The displacement offset of the origin of the user coordinates relative to the
y real
world coordinates in the y direction, in mm.

The displacement offset of the origin of the user coordinates relative to the
z real
world coordinates in the z direction, in mm.

The Euler angle of user coordinates rotates relative to the z-axis of the
a real
world coordinates, in deg.

The Euler angle of user coordinates rotates relative to the y′-axis of the
b real
world coordinates, in deg.

The Euler angle of user coordinates rotates relative to the x″-axis of the
c real
world coordinates, in deg.

The system predefines the world coordinates World, in which the value of each offset is 0 by default. User
can define the user coordinates to be used on the basis of site requirements.

PAYLOAD
The PAYLOAD variable is used to record the workpiece load parameters, and to define the robot end-load
parameters and mass information. The use of detailed mass information assists in the full model
calculation of the robot dynamics in order to improve the motion tact even more. This parameter can
currently only be entered by the user after calculating the value in advance, without a programming
pendant calibration calculation. This variable can only be created and modified in the Global domain.

Parameter Data type Meaning

The unique index number of the workpiece load. The value cannot be
id int
modified. It is assigned automatically by the system when being created.

Mass information of workpiece loads for full model calculations of robot


dyn LoadDyn
dynamics.

The system has a predefined workload of PAYLOAD0, where the default value for each offset is 0. The
user may define the workpiece parameters to be used according to the site requirements.

ZONE
It is used to define how a motion ends, or to define the size of the turning area between two motion
trajectories. For easy use, the system presets the commonly used transition variables (system variables,
not to be modified by the user). It also supports operations such as Create, Delete, and Modify in the
scope of the three major variables Global, Project, and Program.

Parameter Data type Meaning

The turning percentage. It is applicable to MovJ, MovL, MovC and other


per real motion commands. It indicates that the distance to the target point when
turning starts.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-11
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

The size of the turning area in Cartesian space. It is used in linear arc
motion commands such asMovL, MovC, etc., to define the turning area
dis real size of the Cartesian space trajectory, that is, when the robot moves to a
place that is still dis mm away from the target point, it starts to move to the
next target point. It is in mm.
Constant speed transition enable state. The enable state indicating
whether the linear speed of the transition section to be constant or not. 1
means the transition is constant, and 0 means the change in the tracking
vConst int transition parameters.
Note:
In general, this parameter is used in low online speed, but the value will
change based on the robot type.

SPEED
It is used to define the motion speed of the robot and the external axis. For easy use, the system presets
the common speed variables (system variables, not to be modified by users). It also supports operations
such as Create, Delete, and Modify in the scope of the three major variables Global, Project, and Program.

Parameter Data type Meaning

The percentage of joint speed. It is used to specify the motion speed for
per real joint motion commands. It is applicable to commands MovJ, MovJRel and
MovJSearch, and the value ranged from 1% to 100%.

It is used to define the linear speed of the robot endpoint. It is used for
tcp real
MovL, MovC and other linear and circular motion commands.

Spatial rotating speed. It is used to define the rotation speed of the


ori real
endpoint posture of the robot.

The external axis linear speed. It is used to define the motion speed of the
exj_l real
external linear axis.

The angular speed of the external axis. It is used to define the motion
exj_r real
speed of the external rotating axis.

CenterPos
The center of mass vector is set based on the position of the installed tool or load on the coordinates OTool-
XYZ, which his described below.

The direction of the tool & load mass information reference coordinates is shown in Figure 5-1. Figure 5-2
shows the definition example of the tool & load mass information coordinates.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-12
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Figure 5-1 Explanation of tool & load mass information coordinates

O-Tool
Z

The coordinate system OTool-XYZ is located at the end flange plane of the robot, and the Z axis of the
coordinate system is coaxial with the axis of the J6 joint (taking 6-axis robot as an example).

Figure 5-2 Example of tool & load mass information coordinates

Z
Coordinate
System 1

.C
O-Tool
X

[Note] Please refer to the coordinates OTool-XYZ in Figure 5-1 for the mass information output coordinates of tools and loads.

Parameter Data type Meaning

The offset of the center of gravity C of the load of the installed tool or
Mx real
fixture in the X direction in coordinates OTool-XYZ, in mm.

The offset of the center of gravity C of the load of the installed tool or
My real
fixture in the Y direction in coordinates OTool-XYZ, in mm.

The offset of the center of gravity C of the load of the installed tool or
Mz real
fixture in the Z direction in coordinates OTool-XYZ, in mm.

InertiaTensor

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-13
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

This parameter is the inertia tensor determined by the output coordinates Otool-XYZ of the installed tool or
load. Example of output coordinate system is show in Figure 5-2.
𝐿𝐿𝑥𝑥𝑥𝑥 -L𝑥𝑥𝑥𝑥 -L𝑥𝑥𝑥𝑥
Matrix representation of inertia tensor: 𝑂𝑂
𝐼𝐼 = �-L𝑥𝑥𝑥𝑥 𝐿𝐿𝑦𝑦𝑦𝑦 -L𝑦𝑦𝑦𝑦 �
-L𝑥𝑥𝑥𝑥 -L𝑦𝑦𝑦𝑦 𝐿𝐿𝑧𝑧𝑧𝑧

Parameter Data type Meaning

The moment of inertia when the load of the installed tool or fixture rotates
Lxx real
in the X direction at the center of gravity, in kg·mm2.

The moment of inertia when the load of the installed tool or fixture rotates
Lyy real
in the Y direction at the center of gravity, in kg·mm2.

The moment of inertia when the load of the installed tool or fixture rotates
Lzz real
in the Z direction at the center of gravity, in kg·mm2.

The product of inertia of the load of the installed tool or fixture in the XY
Lxy real
cross direction at the center of gravity, in kg·mm2.

The product of inertia of the load of the installed tool or fixture in the XZ
Lxz real
cross direction at the center of gravity, in kg·mm2.

The product of inertia of the load of the installed tool or fixture in the YZ
Lyz real
cross direction at the center of gravity, in kg·mm2.

LoadDyn
It is used to store the end tool & load mass parameters of robot, and to calculate the full model of robot
dynamics.

Parameter Data type Meaning

M real The weight of the tool & load, in kg.

pos CenterPos See the meanings of CenterPos.

tensor InertiaTensor See the meanings of InertiaTensor.

INTERRUPT
This variable is used to store information about the INTERUPT name as a unique index of the interrupt
identifier. It only supports It also supports operations such as Create, Delete, and Modify in the Global
variable scope.

Parameter Data type Meaning

value string Store information on the name of the interrupt marker.

COLLIPARAM
The COLLIPARAM variable is used to select the corresponding collision self-tuning parameter (ID) by
means of an index.

Parameter Data type Meaning

The range of values is [0, 6]. Where 0 means that the variable is invalid, and
index int
other means that the collision self-tuning parameter with ID index.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-14
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

5.4 IO data type


DI
The digital input variable.

Parameter Data type Meaning

port int The digital input port number bound to such variable.

value int The value is 0 or 1, indicating the input status of the corresponding port.

riseSts bool The rising edge signal status of the port.

downSts bool The falling edge status of the port.

DO
The digital output variable.

Parameter Data type Meaning

port int The digital output port number bound to such variable.

value int The value is 0 or 1, indicating the output status of the corresponding port.

AI
The analog input variable.

Parameter Data type Meaning

port int The analog input port number bound to such variable.

Its value is ranged from -10 to 10V, indicating the input voltage value of the
value real
corresponding port.

AO
The analog output variable.

Parameter Data type Meaning

port int The analog output port number bound to such variable.

Its value is ranged from -10 to 10V, indicating the output voltage value of
value real
the corresponding port.

SimDI
The virtual analog input variable.

Parameter Data type Meaning

port int The virtual analog input port number bound to such variable.

value int The value is 0 or 1, indicating the input status of the corresponding port.

riseSts bool The rising edge signal status of the port.

downSts bool The falling edge status of the port.

SimDO
The virtual analog output variable.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-15
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

port int The virtual digital output port number bound to such variable.

value int The value is 0 or 1, indicating the output status of the corresponding port.

SimAI
The virtual analog input variable.

Parameter Data type Meaning

port int The virtual analog input port number bound to such variable.

value real Indicates the input value of the corresponding port.

SimAO
The virtual analog output variable.

Parameter Data type Meaning

port int The virtual analog output port number bound to such variable.

value real Indicates the output value of the corresponding port.

5.5 Weave data type


WEAVE
This variable is used to store some configuration parameters when the robot weaves on a straight line/arc
trajectory. Also, it allows users to Create, Delete, Modify and other operations in the three variable scopes
Global, Project, and Program.

Parameter Data type Meaning

Weave type of robot. It is a sine Weave when the value is 1, and is a


Type int
triangular Weave when the value is 2.

Freq real The frequency when the robot weaves, in Hz.

Amp_L real The amplitude when the robot weaves left, in mm.

Amp_R real The amplitude when the robot weaves right, in mm.

The time when robot stops at wave peak. It refers to the time in ms at
StopTime_L int
which the weaving stops when it reaches the left amplitude.

The time when robot stops at the middle. It refers to the time in ms at
StopTime_C int
which the weaving stops when it reaches the middle position.

The time when robot stops at wave trough. It refers to the time in ms at
StopTime_R int
which the weaving stops when it reaches the right amplitude.

The rotating angle of the weaving reference plane around the weaving
RotAngle_X real direction. This parameter is used to determine the final weaving plane, in
deg.

The rotating angle around the normal vector of the weaving plane, which
RotAngle_Z real
determines the shape of the sine weave, in deg.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-16
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Caution
 The normal vector of the plane determined by the motion path and the Tz direction of tool coordinates,
and the plane formed by the motion path is the reference plane for weaving.
 The function of RotAngle_Z is in the figure below: it is indicated by a solid line if RotAngle_Z=0 is a
solid line, and a dotted line if it is not 0.

5.6 Clock data type


CLOCK
It is used to store the value of the clock information. It supports only the operations such as Create, Delete
and Modify in the Global domin.

Parameter Data type Meaning

id int The number of the Clock variable.

state real The enable state of the Clock variable.

value real The count value of the Clock variable.

5.7 Area data type


AREA
It is used to store the value of Area information. It supports only the operations such as Create, Delete and
Modify in the Global domin.

Data
Parameter Meaning
type

id int The number of local variables.

activate bool Activate this area or not.

isInArea bool Whether it is in this area.

initActivate bool The auto activation flag at the beginning.

areaType int The type of area.

areaShape int The shape of area.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-17
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Data
Parameter Meaning
type

refSysScope int The scope of reference coordinates.

refSysName string The name of the reference coordinates.

enInPut bool Input enabling.

enInHigh bool The input enabling is high and valid.

ditype int The type of DI.

InputActStatePort int The actual input status.

enOutPut bool Output enabling.

enOutHigh bool The output enabling is high and valid.

doType int The type of DO.

OutputActStatePort int The actual output status.

StartPointX real The coordinate x of the origin of the area.

StartPointY real The coordinate y of the origin of the area.

StartPointZ real The coordinate z of the origin of the area.

The length of the rectangular area, or the radius of the cylindrical


lenXR real
area.

lenYH real The width of the rectangular area, or the height of the cylindrical area.

lenZ real The height of the rectangular area.

isFlangeEnd real Used to monitor TCP or flange side in area monitoring

POLYHEDRON
The POLYHEDRON variable selects the polyhedron region (ID) by index. It supports only the operations
such as Create, Delete and Modify in the Global domin.

Parameter Data type Meaning

The range of index values is [0, 4]. Where:


 0: indicates that the variable is invalid.
index int  1: indicates that the polyhedron area with area ID=1 is selected.
 2: indicates that the polyhedron area with area ID=2 is selected.
 …
activate bool Whether this polyhedron area is active or not.

isInArea bool Whether it is within the polyhedron area.

5.8 PLC data type


PLCREAL
It is used to store PLC real number, which correspond to real variables on the plc side according to the
data number. It supports only the operations such as Create, Delete and Modify in the Global domin.

Parameter Data type Meaning

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-18
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

Parameter Data type Meaning

plcNum int Data number

value real Variable value

saveflag bool Power-down memory

PLCBOOL
It is used to store PLC boolean values, which correspond to bool variables on the plc side according to the
data number. It supports only the operations such as Create, Delete and Modify in the Global domin.

Parameter Data type Meaning

plcNum int Data number

value bool Variable value

saveflag bool Power-down memory

PLCINT
It is used to store PLC short integer data according to the data number corresponding to the int variable on
the PLC side. This variable only supports operations such as Create, Delete, and Modify in the global
variable scope.

Parameter Data type Meaning

plcNum int Data number

value int Variable value

saveflag bool Power-down memory

PLCDINT
It is used to store PLC short integral values, which correspond to dint variables on the plc side according to
the data number. It supports only the operations such as Create, Delete and Modify in the Global domin.

Parameter Data type Meaning

plcNum int Data number

value int Variable value

saveflag bool Power-down memory

5.9 Pallet data type


PLACEOPTIONS
The information contained in the pre-place and the post-place points in the Pallet variable. This data type
can only be used together in a way being nested in the Pallet data type.

Parameter Data type Meaning

isUse bool Whether the parameter is valid or not.

sideOffset real Horizontal offset.

height real Height offset.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-19
ER 系列工业机器人操作手册 Chapter 5 Introduction to Variables

PALLET
It is used to store the Pallet information. This variable allows users to create and modify independently. It
supports operations such as Create, Delete, and Modify in the scope of Global and Project variables.

Parameter Data type Meaning

actParts int The actual number of workpieces in the pallet.

maxParts int The maximum number of workpieces in the pallet.

isEmpty bool Pallet is empty or not.

isFull bool Pallet is full or not.

xNum int The number of workpieces in the x direction of the pallet.

yNum int The number of workpieces in the y direction of the pallet.

zNum int The number of workpieces in the z direction of the pallet.

xdistOfPart real The length of a single workpiece in the x direction of the pallet.

ydistOfPart real The length of a single workpiece in the y direction of the pallet.

zdistOfPart real The length of a single workpiece in the z direction of the pallet.

refSysScope int The scope of coordinates referred by the pallet parameters.

refSysName string The name of coordinates referred by the pallet parameters.

palletDir int The palletizing or de-palletizing direction.

palletOrder int The palletizing or de-palletizing sequence.

firstPartScope int The scope of the first workpiece position variable.

firstPartPos string The name of the first workpiece position variable.

isEntryPosUsed bool Move to the palletizing entry point or not.

palletEntryScope int The scope of the palletizing entry point position variable.

palletEntryPos string The name of the palletizing entry point position.

preplaceOptions PLACEOPTIONS The pre-place information.

postplaceOptions PLACEOPTIONS The post-place information.

5.10 SOCKET data type


Socket
It is used to store Socket name information. This variable allows users to create and modify independently.
It supports operations such as Create, Delete, and Modify in the scope of Global, Project and Program
variables.

Parameter Data type Meaning

value string The name of socket.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 5-20
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Chapter 6 Introduction to Commands

6.1 Motion commands


The list of motion commands is shown in Figure 6-1.

Figure 6-1 List of motion commands

MovJ - Point-to-point motion command


It indicates that each joint of the robot performs point-to-point motion. The end trajectory of the robot is an
irregular curve, and the IO command can be operated when the command operates to an end, as shown in
Figure 6-2.

Figure 6-2 Parameter editing interface of MovJ

 Target position: The final position of the command.


− When set to "APOS", the coordinates of each axis in joint space.
− When set to "CPOS", the position of the TCP point in the Cartesian coordinates. The target position
depends on the configuration of confdata. If the mode parameter is set to -1, the focus position is
not limited by the value of confdata, but the optimal solution to the destination.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself; the item per controls the MovJ command, which is the percentage of the global speed.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-1
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
No transition, speed to zero.
无过渡,速度到零
过渡,速度不到零
Transition, speed doesnt reach zero.
V

time
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path.

p1
p0
Smaller
较小的过渡参数transition parameter

Larger transition parameter


较大的过渡参数

p2

MovL - Linear motion command


MovL is the linear motion command, through which the TCP point of the robot can be moved linearly to the
target position at the set speed. If the start and end postures of the motion differ, then during operation the
posture will synchronously rotate to the ending posture along with the position. It is the same as MovJ. An
additional IO operation can be performed when the command is executed. The parameter setting of MovL
is similar to MovJ, but its target speed is an absolute speed value, rather than the percentage.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-2
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-3 Parameter editing interface of MovL

 Target Position: The commanded ending position, which can be of type APOS or CPOS.
Select an existing point in the drop-down list or create and teach a new variable in the pop-up dialog.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself; the item per controls the MovJ command, which is the percentage of the global speed.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition, where the transition parameter is a relative value that represents the
distance from the transition point to the end of the track as a percentage of the full trajectory path.
− ABSOLUTE: Absolute transition, where the transition parameter is an absolute value indicating the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Rate type: Whether the robots commanded speed is affected b y the global multiplier of the programming pendant
when executing this path.
− DEFAULT: Same as GOVRON, i.e. the commanded speed is affected by the global multiplier of the
programming pendant.
− GOVRON: The commanded speed is affected by the global multiplier of the programming pendant.
− GOVROFF: The commanded speed is not affected by the global multiplier of the programming
pendant.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-3
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 AddDo: The robot can perform IO operation after executing this command.
− NULL: No operation.
− IO commands: Executing IO operation. The IO commands currently available are SetDo, SetAo,
SetSimDo, SetSimAo, PulseOut, PulseSimOut, SetDO8421, SetSimDO8421, SetDIEdge, and
SetSimDIEdge.

MovC - Arc motion command


Arc command refers to the circular motion made by the robot’s TCP point from the starting position to the
target by passing through the middle position. If the start and end postures of the motion are different, the
posture will rotate to the end posture synchronously with the position, but it may not necessarily pass
through the middle position.

Figure 6-4 Parameter editing interface of MovC

 Middle position: The position of the auxiliary point in the middle of the arc.
 Target position: The final position of the arc.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
− When it is set to external tool coordinates, the motion of robot is relative to the external tool
coordinates, and the target speed of command is relative to the external tool coordinates. External

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-4
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

TCP functions support only the transition between the reference coordinate system is the same
external tool coordinates.
− When setting it to the positioner coordinates, the robot’s motion is relative to the positioner
coordinates, and the target speed of command is relative to the positioner flange. The
POSITIONER function supports only the transition between the same positioner.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Rate type: Whether the robots commanded speed is affected by the global multiplier of the programming pendant
when executing this path.
− DEFAULT: Same as GOVRON, i.e. the commanded speed is affected by the global multiplier of the
programming pendant.
− GOVRON: The commanded speed is affected by the global multiplier of the programming pendant.
− GOVROFF: The commanded speed is not affected by the global multiplier of the programming
pendant.
 AddDo: The robot can perform IO operation after executing this command.
− NULL: No operation.
− IO Command: Executing IO operation.

Figure 6-5 Key points of MovC arc

Middle position

Starting position Target position

This command must satisfy:

When the end of the robot TCP performs a full circular motion, two MovC commands must be executed or
the MovCircle command must be used.

MovCircle - Circular motion command


MovCircle command means that the robot TCP point moves in a full circle from the start position to the
start position through the auxiliary point 1 and auxiliary point 2 positions, with the pose remaining constant
during the movement.

Figure 6-6 Parameter editing interface of MovCircle

 Middle Position 1: The position 1 of the middle auxiliary point of the full circle, which is used to determine the size
and movement direction of the arc. The pose of this point will not affect the final trajectory.
 Middle Position 2: The position 2 of the middle auxiliary point of the full circle, which is used to determine the size
and movement direction of the arc. The pose of this point will not affect the final trajectory.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-5
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Target speed: The running speed of command.


− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition, where the transition parameter is a relative value that represents the
distance from the transition point to the end of the track as a percentage of the full trajectory path.
− ABSOLUTE: Absolute transition, where the transition parameter is an absolute value indicating the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
− When it is set to external tool coordinates, the motion of robot is relative to the external tool
coordinates, and the target speed of command is relative to the external tool coordinates. External
TCP functions support only the transition between the reference coordinate system is the same
external tool coordinates.
− When setting it to the positioner coordinates, the robot’s motion is relative to the positioner
coordinates, and the target speed of command is relative to the positioner flange. The
POSITIONER function supports only the transition between the same positioner.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Rate type: Whether the robot’s commanded speed is affected by the global multiplier of the programming pendant
when executing this path.
− DEFAULT: Same as GOVRON, i.e. the commanded speed is affected by the global multiplier of the
programming pendant.
− GOVRON: The commanded speed is affected by the global multiplier of the programming pendant.
− GOVROFF: The commanded speed is not affected by the global multiplier of the programming
pendant.
 AddDo: The robot can perform IO operation after executing this command.
− NULL: No operation.
− IO Command: Executing IO operation.

Figure 6-7 Key points of MovCircle full circle

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-6
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Middle
中间位置1 position 1

起始位置
Starting position 中间位置2
Middle position 2

MovJRel - Relative offset command


The MovJ interpolation relative offset command. It works by taking the current robot position or the target
position of the previous motion command as the starting point, and then perform the robot motion
operation.

Unlike the commands such as MovJ, the target relative position value used by this command cannot be
obtained through teaching. User needs to create a new joint relative position variable in the list of variables
before, and then select it from the drop-down list.

Figure 6-8 Parameter editing interface of MovJRel

 Target Relative Position: The position increment the robot will move when executing this command.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-7
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

path of current segment and the preceding/next segments change, the transition will not be
supported.
 AddDo: Robot will perform IO operation after executing this command.

MovLRel-Interpolation relative offset command


The MovJ interpolation relative offset command. It works by taking the current robot position or the target
position of the previous motion command as the starting point, and then performs an offset motion relative
to the coordinate system or tool.

Unlike the commands such as MovL, the target relative position value used by this command cannot be
obtained through teaching. User needs to create a new joint relative position variable in the list of variables
before, and then select it from the drop-down list.

Figure 6-9 Parameter editing interface of MovJRel

 Target Relative Position: The position increment the robot will move when executing this command.
 Reference Coordinates: coordinate system offset or tool offset selection;
− Coord: offset relative to the current user coordinates;
− Tool: offset relative to the tool coordinates, i.e. translation or rotation with reference to Tx, Ty, Tz.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Rate type: Whether the robot’s commanded speed is affected by the global multiplier.
− DEFAULT: Same as GOVRON, i.e. the commanded speed is affected by the global multiplier of the
programming pendant.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-8
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− GOVRON: The commanded speed is affected by the global multiplier of the programming pendant.
− GOVROFF: The commanded speed is not affected by the global multiplier of the programming
pendant.
 AddDo: Robot will perform IO operation after executing this command.

MovJOffset – Offset motion command of joint space


In contrast to the MovLOffset command, the MovJOffset command performs offset motion with MovJ
motion and the target relative position supports both types of DAPOS and DCPOS.

In contrast to the MovJRel command, the starting position specified by the MovJOffset command is
not limited to the position of the current robot or the target position of the previous motion command, and
can be offset relative to the coordinates or tool.

Figure 6-10 Parameter editing interface of MovJOffset

 Reference position: the starting point of the offset movement (APOS or CPOS);
 Target relative position: position increment in which the robot is to move when this command is executed
(DAPOS or DCPOS);
 Reference Coordinates: Coordinates offset or tool offset selection. Where, "Coord" means offset relative
to the current user coordinates and "Tool" means offset relative to the tool coordinates, i.e. translation or
rotation with reference to Tx, Ty, Tz;
 Tool parameters: information about the tool to which the reference position belongs;
Coordinate system parameter: information about the coordinate system to which the reference position
belongs;
Target speed: the commanded run speed (SPEED type variable), where only the per parameter is
absolutely valid for this command;
 Transition type: The way of transition when the robot approaches the endpoint. RELATIVE: Relative
transition. The transition parameter is a relative value that represents the percentage of the distance from
the transition point to the path endpoint relative to the full length of the path. ABSOLUTE: Absolute
transition. The transition parameter is an absolute value that represents the distance from the transition
point to the endpoint of path.
 Transition value: the transition value (variable of type ZONE) at which the robot approaches the end,
where the per parameter is valid for relative transition types and the dis parameter is valid for absolute
transition types;
 Workpiece load: The workpiece load parameter used by the robot when executing the path.

AddDo: Robot will perform IO operation after executing this command.

MovLOffset - Linear offset motion command


MovL Interpolation Relative Offset command. This command specifies a reference position as the starting
position for an offset movement relative to the coordinates or tool.

It differs from MovLRel only in that it specifies the starting point of the offset movement, not necessarily the
current position or the endpoint of the previous command, and all other functions are the same.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-9
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-11 Parameter editing interface of MovJOffset

The new command parameters compared to MovLRel are as follows:


 Reference position: The starting point of the offset movement (APos or CPos).
 Tool parameters: Information on the tool to which the reference position belongs.
 Coordinate system parameters: Information on the coordinate system to which the reference position belongs.

MovJSearch - Searching command (MovJ)


A search command, which performs IO detection or torque detection when executing the MovL command.

When the search condition is IO detection and the value of index IO reaches the triggered value, stop
running the command and continue to execute the next command with the interrupt return value set to 1.

When the search condition is torque detection and the value of the index axis torque reaches the triggered
value, stop running the command and continue to execute the next command, with the interrupt return
value set to X.

If there is no interruption during the command execution, set the interrupt return value to 0.

Figure 6-12 Parameter editing interface of MovJSearch

 Target position: The final position of the command (the position point of APOS or CPOS).
 Target speed: The speed at which the command position is run (SPEED variable). Only the PER parameter is
absolutely valid for this command.
 Tool parameter: Information on the tool.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-10
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Coordinate system parameter: Cartesian coordinate system to which the target position refers.
 Workload: Information on the workload.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
Note: MovJSearch does not support transition planning with the next motion command in the current
version.
 Type of detection:
− DITrig: Physical digital IO input detection.
− AITrig: Physical analogue IO input detection.
− SIMDITrig: Virtual digital IO input detection.
− SIMAITrig: Virtual analogue IO input detection.
− TorqTrig: Torque detection.
 Trigger index:
− For DITrig/SIMDITrig/ AITrig/ SIMAITrig, this parameter indicates the IO port number to be detected.
− For TorqTirg, this parameter indicates the axis number to be detected.
 Trigger value:
− For DITrig/SIMDITrig/ AITrig/ SIMAITrig, the threshold for IO detection.
− For InputTrig, the threshold for IO detection.
 For TorqTirg, the threshold value for torque detection, in thousandths of the nominal torque.
 STOP type: The way to stop when a signal is detected.
− DEFAULT: Stops immediately;
− HARDSTOP: Stops immediately;
− SOFTSTOP: Stop at reduced speed.
 Decel Factor: The value is valid when "SOFTSTOP" is selected as "Stop Type". It is used to adjust the Decel/Accel
factor, the greater the value, the faster the deceleration.
 AddDo: Robot will perform IO operation after executing this command.
 Returned value: The returned value determines whether there is an interrupt during the run. 0: not detected; 1:
Searching succeeded; 2: Signal is detected at the start of the movement
 Position of successful search: Returns the coordinate position of the robot at the moment of the interrupt. (APOS
type). This parameter can be defaulted.
 Label name to jump to in case of a search failure: The name of the label to which the program pointer will jump in
case of a search failure, which is the name of a label already taught in the current program (e.g. "Start:"). This parameter
can be defaulted.

Note
Transition planning with the next motion command is not supported in the current version of MovJSearch.

Example 1:

MovJ(P1, V50, ”RELATIVE”, C100)


MovJSearch(P2, V50, ”RELATIVE”, C100,"DITrig",16,1,INT0)
MovJ(P3, V50, ”RELATIVE”, C100)
The robot moves to point P1 at a speed of 50, after which it starts to detect the status of input port
16 during the movement to point P2. When a high level is detected, the robot will immediately stop moving
towards point P2 and start moving towards point P3, while the value in INT0 will be set to 1. If there is no
high level signal at input port 16 during the movement towards point P2, the robot will continue moving
towards point P3 when it reaches point P2, while INT0 is set to 0.

MovLSearch - Search command (MovL)


The Search Ccommand refers to IO detection or torque detection while executing this MovL command,
which is similar to MovJSearch.

When the search condition is of IO detection and the value of the indexed IO reaches the trigger value,
stop running this command and continue to execute the next command with the interrupt return value set
to 1.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-11
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

When the search condition is of torque detection and the value of the index axis torque reaches the trigger
value, stop running the command and continue to execute the next command, with the interrupt return
value set to 1.

If there is no interrupt during the command running, set the interrupt return value to 0.

Figure 6-13 Parameter editing interface of MovLSearch

 Target position: The final position of the command (the position point of APOS or CPos).
Target speed: The position running speed of command (SPEED variable), where the parameter tcp is
valid for the command linear speed and ori is valid for the pose speed (and neither can be 0).
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
Note: MovJSearch does not support transition planning with the next motion command in the current
version.
 Type of detection:
− DITrig: Physical digital IO input detection.
− AITrig: Physical analogue IO input detection.
− SIMDITrig: Virtual digital IO input detection.
− SIMAITrig: Virtual analogue IO input detection.

 Tool parameter: Information on the tool.


 Coordinate system parameter: Cartesian coordinate system to which the target position refers.
 Workload: Information on the workload.
 Trigger index:

For DITrig/SIMDITrig/ AITrig/ SIMAITrig, this parameter indicates the IO port number to be detected.

For TorqTirg, this parameter indicates the axis number to be detected.


 Trigger value:

For DITrig/SIMDITrig/ AITrig/ SIMAITrig, the threshold for IO detection.

For InputTrig, the threshold value for torque detection, in thousandths of nominal torque.
 STOP type: The way to stop when a signal is detected.
− DEFAULT: Stops immediately;
− HARDSTOP: Stops immediately;
− SOFTSTOP: Stop at reduced speed.
 Decel Factor: The value is valid when "SOFTSTOP" is selected as "Stop Type". It is used to adjust the Decel/Accel
factor, the greater the value, the faster the deceleration.
Returned value: The returned value determines whether there is an interrupt during the run. 0: not
detected; 1: Searching succeeded; 2: Signal is detected at the start of the movement

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-12
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Position of successful search: Returns the coordinate position of the robot at the moment of the
interrupt. (CPOS type). This parameter can be defaulted.
 Label name to jump to in case of a search failure: The name of the label to which the program pointer will
jump in case of a search failure, which is the name of a label already taught in the current program (e.g.
"Start:"). This parameter can be defaulted.
 AddDo: Robot will perform IO operation after executing this command.

Note
Transition planning with the next motion command is not supported in the current version of MovLSearch.

Example 1:

MovL(P1, V50, ”RELATIVE”, C100)


MovLSearch(P2, V50, ”RELATIVE”, C100,"DITrig",16,1,INT0)
MovL(P3, V50, ”RELATIVE”, C100)
The robot moves to point P1 at a speed of 50, after which it starts to detect the status of input port
16 during the movement to point P2. When a high level is detected, the robot will immediately stop moving
towards point P2 and start moving towards point P3, while the value in INT0 will be set to 1. If there is no
high level signal at input port 16 during the movement towards point P2, the robot will continue moving
towards point P3 when it reaches point P2, while INT0 is set to 0.

MovLW - Weave command


Weave command, which performs the arc swinging motion in the forward direction based on the set swing
frequency and amplitude.

Figure 6-14 Parameter editing interface of MovLW

 Target position: The final position of the command (the position point of APOS or CPos).
Select an existing point from the drop-down list or create and teach a new variable in the pop-up dialog box.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-13
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
− When setting it to the positioner coordinates, the robot’s motion is relative to the positioner
coordinates, and the target speed of command is relative to the positioner flange. The
POSITIONER function supports only the transition between the same positioner.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Swinging arc variable: The weaving parameter.
The swing frequency, amplitude, stop time, rotation, etc. can be set.
 Rate type: Whether the robot’s commanded speed is affected by the global multiplier of the programming pendant
when executing this path.
− DEFAULT: Same as GOVRON, i.e. the commanded speed is affected by the global multiplier of the
programming pendant.
− GOVRON: The commanded speed is affected by the global multiplier of the programming pendant.
− GOVROFF: The commanded speed is not affected by the global multiplier of the programming
pendant.
 AddDo: Robot will perform IO operation after executing this command.
− NULL: No operation.
− IO command: Performs IO operations.
Note
The WEAVE variable has the following parameters:
 Type: Weave type of robot. It is a sine Weave when the value is 1, and is a triangular Weave when the
value is 2.
 Freq: The frequency when the robot weaves, in Hz.
 Amp_L: The left amplitude when the robot weaves, in mm.
 Amp_R: The right amplitude when the robot weaves, in mm.
 StopTime_L: The time when robot stops at wave peak. It refers to the time in ms at which the weaving
stops when it reaches the left amplitude.
 StopTime_C: The time when robot stops at the middle. It refers to the time in ms at which the weaving
stops when it reaches the middle position.
 StopTime_R: The time when robot stops at wave trough. It refers to the time in ms at which the
weaving stops when it reaches the right amplitude.
 RotAngle_X: The rotating angle of the weaving reference plane around the weaving direction. This
parameter is used to determine the final weaving plane, in deg.
 RotAngle_Z: The rotating angle around the normal vector of the weaving plane, which determines the
shape of the sine weave, in deg.

Caution
 The normal vector of the plane determined by the motion path and the Tz direction of tool coordinates,
and the plane formed by the motion path is the reference plane for weaving.
 The function of RotAngle_Z is in the figure below: it is indicated by a solid line if RotAngle_Z=0 is a
solid line, and a dotted line if it is not 0.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-14
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

MovCW
Similar to MovLW.

MovCircleW
Similar to MovLW.

MovH - Helical motion command


The Helical motion command, through which the TCP point of the robot can perform Helical motion to the
target position. If the start and end postures of the motion are different, the posture will rotate to the ending
posture synchronously with the position.

Figure 6-15 Parameter editing interface of MovH

 Middle position: The position of the helical middle auxiliary point. The auxiliary point is used to determine the helical
plane and the helical direction (precession in clockwise and counterclockwise). The helical movement may not pass
through the auxiliary point
 Target position: Helical end position
 Target speed: the speed at which the command position is run, where the parameter tcp is valid for the linear speed
of the command and ori is valid for the posture speed. The maximum path linear speed of the helical line is 0.25 times
the maximum system speed
 Transition type: Transition not supported

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-15
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
− When setting it to the positioner coordinates, the robot’s motion is relative to the positioner
coordinates, and the target speed of command is relative to the positioner flange. The
POSITIONER function supports only the transition between the same positioner.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
 When it is set to PAYLOAD variable, you can selected the system pre-defined one, or create it by yourself; when a
load parameter different from the current workpiece load parameter is used, the system will switch the workpiece load
parameter to the set parameter. If the workpiece load of the path of current segment and the preceding/next segments
change, the transition will not be supported.
 Radius: Helical line radius, in mm
 Stepping distance: The stepping distance when the helical line makes one revolution, in mm
 AddDo: The robot can perform IO operations after executing this comman

Figure 6-16 Key points of MovH helical motion

Note
For Helical motion, the transition and WaitFinish are not supported.

Example:
MovL (P1, V50, ”RELATIVE”, C50)
MovH (P2,P3, V100, ”FINE”,nullTool,World,PayLoad0,10,5)
The robot will move to point P1 at the speed of V50, and then when executing the Helical
command by taking point P1 as the starting point of the motion, and determining the
Helical motion plane using the three points P1, P2, and P3, while determining the
precession direction using point P2. Then, perform the precession to the endpoint P3 at a
helical radius of 10mm and the step distance of 5mm. The entire helical motion is
finished by this moment.

MovArch - Arch-shaped motion command


MovArch is an arch-shaped motion command. The motion process is as follows: first, elevate the robot to a
height of h1 at the current point, then move it to a height of h2 from the target point, and finally descend it
again to a height of h2 to reach the target point. This is an arch-shaped motion, which is a point-to-point
motion. When the robot moves directly to the target point, it is automatically elevated to a height outside
the obstacle and then moves to the target point to improve safety and operability.

Figure 6-17 Motion path

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-16
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Height h2

Height h1
Target point

Current

Note
This command is only for scara model currently.

Figure 6-18 Parameter editing interface of MovArch

 Target position: The final position of the command (the position point of APOS or CPOS).
Select an existing point from the drop-down list, or create a new a variable in the pop-up dialog box for teaching.
 Target speed: The running speed of the command (SPEED variable).
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition, where the transition parameter is a relative value that represents the
distance from the transition point to the end of the track as a percentage of the full trajectory path.
− ABSOLUTE: Absolute transition, where the transition parameter is an absolute value indicating the
distance from the transition point to the endpoint of path.
 Transition value: The transition value when the robot approaches the endpoint (ZONE variable).
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.
− When it is set to TOOL variable, you can select the system pre-defined one, or create it by yourself.
When using a coordinate system different from the current tool parameters, the system will switch
the tool parameters to the set ones. If the tool parameters of the path of current segment and the
preceding/next segments change, the transition will not be supported.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-17
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− When setting it to “DEFAULT”, the tool coordinate system set last time will be continuously used.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Lifting height: The height that the end of robot needs to elevate when performing arching motion, as shown in
Figure h1.
 Descending height: The height at which the end of the robot descends when executing an arching motion, as in
Figure h2.
 Rotating angle value: The transition parameters (ZONE variables) when the robot performs an arcing motion.
 AddDo: Robot will perform IO operation after executing this command.
− NULL: No operation.
− IO command: Execute IO operations.

Example:
MovL (P1, V50, ”RELATIVE”, C50)
MovArch (P2, V100, ”FINE”,10,10,C100)
The robot will first move to the point P1 with a speed of V50, after which it will execute the arch command. It will first move to the
position P1.z+ 10 mm with a speed of V100, then to the position P2.z+ 10 mm, and finally to the position P2, with a C100
transition throughout the movement.

MovLArch – Linear arch-shaped motion command


The linear arch-shaped motion command. In this command, the robot uses the current position as the
starting position and makes an elevating motion, then moves above the target point in a MovL motion and
finally descends to the target point.

As shown in the diagram below: First, the robot elevates h1 at the current point, then moves to a height
of h2 from the target point, and finally descends h2 again to reach the target point. This is a cycle of
arching motion.

This arching motion is a spatial linear motion mode. When the robot moves directly to the target point, it
is automatically elevated to a height outside the obstacle and then moves to the target point to improve
safety and operability.

Height h2

Height h1

Target point

Current point

Figure 6-19 MovLArch parameters

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-18
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Target position: The final position of the command (the position point of APOS or CPOS).
 Target speed: the speed at which the command is run;
 Transition type: the way of transition when the robot approaches the endpoint; DEFAULT.
 Transition value: the value of the transition when the robot approaches the end point;
 Tool parameters: the tool parameters used by the robot to execute the path;
 Coordinate system parameters: the parameters of the coordinate system used by the robot to execute
the path;
 Workpiece load: the workpiece load parameter used by the robot to execute the path;
Lifting height: The height that the end of robot needs to elevate when performing arching motion, as
shown in Figure h1;
Descending height: The height at which the end of the robot descends when executing an arching motion,
as in Figure h2;
 Rotating angle value: The transition parameters when the robot performs an arcing motion;
 Rate type: whether the commanded speed is affected by the global multiplier of the teach pendant when
the robot executes this path;
 AddDo: The robot can perform IO operation after executing this command.

Note
The MovLArch command is currently only available for Scara models.

OnDistance - Distance trigger command


The distance trigger command. The controller can trigger some operations when moving a certain distance
from the starting point or to the end point by not interrupting the transition, e.g. assigning values, setting IO
and so on.

Figure 6-20 Parameter editing interface of OnDistance

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-19
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

When the trigger type is set to judge from the starting point, the controller will enter the trigger waiting after
the robot moves to the set distance, and after delaying the trigger time (time is positive), it will start to
perform the related trigger operations.

When the trigger type is set to judge from the endpoint, the controller will enter the trigger waiting after the
robot moves to the set distance, and after delaying the trigger time (time is positive), it will start to perform
the related trigger operations.

When the trigger time is negative, the controller calculates in advance how long it will take before the robot
moves to the set distanc. When the delay reaches the trigger time, the system will start to perform the
trigger operations.
 Trigger type: Specify whether the current trigger is made at a certain distance from the start point or at a distance to
the endpoint.
 Trigger distance: The distance parameter for the trigger. This parameter is of the REALC parameter type, i.e. it can
be entered either as a constant or as a variable of the REAL type.
 Trigger time: The time delayed for trigger after the trigger condition is met. This parameter is of an INTC parameter
type, which can be entered as either a constant or an INT type variable. When set to a negative number, it indicates
an early trigger.
 Trigger operation: The robot needs to perform the trigger operations after the trigger condition is met.

Example 1: The Do operation is executed at a distance of 200ms from the starting point of the path from
P1 to P2, with a delay of 100ms.
MovL (P1, V50, ”RELATIVE”, C0)
OnDistance(“FromBegin”,200,100) DO SetDO(DO0,1);
MovL (P2, V50, ”RELATIVE”, C0)

Example 2: The Do operation is executed at a distance of 200ms from the end point of the path from P1 to
P2, with a delay of 100ms.
MovL (P1, V50, ”RELATIVE”, C0)
OnDistance(“FromEnd”,200,100) DO SetDO(DO0,1);
MovL (P2, V50, ”RELATIVE”, C0)

Caution
 When the distance trigger is met and the time trigger is still delayed, if the robot has completed the
current path, the trigger will be executed later after the conditions for triggering is satisfied.
 When the set trigger distance exceeds the path length, there will be two cases: when it is the start point
trigger, the trigger judgment will be executed when the robot moves to the endpoint. When it is the
endpoint trigger, the trigger judgment will be executed at the starting point. Trigger immediately when
the relevant conditions are met.
 There’re multiple trigger commands between the two paths. The respective detections will be made
before the trigger execution. They works in a way not interfering with each other.
 Execute the motion commands in Cartesian coordinates before executing OnDistance, otherwise
OnDistance will not work, and the status bar will prompt that the operation is invalid, but the system
operation will not be affected.
 Only waiting commands can be inserted between OnDistance and the next motion command in
Cartesian coordinate system, otherwise an error will be reported. The waiting commands can be Wait,
Waitcondition WaitFinish and so on.
 The distance parameter cannot be negative, and the time parameter can be either positive or negative.
 The trigger command does not support single-step mode.
 OnDistance only supports MOVL and MOVC commands, i.e. MOVJ commands are not allowed on
either side of this command, otherwise an error will be reported.
 If a stop operation occurs in a project waiting for a trigger, or if it changes from pause to stop, the
system will clear the trigger cache of all the monitors.

OnParameter - Distance percentage trigger command


The distance percentage trigger command. It is used to trigger some operations (e.g. assignment, setting
IO and other shortcut operations) at a certain point of the linear path without interrupting the transition.

Figure 6-21 Parameter editing interface of OnParameter

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-20
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

When the robot moves to the set path of trigger percentage, the controller enters the trigger waiting, and it
starts to execute the related trigger operation after the trigger time is delayed (time is positive).

When the trigger time is negative, the controller calculates in advance how long it will take before the robot
moves to the set distanc. When the delay reaches the trigger time, the system will start to perform the
trigger operations.
 Path percentage: The percentage of paths that need to be triggered.
 Trigger time: The time delayed for trigger after the trigger condition is met. This parameter is of an INTC parameter
type, which can be entered as either a constant or an INT type variable.
When set to a negative number, it indicates an early trigger.
 Trigger operation: The robot needs to perform the trigger operations after the trigger condition is met.
Note
The trigger command does not support single-step mode.

Example:

Example: Execute a Do operation with a delay of 500ms from P1 to P2 at a path distance of 60%.
MovJ (P1, V50, ”RELATIVE”, C0)
OnParameter(60,500) DO SetDO(DO0,1);
MovL (P2, V50, ”RELATIVE”, C0)

6.2 Control commands


The list of control commands is shown in Figure 6-22.

Figure 6-22 List of control commands

LABEL - Defining the jump target


Label command is used to jump target.

GOTO – JUMP command

GOTO command is used to jump to different parts of the program. The jump target is defined by the
LABEL. It is not allowed to jump from the external into the internal program blocks. The internal block may
be a WHILE cycle block or an IF block.

Example:
label1:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-21
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

MovJ(P0)
GOTO lable1
In the LABEL command, set the label1, and upon execution of the GOTO command, the robot jumps to the line "label1: "

IF- Conditional judgment command


IF command is used for jump control of the conditional judgment expression. When the result of the
conditional judgment expression is TRUE, the program executes the block content under IF. Similar to the
IF statement in c++. The result of the IF condition judgment expression must be of BOOL type. For every
IF command, any conditional judgment block must be ended with the keyword ENDIF.

After selecting "Control Commands→ IF", you will enter the setting interface of IF statements, as shown in
Figure 6-23.

Figure 6-23 IF statement setting interface

 Variable A and Variable B can be set as constants or parameters: Click "Replace", and choose the constant,
variable or function for replacement.
To modify the value of a variable, you can move the cursor to the variable that needs to be modified, then click "Modify",
and set the value in the pop-up dialog box.
 The judgment symbol is used to judge the relationship between Variable A and Variable B. If it is TRUE, the
command behind THEN is executed; if it is FALSE, the command behind THEN is skipped.
 Click "Add" to add a new "+<Exp>" at the current position of the cursor, of which "+" denotes an operator, and
"<Exp>" denotes an operand.
− Click "+", then click "Modify" and select the desired operator in the pop-up soft keyboard, as shown
in Figure 6-24.

Figure 6-24 Modifiable operator

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-22
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Click "<Exp>", and then click "Replace" or "Modify" to change the operand to the desired constant, variable or
function.
 Click the operator or operand you would like to delete, and then click "Delete" to delete such operator and the
subsequent operands.
 Click an operator, and then click "()" to add a bracket to the operand in front of and behind the current operator. Click
an operand and then click "()" to add a bracket to the current operand.
 To delete the bracket, click the operator or operand, and then click "(*)" to delete the selected operator or operand
response bracket.
IF x >1 and y == 1and z < 1 THEN
y = 10
ENDIF

Note
To delete an IF command, you need to click "Select Multi-line" in the program editing interface, then click
the control statement between IF and END_IF, and then click "Edit → Delete" on the right menu.
When make replacement, you can select "mathematical function" or "character function". The functions are
detailed in the “Mathematical Operation Functions” and “Other Functions”.

ELSIF
ELSIF relies upon the IF command. It follows closely the IF command block. When the IF logic is not
established, the ELSIF logic judgment is performed.

The way to set the ELSIF expression is the same as that of the IF expression.

Followings shall be noted when using this command:


 ELSIF can be added behind the IF command block, but cannot be added separately.
 ELSIF can also be added behind the ELSIF command block, of which one IF command block is followed by multiple
ELSIF blocks.
 ELSIF can be added in a nested way, which means that IF and ELSIF commands can be added in IF or ELSIF block.
 After the IF logic is TRUE, the subsequent ELSIF commands will not be executed, but executing ENDIF directly.
 After the IF logic is FALSE, the subsequent ELSIF commands will be executed; and if the ELSIF logic is FALSE, the
subsequent ELSIF commands will then be executed.
 After the IF logic is FALSE, the subsequent ELSIF command will be executed, and the ELSIF logic will be TRUE.
The subsequent ELSIF commands will not, after execution, be executed, but executing ENDIF directly.

ELSE
ELSE command relies on the IF or ELSIF command. It is registered behind the IF or ELSIF block. The
statement will be executed when the IF or ELSIF condition judgment is not established.

WHILE –Loop whenever conditions are met

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-23
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

WHILE command executes sub-statements in loops when the conditions are met. The loop control
expression must be of BOOL type. This command must end with the keyword ENDWHILE as the loop
control.

The way to set WHILE expression is the same as that of IF expression.

For example:
INT0= 1
WHILE INT0<=100DO
MovJ (P1, V50, ”RELATIVE”, C0)
MovJ (P2, V50, ”RELATIVE”, C0)
INT0=INT0+1
ENDWHILE

This command executes the cyclic motion of 100 times between two points.

FOR – for loop command


The FOR loop command consists of a 3 segments of strings, separated by commas. The command is
ended with the keyword ENDFOR.

The FOR loop command executes the loop body at the end of a loop and then makes another conditional
judgement. If the condition is still valid, the loop will continue to repeat, and when the condition is not valid,
the current FOR loop will be jumped out.

End of loop body

Conditional expression

Variable = initial value

Format: FOR (variable=initial value, conditional expression, end loop body at end) DO // If the conditional
expression is satisfied, the end loop body is executed; if not, the loop is jumped out directly.

…. // The code to be executed, once upon the end of each FOR.

ENDFOR

For example:
FOR INT0.value = 1, INT0.value < 10, INT0.value = INT0.value + 1 DO
INT1.value = INT1.value+1
ENDFOR

CALL - CALL command


The CALL command. The current program jumps to another subroutine under the same project or to a
global program under the global project, and jumps back to the current program after the subroutine is
executed.

If another subroutine under the same project is program1, the command generated in the program is:
CALL program1 or CALL L:program1

If the subroutine under the global project that needs to be called is program1, the command generated in
the program is:
CALL G:program1

Figure 6-25 shows the program execution flow.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-24
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-25 Execution flow of CALL command


Program Program
A A
Program
B

RUN - Program parallel running command

The program parallel running command. It enables the robot to run other programs while running the
current program (the current program continues to run while starting another program without jumping) and
the running program must be in the same project. If the program to be run is program1, the command then
produced in the program is:
RUN program1
Note
Currently, the controller supports 8 parallel running programs.

Figure 6-26 shows the program execution flow.

Figure 6-26 Execution flow of RUN command


Program A Program A

Program B

KILL – Command to stop parallel running


The command to stop parallel running. It enables the robot to stop running other programs while running
the current program. The program stopped must be in the same project and in the running state. If the
program that needs to be stopped is program1, the command produced in the program is:
KILL program1

RETURN - RETURN command


The RETURN command. In general, the program will jump to the end of the program after executing this
command. If the RETURN is used in the CALL command, it will then return to the upper level program of
the CALL command.

Example:
IFx >1THEN
RETURN
ENDIF
x = x + 1
/*other instructions*/
END;
When the condition is met, the robot executes to the RETURN command and jumps to END

...=... - Establish an expression


Establish an expression to assign a value to a variable, as shown in Figure 6-27.

Figure 6-27 How to establish an expression


Variable A
Assignment operation
Variable B

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-25
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Cursor left Cursor right

Command preview

Command editing
operation

 Variable A: can only be set as a variable. Click on "Replace" and choose the variable to be replaced.
 Variable B: can be set to a constant or variable. Click on "Replace" and choose the constants, variables and
functions to be replaced.
 Assignment: Assigns the value of variable B to variable A.
 Command preview: displays the entered command.
 Command editing operations:
Add: move the cursor to "Variable B", and then click "Add", the expression will automatically add a new empty
value, and the operator is "+" in default.
Replace: Move the cursor to the variable to be replaced and click on "Replace" to choose the constant,
variable or function to be replaced.
Modify: To modify the value or operator symbol of a variable, move the cursor over the variable or operator
symbol to be modified, click on "Modify" and set the value or operator symbol you wish to modify in the pop-up
dialog box, as shown below:

Figure 6-28 Modifiable operator

Introduction to operators:

Operator Function Operator Function

+ Addition operators, for summing < Less than, e.g.: a<b, the value of a is less than
b

- Subtraction operators, for <= Less than or equal to, e.g.: a<=b, the value of a
differencing is less than or equal to b

* Multiplication operators, for >= Greater than or equal to, e.g.: a>=b, the value
quadrature of a is greater than or equal to b

/ Division operators ~= Approximately equal to

^ Exponential operators == Judged equal, e.g.: a==b, it is judged that a and


b are equal

% Percent sign and AND operations, a and b, which means that


both conditions a and b are fulfilled

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-26
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

> Greater than, e.g.: a>b, the value or OR operations, a or b, which means that either
of a is greater than b condition a or condition b is fulfilled

Delete: Choose a new operator or subsequent variables, and then click "Delete" to delete the new operator
and subsequent variables.
 ()-: Adds the () operator.
 ()-: Deletes the added () operator.
Note
When make replacement, you can select "mathematical function" or "character function". The functions are
detailed in xx.
For all operations, you need to move the cursor to the parameter to be modified before performing the
command edit operation.

/*…*/ - COMMENT command


COMMENT command, to add definitions or remarks to the program.

This command will not affect the operation of the program, but only for reading and understanding the
program.

6.3 WAIT commands


List of WAIT commands is shown in Figure 6-29.

Figure 6-29 List of WAIT commands

Wait – Delay WAIT commands


It is used to set the robot wait time in ms, either as an int constant or as an INT variable. If you set the wait
time to 1s, the two ways to generate the command are:
// Use of constants
Wait(1000)
// Use of variables
INT0.value = 1000
Wait(INT0)

WaitFinish – Command to wait for a motion segment execution percentage

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-27
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

It is used to control the execution of the program during the robots motion, and can be set to execute the
next line of command when a certain percentage of the motion is executed.

As shown in the example, the SetDO command will trigger when the first MovL command reaches 20%.
The second MovL command will be execute after the first MovL command execution is finished.

If WaitFinish (20) is deleted, SerDO will be executed after the first MovL command is executed, followed by
the second MovL command. In this case, there is no transition but hold between the two MovL commands.
MovL (P1, V1000,”RELATIVE”, C100)
WaitFinish (20)
SetDO (DO1, 1)
MovL (P2, V1000,”RELATIVE”, C100)

WaitCondition – Command to wait to specify a judgement condition


Set the conditions for the robot to execute the WAIT. If the condition is satisfied, the next command is
executed. If the condition is not satisfied within the set time, it returns to the timeout state and continues
with the next command.

 Execute the next command only when the "judgement condition" is TRUE, otherwise the program will continue to
wait until the expression becomes TRUE.
 "Duration" refers to the time required to execute the WAIT, and may be of type int constant or INT variable, in ms.
− If the value of this parameter is 0, the next command can only be executed when the condition for
judgment condition is TRUE.
− If the value of this parameter is not 0, even if the condition for judgment is still not TRUE, the
system will skip the command after waiting for a given period of time and continue to execute the
next command.
 Interrupt enabling: Set whether or not to continue timing after the program resumes during the waiting process.
− 0: Stop timing when the program stops, and continue timing before the program stopped when
being resumed.
− 1: When the program stops, stop timing, and continue timing when being resumed.
 Timeout judgment value: Choose a variable and assign a value to it in the following two cases.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-28
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− If the input condition is TRUE and the command is executed, assign a value of 0 to the variable;
− When the command is executed due to timeout, assign 1 to the variable.
 Tag name for timeout jump: When the execution timed out, choose the line where the tag name is located.
WaitCondition("X> 0", 1000, 0, INT0)
When the waiting time is up to 1 second, if X> 0 is satisfied, the variable INT0 is assigned to 0 and the next command is
executed; if it is executed for 0.5 seconds, the program stops, resumes and continues timing on the basis of 0.5 seconds,
and when the condition is not satisfied at 1 second, the variable INT0 is assigned to 1 and the next command is executed.

6.4 IO commands
The list of IO commands are shown in Figure 6-30.

Figure 6-30 List of IO commands

For these commands, the digital and analog signals of the input and output modules will be used. The
digital and analog signals are often used in conjunction with trigger information.

SetDO - Set digital output command


Set the digital output port to TRUE (1) or FALSE (0),

Port Variable: The digital output port to be set

Port Value: The value of the digital output port to be set, either 0 or 1 can be entered, representing the low
or high level of the port respectively.

For example:
SetDO (DO1, 1)
Set the DO1 variable to 1, i.e. set the digital output port bound to the DO1 variable to high

SetAO - Set analog output command


Set the analog output port to a certain value,

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-29
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

For example:
SetAO (AO1, 5.0)
Set the AO1 variable to 5.0, i.e. set the voltage of the analog output port bound to the AO1 variable to 5.0V.

SetSimDO - Set virtual digital output port command


Set the virtual digital output port to TRUE (1) or FALSE (0).

For example:

SetSimDO (SimDO1, 1)
Set the SimDO1 variable to 1, i.e. set the virtual digital output port bound to the SimDO1 variable to 1.

SetSimAO - Set virtual analog output port value


Set the virtual analog output port to a certain value.

For example:
SetSimAO (SimAO1, 5.0)
Set the value of the virtual analog output variable SimAO1 to 5.0, i.e. set the output value of the port to which the variable
is bound to 5.0.

WaitDI - Command to wait for a digital input

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-30
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Wait until the digital input port has been set or reset.

 Port variable: The number of the input port to be waited for.


 Port value: The digital input port level to be waited for.
− 0: Low level
− 1: High level
 Duration (ms): The time to wait for signal change, either of type int constant or INT variable.
 Interrupt enabling: Whether or not to continue timing after the program resumes during the waiting process.
− 0: Stop timing when the program stops, and continue timing before the program stopped when
being resumed.
− 1: When the program stops, stop timing, and continue timing when being resumed.
 Timeout judgment value: Return to the state after the command is executed
− 0: Signal is detected successfully
− 1: No signal is detected, and the command times out and returns.
 Tag name for timeout jump: When the execution timed out, choose the line where the tag name is located.
Example

WaitDI (DI1, 1, 1000, 0, INT1)


Wait for the digital input variable DI1 to be "1" and wait for 1,000ms (if the program is halted during this period, the timing
will continue after resuming operation); if the signal is not waited for within 1,000ms, INT1 will be set to 1, indicating the
waiting timeout.

WaitDI8421 - Command to wait for a group of digital inputs


This command is used to wait for the state combination of a group of continuous digital input DI port within
the specified time. If the condition for waiting is met within the set time, the program continues to execute
downward; if not, the timeout judgment value is set to 1, and the program continues to execute downward.

 Duration: The time spent in waiting for the DI signal of this group of digital inputs, either of type int constant or INT
variable, in ms.
 Interrupt enabling: The parameter is used to set whether or not to restart timing after restarting if the program is
halted when waiting.
− 0: When the program is halted, timing is stopped but continued from the time before the program
pause when resuming the operation.
− 1: When the program is halted, timing is stopped but restarted when resuming the operation

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-31
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Start DI port: The start port number of the continuous DI port in this segment.
 End DI port: The end port number of the continuous DI port in this segment.
 Start port 8421 value: Convert the continuous DI port value of this segment into a decimal number. If it is equal to
the VALUE, it will then be deemed to satisfy the condition.
 Timeout judgment value: Return to the state after the command is executed.
− 0: Signal is detected successfully
− 1: No signal is detected, and the command times out and returns.
 Tag name for timeout jump: When the execution timed out, choose the line where the tag name is located.
WaitDI8421(1000, 1, 9, 16, 255,INT1,"Gotoggg")
/*When the state of DI port 9-16 is 11111111 in 1000 ms, the program will continue to execute downwards. If the
condition is not met within 1000 ms, set INT1 to 1. If the program is paused while waiting, the timing will restart after
program resumes. */

WaitAI - Command to wait for analog input


Wait until the analog input port value is equal to the given one. The parameter specifications are the same
as that of WaitDI.

Example
WaitAI (AI1 , 5.0 , 1000 , 1 , INT1)
Wait 1000ms for the analog input variable AI1 to be "5.0" (if the program is halted during this period, restart the timing
after program resumes); if no signal is received within 1000ms, set INT1 to 1 to indicate the wait timeout.

WaitSimDI - Wait until the virtual digital input signal has been set
Wait until the virtual digital input port is set or reset. The parameter specifications are the same as that of
WaitDI.

WaitSimDI (SimDI1, 1, 1000, 0, INT1)


Wait 1000ms for the digital input variable SimDI1 to be "1" (if the program is halted during this period, restart the timing
after program resumes); if no signal is received within 1000ms, set INT1 to 1 to indicate the wait timeout.

WaitSimDI8421 - Command to wait for a group of virtual digital inputs


Wait for the state combination of a group of continuous virtual digital input SimDI ports within the specified
time. The parameter specifications are the same as that of WaitDI8421.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-32
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

WaitSimAI - Command to wait for virtual analog input


Wait until the virtual analog input port value is equal to the given one. The parameter specifications are the
same as that of WaitAI.

WaitSimAI (SimAI1, 5.0 , 1000, 0, INT1)


Wait 1000ms for the virtual analog input variable SimAI1 to be "5.0" (if the program is halted during this period, restart the
timing after program resumes); if no signal is received within 1000ms, set INT1 to 1 to indicate the wait timeout.

PulseOut - Set pulse output command


Set the pulse time and conditions of IO variable output.

 Port variable: The port number to be set.


 Port value: Set the output pulse level.
− 0: Low level
− 1: High level
 Duration: Set the time of pulse output.
 Interrupt enabling: Whether the pulse output will continue to be output or not upon interruption.
− 0: When the program is stopped, the pulse output will continue for the set time and then stop. Its
function will not be affected by the program stopping.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-33
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− 1: When both the program and output are stopped, the output will continue when the program
continues to run, which means that it is synchronized with the program running state. The output
acts based on the state of the program.
PulseOut (DO1, 1, 500, 1)
A 500ms pulse signal with a pulse amplitude of 1 is output at the digital output variable DO1 binding port. If the program
stops during the pulse output, the port stops output and resumes pulse output when the program is restarted.

PulseSimOut - Set the pulse time and conditions for the SimIO output signal
Set the pulse time and conditions of SimIO variable output.

 Port variable: The port number to be set.


 Port value: Set the output pulse level.
− 0: Low level
− 1: High level
 Duration: Set the time of pulse output.
 Interrupt enabling: Whether the pulse output will continue or not upon interruption.
− 0: When the program is stopped, the pulse output will continue for the set time and then stop. Its
function will not be affected by the program stopping.
− 1: When both the program and output are stopped, the output will continue when the program
continues to run, which means that it is synchronized with the program running state. The output
acts based on the state of the program.

PulseSimOut (SimDO1, 1, 500, 1)


A 500ms pulse signal with a pulse amplitude of 1 is output at the virtual digital output variable SimDO1 binding port. If the
program stops during the pulse output, the port stops output and resumes pulse output when the program is restarted.

GetDI8421 - Command to get a segment of continuous digital input values


Acquire a segment of continuous DI port status (regard it as a segment of binary data), and return it as a
decimal number.

 Start DI port: The start DI port number you want to acquire.


 End DI port: The end DI port number you want to acquire.
 Return value: Store the acquired port state value into the int variable that has been fed.
GetDI8421 (9, 16, INT1)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-34
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Regard the status of digital input ports 9 to 16 as a binary number, convert it to a decimal number and return it to the
variable INT1.

GetSimDI8421 - Command to get a continuous virtual digital input value


Acquire a segment continuous virtual digital input SimDI port status (regard it as a segment of binary data),
and return it as a decimal number.

 Start DI port: The start SimDI port number you desire to get.
 End DI port: The end SimDI port number you want to acquire.
 Return value: Store the acquired port state value into the int variable that has been transmitted.
GetSimDI8421 (9, 16, INT1)
/* Regard the status of virtual digital input ports 9 to 16 as binary numbers, convert them to decimal numbers and return
them to the variable INT1*/

SetDO8421 –Set a segment of continuous digital output port status


Set a segment of continuous DO port status (regard it as a segment of binary data); convert the decimal
number transmitted in into a binary number, and set it to the designated DO port.

 Start DO port: The start DO port number to be set.


 End DO port: The end DO port number to be set.
 Set value: The decimal value that the port will outputs.

For example, 3 is 0011 when being converted into binary, then Ports 9 and 10 will output high level,
respectively. 2 is for Port 9 low level. Set Port 10 to high level.
GetSimDI8421 (9, 16, INT1)
Regard the status of virtual digital input ports 9 to 16 as binary numbers, convert them to decimal numbers and return
them to the variable INT1.

SetSimDO8421 - Command to set up a continuous virtual digital output


Set a segment of continuous SimDO port state (regard it as a segment of binary data); convert the decimal
number transmitted in into a binary number, and set it to the designated SimDO port.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-35
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Start DO port: The start SimDO port number you want to acquire.
 End DI port: The end SimDO port number you want to acquire.
 Set value: The decimal set value that the port will output.
SetSimDO8421 (9, 16, 255)
/* Set virtual digital output ports 9 to 16 to 1*/

GetSimDIToVar – Report the virtual digital input value to the specified variable
Map the virtual digital input signal to a variable.

 Port variable: The variable used to acquire the value of the virtual digital input signal. It is a virtual digital input
variable.
 Variable: The variable to which the acquired digital signal value is assigned. It is of type BOOL.

For example, the command that assigns the value of the virtual digital input variable SIMDI1 to BOOL0 can
be as follows:
GetSimDITOVar (SimDI9, BOOL1)
Get the value of the virtual digital input port bound to the variable SimDI9 and assigns the value to the BOOL1 variable.

SetSimDOByVar – Map Boolean values to digital output signals


Map the value of a Boolean variable to a digital output variable.
 Port variable: The variable of digital output type, which receives the value of the variable and outputs it.
 Variable: Boolean type, which outputs its value to port variable.

For example, the command that output the value of BOOL0 to the virtual digital output variable SimDO1
can be as follows:
etSimDOTOVar (SimDO9, BOOL1)
Output the state of the variable BOOL1 at the port corresponding to the virtual digital variable SimDO9.

GetSimAIToVar – Map virtual analogue input signals to variables


Map the virtual analog input signal to a variable.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-36
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Port variable: The variable used to acquire the value of the virtual analog input signal. It is a virtual analog input
variable.
 Variable: The variable assigned to the acquired analog signal value. It is REAL type.

For example, the command that assigns the value of the virtual analog input variable SIMAI1 to the real
number variable REAL0 can be as follows:
GetSimAIToVar (SimAI9, REAL1)
Get the value of the virtual analog input port bound to the variable SimAI9 and assigns this value to the REAL1 variable.

SetSimAOByVar – Command to set the specified variable value to the virtual volume
output
Map the value of a REAL variable to a virtual analog output variable.

 Port variable: The variable of virtual analog output type, which receives the value of the variable and outputs it.
 Variable: REAL type, which outputs its value to port variable.

For example, the command that outputs the value of the real number variable REAL0 to the virtual analog
output variable SimAO0 can be as follows:
SetSimAOByVar (SimAO9, REAL1)
Output the value of the REAL1 variable at the virtual analog output port bound to the variable SimAO9.

SetDIEdge - Command to set the edge signal state of a digital input variable
Set the edge signal state of a virtual digital input port forcibly by using the commands.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-37
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Port variable: The variable of digital input type; it is used to set the rising or falling edge of the port.
 Edge type: Choose the edge signal status of the port to be set.
− riseEdge: Status of rising edge.
− downEdge: Status of falling edge.
 Edge value: The edge status value to be set.

For example, the command that sets the rising edge status of SimDI1 port to 0 can be as follows:
SetDIEdge (DI9, "riseEdge", 1)
Set the rising edge signal of the DI9 port forcibly to a "1" state.

SetSimDIEdge - Set the edge signal state of a virtual digital input variable
Set the edge signal state of a virtual digital input port forcibly by using the commands.

 Port variable: The variable of digital input type; it is used to set the rising or falling edge of the port.
 Edge type: Choose the edge signal status of the port to be set.
− riseEdge: Status of rising edge.
− downEdge: Status of falling edge.
 Edge value: The edge status value to be set.

For example, the command that sets the rising edge status of SimDI1 port to 0 can be as follows:
SetSimDIEdge (SimDI9, "riseEdge", 1)
Set the rising edge signal of the SimDI9 port forcibly to a "1" state.

6.5 SET commands


The list of SET commands is shown in Figure 6-31.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-38
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-31 List of SET commands

SetTool - Set Tool Parameters command


Select the command of Tool Coordinates. Refer to the description in 4.3.4 Tool Coordinates for the way of
tool coordinates settings. For example,
SetTool (TOOL0)

SetCoord - Set User Coordinates command


Select the command of User Coordinates. Refer to the description in 4.3.5 for the way of user coordinates
settings. For example:
SetCoord (USERCOOR0)

SetExternalTCP - Set External TCP Coordinates command


It is used to set the reference coordinates of the system to external tool coordinates. After command
execution, the system will switch the reference coordinates to the external tool coordinates. The robot will
then move relative to the external tool coordinates. For example:
SetExternalTCP (EXTTCP0)
/* Select EXTTCP0 as the parameters of the robot's external TCP coordinates*/

SetPositioner - Set POSITIONER Coordinates command


It is used to set the reference coordinates of the system to POSITIONER coordinates. After command
execution, the system will switch the reference coordinates to the POSITIONER coordinates. The robot will
then move relative to the POSITIONER coordinates. For example:
SetPositioner(POSITIONER0)
/* Select POSITIONER0 as the parameter of positioner coordinate system of robot */

Note
POSITIONER0 is of a positioner variable. The content in "5.3 System data types POSITIONER" gives a
detailed description.

SetPayload - Set Load Weight command


Select the workpiece load parameter command. For example:
SetPayload (PAYLOAD0)
When this command is run, the system takes the parameter in the variable PAYLOAD0 as the current workpiece load
parameter and all subsequent motion commands run on this mass.

SetJointDyn - Set Joint Motion Parameters command


It is used to set dynamic joint parameters, including Acceleration, Deceleration, Jerk, and Torque. After
running the command, the subsequent motion commands will all run using such dynamic parameters.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-39
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Acceleration: The percentage of the maximum acceleration of the joint.


 Deceleration: The percentage of joint maximum deceleration.
 Jerk: The percentage of the maximum jerk of the joint.
 Torque: The percentage of the maximum torque of the joint.
SetJointDyn(80, 80, 80, 60)
/* After running this command, the subsequent motion commands in the joint space will run using this dynamic
parameter.*/

SetCartDyn - Command to set dynamic parameters for linear or circular motion


Set the dynamic parameters in Cartesian space. After running this command, the subsequent motion
commands will run using this dynamic parameter.

 Acceleration: The percentage of the maximum acceleration in linear motion.


 Deceleration: The percentage of the maximum deceleration in linear motion.
 Jerk: The percentage of the maximum jerk in linear motion.
 Posture Acceleration: The percentage of the maximum rotating acceleration of the posture.
 Posture Deceleration: The percentage of the maximum rotating deceleration of the posture.
 Posture Jerk: The percentage of the maximum rotating jerk of the posture.
 Torque: The percentage of the maximum torque of the joint
SetCartDyn(80, 80, 80, 80, 80, 80, 60)
/* After running this command, subsequent motion commands in Cartesian space will run using this dynamic parameter.*/

SetBlendParam - Set transition parameters


It is used to set the transition parameters. After running this command, subsequent motion commands are
run with this transition parameter. The command parameters are detailed below:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-40
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Blend Type
Data type: enum (FINE/RELATIVE/DEFAULT)
Parameter meaning: The transition mode of the robot when approaching the endpoint
− FINE: No transition.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents
the distance from the transition point to the endpoint of path. from the transition point to the
endpoint of path.
 Blend Value
Data type: ZONE
Parameter meaning: The transition value when the robot is approaching the end point.
Note: This parameter can be defaulted and the default value is C100.

For example:
SetBlendParam("RELATIVE",C20)
After this command is run, subsequent motion commands are run using this transition parameter.

SetOverRide - Set override


Override setting. Set the "Override" to an appropriate percentage value.

For example:
SetOverRide (20)
SetOverRide (INT0) // Set the speed multiplier to the value in the INT0 variable

SetSingularPass - Set Singular Pass command


Set the cross-wrist singular function switch command with the options "OPEN" and "CLOSE". For example:
SetSingularPass("OPEN")/*Enable the cross-wrist singular pass function*/

SetColliEnable - Set Collision Detection Enable command


A command to set the collision detection enable.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-41
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Axis number parameter: "GROUP, A1, A2, A3, A4, A5, A6". When the axis number is "GROUP", all axes
are involved;

Enable parameter: "ENABLE, DISABLE".


SetColliEnable("GROUP","ENABLE")/*Enable the collision detection for all axes */

SetAxisColliParam - Set Collision Detection Sensitivity command


A command used to set the collision detection sensitivity value.

Axis number parameter: " A1, A2, A3, A4, A5, A6";

Sensitivity parameter: in percentage, parameter range [1,500].


SetAxisColliParam ("A1",200)/*Set the collision detection sensitivity value for axis 1 to 200*/

GetCurOverRide - Get Current Override command


Get the current override. Get the "Override" as an appropriate percentage value and output it to the int
variable.

For example:
GetCurOverRide (INT0)
After running this command, the current override value will be read into INT0, which can be viewed in the variable list.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-42
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Hand - Set Left and Right Hand System


Set the left and right hand system. It is only applicable to SCARA models. Set the parameter value of
“Left/Right Hand System” to "Lefty", "Righty" or "Default".

For example:
Hand (“Lefty”)
/*After executing this command, the subsequent motion commands will use the left-hand setting.*/

CalcTool - Calculate tool parameters


It calculates the tool parameters according to the four "calibration points", and saves them to the
coordinate system set by the "tool parameters".

For example:
CalcTool (P1, P2, P3, P4, TOOL1)
/*After this command is executed, calculate the tool parameters according to the four calibration points, and be saved to
TOOL1*/

CalcCoord - Calculate user coordinate parameters


Using this command, you can calculate the user coordinate system parameters according to the set
"origin", "RX direction calibration point" and "RXRY plane calibration point", and saves them to the
coordinate system set by the "user parameters".

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-43
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

For example:
CalcCoord (P1, P2, P3, USERCOORD1)
/* After executing this command, you can calculate the user coordinate system parameters using the three calibration
points, and save it to the USERCOORD1*/

SetRtToErr - Set Alarm command


Enable the robot to stop running and issue an error message. For example:

Error message: Set the error message, both English and Chinese input are supported.

Error number: Set the error number.

For example:
SetRtToErr (“halt”, 90001)
Enable the robot to stop and issue the error number 90001 with the error message "halt".

SetRtInfo - Set prompt messages


Set the prompt message but does not affect the robot operation. For example:

For example:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-44
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

SetRtInfo (“Info”, 70001)


Enable the robot to stop and issue a prompt number 70001 with the error message "Info".

SetRtWarning - Set alarm messages


Set the warning message but does not affect the robot operation.

For example:
SetRtWarning (“Warning”, 80001)
Set the robot to stop and issue the warning number 80001 with the error message "Warning".

Stop - Stop Run command


Stop the execution of all the activated programs.
Stop ()

RefRobotAxis - Single-axis Homing command


Calibrate the zero return position and run in single step. It can only be created under the administrators
authority.

RefRobotAxis (1,500)
/* After executing the command, set the 1-axis servo of robot to zero point at the single-turn value of 500 */

SetMotionMode - Set motion mode


This command can only be created in administrator permission. Set the mode mode.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-45
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Motion mode: "STANDARD".

"LOW_OSCILLATION" (low oscillation)

For example:
SetMotionMode (“STANDARD”)
Set the robot's current motion mode to standard one.

AutoGainEnable – Set Servo Parameter Gain command


The command to enable servo self-adjustment. After executing this command, the system will optimize the
subsequent motion commands at low speed according to the incoming LsScale and LsThresh parameters.
For details on how to use this command, please refer to "7.24 Servo parameters self-adjustment".
AutoGainEnable(LsScale0,LsThresh0)
/* Enable the servo parameter self-adjustment function*/

AutoGainDisable – Servo Parameter Gain OFF command


The command to end the servo parameter self-adjustment. After executing the servo parameter self-
adjustment ON command, execute this command to turn off the servo parameter self-adjustment function.
For example:
AutoGainDisable()
/*Disable the servo parameter self-adjustment function*/

SetAxisVibraBLevel - Set Vibration Suppression Level command


The command to set the vibration suppression level. It is only valid for input shaping.

 Axis number: The axis number to which the vibration suppression level will be set. (A1/A2/A3/A4/A5/A6)
 Level: The level of vibration suppression to be set. (Highest/High/Default/Low/Lowest)

For example:
SetAxisVibraBLevel(A1,High)
/* Set the vibration suppression level for Axis 1 to medium-high. */

SetRestorePC - Command to set PC when program resumes

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-46
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

This command sets the pc pointer when the run program goes from Halt/Stop to run. Please note that this
command is only valid for use in run programs. The command parameters are detailed as below:

 Program pointer: The line number when the run program resumes running.

For example:
SetRestorePC(3)
/* The program pointer will run from line 3 when the run program is transferred from Halt/Stop state to run. */

SetOriMode – Set Posture Mode command

Figure 6-32 SetOriMode configuration interface

Posture modes: The robot posture interpolation modes. Currently only the "CircMidPassOpen" and
"CircMidPassClose" posture modes are supported for circular arcs passing through intermediate auxiliary
points;

- CircMidPassOpen: Enables the effect of interpolation of circular arcs passing through intermediate
auxiliary points.

- CircMidPassClose: Disables the effect of interpolation of circular arcs passing through intermediate
auxiliary points.

GetRobIsMoving – Command to get current robot's motion status


It is used to get the current robot motion status.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-47
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Robot motion status (%): SET commands. By using this command, the user can get whether the robot is currently
in motion or not.

SetColliAutoTune – Collision Detection Parameter Self-Adjustment command


It is used to set the self-adjustment of the collision detection parameters.

 Self-adjustment phase for collision detection parameters:

Start

Pause

Continue

End

Calculate

Note
1. When Start, Pause, Continue, End is selected for the self-adjustment phase of the collision
detection parameter, the data recording status of the self-adjustment function will be set.

2. If the parameter of the self-adjustment phase of the collision detection is set to "Calculate", the self-
adjustment parameter will be calculated based on the data recorded by the self-adjustment function,
the detection method and the sensitivity and the result will be stored in the ID corresponding to the
collision parameter, as shown in the figure below:

 Collision detection parameter self-adjustment phase: Self-adjustment parameter "Calculate".

 Detection method: Collision detection method used for self-adjustment

Default

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-48
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Default+

Default++

[Note]: This parameter is only valid when the parameter is set to Calculate in the self-adjustment
phase of the collision detection parameter.

 Sensitivity: Sensitivity level of the self-adjustment result

Highest

High

Default

low

lowest

[Note]: This parameter is only valid when it is set to Calculate in the self-adjustment phase of the
collision detection parameter.

 Collision parameter: The collision parameter that stores the results of the self-adjustment
calculation. It is a global variable of type COLLIPARAM, where one variable corresponds to one
ID and the self-adjustment result is stored in the ID corresponding to the selected variable.

SetColliParam – Set Collision Parameter command


It is used to set the collision detection parameters.

 Collision parameter: The parameter used by the collision detection function. When self-adjustment
parameters are required, select the variables from the COLLIPARAM type (corresponding to the
actual ID to be set), otherwise select DEFAULT (factory default).

 Axis number (or group of axes): Select single axis number or all axes (GROUP) when setting the
collision detection "validity" or "sensitivity value". By default, DEFAULT is selected.

DEFAULT: default value, meaningless

GROUP: All axes

A1: A1 axis

A2: A2 axis

A3: A3 axis

A4: A4 axis

A5: A5 axis

A6: A6 axis

 VALIDITY: Controls the ON and OFF of the collision detection function for the corresponding axis
number.

ENABLE (ON)

DISABLE (OFF)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-49
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

[Note]: This parameter is only valid when the axis number is set to non-DEFAULT.

 Sensitivity value (%): Sensitivity value of the collision detection in percentage, parameter range
[1,500].

[Note]: This parameter is only valid when the axis number is set to other than DEFAULT.

Note
1. Only the main unit axis of the robot is supported.

2. Setting a stronger detection method and higher sensitivity level would increase the sensitivity of
collision detection but may also increase the probability of false alarms.

6.6 POSITION operation commands


The list of POSITION operation commands is shown in Figure 6-33.

Figure 6-33 List of POSITION operation commands

Posture modes: The robot posture interpolation modes. Currently only the "CircMidPassOpen" and
"CircMidPassClose" posture modes are supported for circular arcs passing through intermediate auxiliary
points;

- CircMidPassOpen: Enables the effect of interpolation of circular arcs passing through intermediate
auxiliary points.

- CircMidPassClose: Disables the effect of interpolation of circular arcs passing through intermediate
auxiliary points.

GetCurAPos - Get Current Joint Position command


Get the position in the current joint coordinate system, and assign it to the Apos variables.
GetCurAPos (P1)
Get the current position of the robot in the joint coordinates and save it in P1

GetCurCPos - Get Current Cartesian Coordinates Position command


Get the Cartesian space position in the current coordinate system (world coordinates or user coordinates),
and assign it to the Cpos variables.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-50
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

GetCurCPos (P1)
Get the Cartesian space position in the robot's current coordinates (World or User Coordinates) and save it in P1.

APosToCPos -Robot Position Conversion command (Apos to Cpos)


The command of robot position point conversion, through which APos points can be converted to CPos
points.

Being given the APos point, as well as the user coordinates and tool parameters of the target CPos point
to be converted, the value of the target CPos point can then be derived.

Original position: The joint position before conversion.

Target position: The target Cartesian space position.

Target tool parameters: The target tool parameters

Target coordinates: The reference coordinates


APosToCPos (P1, P2, TOOL1, USERCOORD1)
The target point P2 can be acquired according to P1, TOOL1, USERCOORD1.

CPosToAPos - Robot Position Conversion command (Cpos to Apos)


The command of robot position point conversion, through which CPos points can be converted to APos
points.

Being given the CPos point, as well as the user coordinates and tool parameters of the target APos point
to be converted, the value of the target CPos point can then be derived.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-51
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Original position: The Cartesian space position before the conversion.

Original tool parameters: The tool parameters before the conversion.

Original coordinates: The parameters of the reference coordinate system before the conversion.

Target position: The joint position after the conversion.


APosToCPos (P1, TOOL1, USERCOORD1, P2)
The target point P2 can be acquired according to P1, TOOL1, USERCOORD1.

CPosToCPos - Robot Position Conversion command (Cpos to Cpos)


The command of robot position point conversion, through which CPos points can be converted to CPos
points.

Being given the CPos point, as well as the user coordinates and tool parameters of the target CPos point
to be converted, the value of the target CPos point can then be derived.
CPosToCPos (P1, TOOL1, USERCOORD1, P2, TOOL2, USERCOORD2)
The target point P2 can be derived from P1, TOOL1, USERCOORD1, TOOL2, USERCOORD2.

ToolOffset - Tool Coordinates Offset command


The Robot Tool Coordinates Offset command, which rotates or offsets the reference tool coordinates to
create the new tool coordinates.

Being given the reference tool coordinates TOOL and the offset to be shifted or rotated, the value of the
target tool coordinates can be calculated.
ToolOffset (TOOL1, DCPOS1, TOOL2)
Based on the tool coordinates TOOL1 and the offset DCPOS1, the offset tool coordinates TOOL2 can then be derived.

UserOffset - User Coordinates Offset Command


The Robot User Coordinates Offset command, which rotates or offsets the reference user coordinates to
create the new user coordinates.

Being given the reference user coordinates USERCOORD and the offset to be shifted or rotated, the value
of the target user coordinates can be calculated.
UserOffset (USERCOORD1, DCPOS1, USERCOORD2)

CalPosOffset – Calculate Position Point Offset Result command


The Calculate Position Point Offset Result command. It calculates the position value after the original
position has been offset relative to the coordinates or tool, based on the original position amount and the
relative offset amount.

This command offsets a position point (APOS or CPOS) relative to the coordinates or tool by the amount
of the DCPOS, and finally gets a target position value, which is of type CPOS.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-52
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-34 CalPosOffset command editing interface

 Original position: The start point of the offset motion (APOS or CPOS);
 Relative offset: The increment of the position to be moved relative to the original position (DCPOS);
 Reference coordinates: The selection of the coordinates offset or tool offset. "Coord" indicates an offset
relative to the current user coordinates; "Tool" indicates an offset relative to the tool coordinates, i.e.
translation or rotation with reference to Tx, Ty, Tz;
 Tool parameters: The information on the tool to which the original position and the target position belong;
Coordinate parameters: The information on the coordinates to which the original and target positions
belong;
 Target position: The final position after offset (CPOS).

6.7 Conveyor tracking commands


The list of conveyor tracking commands is shown in Figure 6-35.

Figure 6-35 List of conveyor tracking commands

WaitWObj - Waiting for Visual Information Input command


This is the command of waiting for the visual information, to wait for the workpiece position information
sent from the vision.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-53
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-36 Parameter editing interface of WaitWObj

 Moving coordinate system: SYNCOORD variable. The set moving coordinate system needs to be consistent with
the moving coordinate system enabled on the conveyor configuration interface.
 Workpiece id: Variable of type INT, which returns the id of the currently received workpiece.
 Duration: Indicates the time required to execute waiting, in ms.
− If the value of the parameter is 0, it will be forced to wait until it receives the workpiece position
information data from the vision before proceeding the next command.
− If the value of the parameter is not 0, even if no data is received, the system will skip the command
after waiting for a given period of time, and proceed the next command.
 Timeout judgment value: Select a variable and assign a value to it in the following two cases.
− When the command is executed within the waiting time, assign 0 to the variable;
− When the command is executed due to timeout, assign 1 to the variable.
 Tag name for timeout jump: When the execution timed out, choose the line where the tag name is located.
For example:
BitAnd (INT1, INT2)
Perform a bitwise sum operation on INT1 and INT2 and assign the result to INT1.

MovLSync – Command to initiate linear motion for conveyor synching


The command to initiate linear motion for conveyor synching, through which the TCP point of the robot can
track the conveyor at the set speed, and reach the target position in a linear motion.

Figure 6-37 Parameter editing interface of MovLSync

Before this command is executed, the robot control system will trigger the vision to shoot through IO and
receive the target position from the vision system. When the command is executed, the robot will move
from the current to the target position and keep in sync with the moving target object.
 Target position offset: The offset relative to the tracked target object, it can only be set as a CPOS position point.
Choose an existing point from the drop-down list.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can selected the system pre-defined one, or create it by
yourself.
 Tool Parameters: The tool parameters used when the robot executes the path.
− When setting it to “DEFAULT”, the tool parameters set last time will be continuously used.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-54
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
Only the variable of SYNCOORD type can be set, but needs to be consistent with the moving coordinate system on the
conveyor configuration interface.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can selected the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 Jump label when aborting during synchronization: It is used to follow the Aborting function. When the robot fails to
synchronize with the target workpiece during synchronization, i.e. when the execution of the MovLSync command fails,
the program pointer will go to the line where the Jump label is located to perform the Aborting operation. The user can
add the corresponding command under this Label according to the working conditions on site.
− This value can be set by default. When set to default, it will jump to the Label used for the "Jump to
label when aborting after synchronization".
 Lift height when aborting after sync: The distance lifted while following when aborting after sync, this is the offset
relative to the positive direction of the Z axis of the moving coordinates.
 Jump label when aborting following sync: It is used to follow the Aborting function. When the robot cannot continue
following during the following motion, i.e. the execution of the subsequent commands of the MovLSync command fails,
the program pointer will go to the line where the jump label is located to perform the Aborting operation.
− This value cannot be defaulted and requires special attention in this case.
 AddDo: Robot will perform IO operation after executing this command.
− NULL: No operations.
− IO commands: Perform IO operations, the IO commands currently supported are SetDo, SetAo,
SetSimDo, SetSimAo, PulseOut, PulseSimOut, SetDO8421, SetSimDO8421, SetDIEdge and
SetSimDIEdge.

MovJSyncQuit - Sync Follow Quit command


This is the command of conveyor syn tracking, through which the TCP point of the robot can quit the
conveyor tracking status at the set speed and reach the target position in the fastest mode.

Figure 6-38 Parameter editing interface of MovJSyncQuit

When executing this command, the robot transits smoothly from the previous motion command and quits
the tracking status, and then resumes the motion in the normal user coordinates.
 Target position: the endpoint position of the command (the position point of APOS or CPOS).
− Select an existing point from the drop-down list, or create a new a variable in the pop-up dialog box
for teaching.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-55
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− This parameter cannot be set to “DEFAULT” and must be forced to enter a coordinate system
parameter.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 AddDo: Robot will perform IO operation after executing this command.
− NULL: No operation.
− IO commands: Executing IO operation. The IO commands currently available are SetDo, SetAo,
SetSimDo, SetSimAo, PulseOut, PulseSimOut, SetDO8421, SetSimDO8421, SetDIEdge, and
SetSimDIEdge.

MovLSyncQuit - Sync Follow Quit command


This is the command of conveyor syn tracking QUIT, through which the TCP point of the robot can quit the
conveyor tracking status at the set speed and reach the target position by linear motion.

Figure 6-39 Parameter editing interface of MovLSyncQuit

When executing this command, the robot transits smoothly from the previous motion command and quits
the tracking status, and then resumes the motion in the normal user coordinates.
 Target position: the final position of the command (the position point of APOS or CPOS).
− Select an existing point from the drop-down list, or create a new a variable in the pop-up dialog box
for teaching.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition mode operates as per the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-56
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Coordinate System Parameters: The coordinate system parameters used by the robot when executing the path.
− This parameter cannot be set to “DEFAULT” and must be forced to enter a coordinate system
parameter.
− When it is set to USERCOOR variable, you can select the system pre-defined one, or create it by
yourself. When a coordinate system different from the current one is used, the system will switch
the coordinate system to the set one.
 Workpiece load: The workpiece load parameter used by the robot when executing the path.
− It is set to “DEFAULT”, which means to continue to use the workpiece load parameters set last time.
− When it is set to PAYLOAD variable, you can select the system pre-defined one, or create it by
yourself; when a load parameter different from the current workpiece load parameter is used, the
system will switch the workpiece load parameter to the set parameter. If the tool parameters of the
path of current segment and the preceding/next segments change, the transition will not be
supported.
 AddDo: Robot will perform IO operation after executing this command.
− NULL: No operation.

IO commands: Executing IO operation. The IO commands currently available are SetDo, SetAo, SetSimDo,
SetSimAo, PulseOut, PulseSimOut, SetDO8421, SetSimDO8421, SetDIEdge, and SetSimDIEdge.

SetTargetPos - Set Workpiece Position Info command


This is the workpiece position information setting command. Use it to set the detected position information
of the workpiece after entering the conveyor.

Figure 6-40 Parameter editing interface of SetTargetPos

 Moving coordinate system: SYNCOORD variable. The set moving coordinate system needs to be consistent with
the moving coordinate system enabled on the conveyor configuration interface.
 Target position: The CPOS type variable, and also the detected position information of the workpiece after entering
the conveyor. Please note that only 2D visual data is currently supported, which means that only X, Y and A are valid in
this CPOS type variable.

SetSyncoord - Set Moving Coordinates command


The moving coordinate system set commands. It is used to set the current robot reference coordinates to
moving coordinates. This command enables the current robot reference coordinates to be switched to a
moving coordinate system, which can quickly teach the posture of the point position during the following
process.

Figure 6-41 SetSyncoord parameter editing interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-57
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Coordinate system parameters: The parameters of the coordinate system to which the robot is currently referenced,
which can only be set to variables of SYNCOORD.
 Note that after switching to a moving coordinate system, only the JOG coordinates set before the switch can be
toggled, e.g. if the JOG coordinate system set before the switch is a WORLD coordinate system, then only the WORLD
coordinate system can be toggled after the command is executed and cannot be switched.

SynCToUserC - Teach Reference Coordinates Conversion command


The teach reference coordinates conversion command. It is used to solve the coordinate system
referenced when following the path point after synchronisation.

Figure 6-42 SynCToUserC parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be the same as
the one enabled in the conveyor configuration interface.
 Target position: The variable of type DCPOS, indicating the offset of the position of the workpiece entering the
conveyor relative to the origin of the moving coordinate system.
 Coordinate system parameter: The variable of type USERCOORD, indicating the coordinate system to be referred
to when teaching the path point position after synchronization.

WaitConvDis - Waiting for Fixed Increment command


It is used to enable the robot to move in the positive direction of the conveyor in synchronization with the
conveyor up to a certain increment before executing subsequent commands, thus allowing the robot to
delay the movement for a specified increment. Unlike the Wait commands, this command requires a fixed
increment while the Wait command requires a fixed time.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-58
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-43 WaitConvDis parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be the same as
the one enabled in the conveyor configuration interface.

 WAIT increment: The value of the increment in which the robot is to be synchronized. In mm for straight conveyors
and in deg for disc conveyors.

SimConveyorOn - Virtual Conevyor ON command


The Virtual Conveyor ON command. It is used to enable the virtual conveyor and specify its running speed.
The parameter editing interface of this command is shown in Figure 6-44.

Figure 6-44 SimConveyorOn parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be
the same as the one enabled in the conveyor configuration interface.
 Conveyor speed: The speed at which the virtual conveyor runs, in mm/s for linear conveyors and in deg/s
for disc conveyors.

SimConveyorOff- Virtual Conveyor OFF command


The Virtual Conveyor OFF command. It is used to disable the virtual conveyor. The parameter editing
screen of this command is shown in Figure 6-45.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-59
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-45 SimConveyorOff parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be
the same as the one enabled in the conveyor configuration interface.

ReceiveWObj- Workpiece Data Receipt Status command


A command to set the receive status of workpiece data. This command can be used in combination to
allow the robot system to not receive workpiece position information from vision or run programs within a
certain segment of the path. The parameter editing interface for this command is shown in Figure 6-46.

Figure 6-46 ReceiveWObj parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be
the same as the one enabled in the conveyor configuration interface.
 Enable receive status: Enables the robot system to receive information on the position of the workpiece.

ResetWObjBuf - Reset Received Workpiece Data Queue command


A command to reset the queue of received workpiece data. It empties the queue of received and
unexecuted workpiece information. The parameter editing screen of this command is shown in Figure 6-47.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-60
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-47 ResetWObjBuf parameter editing interface

 Moving coordinate system: The variable of type SYNCOORD. The moving coordinate system must be the same as
the one enabled in the conveyor configuration interface.

6.8 INTERRUPT commands


The list of INTERRUPT commands is shown in Figure 6-48.

Figure 6-48 List of INTERRUPT commands

IConnect – INTERRUPT Connection command


The interrupt connection command. It binds the INTERRUPT identifier to the interrupt handler for operation.

The command binds the INTERRUPT index to the interrupt program. When the signal bound to this index
is triggered, the system can execute the INTERRUPT program bound to this INTERRUPT index.

 Interrupt identifier: The INTERRUPT index number (INTERRUPT type).


 Interrupt handler: The handler to be called when the signal corresponding to this INTERRUPT index is satisfied.
Note

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-61
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 After the INTERRUPT identifier in IConnect is bound to the interrupt program, the IDelete instruction must be
executed to delete the identifier variable before IConnect can be re-executed, otherwise an error message will be
reported.
 When an interrupt identifier variable is created, the value in that variable should be synchronized with the name of
that variable. That is, if a new inter1 variable of type INTERRUPT is created, its value should also appear as inter1
when viewed in the variables interface.
 The interrupt handler can only be used for programs under this project, no global programs are supported

IDelete – INTERRUPT Release command


The INTERRUPT release command, which removes the connection between the INTERRUPT identifier
and the corresponding INTERRUPT handler.

This command removes any data in the system bound to this INTERRUPT index, that is, it removes the
detection of this INTERRUPT index and the data in the execution queue.

 INTERRUPT ID: The INTERRUPT index number (INTERRUPT type).

ITimer – Timer INTERRUPT command


The timer INTERRUPT command. It sets the detection of the INTERRUPT index to be triggered at regular
intervals, whereby the corresponding interrupt program of the robot is processed at regular intervals. With
this command, the system is allowed to execute the INTERRUPT program periodically according to the set
delay time.

 INTERRUPT ID: The INTERRUPT index number (INTERRUPT type).


 Trigger time: The timing detection time in ms. Range: 100ms~30,000ms

IsignalDI – Input Port INTERRUPT command


The Input Port INTERRUPT command. It sets the INTERRUPT index detection method to DI edge
triggering, that is, it monitors the rising/falling edge signal of DI in real time to process the corresponding
INTERRUPT program of the robot.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-62
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Monitor the active state of the edge signal of the set DI to allow the system to execute the INTERRUPT
program with the following command parameters:
 INTERRUPT ID: The INTERRUPT index number (INTERRUPT type).
 Port variable: The DI port number to be monitored (DI type).
 Trigger edge type: The type of DI edge signal to be monitored.

- RiseEdge: The rising edge signal

- DownEdge: The falling edge signal

Note
 The INTERRUPT index number in this command must already be bound to the INTERRUPT program, i.e.
the IConnect command is executed, otherwise an error message will appear.
 After the command has been executed, the corresponding DI valid edge signal is given in the running
state of the program and the INTERRUPT program bound to this INTERRUPT index should be executed
correctly.

ISignalSimDI – Virtual Input Port INTERRUPT command


The virtual input port INTERRUPT command. It sets the detection of the INTERRUPT index to SimDI edge
triggering, i.e. the rising/falling edge signals of SimDI are monitored in real time to process the
corresponding INTERRUPT program of the robot.

 INTERRUPT ID: The INTERRUPT index number (INTERRUPT type).


 Port variable: The virtual SimDI port number (SimDI type) to be monitored.
 Trigger edge type: The type of SimDI edge signal to be monitored:

- RiseEdge: The rising edge signal

- DownEdge: The falling edge signal

IEnter – Interrupt Current Parsing & Motion command


The command that interrupts the current parsing and motion, stops the parsing and motion of the main
program and switches to the INTERRUPT program.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-63
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

The execution of this command in the INTERRUPT program will stop the main program from parsing and
interrupt the current motion; also, it displays the data and program from the INTERRUPT program on the
program editing and the variables interfaces.

Note
This command can only be executed in the INTERRUPT program.

MovToIPos – Return Interrupt Point command


The command to return the interrupt point, which moves the robot from its current position to the position
point at the moment when the main program was interrupted while it was running.

This command specifies the form of motion to bring the robot back to the position at which the main
program was interrupted. The system automatically caches the interrupt position when the interrupt occurs,
and the command will automatically retrieve the interrupt position from memory and run to that point when
it is executed, eliminating the need for additional command processing by the user.
 Motion mode: The mode of motion to the interrupt point

MOVJ: Return to the target point as a joint motion

MOVL: Return to the target point as a linear motion


 Target speed: The speed of motion to the interrupt point (SPEED type)

IExit – Command to resume pre-interrupt parsing and motion


The command to resume parsing and motion, which cuts the INTERRUPT program to background for
execution and resumes parsing and motion of the main program.

After executing this command in the interrupt program, the system will switch the INTERRUPT program to
background for execution and put the main program out of sleep, to continue the previous commanded
parsing and motion operation, while to display the data and program in the main program on the program
editing and the variable interfaces.

ExitCycle – Exit Cycle command


The exit cycle command.

When this command is executed, the system will immediately end the current INTERRUPT program,
return the PC pointer to the start of the main program, and bring the system to a halt.

Note
1. This command must be used in conjunction with the IEnter command in the INTERRUPT program.

2. When this command is executed, the system will jump to the "CycleLable" label command if it is
taught by the main program, or to the first line of the program being loaded if it is not taught.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-64
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

6.9 Bit operation commands


The list of bit operation commands is shown in Figure 6-49.

Figure 6-49 List of bit operation commands

BitAnd - AND operation command


This is the command for bitwise AND operation. It performs bitwise AND operation on two operands, and
assigns the result to the first operand.

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
 Data to be compared: INT variable.
BitAnd (INT1, INT2)
Perform a bitwise AND operation on INT1 and INT2 and assign the result to INT1.

BitNeg - Negation operation command


This is the command for bitwise negation operation. It performs bitwise negated operation for the operand,
and assigns the result to the operand.

Moreover, only the last 16 bits of the operand are negated.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-65
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
BitNeg (INT1)
Perform a bitwise negation operation on INT1 and assign the result to INT1.

BitOr – OR operation command


This is the command for bitwise OR operation. It performs bitwise OR of two operands, and assigns the
result to the first operand.

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
 Data to be compared: INT variable.

BitOr (INT1, INT2)


Perform a bitwise OR operation on INT1 and INT2 and assign the result to INT1.

BitXOr – XOr operation command


This is the command for bitwise XOr operation. It performs a bitwise XOr operation on two operands, and
assigns the result to the first operand.

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
 Data to be compared: INT variable.

BitXOr (INT1, INT2)


Perform a bitwise XOr operation on INT1 and INT2 and assign the result to INT1.

BitLSH – Left Shift Bit Operation commands


This is the command for bitwise left shift. It performs bitwise left shift operation of the first operand as per
the left shift number specified by the second operand, and assigns the result to the first.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-66
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
 Bits shifted left: INT variable, the number of bits shifted left.
BitLSH (INT1, INT2)
Perform a bitwise left-shift operation on INT1 and INT2 and assign the result to INT1.

BitRSH - Right Shift Bit operation commands


This is the command for bitwise right shift. It performs bitwise right shift operation of the first operand as
per the right shift number specified by the second operand, and assigns the result to the first.

 Data to be manipulated: INT variable; the result of the operation is also assigned to this operand.
 Data to be shifted right wei2: INT variable, the number of bits shifted right.
BitRSH (INT1, INT2)
Perform a bitwise right-shift operation on INT1 and INT2 and assign the result to INT1.

6.10 CLOCK commands


The list of CLOCK commands is shown in Figure 6-50.

Figure 6-50 List of CLOCK commands

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-67
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

CLKStart - StartCLOCK command


Start the specified clock (after starting, you can view from the variable list that the state of the specified
CLOCK variable is TRUE). For example:
CLKStart (CLOCK0)
Start clock CLOCK0.

CLKStop – Stop CLOCK command


Stop the specified clock (its state is false, but will not be reset). For example:
CLKStop (CLOCK0)
Stop clock CLOCK0.

CLKRead – Read CLOCK command


Read the value of the specified clock, by checking the value corresponding to the variable in the list of
variables. For example:
CLKRead (CLOCK0)
Read clock and store it in CLOCK0.

CLKReset – Reset CLOCK command


Reset the state value of the specified clock. For example:
CLKReset (CLOCK0)
Rest clock CLOCK0.

6.11 AREA commands


The list of AREA commands is shown in Figure 6-51.

Figure 6-51 List of AREA commands

AreaActivate – Activate Standard AREA command


Activate the standard AREA command to make the specified standard area be valid.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-68
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

AreaActivate (AREA0)
Activate standard area monitoring to enable AREA0.

AreaDeactivate – Deactivate Standard AREA command


This is the command for deactivating standard AREA commands to invalidate the specified standard area.
AreaDeactivate (AREA0)
Deactivate standard area monitoring to enable AREA0.

PolyhedronAreaActivate – Activate Polyhedron AREA command


Activate the polyhedron AREA command to enable the specified polyhedron area.
PolyhedronAreaActivate (POLYHEDRON0)
Activate the polyhedron area monitoring to enable the polyhedron area corresponding to POLYHEDRON0.

PolyhedronAreaDeactivate - Deactivate Polyhedron AREA command


Deactivate the polyhedron AREA command to disable the specified polyhedron area.
PolyhedronAreaDeactivate (POLYHEDRON0)
Deactivate the polyhedron area monitoring to disable the polyhedron area corresponding to POLYHEDRON0.

AreaConnectIO – Bind AREA IO command

The command to bind an AREA IO, by which an input port can be bound to the selected area and specify a
high and low active level for controlling the start and stop of the robot.

 AREA variable: AREA, the standard area variable to be bound.

 IO type: The type of IO port to be bound.

- DI: Actual DI.


- SIMDI: Virtual DI.

 IO port number: The IO port number to be bound.

 IO polarity: The IO polarity to be bound.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-69
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− HIGH: Valid at high level.


− LOW: Valid at low level.

AreaDisConnectIO – Unbind area IO command


The command to unbind the area IO, by which the binding to the selected area input port can be removed.

 AREA variable: The standard area variable that needs to be unbound.

PolyhedronAreaConnectIO – Bind polyhedron IO command


The command to bind an area IO, by which an input port can be bound to the selected area and a high
and low active level can be specified for controlling the start and stop of the robot.

 AREA variable: POLYHEDRON, the polyhedron area variable to be bound.

 IO type: Type of IO port to be bound.

- DI: Actual DI.


- SIMDI: Virtual DI.

 IO port number: The IO port number to be bound.

 IO polarity: The IO polarity to be bound.

− HIGH: Valid at high level.


− LOW: Valid at low level.

PolyhedronAreaDisConnectIO - Unbind polyhedron area IO command


Unbind area IO command, by which the binding to the selected area input port can be removed.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-70
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

AREA variable: The polyhedron AREA variable to be unbound

6.12 Visual commands


The list of visual commands is shown in Figure 6-52.

Figure 6-52 List of visual commands

TrigCam – Trigger Camera command


This is the command to trigger the camera shooting.

TrigCam (“OK”, 1)
The string "OK" triggers the camera to shoot a picture.

WaitFinishCAM - Wait for Camera Shooting Finish command


This is the command for waiting for the camera to finish shooting
WaitFinishCAM (1000,1)
The time to wait for the camera to finish shooting is 1,000ms.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-71
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

GetCamPos - Get Camera Position command


This is the command for getting the cameral position.

GetCamPos (P6, INT0, INI1,1)


Get the camera's position P6, the target object ID is INT0 and determine if it is valid as INT1.

SendMessage - Send String Message command


Send a string message, which can be used for 3D visual commands. It sends the specified string to the
camera, and enables the camera to shoot. For example:
SendMessage (“OK”, 1)
Send the string "OK" to the camera.

Tracking - Conveyor Tracking command


Conveyor tracking command. For detailed description of this command, please refer to the Introduction to
parameters in 7.5 Conveyor Tracking.

Enable checkbox: Switch to control the vibration suppression function


Check: Turn ON the vibration suppression function.
Uncheck: Turn OFF the vibration suppression function.
 Values for axes 1 to 6: Set the intensity of vibration suppression
Default value: Standard
Range of values: 5 levels in total: low, medium-low, standard, medium-high, high. The vibration
suppression effect is progressively increased in this order.

Conveyor tracking.
Tracking (10.0, 10.0, DO2, DO1, INT0,INT1)

6.13 Palletizing commands


The list of palletizing commands is shown in Figure 6-53.

Figure 6-53 List of palletizing commands

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-72
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

PalletReset - Palletizing Reset command


This is the command for palletizing reset. When a pallet is forced to stop before the palletizing is
completed, call this command to restore it.

 Palletizing name: PALLET variable of the current palletizing.


 Number of workpieces: The number of workpieces that have been placed on the current pallet. It must be set from 0
to the maximum number of workpieces of the pallet.
PalletReset (PALLET0,0)

For example, Pallet0 with a maximum number of workpieces of 60 will halt when 8 workpieces have been
placed. Call "PalletReset (Pallet0, 8);" to restart the palletizing of subsequent workpieces.

PalletToPut - Put Workpiece command


This is the command for putting workpieces.

 Palletizing name: The PALLET variable of the current palletizing.


 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-73
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
PalletToPut (PALLET1,V2000)

The palletizing position is calculated based on the first taught workpiece position as well as the configured
palletizing distance. Add the set palletizing distance to the position of the previous workpiece, so as to get
the position of the next workpiece, as shown in Figure 6-54.

Figure 6-54 Calculate the position of the next workpiece

According to Figure 6-55, the defaulted palletizing sequence starts from X. Arrange all the parts in the x
direction first, and then the next row. Arrange the workpiece in the x direction until the pre-determined
number of workpieces in the x direction is reached.

Figure 6-55 The defaulted palletizing order

When starting placement for a new row, the position data of the workpiece in the new row will be produced
by adding the offset in the y direction to the position of the workpiece in the first row.

The default palletizing sequence is x y z. First, put the workpiece in the x direction and then proceed to the
second row. The placement of the first part of the new row starts at the position shown in the figure below.
They will be put on the next row if the current row is full. After all the rows in this layer are filled, the xy
layer repeats translation in the z direction until it is fully palletized.

Figure 6-56 illustrates the recommended path for placement.

Figure 6-56 Path for placement

Following motion commands are executed when PalletToPut command is called:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-74
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 The robot moves to the entry position of the pallet in a linear motion (optional)
 The robot moves to the front position of the palletizing point in a linear motion (optional)
 The robot moves to the arranged position of the workpiece in a linear motion (required)

PalletFromPut - Move Away from Placement command


This is the command used when the robot moves away from the putting position after the workpieces are
placed.

 Palletizing name: The PALLET variable of the current pallet.


 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
PalletFromPut (PALLET2,V2000)

This is the command for the opposite action of workpiece placement, making the robot leaves from the
position of the workpiece that has been placed.

The recommended path when leaving is shown in Figure 6-57.

Figure 6-57 The path for leaving upon placement

Following motion commands are executed when calling the PalletFromPut command:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-75
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

- The robot moves to the rear of palletizing point in a linear motion (optional)
- The robot moves to the entry position of the pallet in a linear motion (optional)

If neither the post-pallet point nor the entry position has been set, the robot will maintain its current posture
when the PalletFromPut command is executed.

PalletToGet – Pick Workpiece command


This is the command for picking the workpiece. When executing this command, the robot will move from
the current point to the palletizing point of the target workpiece to Pick such workpiece.
 Palletizing name: The PALLET variable of the current pallet.
 Target speed: The running speed of command.
− When setting it to “DEFAULT”, the default value V4000 will be used.
− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
PalletToGet (PALLET3,V2000)

The recommended path for picking is shown in Figure 6-58.

Figure 6-58 Path for workpiece picking

Following motion commands are executed when calling the PalletToGet command:
 The robot moves to the entry position of palletizing point in a linear motion (optional)
 The robot moves to the post position of the pallet in a linear motion (optional)
 The robot moves to the picking position in a linear motion (required)

After making these motion sequences, the robot reaches the position where the workpiece is placed, then
closes the fixture for picking workpieces.

PalletFromGet - Leave Pick Position command


This is the command indicating the process of leaving after workpiece pick. When executing this instruction,
the robot will leave from the palletizing point where the workpiece is picked.
 Palletizing name: The PALLET variable of the current pallet.
 Target speed: The running speed of command.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-76
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

− When setting it to “DEFAULT”, the default value V4000 will be used.


− When it is set to SPEED variable, you can select the system pre-defined one, or create it by
yourself.
 Transition type: The way of transition when the robot approaches the endpoint.
− DEFAULT: Default, i.e. no transition parameter is set in the command. If the SetBlendParam
parameter is used in the program, the transition operates according to the globally set transition
parameter.
− FINE: Equivalent in effect to DEFAULT.
− RELATIVE: Relative transition. The transition parameter is a relative value that represents the
percentage of the distance from the transition point to the path endpoint relative to the full length of
the path.
− ABSOLUTE: Absolute transition. The transition parameter is an absolute value that represents the
distance from the transition point to the endpoint of path. from the transition point to the endpoint of
path.
 Transition Value: The transition value when the robot approaches the endpoint.
− When setting it to “DEFAULT”, the default value C100 will be used.
− When it is set to ZONE variable, you can select the system pre-defined one, or create it by yourself;
it means no transition when the variable value is 0; the greater the transition value, the larger the
transition radius.
PalletFromGet (PALLET4,V2000)

The recommended path for picking is shown in Figure 6-59.

Figure 6-59 Path for leaving after picking

Following motion commands are executed when calling the PalletFromGet command:
 The robot moves to the palletizing point in a linear motion (optional)
 The robot moves to the entry position of the pallet in a linear motion (optional)

If neither the post-point nor the entry position of the pallet point has been set, the robot will maintain its
current posture when executing the PalletFromGet command.

6.14 ARRAY commands


The list of ARRAY commands is shown in Figure 6-60.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-77
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-60 List of ARRAY commands

SetMatrix - Set Matrix System


Form a parallelogram in space with the specified three points and divide this parallelogram equally
according to the set number of rows and columns to obtain a matrix point set.

Figure 6-61 Parameter editing interface of SetMatrix

 Origin: Specifies the first point of the parallelogram, of type CPOS.


 Last point in row direction: Specifies the last point in the row direction of the parallelogram, of type CPOS.
 Last point in column direction: Specifies the last point in the column direction of the parallelogram, of type CPOS.
 Number of rows: The number of rows of the generated matrix, a constant, in the range [1,32767].
 Number of columns: The number of columns of the generated matrix, a constant in the range [1,32767].

Note
The matrix points generated based on the three points are only operations in the displacement direction,
so the posture and additional axis angle values of the generated matrix points are kept the same as the
origin (as in P1_Home below):
If the number of rows is 1 and the number of columns > 1, the line is divided equally according to the
number of columns by forming a line based on the origin (as in P1_Home below) and the last point in the
row direction (as in P2_Row below), disregarding the last point in the column direction (as in P3_Column
below);
If the number of columns is 1 and the number of rows > 1, the line is divided equally according to the
number of rows on the basis of the origin (as in P1_Home below, and the last point in the column direction
(as in P3_Column below), disregarding the last point in the row direction (as in P2_Row below);
If both the number of rows and the number of columns are 1, the origin is used directly (as in P1_Home
above);
The range of rows is [1,32767], the range of columns is [1,32767] and the product needs to be less than
32767.

Example 1:
Divide the quadrilateral formed by P1, P2 and P3 equally in 4 rows and 5 columns.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-78
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Row: 4
Column:5
P1_Home P2_Row
C1 C2 C3 C4 C5
R1

R2

R3

R4
P3_Column

SetMatrix (P1, P2, P3,4,5)

GetMatrix - Get Matrix Group


The value of this point in the corresponding row after executing the SetMatrix command and assigned to
the target point. The posture and additional axis angle values of the point as described in SetMatrix remain
the same as the origin.

Figure 6-62 GetMatrix parameter editing interface

 Number of rows: The row number of the matrix from which the point is to be taken, of type INT.
 Number of columns: The column number of the matrix from which the point is to be taken, of type INT.
 Target point: Used to store the value of the picked point, of type CPOS.

Note
The number of rows must be in the range [1,32767], the number of columns must be in the range
[1,32767], and the number of rows and columns must be less than or equal to the corresponding values
set in the SetMatrix command.

6.15 Socket commands


The list of Socket commands is shown in Figure 6-63.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-79
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-63 List of Socket commands

SocketCreate - Create Socket Client command


Create a socket client for purpose of data exchange with the server.

Create a client locally and connect it with the server-side according to the server-side parameters
transmitted.

 Socket name: The name of the socket to be created. The value transmits a socket variable.
 IP address: The ip address of the server to be connected.
 Port number: The port number of the server to be connected.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.

SocketCreate (Socket0, "192.168.1.1", 8888, INT0)


/*Create a Socket named Socket0, the connected server IP is "192.168.1.1", and the port is 8888*/

SocketClose - Close Socket Client command


Close the socket client that has been created before.

Close the created client according to the socket name transmitted, and return the success or failure
information of the operation.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-80
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Socket name: The name of the socket to be closed. The value transmits a socket variable.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketClose (Socket0, INT0)
/* Close the Socket0*/

SocketSendStr – Command to send a string via Socket


Send a string to the server for the interaction of commands.

Send a string to the server that has established a connection, and return the result of whether it is
successful or not.

 Socket name: The name of the socket that needs to perform the sending operation. The value transmits a socket
variable.
 Sent strings: The string data that needs to be sent to the server-side.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.

SocketSendStr (Socket0, "test string", INT0)


/* Send the "test string" to the server */

SocketSendReal – Command to send a real array via Socket


Send a real array to the server for command interaction.

Send a real array to the connected server and return the success or failure.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-81
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Socket name: The name of the socket that needs to perform the sending operation. The value transmits a socket
variable.
 Real-type array sent: The real-type array data that needs to be sent to the server-side.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketSendReal (Socket0, RealOneArray0, INT0)
/*Send RealOneArray one-dimensional array information to the server*/

SocketSendInt - Command to send int array to Socket


Send an int array to the server for command interaction.

Send an int array to the connected server and return the success or failure.

 Socket name: The name of the socket that needs to perform the sending operation. The value transmits a socket
variable.
 int-type array sent: The real-type array data that needs to be sent to the server-side.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketSendInt (Socket0, IntOneReal, INT0)
/*Send IntOneArray one-dimensional array information to the server*

SocketReadReal - Convert the string sent from the server into a Real array format for
storage
Read the string sent from the server-side, and store it in the form of a real array.

Wait for and receive the string sent by the server. Its format is [1.1,2.2,3.3,4.4] (that is, the beginning and
the end of the data are[], and the figures are separated by,). The robot system will split and parse the
received string, and store it in the array in sequence.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-82
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Socket name: The name of the socket that needs to perform the read operation. The value transmits a socket
variable.
 Read count of data: The count of data to be read and stored in the array.
 Data return value: Store the read and converted value into an array variable, and return such array variable.
 Detection time: The time for waiting for the server-side to send data. It sends alarm when time is out.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketReadReal (Socket0, 5, RealOneArray0, 100, INT0)
/* Read 5 real numbers from the server within 100ms, and put them in the variable RealOneArray0 */

SocketReadInt - Convert the string received from the server into an integer format
Read the string sent from the server and store it in the form of an int array.

Wait for and receive the string sent by the server-side. Its format is [1,2,3,4] (the beginning and the end of
the data are[], and the figures are separated by,). The robot system will split and parse the received
string, and store it in the array in sequence.

 Socket name: The name of the socket that needs to perform the read operation. The value transmits a socket
variable.
 Read count of data: The count of data to be read and stored in the array.
 Data return value: Store the read and converted value into an array variable, and return such array variable.
 Detection time: The time for waiting for the server-side to send data. It sends alarm when time is out.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketReadInt (Socket0, 5, IntOneArray0, 100, INT0)
/* Read 5 real numbers from the server within 100ms, and put them in the variable IntOneArray0 */

SocketReadStr- Read the string sent by the server and store it as a string variable
Read the string sent from the server-side, and store it in the form of a string variable.

Wait and receive the string sent by the server. Its format is [Hello world!] (The beginning and the end of the
data are[]). The robot system will store the received string in the string variable.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-83
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Socket name: The name of the socket that needs to perform the read operation. The value transmits a socket
variable.
 Read string: The string data sent from the server. The value is returned in the form of a string variable.
 Detection time: The time for waiting for the server-side to send data. It sends alarm when time is out.
 Operation return value: Create the return value variable of the operation. It is success if the return value is 0, and
failed if it is 1.
SocketReadStr (Socket0, STRING0, 100, INT0)
/*Read the strings from the server within 100ms, and put them in the variable STRING0 */

SocketResetBuf - Reset locally cached strings


This command is used to reset local cache strings. It is intended to reset the data already received in the
cache before the SocketRead read command is executed, to avoid the problem of misplaced data reading.
 Socket name: The name of the socket that needs to perform the read operation. The value transmits a socket
variable.
For example:
SocketResetBuf (Socket0)
/* Reset the cached communication data in Socket0 */

6.16 ModbusTCP commands


The list of ModbusTCP commands is shown in Figure 6-64.

Figure 6-64 List of Modbus commands

GetModConState - Get the connection status of the connection to ModbusTCP


This command is used to get the status of the robots connection to the external world using ModbusTCP
communication.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-84
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Figure 6-65 GetModConState parameter editing interface

 Connection status: Return the current connection status, of type BOOL.

ReadModbusReg - Read the specified Modbus register value


This command is used to read the value of the specified Modbus register.

Figure 6-66 ReadModbusReg parameter editing interface

 Target register ID number: The register ID number to be read, of type INT.


 Target register value: Return the value of the register after reading, of type INT.

WriteModbusReg - Set the specified Modbus register value


This command is used to set the value of the specified Modbus register.

Figure 6-67 WriteModbusReg parameter editing interface

 Target register ID number: The register ID number to be modified, of type INT.


 Target register value: The register value to be modified, of type INT.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-85
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

6.17 SoftFloat commands


The list of SoftFloat commands is shown in Figure 6-68.

Figure 6-68 List of SoftFloat commands

SoftFloatStart – Command to start SoftFloat


This is the command for SoftFloat start. Turn on the SoftFloat function and set the parameters.

 Type of SoftFloat:
− Linear SoftFloat. Only the linear SoftFloat is supported currently.
 SoftFloat reference coordinate system:
− WORLD: World Coordinates
− USER: Tool Coordinates
− TOOL: User Coordinates
 Coordinate system number: When WORLD is selected as the reference coordinate system, the coordinate system
number is empty by default and will not be displayed. When TOOL or USER is selected, select an existing coordinate
system number from the drop-down list, or create a new coordinate system number in the pop-up dialog box for teaching.
 SoftFloat direction:
− X: The X direction of the selected reference coordinate system or its number
− Y: The Y direction of the selected reference coordinate system or its number
− Z: The Z direction of the selected reference coordinate system or its number
 SoftFloat sensitivity: The SoftFloat compliance parameter.
− HIGH: The highest level of compliance
− MidHigh: The second highest level of compliance
− MID: The medium compliance
− MidLow: The second lowest level of compliance
− LOW: the lowest level of compliance

For the setting of SoftFloat direction, please refer to the description of SoftFloat functions for details.

SoftFloatStart ("CART","TOOL",tool1,"Y","MID")

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-86
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

SoftFloatStop – Command to stop SoftFloat


This is the command for SoftFloat ending. Use this command to turn off the SoftFloat function.

After the SoftFloat function is done, call this command to turn off the SoftFloat function.

SoftFloatStop ()

6.18 Online load tuning commands


The online load tuning function of robot. It is designed to get the dynamics information (including load
mass, center of mass and inertia tensor) of the load mounted on the flange end of the robot online, and the
resultant load dynamics information can be used to calculate the robot dynamics model, which can
improve the robot performance and improve the problems such as over torque alarm of joints, false alarm
of collision detection and jitter during robot motion caused by the mismatch of load information.

Figure 6-69 Online load tuning commands

StartMdILog – Command to start collecting dynamic mechanical model tuning data

 Type of stored data:

- Robot: Optional data collection, which collects motion data from the robot itself, i.e. the motion
data when no load is attached. The use of "Robot" type data for tuning helps to improve the
accuracy of load tuning, but this item increases the time taken for tuning calculations.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-87
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

- WithLoad: data must be collected to capture the motion of the robot with a load mounted on
the flange end;

- ValidData: Optional data collection, selected when the accuracy of the model needs to be
verified, to collect data on the motion of the robot fitted with a load. Using the "ValidData" type
of data allows you to verify the accuracy of the tuned model at the same time as the tuning
calculation; however, this item will increase the time taken for the tuning calculation.

Note
 The load tuning data collection. When selecting "Robot", "WithLoad" as the data saving type,
the motion command used to validate the path should be MovJ; the MovJ, MovL, MovC and
other combinations can be used when verifying the motion path for "ValidData" type.

 The TRIGGER command does not support single- step or manual mode.

StopMdlLog – Command to abort the acquisition of kinetic model tuning ata

Note
 This command must be used in conjunction with the StartMdllog() instruction.

After the execution of StopMdllog(), a ".txt" file with the same name as the StartMdllog()
parameter, i.e. the data saving type, will be generated in the "runtime\config" directory, and the
file can be opened by the software EScope to view the curves.

 The TRIGGER command does not support single-step or manual mode.

CalDynMdl – Command to set model tuning parameters


The command for online robot load tuning calculation. It is used to recognize the robot load information.

Once the data required for load tuning has been collected, execute this command to start the robot load
tuning process, which takes 30-60 minutes. Once tuning is done, a pop-up box will display the model
validation score results.

Command paramters are required to execute this function: type of model to be tuned, workpiece load
variable, length of data interval, and whether to validate the model. The command parameters are detailed
below:
 The type of model to be tuned:

- Type "TypePayload" is used to tune the load parameters;

- Type "TypeTool" is used to tune the tool parameters;


 Workpiece load variable: The variable used to store the tuning results (PAYLOAD load variable or
TOOL tool variable);
 Data interval length: set the interval parameter for extracting valid tuning data from the original data,
the greater the value the less data used for tuning, the less accurate the load tuning results will be,
ranged as [0, 100];
 Whether model validation is required: Whether model validation is required for load tuning. If the
value is set to "Enable l", and model validation is required, then you should set the data acquisition
command StartMdlLog() and select "ValidData type to collect a set of model validation data.

Note
Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-88
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 TRIGGER commands do not support single step and manual mode.

 The online load tuning function is currently only supported on the Universal 6-axis model.

 The online load tuning function only runs on a controller system with more than 1GB of C drive
space and 1GB of Windows memory, otherwise the function will not work properly;

6.19 STRING commands


The list of STRING commands is shown in Figure 6-70.

Figure 6-70 List of STRING commands

byte
Take the ASCCII code of the character in the nth position of the string.
 Parameter 1: The variable or constant of string type.
 Parameter 2: The variable or constant of type int.
 Function return value: The int-type constant.

find2
Return the position of the substring in the string.
 Parameter 1: The variable or constant of string type.
 Parameter 2: The variable or constant of type int.
 Function return value: The int-type constant. (The return value is -1 when the corresponding character or string is
not found)

len
Calculate the length of a string.
 Parameter 1: The variable or constant of string type.
 Function return value: The int-type constant.

char
Return the character corresponding to the ASCCII code.
 Parameter 1: The variable or constant of type int.
 Function return value: The constant of string type.

gsub

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-89
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Search for substring a within string s and replace a with string b.


 Parameter 1: The variable or constant of string type.
 Parameter 2: The variable or constant of string type.
 Function return value: The constant of string type.

lower
Return the string in lowercase format.
 Parameter 1: The variable or constant of string type.
 Function return value: The constant of string type.

upper
Return the string in uppercase format.
 Parameter 1: The variable or constant of string type.
 Function return value: The constant of string type.

reverse
The string inversion command, which inverts the string and returns it.
 Parameter 1: The string to be inverted, a variable or constant of type string.
 Function return value: The string to be inverted, a string variable.

findEnd
The string inversion lookup command, which locates the last occurrence of a specified string in a string
and returns the index number.
 Parameter 1: The source string to be looked up, a variable or constant of type string.
 Parameter 2: The specified string to be looked up, a variable or constant of type string.
 Return value: The index number of the search, a variable of type int.

format
The formatted STRING command, which transmits a reasonable formatting control in parameter 1, fills this
formatting control with any number of subsequent parameters, and returns the filled data.
 Parameter 1: The String format, a variable or constant of type string.
 Parameter 2: The parameter of the formatting controller to be filled, a variable or constant of type string/real/int.
 Parameter 3: The parameter of the formatting controller to be filled, a variable or constant of type string/real/int.
 ... (no limit on the number of parameters, as long as the total length does not exceed the length of a single
commanded string)
 Function return value: The count of successfully split and saved to an array, a variable of type int
The formatted string starts with % and supports the following uses.
%c - accepts a number and converts it to the corresponding character in the ASCII table
%d, %i - accepts a number and converts it into signed integer format
%o - accepts a number and converts it to octal format
%u - accepts a number and converts it to unsigned integer format
%x - accepts a number and converts it to hexadecimal format, using the lowercase letter x
%X - accepts a number and converts it to hexadecimal format, using an uppercase X
%f - accepts a number and converts it to floating point format
%s - accepts a string and formats it according to the given parameters

Example:

format("%%c: %c", 83) Output S

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-90
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

format("%+d", 17.0) Output +17

format("%05d", 17) Output 00017

format("%o", 17) Output 21

format("%u", 3.14) Output 3

format("%x", 13) Output d

format("%X", 13) Output D

format("%6.3f", 13) Output 13.000

format("%s", "monkey") Output monkey

format("%10s", "monkey") Output monkey

getAt
The command to obtain a single string. It gets the string data of a certain bit and returns the obtained data.
 Parameter 1: The string to be intercepted, a variable or constant of type string.
 Parameter 2: The position to be intercepted, a variable or constant of type int.
 Function return value: The acquired string, a variable of type string.

left
The command to take the left of a string. It intercepts a specified number of strings starting from the left
side of the string and returns the intercepted data.
 Parameter 1: The string to be intercepted, a variable or constant of type string.
 Parameter 2: The number to be intercepted, a variable or constant of type int.
 Function return value: The intercepted string, a variable of type string.

right
The command to take the right of a string. It intercepts a specified number of strings starting from the right
side of the string and returns the intercepted data.
 Parameter 1: The string to be intercepted, a variable or constant of type string.
 Parameter 2: The number to be intercepted, a variable or constant of type int.
 Function return value: The intercepted string, a variable of type string.

strcmp
The String comparison command. Under this command, the return value is the ASCII difference between
the first different characters.
 Parameter 1: The string data to be compared, a variable or constant of type string.
 Parameter 2: The string data to be compared, a variable or constant of type string.
 Function return value: The returned ASCII value, a variable of type int.

trimLeft
The command to trim the string by left. This command removes the spaces to the left of the string and
returns the modified string data.
 Parameter 1: String to be trimmed, a variable or constant of type string.
 Function return value: The trimmed string, a variable of type string.

trimRight
The command to trim the string by right. This command removes the spaces to the right of the string and
returns the modified string data.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-91
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Parameter 1: String to be trimmed, a variable or constant of type string.


 Function return value: The trimmed string, a variable of type string.

IToStr
Integer data to STRING command. The command allows to convert integer data to string type data and
return the converted string.
 Parameter 1: The integer data to be converted, a variable or constant of type int.
 Function return value: The converted string data, a variable of type string.

RToStr
REAL parameter to STRING command. The command allows to convert the real data to string type data
and return the converted string.
 Parameter 1: The real data to be converted, a variable or constant of type REAL.
 Function return value: The converted string data, a variable of type string.

StrToI
The String to Integer command. This command converts string data to integer type data and returns the
converted integer data.
 Parameter 1: The string data to be converted, a variable or constant of type string.
 Function return value: The converted integer data, a variable of type int.

StrToR
The String to REAL data command. This command converts string data to REAL type data and returns the
converted real number.
 Parameter 1: The string data to be converted, a variable or constant of type string.
 Function return value: The real data to be converted, a variable of type REAL.

APosToStr
The APOS point data to STRING command. This command converts apos points into strings in the
specified format and returns the converted string data. The converted apos point is in the format "0;
1,2,3,4,5,6,0,0,0,0,0,0,0,0,0,0,0;", where the semicolon in front represents the apos point type and
coordinate value, respectively.
 Parameter 1: The APOS point data to be converted, a variable of type APOS.
 Function return value: The converted string data, a variable of type string.

CPosToStr
The CPOS point data to STRING command. This command converts cpos points into strings in the
specified format and returns the converted string data. The converted cpos point is in the format
"1;0,0,0,0,0,0;1,2,3,4,5,6,0,0,0,0,0,0,0,0,0,0;", where the semicolon in front represents the cpos point type,
cfg parameter and coordinate value, respectively.
 Parameter 1: The CPOS point data to be converted, a variable of type CPOS.
 Function return value: The converted string data, a variable of type string.

TranStrToInt
The command to get integer string array. This command splits the string according to the passed split
character, converts the split value to an integer one-dimensional array and returns the number of valid
splits.
 Parameter 1: The string to be split, a variable or constant of type string.
 Parameter 2: The separator, a variable or constant of type string.
 Parameter 3: The split integer being stored as an array, a variable of type IntOneArray.
 Function return value: The count of successfully split and saved to an array, a variable of type int

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-92
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

Example:
P:INT0.value = TranStrToInt("1_2_3er", "_", G:IntOneArray0) // The command passes in the character
"1_2_3er", and after execution the system extracts the data by splitting it according to the incoming
split character _. The split data is stored in the one -dimensional integer array variable IntOneArray0 in
the order of 1, 2, 0, and the number of splits 3 is assigned to INT0.value.

TranStrToReal
A command to get an array of REAL strings. This command splits the strings according to the passed
splitters and converts the split values into a REAL one-dimensional array and returns the number of valid
splits.
 Parameter 1: The string to be split, a variable or constant of type string.
 Parameter 2: The separator, a variable or constant of type string.
 Parameter 3: Store the split REAL type variable as an array, a variable of type RealOneArray.
 Function return value: The count of successfully split and saved to an array, a variable of type int
Example:
P:INT0.value = TranStrToReal("1.1_2.2_3er", "_", G:IntOneArray0) // The command passes in the
character "1.1_2.2_3er", after execution the system extracts the data by splitting it according to the
incoming split character _. The split da ta is stored in the one-dimensional integer array variable
RealOneArray0 in the order of 1.1, 2.2, 0 respectively, and the number of splits 3 is assigned to
INT0.value.

TranStrToApos
The command to get an array of apos point data strings. This command splits the string according to the
passed split character and converts the split value to an apos point variable, while returning a status of
whether the conversion was successful or not. The string to be converted must be in the format "0;
1,2,3,4,5,6,0,0,0,0,0,0,0,0,0,0,0;", where the leading semicolon represents the apos point type, the
coordinate value, and the last semicolon can be followed by any string.
 Parameter 1: The string to be split, a variable or constant of type string.
 Parameter 2: The separator, a variable or constant of type string.
 Parameter 3: Store the split apos point data as an apos variable, a variable of type APOS.
 Function return value: Return the status of the extraction success or failure, a variable of type int
Example:
P:INT0.value = TranStrToApos("0; 21,22,23,24,25,26,0,0,0,0,0,0,0,0,0,0;$qwqewe", "$", G: P0) // The
command passes in the characters "0;21,22,23,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0;$qwqewe". After
execution, the system will split the extracted data according to the incoming separator $, and the data
after $ will be discarded. The split data are stored in the order 21, 22, 23, 24, 25, 26... in the order of
a1, a2, a3, a4, a5, a6... of P0. and the successful return value 0 is assigned to INT0.value.

TranStrToCpos
The command to get an array of cpos point data strings. This command splits the string according to the
incoming separator and converts the split value to an apos point variable, while returning a status of
whether the conversion was successful or not. The string to be converted must be in the format
"1;0,0,0,0,0,0,0;1,2,3,4,5,6,0,0,0,0,0,0,0,0,0,0,0,0;", with the semicolon preceding the cpos point type, the
cfg parameter, and the coordinate value respectively.
 Parameter 1: The string to be split, a variable or constant of type string.
 Parameter 2: The separator, a variable or constant of type string.
 Parameter 3: Store the split apos point data as a cpos variable, a variable of type CPOS.
 Function return value: Return the status of the extraction success or failure, a variable of type int
Example:
 P:INT0.value = TranStrToCpos("1;0,0,0,0,0,0;21,22,23,24,25,26,0,0,0,0,0,0,0,0,0,0;$qwqewe", "$", G: P0) //
The command passes in the characters "0; 0,0,0,0,0,0,0;21,22,23,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0;$qwqewe". After
execution, the system will split the extracted data according to the passed splitting character $, the data after $ will be
discarded. The data after the first ";" will be stored in the cfg parameter in the order of "0,0,0,0,0,0" and the data after the
second ";" will be stored in the order of 21, 22, 23, 24, 25, 26... in the order of x, y, z, a, b, c... of P0, and the successful
return value 0 is assigned to INT0.value.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-93
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

6.20 Mathematical Functions


The mathematical functions or string operating functions may be used in the "IF" and "...=..." commands.
This section explains the "Mathematical Functions" that may be used.

sin - Sine trigonometric function


The sine trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

cos - Cosine trigonometric function


The cosine trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

tan - Tangent trigonometric function


The tangent trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

asin – Inverse sine trigonometric function


The inverse sine trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

acos – Inverse cosine trigonometric function


The inverse cosine trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

atan – Inverse tangent trigonometric function


The inverse tangent trigonometric function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-94
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

atan2 - X/Y Inverse tangent function


X/Y inverse tangent value function, returning the value in radian from the X axis to the point (x, y).
 Parameter 1: A variable or constant of type int or REAL.
 Parameter 2: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

sinh - Hyperbolic sine function


The hyperbolic sine function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

cosh – Hyperbolic cosine function


The hyperbolic cosine function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

tanh - Hyperbolic tangent function


The hyperbolic tangent function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

log - Logarithmic function


The natural logarithmic function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

log10 - Logarithmic function of base 10


The logarithmic function of base 10.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

sqrt - Square root function


The square root function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

exp - Exponential function of base e


The exponential function of base e.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

pow - Exponential function


The exponential function/
 Parameter 1: int or real type variables or constants, base.
 Parameter 2: int or real type variables or constants, exponent.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-95
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

 Function return value: The real constants.

deg - Radian to Degree Function


The radian to degree function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

rad - Degree to Radian Function


The degree to radian function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type REAL.

fmod - Remainder Function


The remainder function.
 Parameter 1: int or real type variables or constants, dividend.
 Parameter 2: int or real type variables or constants, divisor.
 Function return value: The real constants.

floor - Floor function


The floor function.
 Parameter 1: A variable or constant of type int or REAL.
 Function return value: A constant of type int.

random - Random integer


Random integers selected from one of the 2 parameters.
 Parameter 1: A variable or constant of type int or REAL.
 Parameter 2: A variable or constant of type int or REAL.
 Function return value: A constant of type int.

6.21 Other functions


Other functions may be used in the "IF" commands and the "...=..." commands. "Other functions" that can
be used are given in this section.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-96
ER 系列工业机器人操作手册 Chapter 6 Introduction to Commands

SimAiToReal
A function that converts SimAi variables to Real types that can be involved in arithmetic after conversion.

 Parameter: SimAi

 Function return value: A constant of type Real.

SimAoToReal
A function that converts SimAo variables to Real types that can be involved in arithmetic after conversion.

 Parameter: SimAo

 Function return value: A constant of type Real.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 6-97
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Chapter 7 Advanced Functions

7.1 Multi-type Area Monitoring


Function Overview
By setting up safety zones, the position of the robot can be monitored in real time under a variety of
working conditions, minimizing the likelihood of collisions.
 WorkArea:
All CheckPoints (TCPs) of the robot are only allowed to move within the WorkArea. In the event of a
violation of the WorkArea rules, there are two ways of handling:
− When the robot leaves the WorkArea, the program stops and alarms
− The robot runs properly if in the WorkArea and outputs a signal if the output port is configured to
Enable
 BlockedArea:
All CheckPoints (TCPs) of the robot are not allowed to move within the BlockedArea. In the event of a
violation of the BlockedArea rule, there are two ways of handling:
− When the robot enters a Blocked Area, the program stops and alarms
− The robot runs properly if not in a Blocked Area, and outputs a signal if the output port is configured
to Enable
 SignalArea:
All CheckPoints (TCPs) of the robot are only allowed to move within any areas. In the event of a
violation of the WorkArea rules, there are two ways of handling:
− When the robot enters the signal work area, it continues to run the program and outputs a signal if
the output port enable is configured
− When the robot leaves the signal work area, it continues to run the program and outputs a signal if
the output port enable is configured

How to use standard area monitoring


Step 1 Go to the program data interface and click on the standard area variable you want to set in the global
domain, e.g. AREA0. Click on " Modify " and you will be taken to the interface for setting the area variable.

Step 2 By default, the standard area variable is "inactive" and the user can activate it by clicking "Activate".

Step 3 Click on "Modify" as shown in Figure 7-1.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-1
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-1 Interface fdor setting standard area variables ---Box/Cylinder

Figure 7-2 Interface for setting standard area variables - Axis interference zone

Step 4 Modify the parameters of this interface as described below.

Parameter Description

Area Name Display the name of standard area variable

Unchangeable by default

Status  Determine if the monitoring point is inside or outside the


area when the area is active

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-2
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Type Select the type of the area:

Range of values:

 WorkArea

 BlockedArea

 SignalArea

Monitoring side Select area monitoring point

Range of values:

 Flange

 Robot tool terminal (Tcp)

Reference Coordinates Select the reference coordinates for the area.

World Coordinatess by default

Shape Select the shape of the area

Range of values:

 BOX

 CYLINDER

 Axis interference zone (JOINT)

Input Port 1. Check the "Port Enable" box

2. Select the input port that needs to activate the variable in


the area

3. Set "active low" or "active high".

Output Port 1. Check the "Port Enable" box

2. Select the output port that needs to activate the variable


in the area

3. Set "active low" or "active high".

X, Y, Z, lenX, lenY, lenZ Sets the start coordinates of the area and the size of the
area.

The start coordinates are relative to the reference


coordinates.

Set the start coordinates of the BOX or CYLINDER area


and the size of the area (corresponds to Figure 7-1). The
start coordinates are relative to the reference coordinates

Axix, posMax, posMin Set the parameters for the axis interference zone (in Figure
7-2), i.e. the axis number to be detected, the maximum and
minimum range of axis motions.

Step 5 Click "OK" to complete the setting of the standard area variables, as shown in Figure 7-3.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-3
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-3 Interface for standard area variables

Note

1. When the standard area activates or deactivate the function, the activation or deactivation can be
performed via the variable configuration interface, the command or the input port (the input port
number enabled by the configuration).

2. When the standard area input port is enabled, the area can be activated or deactivated (co-existing
with the standard area activation command and the standard area deactivation command, whichever
is triggered later) by entering the edge of the port number.

3. When a standard area is activated, the default is to set this standard area property to be activated
automatically.

4. Auto-activation Attribute: When the system reboots and loads a standard area, the standard area
attribute is auto-activated and the input port enable is not set, the area is automatically activated;
when the standard area attribute is auto-activated and the input port enable is set, the area is
activated or not according to the level status of the set input port number.

5. When the standard area is active, the status of whether the robot is in the setup area is output in real
time; after the output port is enabled and set, a signal can be output according to the status of
whether the robot monitoring end is in the setup area.

6. When the standard area is activated and the area type is a WorkArea or BlockedArea, the robot
periodically detects the position of the monitoring end of the robot. If it is outside the WorkArea or
inside the BlockedArea, a corresponding alarm will be generated during the robots movement.

Method for using Polyhedron area monitoring


When using the "Polyhedron Area" monitoring function, the polyhedron area needs to be configured first.

Step 1: Click on "User Application > Polyhedron Area" to enter the Polyhedron Area plugin interface, as shown in
Figure 7-4. Currently, up to 4 polyhedron regions are supported.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-4
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-4 Polyhedron Area plugin interface

Step 2: Select the ID of the area to be configured and enter the configuration interface.

1. If the configuration interface is entered after clicking on the area ID, as shown in Figure 7-5, it means
that the area has already been configured with a polyhedral area. Please refer to Step 3 to modify the
parameters.

Figure 7-5 Polyhedron area variable configuration interface

2. If, after clicking on the area ID, it appears as shown in Figure 7-6, please click on the "Create" button,
enter the configuration interface, and then click on the "Modify" button to modify the parameters by
referring to Step 3.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-5
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-6 Configuration interface for polyhedron area variables

Step 2: Modify the parameters of the configuration interface according to the following instructions:
 Status: After activation of this area, determine whether the monitoring point is inside or outside the area.
 Auto Activation: When selected, this area will be automatically activated after the controller starts.
 Monitoring Point: Select the monitoring point of the area, which currently includes the robot flange and Tcp.
 Type: Select the type of this area.
 Coordinate System: Select the reference coordinates for this area, which defaults to the World Coordinates.
 Vertex Z Value: Indicate the starting position of the area in the Z-direction of the coordinates. It can be entered
manually or obtained by clicking the "Get Current Z Value" button, which displays the current Z-axis coordinate value
in the current coordinates.
 Area Height: Indicate the height of the area in the Z-direction of the coordinates. It can be entered manually or
calculated by clicking the "Calculate Z-Height" button, which displays the Z-axis coordinate value of the current
coordinates minus the vertex height value.
 Count of Vertices: Indicate the count of vertices on the bottom of the polyhedron area. Clicking on "Vertex
Information" will bring up the vertex configuration interface, as shown in Figure 7-2. Clicking on "Add" will
automatically add the current TCP position in the user coordinates. If you need to modify a vertex of the polyhedron
area, select the corresponding vertex and modify it by clicking on "Teach" or entering the XY coordinates. If you
need to delete a vertex of the polyhedron area, select the corresponding vertex and click on "Delete". The right side
of the interface supports the preview of the 2D and 3D effects of the polyhedron area, as well as the enlarged 3D
effect of only the polyhedron area. Preview supports synchronous display of the monitoring point position (blue dot in
the figure). In 2D mode, only the position of the monitoring point in the XY plane is displayed, and switching to 3D
mode can preview the relative position of the actual monitoring point;
 Input Port: Check "Port Enable" to select the input port that needs to activate this area variable, and set it to "Low
Active" or "High Active".
 Output Port: Check "Port Enable" to select the output port that needs to activate this area variable, and set it to "Low
Active" or "High Active".

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-6
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-7: Configuration interface for polyhedronal area vertex

Step 1: Click "Save" after completing the settings.

Step 2: When using a polyhedron area in the command, create a POLYHEDRON type variable and specify the
correct polyhedron area ID in the "index" parameter. After creation, activate or deactivate the polyhedron area using
the PolyhedronAreaActivate or PolyhedronAreaDeactivate command.

Note
1. When the polyhedron area is activated and the area type is a WorkArea or a BlockedArea, the
system will periodically check the robot monitoring point position during operation and output the
robots status in the set area in real time.

2. When the standard area is activated and the area type is a signal area, the system will periodically
check the robot monitoring point position regardless of whether the excitation is on or off and output
the robots status in the set area in real time.

3. After setting the automatic activation parameter for the polyhedron area, it will not take effect
immediately. The system will load the polyhedron parameters during a restart and determine whether
to activate the area automatically based on the DI port status. When the DI port is disabled, the area
is automatically activated, and when the DI port is enabled, the area is activated or not depending on
the DI level.

4. The logic for activating or deactivating the polyhedron area is the same as the usage status of the
input/output port and standard area monitoring function.

5. The activation or deactivating of the polyhedron area can be performed through the variable
configuration interface, instructions, or input ports (if configured).

----END

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-7
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.2 Collision Detection


7.2.1 Collision Detection
Function Overview
The collision detection function can detect whether the robot collides in real-time without the need for an
external force sensor. If a collision is detected, the robot will immediately alarm and stop working, providing
safety protection and effectively reducing the damage to the robot or other equipment. Users can turn ON
or OFF the collision detection function according to the needs of the site. For safety reasons, it is
recommended to turn on the collision detection function.

Way of use
Note
 If the current robot model does not support collision detection, the interface will display "The current
robot model does not support collision detection".

 This function detects collisions based on load information and device information, so the load
information must be set correctly to avoid false alarms or affect detection sensitivity. For setting the
load parameters, please refer to "PAYLOAD0" (6.5) and "SetPayload" commands (6.5).

 .Different working conditions and operating conditions may result in different collision sensitivities with
the same parameter settings. Therefore, false alarms may occur. If a collision false alarm occurs,
appropriately reduce the sensitivity of the collision axis according to the alarm information by
increasing the numerical value until the false alarm no longer occurs.

Step 1: Select "General Settings>Collision Detection" on the System Home to enter the setting interface as shown
in Figure 7-8.

Figure 7-8 Collision detection configuration interface

Parameter Introduction:
 Enable Checkbox: Controls the on/off switch of the Collision Detection feature.
Checked: Enable the Collision Detection.
Unchecked: Disable the Collision Detection.
 Values for Axis 1-6: Set the sensitivity of the Collision Detection.
Default value: 100
Larger value: Lower sensitivity for the Collision Detection.
Smaller value: Higher sensitivity for the Collision Detection.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-8
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Collision IO: The system outputs to the DO port when the collision backoff is done. <N/A> indicates no output,
while other values output a high level to the corresponding DO port.

7.2.2 Collision Detection Self-Adjustment


Function Description
This function generates matching Collision Detection parameters based on the actual operating status of
the robot, which can improve the sensitivity of the collision detection and reduce the probability of false
alarms.

The target paths running data is recorded through the func tion setting, and the collision detection self-
adjustment parameters are calculated based on the recorded data. The obtained self-adjustment
parameters are then used.

Way of use:
This function requires the Collision Detection feature to be enabled and ensures that the target path for the
Collision Detection Self-adjustment can operate properly.

Step 1: Select "General Settings> Collision Detection> Advanced Settings" on the System Home to enter the setting
interface.

Step 2: Check the "Enable" checkbox in the upper left corner, as shown in Figure 7-8.

Step 3: Click the "Advanced Settings" button in the lower right corner to enter the "Collision Detection Self-
Adjustment" page.

Step 4: Select the "Calibration" tab, click the "Start" button to re-record the self-adjustment data, run the robot's
target path, and interrupt data collection by clicking the "Pause" button. Data collection can be resumed by clicking
the "Resume" button. Run the target path at least once at the target speed, then click the "End" button to end data
collection.

Step 5: Select the "Parameter ID", "Detection Method", and "Sensitivity Level" based on actual needs, and click
"Calculate".

Step 6: Select the "Collision Detection Parameter Settings" tab to set the default parameters for the Collision
Detection.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-9
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Parameter Introduction
 Calibration Tab:

Start/End: Re-record the self-adjustment data/End data collection.

Pause/Resume: Interrupt data collection/Resume data collection.

Parameter ID: 1-6, used to store the calculated collision detection self-adjustment parameters.

Detection Method: Standard, Standard+, Standard++, corresponding to the detection methods in


order of increasing strength.

Sensitivity Level: 5 levels: Lowest, Low, Standard, High, Highest, corresponding to sensitivity levels
in ascending order.

Calculate: Calculate the Collision Detection self-adjustment parameters based on the set
parameters.

 Parameter settings of collision detection

Default Collision Detection Parameter ID: The factory default parameter is "DEFAULT," and 1-6
corresponds to the self-adjustment parameters in "Parameter ID" 1-6.

7.3 Collision Rollback


When a robot collides with an object, it will immediately stop moving but maintain contact with the object.
This creates contact stress between the robot and the object, potentially leading to damage. The Collision
Rollback function allows the robot to move back along its original path for a certain distance after the
collision, in order to release the stress.

When a collision occurs, the robot triggers an alarm and quickly stops its movement. It then moves back
along its original path to prevent contact with the obstacle and release the stress.

The first stage of the process is a quick stop of the robots movement when it detects a collision.

The second stage involves moving back along the original path from the collision stop point to the end
point of the rollback.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-10
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Collision retreat point

Collision stop point

Collision occurrence point

TCP motion path during collision process

Figure 7-9 TCP motion path during collision

Note
To use this function, you need to contact the manufacturer.

7.4 Vibration Suppression


Function Overview
The Vibration Suppression function is used to reduce residual vibration at the end of the robot, allowing for
smoother motion, to improve positioning accuracy, and shorter positioning time. The strength of the
residual vibration varies depending on the robots movement path, as well as its speed and end load.
Typically, high-speed movement and heavy end loads are more likely to cause vibration and produce
stronger vibrations.

Way of use
Note
When using the Vibration Suppression function, it is essential to set the correct payload parameters, which
affect the controllers adjustment of vibration suppression.
Refer to the Basic Setting Interface for Setting Payload Parameters (4.7.2) and the SetPayload Command
(6.5) for information on setting payload parameters.

Step 1: Enter the configuration interface for vibration suppression by selecting "General Settings>Vibration
Suppression" on the System Home, as shown in Figure 7-10.

Figure 7-10: Vibration Suppression Configuration Interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-11
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Parameter Description
 Enable Checkbox: The switch controlling the Vibration Suppression function ON/OFF.
Checked: Enable the Vibration Suppression function.
Unchecked: Disable the Vibration Suppression function.
 Values for Axis 1 to Axis 6: Set the strength of vibration suppression.
Default Value: Standard.
Value Range: There are five levels: Low, Low-Medium, Standard, Medium-High, and High. The
vibration suppression effect increases progressively with each level.

7.5 Conveyor tracking


Function overview
The conveyor tracking is designed to synchronize the movement of the robot and the workpieces on a
conveyor, which move along the conveyor as it runs. The position information of the workpiece is obtained
through a visual system or sensor, and transmitted to the robot via a designated interaction method. This
allows the robot to pick up the workpiece from a fixed or moving conveyor based on the feedback from the
sensor. There are two types of conveyors available, namely linear and disc-shaped.

Figure 7-11 Schematic diagram of the linear conveyor tracking system

Figure 7-12 Schematic diagram of the disc conveyor tracking system

Camera
Robot

Disc conveyor

Workpiece

Disc conveyor tracking system

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-12
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Caution
 The current system version supports up to two conveyors per machine.

To access the conveyor configuration interface, users can click on "User Application-Conveyor Tracking" in
the programming pendant. In this interface, conveyor parameters can be configured, including enabling the
conveyor belt, checking and calibrating the pulse equivalent, viewing the conveyor belt position and speed,
and toggling the display of reasons for non-tracking. Users can also switch between five configuration
pages, namely "Conveyor Belt Parameters," "Tracking Parameters," "Trigger Parameters," "Visual
Parameters," and "Virtual Conveyor Belt," to further configure the settings.

Way of use
Note
Up to two conveyors are supported.

Step 1: Select "User Application-Conveyor Tracking" on the System Home, which will take users to the conveyor
configuration interface.

Figure 7-13 Configuration interface for linear conveyor parameters

Parameter Description
 Display cause of tracking failure:
Checked: Display the causes for tracking failure.
Unchecked: Do not display the causes for tracking failure.
 Conveyor Enable: The switch controlling the Conveyor Tracking
Checked: Turn on the Conveyor Tracking function.
Unchecked: Turn off the Conveyor Tracking function.
 Pulse equivalent:
 Conveyor position:
 Conveyor speed:

Conveyor Parameter Configuration


Select "Conveyor Parameter" to enter the conveyor parameter tab.
 Type: Linear or Disk.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-13
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-14 Configuration interface for linear conveyor parameters

Figure 7-15 Configuration interface for disc conveyor parameters

 Direction: set the direction of the conveyor belt.


 Moving coordinate system: The moving coordinate system bound to such conveyor.
 Min./max. boundary/latest start point/latest synchronization point: For a linear conveyor, these represent the
coordinate values in the X-direction in the corresponding moving coordinates. For a disc conveyor, they represent the
angle at the center of the XOY plane in the corresponding moving coordinates.

Tracking Parameters Configuration


Select "Tracking Parameters" to enter the conveyor parameters configuration interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-14
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-16 Configuration interface for tracking parameters

 Velocity coefficient/Accel coefficient/Decel coefficient: the ratios of the velocity/Accel/Decel during the tracking
synchronization process.
 Tracking tolerance: the threshold used to judge the accuracy of the tracking synchronization, representing the
maximum allowable displacement error between the robot and the target object.
 X-axis compensation: the compensation for workpiece offset relative to the target position in the X direction.
 Y-axis compensation: the compensation for workpiece offset relative to the target position in the Y direction.
 A-axis compensation: the compensation for workpiece offset relative to the target position in the A direction.

Trigger Parameter Configuration


Select "Trigger Parameters" to enter the trigger parameter configuration interface.

Figure 7-17 Configuration iInterface for trigger parameter

 Trigger Types:
− Timing trigger: The system will output a high level signal from the trigger output port based on the
configured trigger time (ms) and cycle, of which high-level hold time is 1/2 of the trigger time.
− External IO trigger: When the system detects a rising edge signal at the trigger input port (detection
cycle of 4ms), set the trigger output port to output a high level signal. The high-level hold time is
synchronized with the trigger input port.
− Non-camera trigger: No visual operation mode, and a task program needs to be created: detecting
input signals, sending target information, and so on. RUN program can be used to write the
commands. When the rising edge signal is detected at the trigger input port, call the SetTargetPos
to send the workpiece position information.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-15
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 Trigger time: The settings are valid when the "Trigger Type" is of "Timed Trigger". It indicates the interval time for
inputting the high level signal at the specified trigger output port.
 Trigger input port: Specify the trigger input port information for system detection. The settings can be valid when the
"Trigger Type" is of "External IO Trigger" or "Non-Camera Trigger".
 Trigger output port: Specify the trigger output port information output by the system, so that the camera can perform
shooting. The settings can be valid when "Trigger Type" is of "Timed Trigger" or "External IO Trigger".
 Trigger signal verification types:
− Nil: This method does not perform any verification processing on the trigger signal, and any signal
triggering is considered valid.
− Time: This is a time verification method, which means that within a certain time period after the last
valid signal triggering, the system will block the signal receiving function. The blocked data received
varies depending on the blocking object.
− Distance: This is a distance verification method, which means that within a certain distance (which
refers to the conveyor movement distance) after the last valid signal triggering, the system will block
the signal receiving function. The blocked data received varies depending on the blocking object.
 Blocking object:
− Position Reception: When the trigger signal verification type is of Time or Distance, the system
discards the workpiece information sent from vision or the SetTargetPos instruction within a certain
time or distance after the last valid signal triggering, which means that any workpiece information
received in this interval is invalid data.
− Signal Detection: When the trigger signal verification type is of Time or Distance, the system stops
detecting the trigger signal within a certain time or distance after the last valid signal triggering,
which means that the workpiece information received in this interval is executed with the encoder
position recorded by the last valid signal.
 Verification Time: This parameter is used to specify the time for blocking signal receiving after the last valid signal, in
ms. This parameter is effective when the "Trigger Signal Verification Type" is set to "Time."
 Verification Distance: This parameter is used to specify the distance for blocking signal receiving after the last valid
signal, in units of millimeters for linear conveyors and degrees for disc conveyors. This parameter is effective when
the "Trigger Signal Verification Type" is set to "Distance."

Visual Parameter Configuration


Select "Visual Parameters" to enter the visual parameter configuration interface.

Figure 7-18 Visual parameter configuration interface

 Visual IP: Set to the IP address of the camera.


 Port Number: The default port number is 5500.
 Connection Status: Display the connection status with the camera server. GREEN indicates a connected status,
GREY indicates a disconnected status, and Colorless indicates an unconnected status.
 Clear: Clicking this button clears the point information sent by the visual endpoint displayed above the button.

Virtual Conveyor Configuration


Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-16
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Select [Virtual Conveyor] to enter the virtual conveyor parameter configuration interface.

Figure 7-19 Virtual conveyor parameter configuration interface

 Virtual Conveyor Enable: Control the virtual conveyor ON/OFF.


 Virtual Conveyor Enable Status: Display the current status of the virtual conveyor, either Enabled (Green) or
Disabled (Grey). Please note that executing the virtual conveyor ON/OFF command will also affect the display of this
status.
 Virtual Conveyor Speed: Set/display the speed of the virtual conveyor.
For further information on conveyor pulse calibration and on-site configuration steps, please refer to the "ER Series
Industrial Robot Conveyor Tracking Operation Manual_RCS2".

----END

7.6 System IP Setup


Network Settings
System IP Setup are only available to users with "Administrator" user type.

Select "Advanced Settings" on the System Home and click on "Network Settings" to enter the system
"Network Settings" page. The programming pendant will display the corresponding setting page according
to the controller system version.

To ensure normal communication, the parameters in this interface should be set to the correct values
according to the actual situation.

Network Settings A

The controller system uses internal bridging for its network card. When any network port is connected to a
LAN, the IP addresses of the Programming pendant, OS1, and OS2 cannot be the same as those of other
devices on the LAN, otherwise network address conflicts may result in communication anomalies.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-17
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-20 Network setup interface A

 Remote Network Settings: Modify the IP addresses of the OS ends that are currently connected to the programming
pendant remotely.
− OS1 IP: IP address of OS1.
− OS2 IP-TP: IP address of OS2.
− OS2 IP-Comm: IP address used for communication with OS2.
 Local Network Settings: Only modify the IP addresses of the OS ends that are locally connected to the programming
pendant.
− Programming pendant IP: IP address of the programming pendant.
− OS1 IP: IP address of OS1.
− OS2 IP-TP: IP address of OS2.
Network Settings B

The controller system divides the network into internal and external networks. The internal network is
mainly for the effective connection between the programming pendant and the controller, while the external
network is for the effective connection with external communication. Therefore, when wiring the robot
group, only ETH1 or ETH2 needs to be modified according to the application.

Caution
 External communication network addresses cannot be the same as the identification segment of the
internal communication network, otherwise normal communication may be affected. (For example, the
default factory network segment for the internal network is 192.168.6.x, so the external network is not
allowed to be set to 192.168.6.x.)

Figure 7-21 Network setup interface B

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-18
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 External Communication Network Settings:


− ETH1(lan3): controller-side lan3 port, supports TCP/IP, ModbusTCP, etc.
− ETH2(lan4): controller-side lan4 port, supports VNC, EtherNet/IP, Script, etc.
 Internal Communication Network Settings: (default settings cannot be modified, please contact the manufacturer if
necessary)
− TeachPendant: IP address of the programming pendant.
− ControllerOS: IP address of the controller.
− ContollerRTOS: IP address of the controllers real -time system.
 Modify Subnet Mask and Gateway Rules:

When the teaching pendant is started, the subnet mask and gateway are automatically read and displayed
in the interface.

The subnet mask cannot be empty, and the gateway can be left blank.

After modifying the subnet mask and gateway, click the "Save" button to save the changes. Follow the
prompts on the interface to restart the controller (as shown in the figure below). After the restart is
completed, the modifications will take effect.

IP Scan

 When the controller system is set to type B in the network settings, this function is temporarily unavailable.
 In some customer sites, there may be multiple controllers on the same LAN. Without clearing the controller IP
configuration, the programming pendant may not be able to connect to the correct controller. Therefore, this function
enables scanning of all controllers IPs on the LAN using the programming pendant, allowing the customer to choose
which controller to connect to.
 If the programming pendant is unable to connect to the controller after starting up, follow the shortcut keys in the
figure below to enter the IP configuration interface.

 In the IP configuration interface, the IP can be directly edited (with secondary password verification required), or the
"Scan" button can be clicked to automatically search for the IP of the current LAN controllers and their corresponding
real-time system IPs. Selecting from the drop-down list will automatically fill in the configuration field.
 After clicking "Save IP" and successfully saving the changes, click "Restart". After the restart, the programming
pendant will be connected to the specified controller.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-19
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.7 Upgrade and backup of programming pendant


Perform the programming pendant upgrading and backup by following the procedures below.

7.7.1 Program upgrading of programming pendant


Following two upgrading methods are available:

1. ESTOOL operation

Upgrade the program directly to the programming pendant system, without checking the "Upgrade the
teach pendant while starting up". Load the program in the programming pendant system directly when
it is powered on.

2. Upgrading plug-ins through TP

To upgrade the program of the pendant to the controller system, check the "Upgrade the teach
pendant while starting up", and load the program in the controller system directly when it is powered
on. When this method is selected, the controller system version will be upgraded, and the pendant will
also be upgraded automatically and synchronously.

Settings of update mode

Step 1 Switch the user to the “administrator”, and click the Advanced Settings plug-in group, as shown in Figure 7-
22.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-20
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

图 7-22 Advanced Settings plug-in group

Step 2 Upgrade plug-ins in TP mode, as shown in Figure 7-23.

Figure 7-23 Upgrade plug-ins in TP mode

Step 3 Enter the TP update interface as shown in Figure 7-24, and check the "Upgrade the teach pendant while
starting up" to enable the synchronous update of the teach pendant.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-21
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-24 HMI update interface

Step 1: Click on the "Select File" button to locate the file that needs to be updated.

Step 2: Click on the "Restart" button and enter your password. After the password is verified successfully, reboot
the teach pendant and the restart will take effect.

ESTool update
Step 1 Start ESTool. The ways of startup are described in "Start ESTool".

Step 2 ESTool login interface is shown in Figure 7-25.

Figure 7-25 ESTool login interface

Step 3 HMI update interface after login, as shown in Figure 7-26. Select HMI function module, insert U disk into the
teach pendant, select the file to be updated on the left, and click the update button to update.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-22
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-26 HMI update interface

Update plug-ins for HMI


Step 1 Switch the user to the “Administrator”, and enter the TP update plug-ins in the Advanced Settings, as
shown in Figure 7-24.

Step 2 Select the pendant program file that needs to be updated in the U disk from the list of pendant programs,
and click "Select".

Step 3 A prompt message will pop up after the update is finished, as shown in Figure 7-27.

Figure 7-27 Prompt message for HMI update

Step 4 Click "Restart", the teach pendant will restart and upgrade to the latest TP version automatically.

Figure 7-28 Procedures for TP update

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-23
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.7.2 Backup of teach pendant programs


Click the Backup button in Figure 7-26 to export the current teach pendant program to the U disk.

----END

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-24
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.8 Update of controller operating programs


7.8.1 Update of controller programs
To update the controller running program, and operate by following the procedures below.

Step 1: Put the controller runtime program (.runtime or .patch format file, which is usually provided by the developer)
into the root directory of the USB flash drive.

Step 2: Insert the USB flash drive into the Programming pendant USB port, select Advanced Settings on the
System Home and click on the controller update interface as shown in Figure 7-29.

Step 3: Check the "Auto backup in the background" function if required; if checked, the existing system software will
be backed up on the controller side before the update, and the backed up system software will be used to restore
the system during the system restore.

Step 4: Click on the "Update" button, enter the administrator password to confirm and then you will be prompted if
you need to export the existing runtime. Select "Yes" to export the existing runtime from the controller, and select
"No" to skip this step and continue to the next step.

Step 5: After selecting the update file, it will automatically update, then wait for the completion of the update.

Note
When updating the controller, and "Auto background backup" is checked, then a backup of the runtime
process will appear during the update, as shown in Figure 7-29 and Figure 7-30;
If the actual programming pendant is used and updated from a USB flash drive, then the USB flash drive
must be in FAT32 format;
The name of the update package and the path where it is located must not contain Chinese characters,
.Do not power down your system while the system update is in progress, in case the system update is not
completed and the system does not function properly.

Figure 7-29 Update interface of controller operating programs

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-25
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-30 Update status display

7.8.2 Controller program restoration


The following steps are used for restoring the controller program:

Step 1: Switch to administrator mode, access the controller upgrade interface, and click "Restore". Enter the
administrator password for confirmation. After that, a confirmation dialog box will pop up as shown in Figure 7-31.
Click "Ok" to initiate the restoration request to the controller.

Step 2: Once the controller approves the restoration request, the restoration operation will begin, as shown in
Figure 7-32. The programming pendant will disconnect from the controller after the restoration starts.

Step 3: Wait patiently for some time. The programming pendant will display a message box indicating that the
restoration is about to end, as shown in Figure 7-33. As the message suggests, to ensure data synchronization, the
Programming Pendant needs to be restarted. For the virtual Programming Pendant, automatic restart is not
possible, so after clicking "OK", the virtual programming pendant will close automatically, and you need to manually
reopen and run it. For the actual Programming Pendant, it will restart automatically after you click "OK".

Note
Do not turn off the system power while waiting for the system restoration to complete to avoid system
malfunction caused by the restoration failure.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-26
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-31: Controller program restoration confirmation interface

Figure 7-32: Controller program restoration interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-27
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-33: Controller program restoration completion interface

7.8.3 Backup export


Step 1: Switch to administrator mode, access the "Controller Upgrade" interface, click "Backup Export", and display the
backup export interface as shown in Figure 7-34.

Step 2: Select the export type as required (including: runtime package, project program, and system log), then click
"Export". Enter the administrator password for confirmation (if the actual programming pendant is used and no U-disk is
inserted, a prompt to insert the U-disk will appear), and then request export to the controller, as shown in Figure 7-35.

Step 3: After the request is approved, the "Export Rename" dialog box will appear. The virtual Programming Pendant also
supports selecting the directory to save the export. After setting the export name, click "OK" to begin exporting the
corresponding file.

Step 4: After the export is complete, it will be displayed as shown in Figure 7-36.

Note
If using the actual programming pendant, do not remove the U-disk before the export is complete, as it may
cause the exported files to be nonexistent or damaged.

Figure 7-34 Backup export interface

Figure 7-35 Request export interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-28
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-36 Export completion interface

7.8.4 Project Import


Step 1: Put the prepared project file (.project format file, which can be obtained by using the backup export function to
export the project program. If it needs to be made under special circumstances, please refer to the Operation Manual for
ER Series Industrial Robot Controller Upgrade) into the root directory of the USB disk and insert the USB disk into the
programming pendant.

Step 2: Switch to the administrator user and enter the "Controller Upgrade" interface. Click "Backup Export" and then
click "Import Project". After entering the administrator password to confirm, the interface shown in Figure 7-37 will be
displayed, prompting that importing the project will overwrite the existing project. You can choose to export the existing
project by clicking "Yes". The process is the same as exporting the project program. After the export is completed, the
project program file dialog box will be entered. If you click "No", you will directly enter the dialog box for selecting the
project program file.

Step 3: Select the imported project program, and the import will begin. After the import is completed, the prompt "Import
successful" will be displayed. Please refresh the project, as shown in Figure 7-38.

Step 4: Click the project button on the right to enter the project interface. Click "Refresh" to display the imported project.

Figure 7-37: Project import interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-29
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-38: Project import completed interface

----END

7.9 Reach by one-click


Reach by one-click. With this function, the robot moves from the current point to the target point in an
arched path. The user interface is shown in Figure 7-39.

Figure 7-39 Interface of Reach by One-click

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-30
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Note
 This function is currently available only on SCARA models.
 Reach by one-click. It is applicable only to position variables in the world coordinates.
 When being activate d, the parameter configuration of Reach by One-click will become valid.
 To use this function, press and hold the hand switch in manual mode before performing motion
operations.
 By pressing and holding the button, the robot will stop after moving to the target point. If the button is
released halfway, the robot will stop motion immediately, and continue to move toward the target point
by pressing such button again. Where: Height 1 represents the height of the vertical lift from the
starting point along the z-axis; Height 2 represents the vertical height of the target point. The arched
path is shown in Figure 7-40.

Figure 7-40 Arched path

Z directions

Height 1
Reach point

Height 2

Target point

Starting point
Origin

7.10 Calibration of tool coordinates


Perform the calibration of tool coordinates by following the procedures below.

Step 1 Enter the program data interface, and click the tool coordinates to be calibrated in the global scope, i.e.
TOOL0, as shown in Figure 7-41.

Figure 7-41 Variable interface of the tool coordinates

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-31
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 2 Click "Modify" to enter the preview interface of reference coordinate system, as shown in Figure 7-42.

Figure 7-42 Preview interface of reference coordinate system

Step 3 Click "Settings" and enter the calibration method selection interface of the reference coordinate system, as
shown in Figure 7-43.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-32
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-43 Select the way of calibration

Step 4 Select the way of calibration and perform calibration to the offset or posture.
[4-point Calibration]
1. Select the “4-point Calibration”, which means that you need to calibrate tool offset by teaching 4 different
postures of the same point. The, click "Next". Move the robot TCP to a position and click "Teach", as shown
in Figure 7-44.

Figure 7-44 Teaching the first point

2. Then, click "Next" to change the posture of the robot, and click "Teach", as shown in Figure 7-45.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-33
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-45 Teaching the second point

3. Click "Next" to change the posture of the robot, and click "Teach", as shown in Figure 7-46.

Figure 7-46 Teaching the third point

4. Click "Next" to change the posture of the robot, and click "Teach", as shown in Figure 7-47.

Figure 4-47 Teaching the 4th point

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-34
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

5. The accuracy error after this teaching will appear. User can continue to save the result or re-
calibrate as needed.
6. Click "Next" to get the calibrated value, as shown in Figure 7-48.

Figure 7-48 Calibration result of tool coordinates

7. Click "OK" after it is confirmed to be correct. The modification is finished.


[1-point Calibration]
Select "1-point Calibration" to indicate the posture of the next calibration tool. It can only calibrate the
posture change if a tool in an axis direction under tool coordinates.
1. Click "Next". Make the direction of the robot's end in parallel to the Z axis, and click "Teach", as shown
in Figure 7-49.

Figure 7-49 Teaching a point on the Z axis

2. Click "Next", and the result of the posture calibration of tool coordinates will appear, as shown in Figure
7-50.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-35
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-50 Posture calibration results of tool coordinates

Step 5 Click "OK" after it is confirmed to be correct. The modification is finished, as shown in Figure 7-51.

Figure 7-51 Tool coordinates variable undergoing successful posture calibration

----END

7.11 Calibration of user coordinates/external tool


coordinates
Note
In this section, the calibration operation of the user coordinates is illustrated.
The calibration method for external tool coordinates is the same as the user coordinates. When modifying,
the default name of the user coordinates is USERCOOR, while the default name of the external tool
coordinates is EXTTCP.
Perform calibration to a user coordinate system by following the procedures below.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-36
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 1 Enter the program data interface, and click the user coordinates to be calibrated in the global scope, e.g.
USERCOOR1, as shown in Figure 7-52.

Figure 17-52 Interface of user coordinates variable

Step 2 Click "Modify" to enter the preview interface of user coordinates, as shown in Figure 7-53.

Figure 7-53 Preview interface of user coordinates

Step 3 Click "Settings" to enter the calibration method selection of user coordinate system.
There’s only the "3-point calibration method" available currently, as shown in Figure 7-54.

Figure 7-54 Select the way of calibration

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-37
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 4 Click "Next" to start teaching the coordinates at the origin, and move the robot to the origin of the user
coordinates. By clicking "Teach", the interface will record the coordinates of the origin (the first point), as shown in
Figure 7-55.

Figure 7-55 Teaching the origin

Step 5 Click "Next" to move the robot to any position on the X-axis of the user coordinate system. Click "Teach",
the interface will then record the coordinates of the second point, as shown in Figure 7-56.

Figure 7-56 Teach a point on the X axis

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-38
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

- If X is checked: it means that the x-axis is selected and only the xy-plane or xz-plane can be selected.
The same applies if Y/Z is selected.

- If negative direction is checked: it means movement in the negative direction.

Step 6 Click "Next" to move the robot to any position on the XY plane of the user coordinates. Clicking "Teach",
the interface will record the coordinates of the third point, as shown in Figure 7-57.

Figure 7-57 Teaching any point on the XY plane

Step 7 Click "Next" and return to the preview interface of user coordinates, as shown in Figure 7-58.

Figure 7-58 Calibration result

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-39
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 8 Click "OK" after it is confirmed to be correct. The modification is finished, as shown in Figure 7-59.

Figure 17-59 User coordinates variable undergoing successful calibration

----END

7.12 External TCP functions


Function overview
Usually, the tool is installed on the robot, and perform the specified tasks by tracking the motion of robot. In
some specific applications such as gluing, it is required to install the glue gun (tool) at a position outside
the robot, while the workpiece needs to be fixed on the robot for gluing. Such kind of tool installed outside
the robot and in a fixed position is called External TCP.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-40
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Glue gun
External TCP

Workpiece

Calibrate the external TCP before using the external TCP functions. For details, please refer to "7.11
Calibration of user coordinates/external tool coordinates".

The external tool coordinates may be selected in the jog reference coordinate system. When the external
tool coordinates is selected as the reference coordinate system, the jog position and posture are relative to
the external tool coordinates. The jog position under the external TCP is similar to the jog position under
the user coordinate system, and both move along the X, Y, and Z directions of the reference coordinate
system. The difference between the jog posture in the external tool and the jog posture in the user
coordinate system: for the jog posture in the user coordinate system, the TCP point does not move, while
the posture rotates around the TCP point. For the jog posture of the external tool, the TCP point rotates
around the external tool coordinates.

In MovL and MovC commands, the reference coordinate system can be selected as external tool
coordinates. The current reference coordinate system can also be set as external tool coordinates using
the command SetExternalTCP. When the external TCP is used to teach linear and circular motions, teach
2 points in a linear mode, and 3 points in an arc mode.

Note
The posture point stored in teaching can be the description of the TCP point relative to the external TCP.
The motion of is relative to the external TCP coordinates.
For example, when external TCP functions are used, if the teaching origin and endpoint of the workpiece is
attached to the external TCP origin, the contour of the workpiece is a straight line, irrespective of the
changes of posture of the teaching origin and endpoint. When linear motion commands are used, the
contour of the workpiece always moves along the external TCP origin. The motion speed is the speed of
the workpiece relative to the external TCP coordinates.

Way of use
Teaching endpoint Two points trajectory of
Teaching Origin
teaching during
reproduction

Straight-line teaching
under the external TCP

Workpiece
Glue gun

Teaching Origin Tecaching auxiliary Teaching endpoint Three points


point trajectory of teaching
during reproduction

Arc teaching under the


external TCP

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-41
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.13 Single-point alignment coordinate axis


Function overview
In some applications, the robot needs to rotate the posture so that a certain axis or full axis in the tool
coordinates can accurately be perpendicular or parallel to the specified plane. In this case, the Single-point
Alignment Coordinate Axis would satisfy this requirement. Users may teach the target posture of the robot
roughly, and then perform the precise gesture adjustment by using the Single-point Alignment Coordinate
Axis so as to achieve the final target posture.

Way of use
Step 1 Enter the Jog Management group in the Home; click "Tool Alignment", and enter the operation interface of
"Single-point Alignment Coordinate Axis", as shown in Figure 7-60.

Figure 7-60 Operation interface of single-point Alignment Coordinate Axis

Step 2 Select the "Alignment Type".


 Single-axis alignment: The alignment will be performed only to the Tz direction of tool coordinates and the nearest
coordinate axis of the specified coordinates.
 Full coordinate system alignment: Align each axis (Tx, Ty, Tz) of tool coordinates with the specified coordinate
system.
Note
"Alignment" is an operation that will not change the current TCP position, but making the TCP be parallel to
the axis of the specified coordinate system only by changing the posture.
Step 3 Click "Activate".
To cancel the alignment operation, click "Disable".
Step 4 Perform the alignment by clicking the "+/-" key corresponded to "GO" in the upper right corner.

Figure 7-61 Operating interface upon activation of single-point alignment coordinate axis

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-42
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 5 A pop-up window means that the alignment is successful, as shown in the figure below.

----END

7.14 Servo management


Function overview
Users can directly clear and reset servo drive alarms, set some PN parameters, view servo version
information, and perform batch backups and restores through the interface of the programming pendant.

Caution
 Before performing "Servo management" operations, please confirm that the following conditions are
met:
 The axis drive numbers (Axis 1 to Axis 6) corresponding to the robot joints have been confirmed.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-43
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Way of use
Enter the General Settings group in the Home; click "Servo Management", and then enter the "Servo
Management" operation interface, as shown in Figure 7-62.

Clear Servo Alarms


The "Clear Servo Alarms" operation interface is displayed by default when first entering the Servo
Management page, as shown in Figure 7-62. You can also click the bottom function button to switch to the
"Clear Servo Alarms" operation interface.

Figure 7-62 Servo alarm clearing

 Click "Reset Fn010" and "Reset Fn011" to clear the servo alarms associated with the absolute encoder (A.45, A.46,
A.47, A.48, A.51).
 Click "Reset" to clear the current servo alarm of the right axis.
 Click "Clear History Alarm" to clear the history alarm of the right axis.

Caution
 Click "Reset Fn010", the absolute value multiturn information of the encoder will be cleared. Be sure to
 Make sure that servo faults have been ruled out before performing "Clear Servo Alarms" operations.
 When performing Fn010 or Fn011 operations, make sure that the servo is not in excitation state, and
the system needs to be restarted after the operation.

Set PN Parameters
Click the "Set PN Parameters" function button at the bottom to enter the "Set PN Parameters" operation
interface, as shown in Figure 7-63, which initially displays the PN parameters of Axis 1.

Figure 7-63 Setting PN parameters

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-44
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 Click the "Set PN Parameters" function button at the bottom to get the PN parameters of current axis on the
interface.
 Click the corresponding axis number tab to get the PN parameters of the corresponding axis.
 Clicking the "Set" button for the corresponding PN parameter pops up an input box. After entering a value, click the
"OK" button to send the input value to the servo. After the setting is done, the current PN value is displayed in the
corresponding PN parameter textbox.

Caution
Before setting PN parameters:
 Disable the servo enable signal.
 Familiarize yourself with the servo parameter setting method, including parameter range, meaning, and
other information.

Table 7-1 Pn parameters to be settable


Pn S/N Name Range Unit Remark

This value determines the gain of


Pn102 Speed loop gain 1~14000 Hz
speed loop.

Reduction of this value would shorten


Integral time of
Pn103 1~4096 0.25ms the positioning time and improve the
speed loop
speed response.

The position loop gain. Increasing the


value would improve the servo stiffness
Pn104 Position loop gain 0~1000 1/s
of the position control, but an oscillation
may be caused if it is too greater.

Mechanical vibration can be eliminated


Torque command or reduced by setting torque command
Pn105 filtering time 0~2500 0.25ms filtering, but would also lead to
constant mechanical vibration if it is set
unreasonably.
The ratio of load inertia to motor rotor
Load inertia inertia.
Pn106 0~20000 1%
percentage Set value = (Load inertia/motor rotor
inertia) × 100

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-45
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Pn S/N Name Range Unit Remark

To set the position feedforward value.


The higher the value, the faster the
Pn112 Feedforward 0~300 1%
response of the position and the
smaller the position deviation.

To smoothen mechanical impact


caused by position feedforward. If set
Feedforward
Pn113 0~640 0.1ms too high, it can cause excessive lag in
filtering
the feedforward amount and lead to
oscillations.

To set the percentage of torque


Feedforward
Pn114 0~100 1% feedforward to accelerate the speed
torque
response.

Torque
To smooth the mechanical impact
Pn115 feedforward 0~640 0.25ms
resulted from torque feedforward.
filtering

Viewing Servo Software Version


Clicking the "Version Information" button at the bottom will take you to the "Servo Software Version" screen,
as shown in Figure 7-64.

Figure 7-64 Servo Software Version

 After the programming pendant is started normally, clicking the "Version Information" button at the bottom will obtain
the servo software version and display it on the screen.

Caution
The servo software version is obtained only once upon first entry, and for version information that is not
obtained, "Nil" is displayed.

Servo Parameter Backup & Restore


Clicking the "Backup & Restore" button at the bottom will take you to the operation screen for "Servo
Parameter Backup & Restore," as shown in Figure 7-65.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-46
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-65 Servo parameter backup & restore

 Clicking "Backup" will prompt for a password. Use the administrator password to confirm the operation. After the
password is verified, the controller will locally backup the current portion of the Pn parameters. Note that the backup file
will overwrite the original backup file.
 The restoration of servo parameters can be divided into two types: restoring user-backed up parameters and
restoring factory-backed up parameters. Select the type of backup to restore using the radio button.
Restoring user-backed up parameters: i.e., restoring servo parameters backed up or imported by the
user.
Restoring factory-backed up parameters: When the machine is delivered, a servo factory parameter
backup file is provided for each model. Restoring this backup file will restore the parameters to the
servo.
After selecting the backup type using the radio button, click "Restore" and enter the password. Use the
administrator password to confirm the operation. After the password is verified, the controller will
execute the restore operation.
 Insert a USB disk and click "Export" to download the user backup parameter file to the root directory of the USB
drive.
 Insert a USB disk and click "Import". Enter the password, use the administrator password to confirm the operation,
and after the password is verified, select the imported servo backup parameter file.

Caution
 The servo must be disabled before performing backup and restore operations.
 Performing "Backup" and "Import" operations will overwrite the original backup file. To preserve the
original backup file, use the "Export" function.

7.15 Use of 2D vision


Function overview
Robot vision refers to the system that provide the robot with visual perception function. It is one of the key
parts of the robotic system. Robot vision can obtain a 2D image through a vision sensor, make analysis
and interpretation using a vision processor, and then convert it into a symbol, so that the robot to recognize
an object and know its location exactly.

Way of use

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-47
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 1: From the System Home, select "General Settings > Visual Settings" to enter the Visual Settings page, as
shown in Figure 7-66.

Figure 7-66 Setting interface of 2D vision

Step 2: Select "2D" for the "Camera Device Type" option.

Step 3: Fill in the "Camera IP" and "Camera Port Number" according to the actual parameters, which are set to
192.168.6.230:5000 by default.

Step 4: Currently, only static visual types are supported.

Parameter Description
 Camera Device Type: Sets the 2D or 3D view.
Allowed Values: 2D, 3D, 2D client.
 Camera IP: The default IP is 192.168.6.230.
 Camera Port Number: The default value is 5000.
 Visual Type: Divided into dynamic and static types, only static visual types are currently supported.

Visual Commands
The visual commands list is shown in Figure 7-67.

Figure 7-67 List of visual commands

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-48
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

TrigCam
This is the command for triggering the camera shooting.
TrigCam (“OK”, 1)
The string "OK" triggers the camera to shoot.

WaitFinishCAM
This is the command for waiting for the camera to finish shooting.
WaitFinishCAM (1000,1)

GetCamPos
This is the command for getting the camera position.
GetCamPos (P6, INT0, INI1, 1)

7.16 Use of 3D vision


Function overview
Robot vision refers to the system that provide the robot with visual perception function. It is one of the key
parts of the robotic system. Robot vision can obtain a 3D image through a vision sensor, make analysis
and interpretation using a vision processor, and then convert it into a symbol. It is used to set the robots
variables, position points, and IOs. Also, it needs to get the robots variables, position points, IOs, current
position and other commands, to enable the robot to recognize objects and be controlled by visual logic.

Usage I
The robot is the client, while the vision device is the server.

Step 1: Go to the System Home and select "General Settings > Visual Settings" to enter the 3D visual settings
interface as shown in Figure 7-68.

Figure 7-68 3D vision setting interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-49
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 2: Select 3D for the camera device type.

Step 3: Fill in the camera IP and port number as per the actual parameters. It is defaulted as 192.168.6.230:6000

Note

The vision type does not work in 3D mode.

Step 4: Send a character string to the vision settings by using the command SendMessage. The content of the
character string can be defined by the user. For example, sending the string "ScanReque" to the camera can be
achieved by executing SendMessage("ScanReque",1).

Vision obtains 3D images of the environment using the sensor, makes analysis and parsing, and then
converts them into vision commands to set or get robot variables, position points, IOs, etc.

The vision commands on the robot are listed in Table 7-2.

Table 7-2 Vision commands


Modify position point SetPointPos_1

Get position point CamGetPoint_s

Modify variable value CamSetVar_1_s

Get variable value CamReadVar_s

Get current joint position of robot GetCurJPos

Get current position of world coordinates of the robot GetCurWPos

Modify IO port value SetIOValue

Get IO (both physical and virtual) port value IOGetDout


IOGetDin
IOGetAout
IOGetAin
IOGetSimDout
IOGetSimDin
IOGetSimAout
IOGetSimAin

Usage II

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-50
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Using robot as the server, and the vision device serves as the client. The robot server is configured as
follows:
 IP: 192.168.6.63 (controller’s IP address)
 Port: 5000
Step 1 Establish the connections.
1. Controller internally start the python script to create the server-side.
2. Configure the client device to make it connect to the robot. (Ping the controller IP 192.168.6.63)
3. Configure the client device to use the above connection parameters.
4. Establish a connection with the server. (The client should send a read and write request to the server every
10 seconds at the moment to keep the connection as a heartbeat)
Step 2 The vision client then sends commands to the server.
The vision commands sent to the robot are listed in Table 7-3.

Table 7-3 Vision commands


Get current joint coordinates of the GetCurJPos
robot

Get current world coordinates of the GetCurWPos


robot

Read variable value ReadVar

Modify variable value SetVar

Modify variable value, save it at time of SetVar_S


power-down

Modify the coordinate value of the SetPointPos


position point

Modify the coordinate value of the SetPointPos_S


position variable point, save it at time of
power-down

Read the coordinate value of the GetPointPos


position variable point

Modify the coordinate values of multiple SetMultiPointPos


position variable points

Read the coordinate values of multiple GetMultiPointPos


position variable points

Modify IO port value SetIOValue

Get IO port value GetIOValue

Modify multiple IO port values SetMultiIOValue

Get multiple IO port values GetMultiIOValue

Get robot running mode GetCurSysMode

Get robot running status GetRobotRunStatus

Clear error ResetError

Get the alarm number GetErrorId

Start teaching program StartRun

Stop teaching program StopRun

Load program LoadUserPrjProg

Determine whether the robot is moving IsRobotMoving


or not

Determine whether to load the program IsProgramLoaded

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-51
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

or not

Set the program running pointer SetPc

Change the robot mode ChangeMode

Set global speed SetGlobalSpeed

Get current global speed GetGlobalSpeed

Set running mode of the Playback SetRunMode


program

Log off the project UnloadUserPrj

Log off user program UnloadUserProg

Set servo enable SetMotServoStatus

Get robot servo status GetMotServoStatus

Set the jog coordinate system SetCoordType

Get the jog coordinate system GetCoordType

Single-axis jog runs JogMotion

Single-axis jog stops JogMotionStop

Single-axis inching JogDisMotion

Multi-axis fixed-point motion (with MoveToSelectPoint


speed parameters and no transition
parameters)

Multi-axis fixed-point motion (with MoveToSelectPointb


speed parameter and transition
parameter)

Multi-axis motion stops StopDestPosMotion

Teaching designated point TeachSelectPoint

Set load SetPayload

Select tool coordinates SetTool

Select user coordinates SetCoord

Set robot to stop reporting an error SetRTtoErr

Send motion commands SetCurrentMotionCmd

Position search motion MoveWithSearch

----END

7.17 ModbusTCP
Function overview
ModBusTcp protocol interface is a communication mode in which an external logic controller (PLC, etc.)
communicates with the robot via the standard industrial bus protocol (ModBusTCP), and reads and writes
the virtual IO port of the robot. The robot can interact with external devices through ModBusTCP without
additional expansion of IO ports.

Estun robot controller, as a server, provides the following functions to external control device through
ModbusTCP protocol:
 Access and control virtual I/O

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-52
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 Read the current robot running status


 Start/stop the program using the control word, enable the robot, load/log off the program, set the global speed
The ER series robot encapsulates a layer of data structure in the ModBusTCP holding register, as listed in
Table 7-4.

Table 7-4 ModBusTCP Holding Register Data Partitioning Table


Type Address Definition

Response made by reading/writing flag


40003
bit

40004 Rob status information

Rob Send 40005~40014 The name of project currently loaded

40015-40018 For users (virtual digital output)

40019 Rob execution command status

40020~40051 For users (virtual analog output)

40052 Rob operation command

40053 Setting of global speed setting

40054~40063 Set the name of the loaded project


Rob Receive
40064-40067 For users (virtual digital input)

40068~40099 For users (virtual input)

40100 Request from reading/writing flag bit

For users (access to internal PLC


General 40101~41500
read/write)

Way of use
The ModBusTCP interface of ER series robots is configured as follows:
 IP: 192.168.6.68 (real-time system IP address)
 Port: 502
 Cycle of collection >50ms
 Response timeout>100ms
 Heartbeat time <10s
Step 1 Establish the connection.
1. Configure the client device to make it connect to the robot. (Ping the real-time system at IP 192.168.6.68)
2. Configure the client device to make it use the above connection parameters.
3. Establish a connection with the server. (The client should send a read and write request to the server every
10 seconds at the moment to keep the connection as a heartbeat)
Step 2 Read and write SimIO.
According to the table below, the virtual output is SimOutput. The client should read the value of the
corresponding register, and map it to the input of the external device. The virtual input is SimInput. The
client should write the value to the corresponding register, and then map it to the output of the external
device.

Table 7-5 SimIO mapping table


40015-40018 For users (virtual digital output)

40020~40051 For users (virtual analog output)

40064-40067 For users (virtual digital input)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-53
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

40015-40018 For users (virtual digital output)

40068~40099 For users (virtual input)

Step 3Read the robot status.


The 40004 register of the server is of the robot status word. 40002 is the current global speed of the robot.
The following lists the meaning of each bit of the robot status word:

Table 7-6 Meaning of robot status word


Bit0 Manual operation mode

Bit1 Auto operation mode

Bit2 Remote operation mode

Bit3 Enabling status

Bit4 Running status

Bit5 Error status

Bit6 Program running status

Bit7 Robot is moving

The client can read the corresponding Bit through the mask to get the robot status.

Step 4 Send the control commands.


Send commands such as starting/stopping program, loading/logging out program, and setting global speed
to the robot as per the procedures below.
1. Reset the command execution interface by writing the command control word 40052 as 0, and 40100
as 0.
2. Write 40100 as hexadecimal 0x11.
3. When the value of 40003 is 0x11, set the corresponding Bit of the control word according to the table
below.
4. When the corresponding bit of the command execution status word 40019 is 1, it indicates that the
command is executed successfully.
5. When 40100 is 0, it means that 40019 is reset.

Table 7-7 Data sheet of robot command execution system


Response made by
40003
reading/writing flag bit

Command execution
40019
status word

40052 Control word

Request from
40100
reading/writing flag bit

Table 7-8 Meaning of robot control word


Bit0 Reserved

Bit1 Reserved

Bit2 Robot program starts

Bit3 Robot program stops

Bit4 Robot error reset

Bit5 Reserved

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-54
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Bit6 Reserved

Bit7 Load project file

Cancel the current


Bit8
project file

Bit9 Set the global speed

Command state machine


Bit10
reset

Table 7-9 Meaning of robot command execution status word


Bit0 Command is 0

Emergency stop
Bit1 command executed
successfully

Start command executed


Bit2
successfully

Stop command executed


Bit3
successfully

Reset command
Bit4
executed successfully

Success status of the


Bit5
upper enable command

Success status of the


Bit6
lower enable command

Load project command


Bit7
successfully

Log off project command


Bit8
successfully

Set global speed


Bit9
successfully

Bit10 Waiting for control right

Bit11 Waiting for commands

Waiting to finish the


Bit12
command execution

Command execution
Bit13
error

Bit14 Reserved

Bit15 Reserved

----END

7.18 Lockup and unlock


1. The robot lockup refers to the time range set for the robots use authority by using this application
program. The robot can operate normally in such time range. If it goes beyond such time range, the
robot will then stop working by locking the motion.

2. The robot can be in four lockup states: The locked state of robot, the unlocked state in stage 1, unlocked
in stage 2, unlocked in stage 3, and unlocked indefinitely.

3. No lockup setting is made for the robot at time of delivery, but be defaulted to unlock indefinitely. Once it
has been locked up, the motion and other related operations cannot be performed.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-55
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

4. The number of days of lockup are to be set and cleared by the manufacturer by entering a dynamic
password to log in. The unlocking operation can be done by the user after getting the unlocking key
from the manufacturer.

5. User role or higher is required for this operation.

Turn on lockup management application


Step 1: Go to the System Home and select "Advanced Settings > Lock Management" to enter the Robot Staged
Lockup Management application interface, as shown in Figure 7-69.

Figure 7-69 Open Lockup Management application

 Remaining: Display the current period type and the remaining days of the current period. If the "special period” is
displayed for the permanent unlocking, the remaining days are "indefinite period";
 Unlock: Open the period unlocking interface. This operation can be finished by users.
 Setting: Open the interface for setting the period of days. The operations in this interface can only be performed by
the manufacturer’s personnel after entering the dynamic password
 Clear: Open the permanent unlocking robot setting interface. The operations in this interface can only be performed
by the manufacturer’s personnel after entering the dynamic password

----END

Set lockup period


Step 1 Open the lockup management application interface; click the "Clear" key. The teach pendant is displayed
as shown in Figure 7-70. According to the prompt dynamic code, the manufacturer's personnel can then
obtain the login key and log in.

Figure 7-70 Login

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-56
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 2 After logging in, as shown in Figure 7-71, enter the restricted number of days for stages 1, 2, and 3, and
click the "Set" key to invalidate the set days.

Figure 7-71 Setting of period

Note
 After the robot software is installed at time off delivery, and if the lockup is not configured, the lock will
be not restricted by default, and all the functions can be used permanently.
 All the days for the three stages need to be filled in, and be invalid after setting.
 After setting, the stage 1 lockup will be valid. The starting time is the current time of unlocking.

----END

Unlocking period
Step 1 Enter the staged lock management application interface, click the "Unlock" button, and the teach pendant
will display as shown in Figure 7-72. Then, provide the machine code and the number of stages to be unlocked to
the manufacturer to get the unlocking key. The machine code consists of two parts, and the format is: fixed code-
dynamic code.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-57
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-72 Unlocking period

Step 2 After unlocking the appropriate period, the period will then become valid. You can refresh to view the
current remaining days in the corresponding interface.
Note
 The current number of days after unlocking will become valid immediately. The start time will be the current
unlocking time.
 If unlocked in an early time, only the number of days in the current period will be valid, and the days in the
previous period will be invalid by default.

----END

Clear lockup period


Step 1 Enter the staged lock management application interface, click the "Clear" key, and the teach pendant will
display as shown in Figure 7-73. According to the prompt dynamic code, the manufacturers personnel can then
obtain the login key and log in.

Figure 7-73 Logging in Lockup Clearing Interface

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-58
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 2 Log in the lockup clearing setting interface, as shown in Figure 7-74. According to the prompt machine code,
the manufacturers personnel is provided with the clearing key.

Figure 7-74 Lockup clearing setting

Step 3 After the lockup function is cleared, the robot enters an unlocked state indefinitely. You can refresh and
view the current period in the interface of remaining days with no "Special Period" displayed, and the remaining
days are "Indefinite".

----END

7.19 SoftFloat functions


Function overview
SoftFloat functions are used for extracting workpieces from the die-casting machine. The SoftFloat
functions of the robot works to turn the robot into a flexible body. The robot can move in response to
changes in the external force under the action of external forces to prevent damage to the robot and
workpieces resulted from the rigid contact. This allows the realization of linear SoftFloat functions in the
specified direction. The robot can perform the linear motion following the die-casting machine ejector rod.

 When the workpiece is gripped by the robot and the machine is performing feeding/blanking
operations, there is a difference between the gripping position and the final position of the rough
workpiece. Linear SoftFloat function works to change the robot from a rigid state to a flexible state
without using external sensors or adding a mechanical construction. The end of the robot can move
in a straight line in the specified direction under the actions of the external force, and fit the workpiece
well to avoid collision and friction. The function is used in die-casting and other workpiece
feeding/blanking operations.

 When SoftFloat is started, the motion speed of robot is determined by the external force. The greater
the external force, the faster the robot will move.

 SoftFloat function can be started by following mode.

− Auto running (single-step, continuous)


− Manual running (single-step, continuous)

Caution

 After SoftFloat is turned on, it will be turned off in case of following conditions.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-59
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 When using SoftFloat functions, please specify the correct SoftFloat direction to ensure that it is
consistent with the moving direction of the workpiece.
 After SoftFloat is turned on, the following situations occur, and SoftFloat functions are turned off.

→The controller reports an error


→When the stop button or E-stop button is pressed
→SoftFloat is turned on for more than the waiting time of system settings
 The starting and closing commands of SoftFloat need to be used together, of which the starting
command shall be set before the closing command. If you want to execute multiple groups of SoftFloat
functions in a teaching program, multiple sets of start and ending commands shall be set. The control
system will report an error when the following commands are set.
→Only executing the SoftFloat starting command
→Only executing the SoftFloat closing command
→Executing the SoftFloat closing command before the starting command
→Executing the SoftFloat starting command continuously
 The control system will report an error if the action commands are inserted into the SoftFloat starting and
closing commands.
 Never use SoftFloat functions near the singular point.

 Stop the SoftFloat after the external force is removed, in such a way that the robot will stop without
producing vibration.
 If the last motion command of the SoftFloat starting command contains transition information, no
transition processing will be performed.
When SoftFloat is turned on, the collision detection and maximum torque detection functions are turned off,
which will be restored when SoftFloat closes or an error is alarmed after SoftFloat functions is turned on.

The SoftFloat direction can be set by following the procedures below:

Before extracting workpieces using SoftFloat, confirm whether the SoftFloat direction is set correctly. When
tool coordinates are selected as the reference coordinate system, the linear motion direction will be the
direction of tool coordinates direction selected at the start point of SoftFloat. The direction of SoftFloat tool
coordinates is the same as the direction when the robot is in jog operation. When TOOL is selected as the
reference coordinate system, the coordinate system number shall be nullTool. When the Y direction is
selected for SoftFloat, the direction of the linear SoftFloat is shown as follows:

Ty

Tx
Tz

SoftFloat direction
软浮动方向

The flexibility effect will the best when the direction of SoftFloat is set in parallel to the tangential direction
of the horizontal rotation of the robots force point around the Z -axis of the world coordinates; when the
angle θ is greater than 60 degrees, the linear SoftFloat will report an error. The angle θ is the angle
between two straight lines in space. It is illustrated as follows:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-60
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Tangential
切线方向direction

SoftFloat direction
软浮动方向

θ= 0

The flexibility will be better if the angle between the tangential direction is parallel to the SoftFloat direction.

SoftFloat
软浮动方向 direction

θ Tangential direction
切线方向

The flexibility will be poor if the angle between the tangential direction and the SoftFloat direction is larger.

Application example
The extraction of workpieces from the die-casting machine will be taken as an example. The field
application of SoftFloat can be in following process:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-61
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Program starts

Robot moves to the SoftFloat


starting point

Robot grabs the workpiece

SoftFloat starts

Controller sends the ejector pin ejection signal to the


die-casting machine, while waiting for the ejector pin
in-position signal, and sets the waiting time

Ejector pin of the die-casting machine ejects


the workpiece, and the robot moves with the
ejector rod of the die-casting machine

No
Beyond the waiting time Controller reports an
No or not? error

Yes

Ejector pin of the die-


casting machine in place
or not?

Yes

SoftFloat is tuned off

Robot continues to move down from the SoftFloat


closing point Program ends

1. When the program runs to the starting point of SoftFloat, the workpiece will be gripped first.

2. After the SoftFloat is turned on, the controller sends DO signals to the die-casting machine, while
waiting for the DI signal input of the die-casting machine ejector in-position signal and setting the
waiting time;

3. When the die-casting machine receives the DO signal, the die-casting machine ejects the ejector rod,
and the robot can move by following the ejector pin; When it goes beyond the set waiting time, the
controller alarms;

4. The SoftFloat ends when the controller receives the ejector in-position signal.

5. The robot continues to move down from the position where the SoftFloat ends.

Example of teaching:
MovJ (P0, V100,"RELATIVE",C0)/* Robot moves to the SoftFloat starting point P0*/
SetDO(DOO,0) /* Control the gripper to grasp the workpieces */
Wait (500) /*Wait for 0.5s*/
SoftFloatStart (CART,TOOL,nullTool,Y,LOW) /* After the linear SoftFloat is turned on, the
robot can move in a straight line along the Y direction of tool coordinates without tool

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-62
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

parameters, and the SoftFloat flexibility level is LOW */ SetDO(DOO,1)/* Send out the
die-casting machine ejector pin moving forward signal */
WaitDI(DIO,0,8000,0,INT0) /*Controller waits for the in-position signal of the ejector
pin of the die-casting machine and sets a waiting time of 8s, then returns to the in-
position signal state INT0*/ IF INT0.value >0 THEN/* Judge if it is in position*/
SetRtToErr("WaitError",10000)/*Controller reports an error if it is beyond the set
waiting time for 8s */
ENDIF;
Wait (500) /* Wait for 0.5s till the robot stop moving; the waiting time depends on the
actual conditions */
SoftFloatStop ()/*SoftFloat function is turned off */
MovJ (P1, V100,"RELATIVE",C0)/* Robot moves from the SoftFloat endpoint to point P1 */九点
标定功能

7.20 9-point Calibration


Function overview
9-point calibration is designed for the field applications of ESTUN robots equipped with camera vision
device. With this function, the camera can send directly the pixels of the object being shot. After the robot
controller receives the camera pixels, they can be converted into the position points under world
coordinates internally. The robot is allowed to grasp accurately the target object based on the position
points converted.

Way of use
Step 1: On the System Home, select "User Applications > 9-point Calibration" to enter the corresponding
operation interface, as shown in Figure 7-75.

Figure 7-75 Operating interface of 9-point calibration

Step 2 Set the vision coordinates and robot coordinates.


Put the calibration paper under the camera, and make sure that the 9 calibration points are within the
shooting range of the camera. After shooting, 9-pixel position points will be produced, which shall be
recorded. Then operate the robot manually, move the TCP points of the robot to positions 1~9 on the
calibration paper in turn. Each time when the robot moves to a calibration point, enter the corresponding
pixel coordinates into the visual box, and then click Teach to display the robot coordinate points, and finally
click “Save” button. This shall be done from 1 to 9 on the calibration paper

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-63
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

1. Select the corresponding camera; each camera shall have the appropriate calibration parameters.
2. The initial interface is not operable; check the upper right corner to enable 9-point calibration function.
3. Operate the teach pendant manually to move the robot to calibration point 1; select point 1 and input
manually the pixel position corresponded to the calibration point 1; keep the robot TCP point coincident
with point 1 on the calibration paper, and then click to teach the current robot coordinate point. Click
“Save” key.
4. Repeat the above operation, select calibration points 2~9 in turn, and input the pixel position points
corresponded to the calibration points;click “Save” after each time of input.

Note
Selection of calibration direction: Select the positive direction when the Z direction of the camera working
coordinate system is the same as the Z direction of the world coordinate system, the positive direction is
selected here; and select negative when the Z direction of the camera working coordinate system is
opposite to the Z direction of the world coordinate system.
After each point has been taught, click the “Save” button.
Step 3 Compute the matrix.
Click the “Compute” button after setting the visual pixel position point and robot coordinate point. The
computation error is displayed at RX and RY, and the normal error is within ±0.1. After computation, keep
the 9-point calibration enable in the enabled state. Then, send the shot target object point to the robot end
using the camera to observe if the robot can move to the target object correctly.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-64
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 "Help" menu
Click the “Help” button in the lower right corner, and the calibration interface will then switch to the operation page
containing the “Instructions for use”. The left area can also be used. The “Way of use” is the same as that mentioned in
above chapter. Click the function button in the lower left corner to switch back to the original window.

 Calibration drawings

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-65
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

The serial number of the calibration point of the vision and robot must be the same as the figure below.

----END

7.21 Multi-station Reservation


Function overview
With this function, the robot can complete tasks on up to 4 stations without intermittent.

Multi-station Reservation function works to bind each station in the robot working area to different input
ports, and assign these input ports with the functions of starting and stopping, and then the user can
enable the robot to execute the station program bound to it automatically by entering effective signal to the
input port. Also, by using this function, user can start the programs on the corresponding tooling in turn
according to the sending order of the signals.

The figure below illustrates a working example of a robot: its working sequence is tool 1, tool 2 and tool 3;
the jobs performed on each tool are program 1, program 2 and program 3.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-66
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Tool 3
(Login program3)

Tool 1
(Login program 1)
Tool 2
(Login program2)

Each of the three toolings process the different workpieces, corresponding to different processing
procedures. There’re following two effects when starting it under Playback mode, assuming that the
procedures are program 1, program 2, and program 3:
 When there’s no program executed currently, user sends signal to tool 1, and the robot will automatically load and
run program 1. The starting mode of tools 2 and 3 is the same as the tool 1.
 The program currently being executed by the robot: Assuming that program 1 is currently being executed, and
workpieces are prepared for tools 2 and 3, the user first sends the starting signal to tool 3, and then the tool 2. At this
moment, as the robot is executing the tool 1, then the system will record the appointment waiting status of tools 3 and 2
in turn. When program 1 is executed, the robot will execute program 3 first, and then the program 2. The whole
appointment process is finished by this moment.

When the robot operates, the user can check the working status and IO signal of each station using the
teach pendant.

Way of use
To use this function correctly, user needs to complete the following tasks:
 The program of each station has been edited correctly. For the editing method of the program, please refer to 4.2
Program editing.
 The Start button located on the tooling of each station can be used properly.

Step 1 Click "Multi-station Reservation " in the "User Application" plug-ins on the Home interface, as shown in
Figures 7-76 and 7-77.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-67
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-76 User application plug-ins

Figure 7-77 Click “Multi-station Reservation”

Step 2 After entering "Multi-station Reservation Settings", check "Multi-station Reservation Enable" and the
"station" to be operated.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-68
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-78 Checking the station

Step 3 Click the "program name" in the row where each "station" is located.

Figure 7-79 Click on the “Program Name”

Step 4 Select the program you want to perform from the "Project List".

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-69
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-80 Selecting the program

 Click "Back" to return to the "Multi-station Reservation Setting" interface.


 Click "Clear" to reset the "Preset Program" of the "Station".
 Click "Select" to preset the currently selected "Program" to this "Station", and return to the "Multi-station
Reservation Setting" interface.

Step 5 Assign the "Start Input", "Stop Input", "Status Output" and "Stop Output" signals to each "station" correctly.

Note: Repeated use of the unified IO ports is not allowed.

Figure 7-81 Selection of IO signals

User can click each cell in the table header listed on the interface to view the “Help” information.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-70
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-82 View the “Help” information

Step 6 Click "Multi-station Reservation Status" to view the status of each "Station" as well as its IO signal status.

Figure 7-83 View the status

Note
 After the parameters of the Multi-station Reservation are properly set, you can perform the multi-station
reservation operation after switching the system to Playback mode.
 When a program is not executed and the reservation is successfully made, but you then want to cancel
the current reservation, just cancel the reservation by inputting signal to the start unit.

----END

7.22 Positioner function


Function overview

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-71
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

With the positioner function, the workpiece can be moved to a suitable position for welding upon the
rotation and flip of the worktable. It also makes collaborative motion with the robot so as to improve the
production efficiency and welding quality.

Up to 6 positioners can be configured. 1-axis rotary positioners and 2-axis rotary positioners are supported.

Note: In the screenshots of this chapter, the axis name "Ex" is equivalent to "PEx".

Calibration of positioner coordinate system


Step 1 Click "Positioner" in the "User Application" plug-ins on the Home interface, as shown in Figure 7-84.

Figure 7-84 Selecting the positioner

Step 2: Select the "Positioner ID" to be set, for example, selecting positioner ID = "1".

Figure 7-85 Selecting the positioner ID to be set

Step 3 Click "Modify" to set the coordinate system of positioner ID=1.

The positioner coordinate system can be determined by inputting or by calibration.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-72
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-86 Setting or teaching the positioner ID=1

Step 4 Set the "Number of Axis" as needed.


 It is defaulted as "1", indicating 1 additional axis. User only needs to calibrate one additional axis.
 It indicates 2 additional axes if set it to “2”. User needs to calibrate the 2 additional axes.

When the number of axes is set to "2", select the additional axis to be calibrated by clicking "Switch Axis".

Caution
When 2 additional axes are set, make sure that the additional axis corresponded to the second axis of the
positioner is at the zero position when calibrating the "1-axis coordinate system"; vice versa.

Step 5 Select "Additional Axis", and then click "Calibrate".

Figure 7-87 Select additional axis and prepare for calibration

Caution
During calibration, make sure that the axis of the positioner teaches by rotating in the positive direction,
and keep the other axes of the positioner at the zero position.

Step 6 Select the model of the positioner, e.g. "Model 1".

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-73
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-88 Select the model of the positioner


Model selection

Model 1 Model 2 Model 3

Back Next

Note
For the model 3 corresponding to the "3-axis positioner", it can be configured as two two-axis positioner.

Step 7 Click "Next" to teach the positioner at three points.

[How to calibrate]

1. Install a point device or find a characteristic point prior to calibration as a marked position.
2. Move the robot TCP to such position, and then click "Teach".
3. Click "Next" and continue to rotate the positioner axis to an angle (recommended greater than 30°),
move the robot TCP to the marked position, and then click "Teach".
4. Click "Next", and after rotating the positioner axis to the angle (recommended greater than 30°) for the
second time, move the robot TCP to the marked position, and then click "Teach".
5. Click "Next", and the calibration "result" will appear.

Step 8 Click "OK" after they are confirmed to be correct.

Note
When calibrating the "2-axis coordinate system", make sure that the additional axis corresponded to the 1-
axis of the positioner is at the zero position. Then, click "Switch Axis", and calibrate the 2-axis coordinate
system with the same method.

Step 9 After returning to the positioner coordinate system interface, click "OK", and the positioner ID=1
coordinate system is successfully calibrated.

----END

Use of positioner coordinate system


Before the positioner coordinate system is used, it is necessary to create a POSITIONER variable, and
specify the parameter index as the correct positioner ID. This can be done in two ways:
 Use the command "SetPositioner" directly, which indicates to switch the system coordinate system to the positioner
coordinate system.
 When following motion commands are used, set the "Coordinate System Parameter" to the specified Positioner
variable.
MovL, MovC, MovLRel, MovLSearch, MovH, MovLW, MovCW.

Example
The left and right sides of the robot are provided with a positioner each. The robot first performs
synchronous motion with the U-shaped positioner on the left (variable POSITIONER1 has been set), and
then with the L-shaped positioner on the right (variable POSITIONER0 has been set). The structure of
command is shown in Figure 7-89.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-74
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-89 Operation of positioner

P3 P4
P5

HomeP

P2
P0
P1

The executing commands are detailed as follows.


Start:
MovJ{P=t_l.HomeP} /* Robot moves to the HomeP point */
MovL{P=t_l.P0} /* Robot moves to the starting point of POSITIONER1 */
MovL{P=t_l.P1,Coord=t_g.POSITIONER1}
/* The robot first switches the current user coordinates to the positioner coordinates POSITIONER1, and then moves to
point P1 at the default speed and transition parameters */
MovL{P=t_l.P2} /* Positioner moves synchronously with the robot */
MovL{P=t_l.HomeP} /* Robot returns to the HomeP point */
MovL{P=t_l.P3} /* Robot moves to the starting point of positioner 0*/
SetPositioner{Positioner=t_g.POSITIONER0}
/* Switch the current positioner coordinate system POSITIONER1 to the POSITIONER0*/
MovL{P=t_l.P4} /* Perform synchronous motion in the POSITIONER0*/
MovL{P=t_l.P5} /* Perform synchronous motion in the POSITIONER0*/ MovL{P=t_l.HomeP,Coord=t_s.World}
/* Robot switches the positioner coordinate system to the world coordinate system, and moves to the HomeP point at the
default speed and transition parameters */
End;

7.23 Execution in reverse


Function overview
This function is introduced if sometimes it needs to return according to the original track to avoid collisions,
etc. when the program executes the complex motion commands. In the above situation, execution in
reverse is required, so as to return to the original track.

In the reverse mode, the motion commands that are allowed for execution in reverse will perform such
operation, and alarms will be given for the motions or other commands that are not allowed. Other
commands that do not affect the return of the original track will be skipped and not executed.

Way of use
In manual mode, press the "F/B" key to enter the Execution in Reverse mode, and press the "F/B" key
again to return to the positive sequence mode.

Caution

Followings shall be noted when using this function.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-75
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

 After the program is logged off or loaded, it is automatically restored to execution in positive sequence.
 The reverse execution is limited to single-step execution performed manually.
 When using this function, skip directly for any skippable commands, which will not be executed.
 When using this function, the system will give an alarm in case of an unexecutable command.
 When performing execution in reverse, the commands such as SetPC will lead to changes in the
running path. This is a manual intervention, while the risk is to be borne by the operator.
 The reverse function cannot be performed by crossing programs. It does not support calling back to the
main program from the CALL program.

The executable and skip-able commands during reverse execution are shown in Table 7-10. Any
commands not listed are unexecutable.

Note
The END line or the commented command line as well as the comment line or Label command line are all
skippable by default.

Table 7-10 Commands of execution in reverse


Type Command

Executable MovJ MovL MovC MovLW


MovCW
MovLOffset

Skippable SetDO SetAO SetSimDO SetSimAO


WaitDI WaitDI8421 WaitAI WaitSimDI
WaitSimDI8421 WaitSimAI PulseOut PulseSimOut
GetDI8421 GetSimDI8421 SetDO8421 SetSimDO8421
GetSimDIToVar SetSimDOByVar GetSimAIToVar SetSimAOByVar
SetDIEdge SetSimDIEdge SetJointDyn SetCartDyn
SetOverRide SetPayload GetCurOverRide Hand
CalcTool CalcCoord SetRtToErr SetRtInfo
SetRtWarning Stop RefRobotAxis SetMotionMode
Wait WaitFinish WaitCondition BitAnd
BitNeg BitOr BitXOr BitLSH
BitRSH CLKStart CLKStop CLKRead
CLKReset TrigCam WaitFinishCAM GetCamPos
SendMessage SocketCreate SocketClose SocketSendStr
SocketReadReal SocketReadInt SocketReadStr SocketSendReal
SocketSendInt

7.24 Servo parameter self-tuning function


Function overview
The servo parameter self-tuning function is designed to improve jittering during various robot applications
during low-speed running. It can also reduce the large position error caused by jittering. By setting
corresponding parameters, the best effect can be achieved in various speed ranges.
 The servo parameter self-tuning function is mainly used to improve the low-speed shaking phenomenon of the robot
within a certain speed range. To enable this function, use the command "AutoGainEnable()" and set the following
parameters: gain ratio threshold and speed range threshold.
The gain ratio threshold (LsScale) is set for each joint axis, with a range of [100, 1000], in %.
The speed range threshold (LsThresh) is set for each motor axis, with a range of [10, 1000], in r/min.
 The servo parameter self-tuning process depends on servo parameter Pn104. If Pn104 is modified, there may be
slight differences in the effect when using the same parameter (gain ratio threshold) before and after the modification.
 To disable the servo parameter self-tuning function, use the command "AutoGainDisable()".

Caution
 To enable the servo parameter self-tuning function, the following conditions must be met:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-76
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

→The enable item must be configured in the EAxisParam.ini configuration file.


→The corresponding servo parameter file AutoGainServoParam.json must be configured in the
configuration folder.
 The servo parameter self-tuning function is not enabled by default. It is only enabled when the
"AutoGainEnable()" command is executed, and the function is disabled when the program is logged out
or the "AutoGainDisable()" command is executed.

Application Example
When the program executes the "Servo parameter self-tuning function" start command, the function is
enabled. Once enabled, the controller will automatically adjust the corresponding servo parameters. If the
set command parameter value exceeds the maximum limit, the controller will issue an alarm.

Example of teaching program:


./* Program execution section, servo parameter self-tuning function disabled by default */
.
.
AutoGainEnable(LsScaleP=t_g.LsScale0,LsThreshP=t_g.LsThresh0)/*Enable the servo parameter self-tuning function*/
.
.MovL(P1) // The controller will automatically adjust the servo parameters when executing this motion command..
AutoGainDisable()/*Disable the servo parameter self-tuning function */
.

7.25 Cross-wrist singularity function


Function overview
The Cross-wrist Singularity Function enables the robot to traverse through the wrist singularity point (when
J5=0, wrist singularity occurs) along the taught path, thereby improving the robots motion space. However,
the cross-wrist singularity function cannot guarantee the orientation of the robot during path motion.

Cross-wrist singularity function can be turned ON or OFF via command.


 The SetSingularPass ("string") is used to set the switch of the cross-wrist singularity function.
Cross-wrist singularity function.The string can be "OPEN" or "CLOSE". When "OPEN" is selected, the
cross-wrist singularity function is turned on, and when "CLOSE" is selected, the function is turned OFF.

Caution
 When the wrist singularity function is enabled, the robots posture during the teaching path cannot be
guaranteed. Therefore, execute the motion slowly to prevent robot collision;
 Even if the user selects the cross-wrist singularity mode, the robot will move according to the non-
cross-singularity mode if the current segment does not cross the wrist singularity;
 The cross-singularity function is only applicable to universal six-joint robots with wrist singularity and
does not support other robot types or other singular positions;
 The cross-wrist singularity function supports the transition between motion commands, but the
SetSingularPass command interrupts the transition;
 JOG mode does not support cross-singularity;
 Swing motion, tracking motion, and external TCP functions do not support cross-singularity;
 The function supports the start point in the singular position, but not the end point;
 Upon logout or loading of a project, the cross-singularity function will reset to its default value.

Application Example
When the command for cross-singularity function is executed, the function is turned ON. If the cross-
singularity OFF command is not executed, the function remains ON.

Example of teaching program:


Start:
SetSingularPass("OPEN")/*Cross-wrist singularity function 开启 */
MovJ(P0);

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-77
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

MovL(P1); /* If the motion from P0 to P1 does not cross the singularity or only crosses the wrist singularity, the robot
moves to P1 */
MovC(P2,P3); /* If the motion from P1 to P3 does not cross the singularity or only crosses the wrist singularity, the robot
moves to P3 */
SetSingularPass("CLOSE")/* Turn OFF the coss-wrist singularity function */
End;

7.26 Homing function


7.26.1 Function overview
The Homing calibration is an operation that compares the robot's position with the absolute encoder
position. The Homing operation is usually performed before leaving the factory. However, in the following
situations, the home position may be lost and the Homing calibration must be performed again.

 Replacement of motors or absolute encoders resulting in loss of home position information;


 Loss of home position information due to encoder battery failure or other reasons;
 Other situations.

As shown in Figure 7-90, the following diagram illustrates the state of lost home position information
(unRef: Home position information is lost):

Figure 7-90: Status of robot after home position lost

Caution

 The operations in this Chapter only apply to the second situation mentioned above where the device is
not replaced and the home position needs to be recovered due to encoder battery failure or other
reasons. For other situations where components are replaced, home position must be recovered using
instruments or other calibration methods.
 The system provides two homing methods: Global Homing and Single-Axis Homing.

7.26.2 Global Homing


Global homing allows all axes in the robot axis group to perform homing at the same time, which generally
causes some loss of accuracy. It is only recommended for applications where accuracy is not critical, as
shown in Figure 7-91.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-78
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-91: Global homing diagram

7.26.3 Single-Axis Homing


Single-axis Homing is a method of performing homing by using a one-key homing or RefRobotAxis
command on the corresponding axis. This method can ensure the original accuracy of the robot and is
recommended for use in applications.

Step 1: Jog the robot axis to the vicinity of the zero mark on the body of the corresponding axis, as shown in Figure
7-92.

After the robot is calibrated, the position of the waist hole for attaching the zero-mark sticker (labeled as "2")
will be adjusted to align with the line labeled as "1". The single-turn absolute value data information for
each axis will also be archived. This value can be viewed in the "Set Single Turn Value" in the "Single Turn
Value" interface in the Jog Management menu.

Figure 7-92: Zero mark on the axes of main unit

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-79
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Caution
 The arrow at point 2 should be jogged as accurately as possible to align with the line at point 1. If the
line at point 1 is too wide, pay attention to whether the arrow passing through the area of the line at
point 1 will cause the single-turn value of the corresponding axis to cross one turn (for example, from
reaching the maximum value of 20,000 pulses to crossing 20,000 pulse value again). If the line at point
1 causes the single-turn value to cross one turn, there may still be accuracy loss issues even if the axis
is homed in single-axis mode.

Step 2: In the Programming Pendant's "Jog Management -> Location Management" interface, select the "Single
Turn Value" item to view the single turn value information recorded during the factory calibration, as shown in
Figure 7-93:

Figure 7-93 Single-turn value information

Step 3: Execute the Homing by One-click or Homing by Command


 Homing by One-click

Fill the single-turn value data (factory-set) into the command parameter and click the "Home" button after
selecting the axis to be homed, as shown in Figure 7-94.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-80
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-94 Interface of homing by one-click

 Homing by Command
Edit the RefRobotAxis command and specify the axis to be homed, as well as fill in the single-turn value data
(factory-set) into the command parameter, as shown in Figure 7-95. Then, run the RefRobotAxis command (the
robot axis will move to the single-turn value position and perform homing operation).
RefRobotAxis (1,2419239)
/* The robot axis 1 will perform zero calibration at the position of 2419239 for a single-turn value when executing this
command. */

Figure 7-95 Command definition

Caution

 Where there is coupling between joints, it is important to note the order of homing, that is, starting from
the source axis of the coupling, return to zero sequentially. For example, if there is coupling between
joints 4, 5, and 6 (with 4 coupled to 5 and 5 coupled to 6), the order of zeroing should be 4 -> 5 -> 6.

----END

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-81
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

7.27 Maintenance Tips


Function overview
To prompt the robot to carry out maintenance in time, so that the service life of the robot will not be
shortened due to the shortage of maintenance after using for a long period of time.

Maintenance can be divided into two types: Overall Maintenance and Nitrogen Gas Spring Maintenance.
The former can be prompted in two ways:

 Accumulated running time: Each model corresponds to a maintenance execution cycle (e.g. 10,000
hours, 11,520 hours, etc.). When the maintenance execution time exceeds this cycle, the system
will prompt "Maintenance overdue, please maintain in a timely manner!".
 Use date: Each model corresponds to a cumulative usage period (e.g. 2 years, 3 years, etc.). From
the factory/execution date to the end of the usage period, which is the next maintenance date, the
system will prompt "Maintenance overdue, please maintain in a timely manner!".
 For models equipped with nitrogen gas springs, the inspection cycle is 6 months (180 days) from
the factory/execution date. When the inspection date is due, the system will prompt "Nitrogen gas
spring usage time has exceeded 6 months, please maintain and check in a timely manner!".

Way of use
Step 1: On the Home interface, select "User Applications>Maintenance Tips", as shown in Figures 7-96 and 7-97.

Figure 7-96 Plug-in group of User Application

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-82
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-97 Click Maintenance Tips

Step 2: Enter the "Maintenance Tips" interface, as shown in Figure 7-98:

Figure 7-98 Interface of maintenance tips

Step 3: Interface introduction:

- Total running time: The accumulated running time of the robot since the factory, this value keeps
accumulating and cannot be cleared.
- Maintenance execution time: The running time accumulated since the factory or reset.
- Maintenance execution cycle: Each model has a corresponding maintenance cycle (e.g. 10,000 hours,
11,520 hours, etc.). When the maintenance execution time exceeds the maintenance execution
cycle, the maintenance tips will appear.
- Factory/execution date: The date when the robots control system first runs or when it is reset.
- Next maintenance date: The date of the next maintenance. When the system date is later than the next
maintenance date, the maintenance tips will appear.

Step 4: Operation introduction:

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-83
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

- Refresh: Click "Refresh" to get the current maintenance information again.


- Reset: Click "Reset" and enter the dynamic password to execute. There is special software to get the
dynamic password through verification code. Please contact relevant technical personnel to obtain the
dynamic password. Resetting will clear the "Maintenance Execution Time" and set the
"Manufacture/Execution Date" and "Next maintenance date" to the current system date.

Figure 7-99: Resetting maintenance information

Step 5: Introduction to Nitrogen Gas Spring Maintenance interface

Figure 7-100 Nitrogen Gas Spring Maintenance Interface

- Manufacture/Execution Date: The date when the robots control system first runs or the date recorded
when resetting.
- Check Date: The date that is 6 months (180 days) after the Manufacture/Execution Date. When the
System Date is greater than the Check Date, the maintenance tips for the nitrogen gas spring will
appear.

Step 6: Reset the nitrogen gas spring

- Reset: Reset the nitrogen gas spring maintenance information, and record the Manufacture/Execution
Date as the system date. Refer to Step 4 for the reset process.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-84
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Step 7: Prompt information

- Prompt Log: The information of recent maintenance tips will be saved, as shown in Figure 12-98. Click
"Prompt Log" to access historical prompt records.
- Prompt contents:
 Full Maintenance: When the maintenance cycle or date has passed, a prompt with a prompt
number of 53006 will appear.
 Nitrogen Gas Spring Maintenance: When the system date reaches or exceeds the Check Date,
a prompt with a prompt number of 53010 will appear.

Figure 7-101 Prompt Log Interface

Note
1. After the due date or maintenance cycle, please perform maintenance promptly. If not
maintained in a timely manner, the prompt information will appear during normal use of the
robot.

2. Nitrogen Gas Spring Maintenance: When Nitrogen Maintenance Tips appear, please check the
nitrogen gas spring according to the robot maintenance manual as soon as possible. After
passing the inspection, reset the nitrogen gas spring maintenance information for the next
maintenance reminder.

----END

Parameter Description
 Total Operating Time: The accumulated running time of the robot since leaving the factory. This value keeps
accumulating and cannot be reset.
 Maintenance Execution Time: The running time accumulated since leaving the factory or resetting.
 Maintenance Execution Cycle: Each robot model has a corresponding maintenance cycle (such as 10000h, 11520h,
etc.). When the maintenance execution time exceeds the maintenance execution cycle, the maintenance tips will
appear.
 Manufacture/Execution Date: The date when the robots control system first runs or the date when it is reset.
 Next Maintenance Date: The date of the next maintenance. When the system date is later than the next
maintenance date, the maintenance tips will appear.
 Check Date: The date 180 days after the manufacture/execution date. When the system date is later than the check
date, the maintenance tips for the nitrogen spring will appear.

7.28 Scara fast calibration

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-85
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Function Description
This function is a method for fast calibration of the scara robot, which is divided into 2-axis zero calibration
for individual points and pole length calibration that requires a calibration pole. This function is only used
for the scara model.

Way of use
Step 1: Select "User Applications > Scara Fast Calibration" on the Home interface, as shown in Figures 7-101 and
7-102.

Figure 7-102 Plug-in group for User Application

Figure 7-103 Click on Scara Fast Calibration

Step 2: Enter the scara fast calibration interface.


 2-axis zero calibration: This function only calibrates the zero position of the 2-axis. By taking the same fixed point in
both the left- and right-hand systems, click calculate to get the deviation result of the 2-axis. Adjust the 2-axis to the zero
position according to the deviation result.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-86
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-104 2-axis zero calibration

System successfully started!


Current Axis Information
Left-handed fixed Right-handed
i t fi d i t

Adjust shaft L1 and L2 to the left-


handed position in the diagram. Axis2 motor direction: Positive
Align the calibration needle tip with Axis 1 motor direction: Positive
the fixed point and then press the
teach button.

Teach Calibration result

Axis 1 Clear
Calculate

Axis 2

Zero point calibration Pole length calibration


for Axis 2

 Pole length calibration: This function is used for the pole length calibration of the scara robots upper and lower
arms, as well as the zero calibration of the 2-axis. A fixed length calibration pole is required, with two points
corresponding to the left and right ends of the pole, and the length between the two points is known. This function is
currently only open to Estun production staff and requires a password.

Figure 7-105 Calibration of Pole Length

System successfully started!


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the left-
handed position in the diagram.
Align the calibration needle tip with
the M-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Zero point calibration Pole length calibration


for Axis 2

Step 3: Calibration introduction:


 2-axis zero calibration
(1) Switch to the left-hand fixed point tab on the left-hand side and align the calibration pin tip with
the fixed point. Then, click "Teach".

Figure 7-106 Left-hand system calibration

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-87
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Current Axis Information


Left-handed fixed point Right-handed fixed point

Adjust shaft L1 and L2 to the left-


handed position in the diagram. Axis2 motor direction: Positive
Align the calibration needle tip with Axis 1 motor direction: Positive
the fixed point and then press the
teach button.

Teach Calibration result

Axis 1 Clear
Calculate

Axis 2

Zero point calibration Pole length calibration


for Axis 2

(2) Switch to the right-hand fixed point tab on the left-hand side and align the calibration pin tip
with the fixed point. Then, click "Teach".

Figure 7-107 Right-hand system calibration


Current Axis Information
Left-handed fixed point Right-handed fixed point

Adjust shaft L1 and L2 to the right-


handed position in the diagram. Axis2 motor direction: Positive
Align the calibration needle tip with Axis 1 motor direction: Positive
the fixed point and then press the
teach button.

Teach Calibration result

Axis 1 Clear
Calculate

Axis 2

Zero point calibration Pole length calibration


for Axis 2

(3) Click "Calculate" to get the zero-point deviation value of the 2 axes.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-88
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Current Axis Information


Left-handed fixed point Right-handed fixed point

Adjust shaft L1 and L2 to the right-


handed position in the diagram. Axis2 motor direction: Positive
Align the calibration needle tip with Axis 1 motor direction: Positive
the fixed point and then press the
teach button.

Teach Calibration result

Axis 1 Clear
Calculate

Axis 2

Zero point calibration Pole length calibration


for Axis 2

(4) Switch to the homing interface and move the 2 axes to the deviation value position. Click
"Homing" to complete the calibration.

Value Unit Status

Tool

Reference Coordinate
System

Electric mode: Continuous

Jogging coordinates: Joint Coordinate System

TCP speed

Current loaded program: /jj/main

Joint Coordinates World Coordinates User Coordinates Torque Single-turn value Jog settings Home return

 Calibration of Pole Length

(1) Click on "Pole Length Calibration" and enter the password, which is only accessible to Astun
production personnel.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-89
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-108 Password Interface


Left-handed fixed Right-handed Current Axis Information
point fixed point

Please enter password Positive

Zero point calibration


Pole length calibration
for Axis 2

(2) Switch to the left-hand M-hole system tab, adjust axis L1 and axis L2 to the posture shown in the
figure, align the calibration pin tip with the M-hole, and then click "Teach" button;

Figure 7-109 Left-hand M-hole system


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the left-
handed position in the diagram.
Align the calibration needle tip with
the M-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Zero point calibration


Pole length calibration
for Axis 2

(3) Switch to the right-hand M-hole system tab, adjust axis L1 and axis L2 to the posture shown in
the figure, align the calibration pin tip with the M-hole, and then click "Teach" button;

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-90
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-110 Right-hand M-hole system


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the right-
handed position in the diagram.
Align the calibration needle tip with
the M-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Zero point calibration


Pole length calibration
for Axis 2

(4) Switch to the left-hand N-hole system tab, adjust axis L1 and axis L2 to the posture shown in the
figure, align the calibration needle tip with the N-hole, and then click "Teach" button;

Figure 7-111 Left-hand N-hole system


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the left-
handed position in the diagram.
Align the calibration needle tip with
the M-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Zero point calibration


Pole length calibration
for Axis 2

(5) Switch to the right-hand N-hole system tab, adjust axis L1 and axis L2 to the posture shown in the
figure, align the calibration pin tip with the N-hole, and then click "Teach" button;

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-91
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-112 Right-hand N-hole system


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the right-
handed position in the diagram.
Align the calibration needle tip with
the N-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Zero point calibration


Pole length calibration
for Axis 2

(6) Enter the calibration board length "d" in the calibration board setting, and then click "Calculate"
button;

Figure 7-113 Calibration board setting


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the left-
handed position in the diagram.
Align the calibration needle tip with
the M-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Current loaded program: /jj/main

Zero point calibration


Pole length calibration
for Axis 2

(7) Click "Save" button to send the results of L1 and L2 to the controller for storage;

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-92
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-114 Get the results


Current Axis Information
M-hole left-hand M-hole right- N-hole left-hand N-hole right-
system hand system system hand system
Axis 1 motor direction: Positive Axis2 motor direction: Positive
Adjust shaft L1 and L2 to the right-
handed position in the diagram.
Align the calibration needle tip with
the N-hole and then press the teach
button.
Calibration plate setting

Teach

Calibration result

Axis 1

Axis 2

Calculate Clear Save

Current loaded program: /jj/main

Zero point calibration


Pole length calibration
for Axis 2

(8) Switch to the Homing interface, move the 2 axes to the deviation position, and click "Homing" to
complete the calibration.

Figure 7-115 Homing interface

----END

7.29 Zero Loss Protection without Limit Block


Function overview
 This function provides protection for the internal cables of the robot when the robot is not equipped with mechanical
limit blocks and the zero point is lost during the zeroing process.
 When the robot (no limit block) axis loses its zero point, the programming pendant position interface displays the
robots position before the loss of zero, as shown in figure below. Use this position as a reference for jogging and perform
the Homing operation accordingly.

Figure 7-116 Position value before zero loss

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-93
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Note
 The Zero Loss Protection without Limit Block function for the universal 6-axis robot is enabled by default;
 After the Zero Loss Protection without Limit Block is enabled, and if an axis without limit block loses its zero point,
the Programming Pendant Position Interface will display the position of each axis before zero loss. If other axes suffer
zero loss, rather than those provided with no limit block, the Programming Pendant Interface will not display the position
of each axis before the loss of zero.

Caution
 The position displayed on the programming pendant before zero loss may not be accurate in the
following situations:
1) The controller software has been replaced;
2) The robot loses its zero point during high-speed motion;
3) The robot loses its zero point after an abnormal power-off restart during motion;
4) Move the joints manually after the robot loses its zero point.

7.30 Homing by One-Click


Function overview
 In some applications, it is necessary to frequently return the robot to a specific position to check if the robot position
has shifted. This function allows users to select and run the robot to a specified position through the interface.
 The function interface displays the current position and target position, and supports two optional original positions
that can be taught or modified.
 After selecting the target position, click "Go" and keep it pressed down. The robot starts to move to the target
position in a MovJ manner. Release "Go" during the movement to stop the robot, and click "Go" again to continue the
movement until it reaches the target position.

Figure 7-117 Homing by obe-click

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-94
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Note
 Only the robot body axes are displayed during the homing operation.
 The homing operation requires servo enablement and can only be performed in teaching mode.
 Press the Rob key on the programming pendant to take you quickly to the Homing interface.

7.31 Global Program


Function overview
 This function provides a way to create a program that can be called across projects, to establish a global project
where any newly created program can be called by programs from all other projects. For example, if each project on site
has the same gripper switching program, a gripper program can be created in the Global Oroject and called by programs
in other projects.
 As shown in the figure below, the "GlobalProg" project is added to the project interface to manage global programs.
After loading this project, global programs can be created, deleted, loaded, copied, renamed, etc., and program-related
operations can be performed on program domain variables in the variable interface. In other projects besides GlobalProg
projects, the CALL command can be used to select local programs and global programs in GlobalProg projects.
 For example, gProg is a global program in the "GlobalProg" project. The l_1, l_2, l_3, l_4, and main programs in the
"prog0" project can all select the gProg program in "GlobalProg" to perform a CALL operation. Similarly, when the main
program in the "prog1" project is created with a CALL command, the gProg program in "GlobalProg" can also be selected
for the CALL operation.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-95
ER 系列工业机器人操作手册 Chapter 7 Advanced Functions

Figure 7-118 Global Program example

Note
 Global Project does not support deletion, renaming, or copying operations.
 There are no project domain variables in the Global Project, so when the system jumps from a program in another
project to a Global Program, the project variables in the variable interface will be invisible. After exiting the global
program, the project variables in the original project will be displayed again.
 In the current version, there is no deletion verification for global programs, so caution should be exercised when
using this feature. When other programs in other projects use the CALL command to call global program A, users can
directly select and delete global program A in the project interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 7-96
ER 系列工业机器人操作手册 Chapter 8

7.32 Slave Configuration


Function overview
 The Station Configuration function is used to configure the IO modules and servo stations in EtherCAT
communication, allowing users to flexibly configure according to the site topology for easy field debugging. Users can
add or delete slaves in the teach pendant, and the controller can be power cycled while EtherCAT network
communication remains normal.

Way of use
To use the function, select the Station Configuration option from the General Settings group on the System
Home to enter the configuration interface as shown in Figure 7-118.
 First, you can select the servo type by clicking the "Slave Type" drop-down list according to different application
scenarios and needs.
 Secondly, you can select the corresponding device model by clicking the "Station Model" drop-down list;
 Finally, you can click the Add or Delete button and wait for the operation to complete.

Figure 7-119 Slave Configuration interface

Note
 In using this function, it is necessary to understand the current topology and device types.
 This function currently supports the addition and deletion of IOs of EC4-1616 IO type, EC4-P20DE type encoder,
and ESTUN ED3L servo;
 The added device topology only supports the sequence of IO Device-Encoder Device-Servo Device, and does not
support IO or encoder after the servo device;
 The addition and deletion of IO function in the integrated electrical cabinet is not currently supported;
 The range of device names that can be displayed on the network topology in Figure 7-1 is as follows:
IO device identification range: coupling, EC4-1616, XB6-EC0002E, EC4-A04VE, TunderIO, EC-P20DE;
Servo device identification range: Pronet, EDSD, ED3L, ED3S;
All other device types are identified as Slave.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-1
ER 系列工业机器人操作手册 Chapter 8

7.33 INTERRUPT Function


 This function provides a mechanism that allows the execution of the main program to be
interrupted by a signal and switch to execute an interrupt program. Once the interrupt program is
completed, the execution can return to the main program at the interrupted point.

Breakpoint

Main program

Interrupt program

 The configuration of the interrupt mechanism parameters, including the program to be executed
after the interrupt, the trigger method, and the actions required for the main program, can be
done through specific commands.

 Currently, the system supports three trigger methods: timer trigger, DI trigger, and SIMD trigger.

 The corresponding commands are stored in the INTERRUPT commands set, and their specific
definitions can be found in section 6.8 INTERRUPT commands. These commands include IEnter,
IExit, MovToIPos, IConnect, IDelete, ITimer, ISignalDI, and ExitCycle.

Note
1. The system does not respond to the interrupt trigger signal while executing the MovH and
MovArch commands.

2. Only certain commands are allowed to execute in the interrupt program, as listed below:

 INTERRUPT commands: IEnter, IExit, MovToIPos, ExitCycle

 Motion commands: all motion commands except for MovH and MovArch (only allowed after
executing the IEnter command).

 Control commands: all supported.

 WAIT commands: all supported.

 IO commands: all supported.

 SET commands: all supported.

 CLOCK commands: all supported.

 AREA commands: all supported.

The INTERRUPT has the following characteristics:


 There are two ways to detect the interrupt signal: detecting the edge signal of DI and triggering by a set
time.
 Only one interrupt program is allowed to execute at a time. Other interrupt programs will be stored in a
queue according to the order of the signal trigger, and they will be executed one by one after the current
interrupt program is completed.
 The IEnter command indicates interrupting the parsing and motion of the main program. If the IEnter
command is not included in the interrupt program, the execution of the INTERRUPT program will be similar
to the execution effect of running in the background.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-2
ER 系列工业机器人操作手册 Chapter 8

 Both the main program and the INTERRUPT program support the CALL command. However, the
INTERRUPT program only supports calling other programs within the same project and does not support
Global Program.

Application Scenarios
The INTERRUPT function has three application scenarios, as outlined below:

 Scenario 1: After the INTERRUPT is triggered, the program stops immediately, and when the interrupt
program finishes executing and reaches the INTERRUPT point, it resumes the execution.
 Scenario 2: After the INTERRUPT is triggered, the program stops immediately, and when the interrupt
program finishes executing, it exits the INTERRUPT and returns to the first line of the program.
 Scenario 3: After the INTERRUPT is triggered, the program enters the background and executes
operations in parallel (i.e., without issuing an INTERRUPT command or sending a command to put the
main program to sleep). When the interrupt program finishes executing, it exits automatically.

Scenario 1 Example:
The following is an example program, Prog1, which stops immediately after the INTERRUPT is triggered
and resumes execution when the INTERRUPT program finishes executing and reaches the interrupt point,
as detailed below:

1. During execution of main program, if DI15 is set to a valid rising edge signal, the system interrupts
the main programs execution and switches to the Prog1 program. The engineering interface displays
the status of Prog1 as "interrupt execution," and the program editing and variable interface display
the corresponding data of Prog1.

2. After Prog1 program execution is finished, the system will resume the execution of the main program
and display the relevant data of the main program.

main()

Start:

IDelete(INTERRUPT1) // Reset all data related to the interrupt flag (represented in the form of variables

IConnect(INTERRUPT1, Prog1) // Bind the interrupt flag to the program

ISignalDI(INTERRUPT1, DI15, "riseEdge",1) // Set the detection method of the interrupt flag to a rising
edge signal of DI.

GetCurCPOS(P0)

IF P0 ~= PHome Then // Check if the robot is at the home position and move to it if its not there

MovL(PHome)

ENDIF

tt:

MovL(P1)

MovC(P2,P3)

...

MovL(P10)

Goto tt

End;

Prog1()

Start:

IEnter() // Pause the current motion, put the main program to sleep, and store the stopped position
information, including the current tool, user coordinate system, load information, etc.

MovL(P1)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-3
ER 系列工业机器人操作手册 Chapter 8

...

MovToIPos ("MovJ",V200) // Move to the previously cached pause position and restore the previous tool,
user coordinate system, load inertia

IExit() // Exit the interrupt and resume the main programs execution by re -parsing the instruction
from the paused motion command.

End;

Scenario 2 Example:
Prog2 is an INTERRUPT program that immediately stops when triggered, and resumes execution from the
first line after the interrupt program exits, as detailed below:

1. During the execution of the main program, when DI16 is set to an effective rising edge signal, the
system interrupts the execution of the main program and switches to the Prog2 program. The state of
the Prog2 program is displayed as "INTERRUPT execution" in the project interface, and the editing
and variable interface shows the corresponding data for Prog2.

2. After the Prog2 program executes the "ExitCycle" instruction, the system automatically returns to the
stop state.

3. The system determines whether there is a "CycleLabel" instruction in the main program to reset the
PC pointer of the main program to the specified line and restore the relevant data display for the main
program (if the "CycleLabel" instruction exists, it jumps to the CycleLabel for execution; otherwise, it
jumps to the first line of the program).

main()

Start:

IDelete(INTERRUPT2) //Reset all data related to the interrupt identifier (presented as a variable)

IConnect(INTERRUPT2, Prog2) // Bind the interrupt identifier to the program

ISignalDI(INTERRUPT2, DI16, "riseEdge",1) // Set the detection of interrupt identifier as effective DI rising
edge signals.

GetCurCPOS(P0)

IF P0 ~= PHome Then // Check if the robot is not at the home position and move it there if
needed

MovL(PHome)

ENDIF

tt:

MovL(P1)

MovC(P2,P3)

...

MovL(P10)

Goto tt

End;

Prog2()

Start:

IEnter () // Pause the current motion, put the main program to sleep, and store the stopped position
information, including the current tool, user coordinate system, load information, etc.

MovL(P1)

...

ExitCycle() //Reset the PC pointer of the main program to start executing from the first line.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-4
ER 系列工业机器人操作手册 Chapter 8

End

Scenario 3 Example:
Prog3 is an example program that executes in the background after being triggered by an INTERRUPT,
without issuing an interrupt command or putting the main program to sleep. It automatically exits after the
INTERRUPT program finishes execution. The following is an example:

1. In the main program, the system calls Prog3 every 2000ms. However, Prog3 only runs in the
background in parallel and does not interrupt the main programs execution or related data display. At
the same time, the project interface displays the Prog3 programs status as an interrupt parallel state.

2. After the execution of Prog3 is complete, the parallel execution also ends.

main()

Start:

IDelete(INTERRUPT3) //Reset all the data associated with the interrupt identifier (as a variable)

IConnect(INTERRUPT3, Prog3) //Bind the interrupt identifier with the program

ITimer(INTERRUPT3, 2000) // Set the detection mode of the interrupt identifier INTERRUPT3 to timer
interrupt, which triggers every 2000ms

GetCurCPOS(P0)

IF P0 ~= PHome Then // Check if the robot is not at the home position and move it there if needed

MovL(PHome)

ENDIF

tt:

MovL(P1)

MovC(P2,P3)

...

MovL(P10)

Goto tt

End;

Prog3()

Start:

SetDO(DO1,0) //If there is no IEnter command, the INTERRUPT program will execute in the
background like the run program, without sending the INTERRUPT command.

INT0 = INT0 + 1

...

SetDO(DO1,1)

INT0 = 0

End;

7.34 Auto Demagnetization


When the robot is idle for a long time, the controller can automatically demagnetize, helping customers
save factory energy and reducing the impact on the service life of some components in the electric control
cabinet.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-5
ER 系列工业机器人操作手册 Chapter 8

Due to the "nodding" phenomenon of the robot, that is, after the demagnetization, the robot will drop a little.
When the demagnetization is restarted, the robot will use the logic of pausing and then starting, first
returning to the position before the drop before continuing to run.

 hen the robot is stopped/paused, or WaitDI/WaitTime, the controller starts timing. When it exceeds
the set value (this value is configured through parameters), the controller spontaneously issues a
demagnetization command. The teach pendant interface uses different colors to distinguish between
the demagnetization in this situation and the normal demagnetization state;

 When receiving a start command again, or receiving a DI signal, or when the waiting time is up, the
controller first sends an automatic magnetization command and then continues to execute the
instruction.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-6
ER 系列工业机器人操作手册 Chapter 8

Figure 7-120 Auto Demagnetization timing diagram

Delayed 1h

Stop Auto Demagnetization Receive a start or wait


motion timing till DI signal

7.35 Online load tuning


The online robot load tuning function is used to obtain the dynamic information of the load installed at the
flange end of the robot online (including the load mass, center of mass, and inertia tensor). The identified
load dynamic information is used for robot dynamic modeling calculations to improve robot operation
performance and to improve joint over-torque alarms, collision detection false alarms, and robot motion
jitter caused by mismatched load information.

Function Description
 StartMdlLog() command for data collection

 StopMdlLog() command for data collection end

 Calculation command for load tuning, i.e., CalcDynMdl().

When using the robot load online tuning function, please follow the example steps to operate:

Example of application scenario

Data collection
Step 1: Data collection. Click "Create" below the program, find "Load Online Identification Instruction>
StartMdLog" and select the corresponding data saving type. After setting the corresponding load dynamic
information, select the "StopMdlLog" command.

(1) Example of collecting "Robot" type data:


/**** Collect when no load is installed, path point can be adjusted, optional ***/
StartMdlLog{dataType="Robot"}
/* Running speed, including slow and high speed*/
SetOverRide{V=10}
CALL PayloadPath
.
.
.
SetOverRide{V=100}
CALL PayloadPath
StopMdlLog{}
.

(2)Example of collecting "WithLoad" type data:

/**** Collect when a load is installed, trajectory point can be adjusted, must be executed ****/
StartMdlLog{dataType="WithLoad"}
/* Running speed, including slow and high speed */
SetOverRide{V=10}
CALL PayloadPath
.
.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-7
ER 系列工业机器人操作手册 Chapter 8

.
SetOverRide{V=100}
CALL PayloadPath
StopMdlLog{}
.
(3) Example of collecting "ValidData" type data:
/**** Used for collecting data for model verification, trajectory can be customized, optional ****/
StartMdlLog{dataType="ValidData"}
/*Path customization, motion commands such as MovJ, MovL, MovC, etc */
.
MovL(P=t_l.P1)
MovJ(P=t_l.P2)
MovC(A=t_l.P3,P=t_l.P4)
.
StopMdlLog{}

Step 2: The path program used for load tuning is shown below.
/* PayloadPath program execution segment, load tuning path segment */
MovJ{P=t_l.P0}
MovJ{P=t_l.P1}
MovJ{P=t_l.P2}
MovJ{P=t_l.P3}
MovJ{P=t_l.P4}
MovJ{P=t_l.P5}
MovJ{P=t_l.P6}
MovJ{P=t_l.P7}
MovJ{P=t_l.P8}
MovJ{P=t_l.P9}
MovJ{P=t_l.P8}
MovJ{P=t_l.P7}
MovJ{P=t_l.P6}
MovJ{P=t_l.P5}
MovJ{P=t_l.P4}
MovJ{P=t_l.P3}
MovJ{P=t_l.P2}
MovJ{P=t_l.P1}
MovJ{P=t_l.P0}

Step 2: The point data of the load tuning path is as follows. During the data acquisition process, joints J1 and J2
do not need to move and can be held at a fixed angle position. If there is interference between the load and the
robot body or WorkArea object during the movement, the points can be modified according to the actual situation.

Joint J3 (angle) J4 J5 J6
S/N
P0 0 0 0 0
P1 -5.0 10.0 10.0 180.0
P2 5.0 95.0 95.0 170.0
P3 -5.0 85.0 85.0 -10.0
P4 5.0 -5.0 -95.0 10.0
P5 -5.0 5.0 -85.0 -180.0
P6 5.0 -5.0 95.0 -170.0
P7 -5.0 -95.0 105.0 -180.0
P8 5.0 -85.0 -95.0 -170.0
P9 -5.0 165.0 -85.0 -180.0

Load Tunning Calculation:


Edit the command CalcDynMdl() for load identification calculation and specify the model type, workpiece
load variable, data interval length, and model validation options.
/**** Load Tunning Calculation ****/
CalcDynMdl{mdlType="TypePayload",PayLoad=t_g.idenPayload,dataStepPer=1,validEnable="Disable"}
/* Load tuning completed, results will be stored in the user-specified load/tool variable */.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-8
ER 系列工业机器人操作手册 Chapter 8

Step 1: Click the "Create" button below the program and select the "Online load tuning
commands>CalDynMdl" command. Then click the "OK" button.

Step 2: Set the parameters. Set the "Model Type" to "TypePayLoad/TypeTool", "Workpiece Load Variable" to
"G:PAYLOAD1", "Data Interval Length" to "1", and "Model Validation" to "Enable". Then click the "OK" button.

Step 3: The online identification command takes a long time to execute (usually 30-60 minutes). After the
identification calculation is completed, a pop-up window will display the model validation scores for each
axis (J1 and J2 axes typically have a score of "nan" because the motion angles are not specified), as
shown in the following figure.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-9
ER 系列工业机器人操作手册 Chapter 8

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-10
ER 系列工业机器人操作手册 Chapter 8 FAQs

Chapter 8 FAQs

8.1 The way to find the corresponding control cabinet


manual based on nameplate
The control cabinet model is shown in the figure below:

Drive Design
Series name Version Model Remarke
specification sequence

Integrated
drive system

Mark Spec. Mark


Compact electrical cabinet
Low-load drive

Medium-load drive
Standard electrical cabinet Heavy-load drive

Solutions
Step 1: Find the nameplate of the control cabinet. Take the C2E control cabinet manual as an example.

Step 2: Based on the nameplate information, it can be determined that it is a C2 series control cabinet. To learn
more detailed information about the control cabinet, you can search for the "User Manual of ESTUN Robot C2E
Series Control Cabinet".

Step 3: If you have any questions or cannot accurately find the corresponding manual for the control cabinet,
please contact an ESTUN engineer.

8.2 Power supply requirements for ESTUN robots


The input voltage and power requirements indicated on the nameplate of the control cabinet must be met
for the power supply of ESTUN robots. If the manual requires a ground or neutral wire, it cannot be omitted.

Solution

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-11
ER 系列工业机器人操作手册 Chapter 8 FAQs

Step 1: Find the nameplate on the control cabinet, and ensure that the input voltage and power requirements
indicated on the nameplate are met. Refer to the figure below:

Step 2: If a ground or neutral wire is required in the manual for the corresponding model, it cannot be omitted.

8.3 The way to deal with the emergency stop status


displayed after the robot is turned on
Solution:
Step 1: Check if the teach pendant starts up normally.

System starts up normally and


status bar is functioning
properly

Step 2: Check whether the teach pendant, control cabinet, and external emergency stop button are pressed.

Teach pendant E-stop button

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-12
ER 系列工业机器人操作手册 Chapter 8 FAQs

Step 3: Check whether there is any alarm on the driver.

Step 4: If the control cabinet panel is fitted with a "Start" button, it needs to be pressed to turn on the robot.

GREEN start button for electrical cabinet

E-stop button for


electrical cabinet

8.4 The way to perform periodic maintenance on robots


Different robot models have varying maintenance requirements and schedules. Specific maintenance
schedules and requirements can be found in the corresponding robot models user manual.

Solution
Use the ER20-1780 robot as an example:

Step 1: Log in to the ESTUN official website and select "Service & Support>Document Downloads."

Step 2: Enter "Instruction Manuals of Main Units" in the search box, find the document "Instruction Manual of
ESTUN Robot Universal Small Load Series", and check the "Maintenance and Repair" to get relevant maintenance
information.

8.5 The way to backup the robot teach pendant program


Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-13
ER 系列工业机器人操作手册 Chapter 8 FAQs

The teach pendant program can be backed up via the USB interface on the teach pendant.

Solution
Step 1: Prepare a FAT32 formatted USB drive and plug it into the USB interface on the teach pendant.

Step 2: Press the button on the teach pendant or click "Project Management" on the home page to enter
the "Project Management" interface.

2. Access to the
administration interface

1. Click on the Project Management button

Step 3: Select the program that needs to be imported or exported and use the corresponding arrow to indicate
import or export.

Select the program you want to back up


and click on the arrow facing right

Program export arrow

Program import arrow

Step 4: After importing or exporting the program, wait for 30 seconds before unplugging the USB drive.

8.6 The way to recover after triggering the robot E-stop


button
During robot operation, after the E-button is triggered, it can be released by rotating the triggered E-stop
button.

Location of the E-stop button: upper right of the teach pendant or on the control cabinet.

Solution
As shown in the figure below, the robot is in an emergency stop state.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-14
ER 系列工业机器人操作手册 Chapter 8 FAQs

Robot in emergency stop

Step 1: Find the triggered E-stop button and release it.

Rotate

E-stop key Release of Emergency Stop

Step 2: Press if there is a "Start" button on the electric cabinet panel.

GREEN start button for electrical cabinet

Step 3: Clear the teach pendant alarm prompt.

Step 4: Check that the teach pendant is in a normal state and run according to the actual situation.

8.7 What to do if the teach pendant cannot perform


program editing and modification during use
The teach pendant is logged in by default as an "operator" role, which does not have permission to edit
programs. It needs to be switched to "administrator".

Solution
Step 1: Press or click "User Management" on the teach pendant homepage to enter the "User Management"
interface.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-15
ER 系列工业机器人操作手册 Chapter 8 FAQs

Step 2: In the "Current User" drop-down list, select the "Administrator" role and enter the correct password. After
verification is successful, reload the program that needs to be edited and modified, and then the program can be
edited and modified.

8.8 What communication protocols does Estun robot


currently support
Currently, ESTUN robots mainly support communication protocols such as ModBusTcp, TCPIP, EtherNetIP,
Profinet, MC, Fins, etc.

8.9 The way to solve the problem of point deviation during


normal use of the robot
Solution
Step 1: Check if the robot zero point is normal.

Step 2: Check if the fixture is deformed.

Step 3: Check if the production line is shifted.

Step 4: Establish a teach reference point separately to reproduce the point deviation for comparison.

8.10 How to determine if the robot cannot move after


power on
If the robot does not move after power on, it may be because the program is not in the running state or the
conditions in the program are not met.

Solution
Step 1: Check whether the robot is in the running state through the status bar on the teach pendant.

Robot in emergency stop

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-16
ER 系列工业机器人操作手册 Chapter 8 FAQs

Robot in Halt state

Step 2: Check if a certain instruction condition is not met according to the program pointer in the program interface.

Robot is in operation and waiting for an


external signal

8.11 The way to solve the failure of teach pendant to enter


system after robot powering on
System malfunctions and mismatched IP settings between the teach pendant and the controller can both
cause the loading progress bar to freeze at a certain state, preventing the teach pendant from entering the
system.

Solution
Scenario 1: If the teach pendants progress bar stays at 10% or 13%, the teach pendants system is
abnormal, and you should contact Estun technical personnel for assistance.

Scenario 2: If the teach pendants progress bar stays at 20%, the teach pendants IP settings do not match
the controller. Please follow the steps below.

Step 1: Enter the IP setting interface of teach pendant through the physical buttons on the left side of the teach
pendant. Press buttons 1/7/6/5/4 in sequence as shown in the figure below.

Step 2: After setting the correct IP, save and restart.

Scenario 3: If the progress bar of teach pendant stays at 80%, 85%, or 90%, the controller startup is
abnormal, and you should contact Estun technical personnel for assistance.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 8-17
ER 系列工业机器人操作手册 Chapter 9 Annexes

Chapter 9 Annexes

9.1 Privilege assignment of programming pendant


√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Interface Switching
√ √ × √ √ × √ √ × √ √ ×
JOG Button
√ × × √ × × √ × × √ × ×
Start/Stop
√ √ × √ √ × √ √ × √ √ ×
Mode Switch
√ √ √ √ √ √ √ √ √ √ √ √
Rob Quick Start Item
√ √ × √ √ × √ √ × √ √ ×
Panel
Keys Mot Power On
√ √ × √ √ × √ √ × √ √ ×
JOG Coordinate
√ × × √ × × √ × × √ × ×
Switching
F/B
√ × × √ × × √ × × √ × ×
Single Step/Loop
√ √ × √ √ × √ √ × √ √ ×
Global Speed Key
√ √ √ √ √ √ √ √ √ √ √ √
Clear Alarm
√ √ √ √ √ √ √ √ √ √ √ √
Axis Switching (2nd)
√ √ √ √ √ √ √ √ √ √ √ √
Set Global Speed
√ √ √ √ √ √ √ √ √ √ √ √
User
√ √ √ √ √ √ √ √ √ √ √ √
Login
Project
Managem √ √ √ √ √ √ √ √ √ √ √ √
ent
Program
√ √ √ √ √ √ √ √ √ √ √ √
editing
Main Program
√ √ √ √ √ √ √ √ √ √ √ √
interfac data
e IO
Interfac √ √ √ √ √ √ √ √ √ √ √ √
detection
e
JOG
Switchin
managem √ √ √ √ √ √ √ √ √ √ √ √
g
ent
System
√ √ √ √ √ √ √ √ √ √ √ √
Log
General
√ √ √ √ √ √ √ √ √ √ √ √
Settings
Advanced
√ √ √ √ √ √ √ √ √ √ √ √
Settings
User
Applicatio √ √ √ √ √ √ √ √ √ √ √ √
ns
User Switching
User ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-1
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Login Password
√ √ × √ √ × × × × × × ×
Management
Language Switching
√ √ × √ √ × × × × × × ×
Search
√ √ √ √ √ √ √ √ √ √ √ √
Refresh
√ √ √ √ √ √ √ √ √ √ √ √
Create
√ √ × √ √ × √ √ × × × ×
Copy
√ √ × √ √ × √ √ × × × ×
Paste
√ √ × √ √ × √ √ × × × ×
Delete
√ √ × √ √ × √ √ × × × ×
Project
Manage
Manage √ √ × √ √ × √ √ × × × ×
ment
Load
√ √ × √ √ × √ √ × √ √ ×
Logout
√ √ × √ √ × √ √ × √ √ ×
Open
√ √ × √ √ × √ √ × √ √ ×
Autostart
√ √ × √ √ × √ √ × × × ×
Rename
√ √ × √ √ × √ √ × × × ×
Write Protection
√ √ × √ √ × × × × × × ×
Edit
√ √ × √ √ × √ √ × √ √ ×
Fold/Unfold
√ √ × √ √ × √ √ × √ √ ×
Refresh
√ √ √ √ √ √ √ √ √ √ √ √
Multi-Line Selection
√ √ × √ √ × √ √ × √ √ ×
Create a Command
√ √ × √ √ × √ √ × × × ×
Set PC
√ √ × √ √ × √ √ × √ √ ×
Undo
√ √ × √ √ × √ √ × × × ×
Progra
File – Create
m √ √ × √ √ × √ √ × × × ×
editing
Copy
√ √ × √ √ × √ √ × × × ×
Cut
√ √ × √ √ × √ √ × × × ×
Paste
√ √ × √ √ × √ √ × × × ×
Edit
Paste
√ √ × √ √ × √ √ × × × ×
Reverse
Delete
√ √ × √ √ × √ √ × × × ×
Comment
√ √ × √ √ × √ √ × × × ×
Quick Create
√ √ × √ √ × √ √ × × × ×
Command

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-2
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Top/Botto
√ √ × √ √ × √ √ × √ √ ×
m
Select
Quick Line/Speci √ √ × √ √ × √ √ × √ √ ×
Navigati fied Line
on Position
√ × × √ × × √ × × √ × ×
Point
ToPC √ √ × √ √ × √ √ × √ √ ×

Insert √ √ × √ √ × √ √ × × × ×
Quick
Teach √ × × √ × × √ × × × × ×
Teach
J/L Quick
√ √ × √ √ × √ √ × × × ×
Switch
Refresh
√ √ √ √ √ √ √ √ √ √ √ √
Search
√ √ √ √ √ √ √ √ √ √ √ √
Create
√ √ × √ √ × √ √ × × × ×
Delete
√ √ × √ √ × √ √ × × × ×
Progra Edit
√ √ × √ √ × √ √ × × × ×
m data
Rename
√ √ × √ √ × √ √ × × × ×
Update Global Scope
√ √ × √ √ × √ √ × × × ×
Create
Shortcut √ √ × √ √ × √ √ × × × ×
Program
Comma
Create
nd √ √ × √ √ × √ √ × × × ×
Variable
View
√ √ √ √ √ √ √ √ √ √ √ √
Physical Physical
√ √ √ √ √ √ √ √ × × × ×
IO Digital IO
Physical
√ √ √ √ √ √ √ √ × × × ×
Analog IO
View
√ √ √ √ √ √ √ √ √ √ √ √
IO Virtual Virtual
√ √ √ √ √ √ √ √ × × × ×
detectio IO Digital IO
n Virtual
√ √ √ √ √ √ √ √ × × × ×
Analog IO
View
★ ★ ★ ★ ★ ★ × × × × × ×
Modify
System
Port √ √ × × × × × × × × × ×
IO
Number
Modify
√ √ × × × × × × × × × ×
Port Value
Homing
★ × × ★ × × ★ × × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
JOG Location
Manage manage Joint/Worl
ment ment d/User
Coordinat √ √ √ √ √ √ √ √ √ √ √ √
es
Switching

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-3
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Torque
√ √ √ √ √ √ √ √ √ √ √ √
Single
Turn √ √ √ √ √ √ √ √ √ √ √ √
Value
Set Single
Turn √ × × √ × × × × × × × ×
Value
Jog
√ × × √ × × √ × × × × ×
Settings
Switch
√ × × √ × × √ × × √ × ×
Tool
Switch
Reference
√ × × √ × × √ × × √ × ×
Coordinat
e System
Switch
Jogging √ × × √ × × √ × × √ × ×
Mode
Switch
Jogging
√ × × √ × × √ × × √ × ×
Coordinat
e System
View √ √ √ √ √ √ √ √ √ √ √ √
Tool Select
Alignme Alignment √ × × √ × × √ × × × × ×
nt Type
Activate
√ × × √ × × √ × × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
Modify
Target √ × × √ × × √ × × × × ×
Position
Modify
Number of √ × × √ × × √ × × × × ×
Homing Points
Modify
Sequence √ × × √ × × √ × × × × ×
Number
Teach √ × × √ × × √ × × × × ×

GO √ × × √ × × √ × × × × ×
View
Current √ √ √ √ √ √ √ √ √ √ √ √
Alarms
View
Historical √ √ √ √ √ √ √ √ √ √ √ √
Alarms
Clear
System
Alarm Historical √ √ × √ √ × × × × × × ×
Log
Alarms
View
Historical √ √ √ √ √ √ √ √ √ √ √ √
Alarms
Clear
Current √ √ √ √ √ √ √ √ √ √ √ √
Alarms

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-4
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Clear
√ √ × √ √ × × × × × × ×
Cache
Update
Log √ √ × √ √ × × × × × × ×
Export
√ √ × √ √ × × × × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
View
Robot √ √ √ √ √ √ √ √ √ √ √ √
Type
View
Workload √ √ √ √ √ √ √ √ √ √ √ √
Weight
View Tool
Load √ √ √ √ √ √ √ √ √ √ √ √
Weight
View
Basic
Remote √ √ √ √ √ √ √ √ √ √ √ √
Settings
Speed
Robot
Installatio √ √ × √ √ × √ √ × × × ×
n Type
API Mode
√ √ × √ √ × √ √ × × × ×
System
Time √ √ × √ √ × × × × × × ×
Settings
Program
Settings √ √ × √ √ × √ √ × × × ×
(All)
View
√ √ √ √ √ √ √ √ √ √ √ √
General
Collision Enable/Di
Settings
Detectio sable √ √ × √ √ × √ √ × × × ×
n Switch
Axis 1-6
√ √ × √ √ × √ √ × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
Enable/Di
Vibratio sable √ √ × √ √ × √ √ × × × ×
n Switch
Suppres Suppress
sion Range
Adjustme √ √ × √ √ × √ √ × × × ×
nt (Axis 1-
6)
View
√ √ √ √ √ √ √ √ √ √ √ √
Camera
Device √ √ × √ √ × √ √ × × × ×
Type
Camera
Visual
IP √ √ × √ √ × √ √ × × × ×
Settings
Address
Camera
Port √ √ × √ √ × √ √ × × × ×
Number
Vision
√ √ × √ √ × √ √ × × × ×
Type

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-5
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
View
√ √ √ √ √ √ √ √ √ √ √ √
Reset
(clear
single √ √ √ √ √ √ √ √ √ × × ×
servo
alarm)
Clear
servo
√ √ × √ √ × √ √ × × × ×
alarm
(axis 1-6)
Set Pn
parameter √ √ × √ √ × × × × × × ×
Servo
(axis 1-6)
manage
View
ment
version
√ √ × √ √ × √ √ × × × ×
informatio
n
Reset FN
★ ★ × ★ ★ × ★ ★ × × × ×
Import
★ ★ × ★ ★ × × × × × × ×
Backup
parameter ★ ★ × ★ ★ × × × × × × ×
settings
Restore
parameter ★ ★ × ★ ★ × × × × × × ×
settings
View
√ √ √ √ √ √ √ √ √ √ √ √
Status
Kernel √ √ √ √ √ √ √ √ √ √ √ √
monitoring
Diagnos
Function
tic √ √ √ √ √ √ × × × × × ×
input
Parameter
√ √ √ √ √ √ × × × × × ×
input
View
√ √ √ √ √ √ √ √ √ √ √ √
Update
System √ √ √ √ √ √ √ √ √ × × ×
log
Diagnos
View log
tic √ √ √ √ √ √ √ √ √ × × ×
Export log
√ √ √ √ √ √ √ √ √ × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
Slave
Slave type
Configur √ √ √ √ √ √ √ √ √ × × ×
ation
Slave
√ √ √ √ √ √ √ √ √ × × ×
model
View
√ √ √ √ √ √ √ √ √ √ √ √
Teach
pendant ★ ★ × ★ ★ × ★ ★ × × × ×
Advanc
Local switch
ed
Settings Control
Setup
system ★ ★ × ★ ★ × ★ ★ × × × ×
switch
Rob key
√ √ × √ √ × × × × × × ×
redefine

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-6
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Robot
√ √ × √ √ × × × × × × ×
naming
Set
screen √ √ × √ √ × × × × × × ×
brightness
Teach
pendant
timeout √ √ × √ √ × × × × × × ×
without
operation
View
√ √ √ √ √ √ √ √ √ √ √ √
External
communic
Network ation √ √ × √ √ × √ √ × × × ×
Settings (LAN3/LA
N4)
Internal
communic √ √ × × × × × × × × × ×
ation
View
√ √ √ √ √ √ √ √ √ √ √ √
Unlock
√ √ × √ √ × × × × × × ×
Lockup
Settings Set
√ √ × √ √ × × × × × × ×
Clear
√ √ × √ √ × × × × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
System
√ √ × √ √ × × × × × × ×
upgrade
Backup/ex
Controll √ √ × √ √ × × × × × × ×
port
er
Update
Upgrad √ √ × √ √ × × × × × × ×
e
Restore
√ √ × √ √ × × × × × × ×
Auto
backgroun √ √ × √ √ × × × × × × ×
d backup
Hardware Test √ √ √ √ √ √ √ √ √ √ √ √
View
√ √ √ √ √ √ √ √ √ √ √ √
Enable TP
√ √ × √ √ × × × × × × ×
Update
Select
TP Teach
√ √ × √ √ × × × × × × ×
Update Pendant
Program
Restart
★ ★ × ★ ★ × × × × × × ×
Select File
√ √ × √ √ × × × × × × ×

Software Licensing √ √ × √ √ × × × × × × ×
Multi- View
User √ √ √ √ √ √ √ √ √ √ √ √
station
Applicat
Reserva Multi-
ion √ √ √ √ √ √ √ √ √ √ √ √
tion station

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-7
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote
Reservati
on State
View
Multi-
station
√ √ × √ √ × √ √ × × × ×
Reservati
on Enable
View
√ √ √ √ √ √ √ √ √ √ √ √
Camera
√ √ × √ √ × √ √ × × × ×
Selection
9-Point Point
√ √ × √ √ × √ √ × × × ×
Calibrati Selection
on Nine-point
Calibratio √ √ × √ √ × √ √ × × × ×
n Enable
Help
√ √ × √ √ × √ √ × × × ×

Positioner √ √ √ √ √ √ √ √ √ √ √ √

Polyhedron Area √ √ √ √ √ √ √ √ √ √ √ √
View
√ √ √ √ √ √ √ √ √ √ √ √
Enable
√ √ √ √ √ √ √ √ √ × × ×
conveyor
Pulse
equivalent √ √ √ √ √ √ √ √ √ × × ×
calibration
Conveyor
belt
√ √ √ √ √ √ √ √ √ × × ×
parameter
Convey
s
or
Follow
tracking
parameter √ √ √ √ √ √ √ √ √ × × ×
s
Trigger
parameter √ √ √ √ √ √ √ √ √ × × ×
s
Vision
parameter √ √ √ √ √ √ √ √ √ × × ×
s
Virtual
√ √ √ √ √ √ √ √ √ × × ×
conveyor
View
√ √ √ √ √ √ √ √ √ √ √ √
Mainten Refresh
√ √ × √ √ × √ √ × × × ×
ance
Informat Prompt
√ √ × √ √ × √ √ × × × ×
ion log
Reset
√ √ × √ √ × √ √ × × × ×
View
√ √ √ √ √ √ √ √ √ √ √ √
Modify
test √ √ × √ √ × √ √ × × × ×
Run-in
duration
Test
Reset
√ √ × √ √ × √ √ × × × ×
Save
√ √ × √ √ × √ √ × × × ×

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-8
ER 系列工业机器人操作手册 Chapter 9 Annexes

√Access Granted×Access Denied★Secondary Password Confirmation

Manufacturer Administrative Programming Operational


Function Personnel Personnel Personnel Personnel

Man Au Rem Man Au Rem Man Au Rem Man Au Rem


ual to ote ual to ote ual to ote ual to ote

scara fast calibration √ × × √ × × × × × × × ×

9.2 ModbusTCP control interface data sheet


Register
Local address Definition Description Remark
address

MBDataBuffer[0] 40001
Reserved
MBDataBuffer[1] 40002 Global speed

Response made by
MBDataBuffer[2] 40003
reading/writing flag bit
 bit0: manual operation
mode
 bit1: auto operation
mode
 bit2: remote operation
mode
MBDataBuffer[3] 40004 Rob 状态信息
 bit3: enable state
 bit4: running status
 bit5: error status
 bit6: program running
status
 bit7: robot is moving

Rob MBDataBuffer[4] 40005

Send MBDataBuffer[5] 40006


For example, the
MBDataBuffer[6] 40007 loaded project file is
named as
MBDataBuffer[7] 40008
estun.test, then the
MBDataBuffer[8] 40009 The name of the value of each
currently loaded 20 bytes register is:
MBDataBuffer[9] 40010 project
[4]0x6573,
MBDataBuffer[10] 40011 [5]0x7475,
[6]0x6E2E,
MBDataBuffer[11] 40012 [7]0x6D61,
[8]0x696E,
MBDataBuffer[12] 40013

MBDataBuffer[13] 40014

MBDataBuffer[14] 40015 SimDout[1-16] DO 1-16

MBDataBuffer[15] 40016 SimDout[17-32] DO 17-32

MBDataBuffer[16] 40017 SimDout[33-48] DO 33-48

MBDataBuffer[17] 40018 SimDout[49-64] DO 48-64

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-9
ER 系列工业机器人操作手册 Chapter 9 Annexes

Register
Local address Definition Description Remark
address
 bit1: Emergency stop
command was executed
successfully
 bit2: Starting command
was executed
successfully
 bit3: Stopping command When the command
was executed register is 0, bit[0] is
successfully 1; and when the
 bit4: Reset command command register
was executed has sent a
successfully command, bit[0] is 0
 bit5: The upward
enabling command After the command
succeeded is successfully
 bit6: The downward executed, the
enabling command corresponding
Rob 执行命令状 succeeded position is 1
MBDataBuffer[18] 40019
态  bit7: The command to
load project was
successful When control is
regained and the
 bit8: The command to command is 0, the
log off project was previous success bit
successful will be cleared
 bit9: Set global speed
successfully
 bit10: Waiting for control Therefore, the
rights status code of the
 bit11: Waiting command command that can
be issued is 0x801
 bit12: Wait the command
to be executed
 bit13: Command
execution error
 bit14: Reserved
 bit15: Reserved
MBDataBuffer[19] 40020

…… Every two registers


correspond to one
…… For users AO 1-16
analog point
…… (floating point).

MBDataBuffer[50] 40051
 bit2 (0→0x4): Robot
All commands are
program starts triggered on the
 bit3 (0→0x8): Robot rising edge, which
program stops work together with
 bit4 (0→0x10): Robot the reading/writing
flag bit 0x11
error resets
(commands can be
 bit7 (0→0x80): Load issued when the
Rob operational
Rob MBDataBuffer[51] 40052 project file bit8 (0→ command status bit
commands
Receive 0x100): Logout current is 0x801)
project file Note: In case of a
 bit9 (0→0x200): Set command response
global speed failure, reset the
 bit10 (0→0x400): Reset state machine using
bit1, and then issue
the command state
the new commands
machine
MBDataBuffer[52] 40053 Global speed

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-10
ER 系列工业机器人操作手册 Chapter 9 Annexes

Register
Local address Definition Description Remark
address
value

MBDataBuffer[53] 40054

MBDataBuffer[54] 40055

MBDataBuffer[55] 40056

MBDataBuffer[56] 40057

MBDataBuffer[57] 40058 Set the project


20 bytes
MBDataBuffer[58] 40059 name

MBDataBuffer[59] 40060

MBDataBuffer[60] 40061

MBDataBuffer[61] 40062

MBDataBuffer[62] 40063

MBDataBuffer[63] 40064 SimDI[1-16] DI 1-16

MBDataBuffer[64] 40065 SimDI[17-32] DI 17-32

MBDataBuffer[65] 40066 SimDI[33-48] DI 33-48

MBDataBuffer[66] 40067 SimDI[49-64] DI 48-64

MBDataBuffer[67] 40068

…… Every two registers


correspond to one
…… For users AI 1-16
analog point
…… (floating point).

MBDataBuffer[98] 40099

Read and write 0x11 Open the rob


MBDataBuffer[99] 40100 the flag bit command to issue
permissions

MBDataBuffer[100] 40101

……
For user use
Read-write access
General …… (already open to
permission
internal PLC).
……

MBDataBuffer[1499] 41500

9.3 List of Alarm Information


Code Content Cause Solution
Setting system mode failed, - -
201
unsupported mode.
Switching system mode caused Switching the system mode
program alarm and stopped. while the system is in running
To resume operation, clear the
202 state will cause the system to
alarm
enter a stopped state and
generate an alarm message.
Switching to remote mode, Possible causes for this include:
program loading failed. 1. No program has been set for Perform the troubleshooting by
203 automatic loading. following the three possible
2. The project or program set for causes on the left.
automatic loading does not

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-11
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


exist.
3. The project or program set for
automatic loading contains
invalid variables.
Switching to remote mode, global - -
204
speed setting failed to start.
Failed to start program in remote
205
mode.
Internal problems for the system Contact the manufacturer
Failed to stop program in remote
206
mode.
Safety door opened, program 1. Check if the safety door signal
transitioned to pause state. is truly triggered.
The system has transitioned
2. Determine if the effective level
from running to paused state
connected is inconsistent with the
207 due to a valid signal input to the
effective level set in the system
safety door input port from
configuration interface.
external sources
3. Check if there is any
interference on site.
Failed to load program in multi-
208 station mode! Please check Internal problems for the system Contact the manufacturer
program correctness.
Disconnected from teach pendant, The system switches from
motion paused. running to paused when the
Check the network cable
209 network connection between the
connection.
controller and the teach pendant
is lost.
ExitCycle is only valid in non-
running state in remote mode,
motion paused. The external input function of For external valid signals, it is
ExitCycle is only effective in only valid when the robot is in a
210
remote mode and when the non-running state and in remote
robot is not in running state. mode.

Main management module 1


251
running abnormally.
Motion management module 2
252
running abnormally.
Instruction management module 3
253
running abnormally.
Communication module 4 running
254
abnormally.
PLC management module 5 Internal problems for the system Contact the manufacturer
255
running abnormally.
Vision management module 6
256
running abnormally.
On-site bus Modbus module 7
257
running abnormally.
601 configTable.cfg file failed to load.

602 userTable.cfg file failed to load.

Execution logic Control Possible causes:


1. Verify if the format of the logical
commands failed. 1. The logic control command
judgment command is correct.
format is invalid.
603 2. Check if the variables used in
2. The variable in the command
the command exist in the variable
does not exist or one of its
list.
attributes does not exist.
Command execution failed. Further investigation can be
604 - carried out based on the error
message.
Execution failed! There are Load the program to be run, and
forbidden instructions in the There are prohibited commands delete the forbidden commands
605 running run program. in the started run program. listed in the instruction manual
from the program that were taught
by the user.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-12
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


The variable in the command Check if the variables used in the
The variable in the judgment
606 does not exist, specifically the command exist in the variable list.
command does not exist
AREA variable.
Possible causes: Edit the erroneous command on
1. The command name is the Program editing interface, and
incorrect. investigate each possible cause
2. The command format is listed on the left side one by one.
incorrect.
607 Failed to load comand string 3. The variable name in the
command does not exist.
4. The variable attribute in the
command does not exist.
5. There are illegal characters in
the command.
608 Motion kernel cache is full - -

609 Failed to load program data Load the program directly from
Possible causes:
the engineering interface and
Failed to load run program data 1. The program variable file that
610 observe the warning messages
needs to be loaded does not
displayed during loading, then
Failed to load trigger program exist.
proceed with further
611 data 2. There are invalid data in the
troubleshooting based on the
program variable file.
information so provided.
Parsing failed! Program not The current program is not Load the program that needs to
612
loaded loaded, so the execution fails. be run before starting.
Failed to parse logical control Possible causes:
commands 1. The label name is duplicated.
2. The logical relationship Check the program flow
613 among if, elseif, and else is information taught based on the
mismatched, or endif is missing. possible causes listed on the left.
3. while and endwhile do not
match.
CALL command line changed, When switching from running to
please reload the project paused state, creating,
After completing the
modifying, or deleting call
614 modifications, reload the program
commands will result in this
and run it again.
error upon resuming the
program.
Failed to get call program file Possible causes:
when executing call 1. The program file to be called
does not exist.
Load the program that failed to be
2. The content length of the
called from the engineering
program file to be called
interface, observe the failure
exceeds the limit or the
615 information displayed, and
maximum length of a single
proceed with the next
command is exceeded.
troubleshooting based on this
3. The version number of the
information.
program file does not match the
current command system
version.
Required call program file does Check if the program to be called
The program file to be called
616 not exist exists from the engineering
does not exist.
interface.
Interrupting a circular arc is not It is forbidden to restart the robot Please switch to the stop state
617 allowed, cannot restart directly while it is paused during a before starting, such as to the line
circular motion. before the arc on PC.
The system supports a maximum The current program is already
Please kill the unused run
of eight programs running running eight programs
program before running a new
618 simultaneously simultaneously, which will result
one, or optimize the program
in this error upon executing run
structure on your own.
again.
kill and run programs do not The kill command can only be
match used to kill a program that has
619 Check the program structure.
been run, otherwise it will result
in this error upon execution.
Expression command execution - -
620
failed

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-13
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Robot zero is lost! Only In the case of a lost zero point,
Please return to the zero position
RefRobotAxis command is the system only allows the
621 before executing other
allowed to execute currently. execution of the RefRobotAxis
commands.
command.
TRIGGER command buffer is full. - -
622 Please ensure the program
structure is correct.
Variable type does not exist When executing a whole
assignment command on a
Make sure that the variable type
623 variable, the type of the variable
is defined in the variable type list.
being operated on is not defined
in the variable list.
Variable type does not match If the types of the variables on
either side of the equal sign in Confirm that the variable types on
624 the whole assignment command both sides of the equal sign are of
do not match, the assignment the same type.
will also fail.
RUN command is not allowed in Move the PC to the next line after
The "run" command is not
625 single-step mode the run command before
supported in single-step mode
executing.
Program is already running and You can kill the program first and
If the program is already in the
cannot be run again then run it, or log out and reload
626 "run" state, running the program
the program before running it
again will result in an error.
again.
TRIGGER command is not OnDistance and OnParameter Move the PC to the next line after
627 allowed in single-step mode trigger commands are not a non-OnDistance, OnParameter
supported in single-step mode. command before executing.
TRIGGER command execution
628 failed! Please check if the - -
command is valid
OnParameter trigger command
629 does not support this motion - -
command
WAIT commands are not allowed It is not allowed to use "wait" or Check the program structure to
between trigger and motion other time-related WAIT ensure that there are no WAIT
commands commands between commands between trigger
630 OnDistance/OnParameter commands.
trigger commands and motion
commands, otherwise the trigger
commands will be meaningless.
Motion commands are not allowed No motion commands are Remove the motion command
between SoftFloat commands allowed between the start and between the two.
631
end commands of a SoftFloat
command
SoftFloat stop command is The end command of a Check the program structure to
632 missing a SoftFloat start SoftFloat command must be see if there is a missing soft float
command before it paired with the start command. start command.
Multiple nested SoftFloat SoftFloat commands cannot be Check for nested usage.
633
commands are used nested
SoftFloat end command is missing SoftFloat end command must be Check the program structure to
634 used in conjunction with see if there is a missing soft float
SoftFloat Start command. end command.
AREA variable is not activated Conditional operations are not Activate the area variable in the
and condition check is not allowed allowed when the AREA variable variable interface or add an area
635
is not activated. activation command in a suitable
position.
The maximum number of The maximum number of trigger Reduce the trigger commands for
TRIGGER commands for a single instructions supported for a a single trajectory.
636 track has been exceeded, and single path is 20, including both
execution has failed OnDistance and OnParameter
trigger instructions.
Failed to retrieve program variable Possible causes: Load the program directly in the
file 1. Program file loading fails project interface and investigate
when jumping to the next the warning messages displayed
637
program. during loading.
2. Program data acquisition fails
when jumping to the next

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-14
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


program.

BendTrack is stopped and cannot During the bending Set the program pointer to
be restarted synchronization process, direct another line before starting.
638
restart is prohibited after
stopping.
OnDistance trigger command The motion command is not Contact the manufacturer or use
does not support this motion included in the list of supported the correct motion command.
command commands for OnDistance
639 trigger command. Please use
this trigger command according
to the supported command
table.
TRIGGER command execution An error will occur if the number Check the program structure to
failed. of AddDo commands or trigger see if there is a trigger or AddDo
640 commands waiting to be command that blocks execution.
executed exceeds the maximum
limit (1000) in the cache.
The current command does not During execution in reverse, Set the PC to the previous line of
support execution in reverse certain commands are restricted the command and perform a
641
and only a subset of commands reverse operation.
are supported.
The label to be jumped to does The label to be jumped to is not Check if the label actually exists.
642
not exist defined in the current program.
There are prohibited commands During the tracking mode, only Optimize the program according
running in the tracking mode some commands are supported. to the supported command list for
For detailed information on the the tracking state in the manual.
643
supported commands, please
refer to the relevant chapter in
the manual.
The follow process has stopped. If the system stops during the 1. Exit the current coordinate
Please restart from the motion tracking mode and is still in the system by setting the PC to the
command with the user coordinate moving coordinate system, for MovLSyncQuit command and
system safety reasons, it is required to then move to the specified line.
644 restart after PC to the motion 2. Switch the user coordinate
command with the user system to the one used for the
coordinate system. specific line in the position
interface, and then move to the
specified line.
The label to be jumped to after the MovLSync command does not Check the relevant commands
645 tracking failure cannot be empty specify the label to be jumped and add jump labels.
to.
RUN and KILL commands are not Delete RUN and KILL commands.
646 -
supported in Global Program
CALL commands in Global Check and modify the CALL
Program do not support calling command.
647 -
programs other than Global
Program
The AddDo command execution Check the cause why the
"AddDo" command failed to
failed command cannot be executed,
648 execute successfully within 2
such as the IO being controlled
seconds.
elsewhere.
Online load tuning commands are Load tuning related commands Run the load tuning commands
not allowed to be executed in do not support single-step again in continuous automatic
649
single-step mode. execution. mode or continue to run the next
line of the command.
The CALL command cannot call The current program is named
the current program itself. "prog1". If the program contains
a "CALL prog1" command, an Modify the CALL command or
650
error 650 will be reported program structure.
because "CALL" cannot call the
program it is currently in.
The number of parameters in the An internal system problem
651 Contact the manufacturer
command is abnormal. occurred.
The position point data in the The position point parameter Edit the commands in the
652 command is abnormal. passed in the command is program interface and check
abnormal, and a non-structured whether the position parameter

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-15
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


parameter was passed in. passed in is a coordinate point
variable.
The position point type in the The type of the position point Please verify if the position
command parameter does not parameter passed in the parameter being passed in the
653 match command is inconsistent with command is a coordinate variable
the defined parameter type. by editing the command in the
program interface.
The position point type in the The position point parameter
command parameter cannot be passed in the command is
654
found undefined in the variable type
list.
The value of an item in the The attribute value of an item in Contact the manufacturer
position point parameter cannot the position point parameter
655 be found passed in the command was not
found in the attribute value
definition of the variable type.
The speed parameter in the
656 - -
command parameter is abnormal.
The transition type parameter in The passed type parameter Check the transition type
the command parameter is must be one of "RELATIVE", parameter of the command to
657 abnormal "ABSOLUTE", or "FINE". ensure that it is one of
"RELATIVE", "ABSOLUTE", or
"FINE".
The trigger parameter in the The passed trigger type Verify that the trigger type
command parameter is abnormal. parameter must be one of parameter of the command is one
658 "DITrig", "TorqTrig", "SIMDITrig", of "DITrig", "TorqTrig",
"AITrig", or "SIMAITrig". "SIMDITrig", "AITrig", or
"SIMAITrig".
The AddDo type parameter in the The "AddDo" type parameter You can also edit the AddDo type
command parameter is abnormal. passed in the command must be parameter in the program
659
in the form of a string. interface to ensure that it is
formatted correctly.
The speed variable data in the The speed variable parameter Please check if the speed
command parameter is abnormal passed in the command is parameter being passed in the
660 abnormal, and a non-structured command is a speed variable by
parameter was passed in. editing the command in the
program interface.
The speed variable type in the The type of the speed variable Verify that the transition
command parameter does not parameter passed in the parameter being passed in the
661 match command is inconsistent with command is a transition variable
the defined parameter type. by editing the command in the
program interface.
The speed variable type in the The speed variable parameter
command parameter cannot be passed in the command is
662
found undefined in the variable type
list.
The value of An item in the speed The attribute value of an item in Contact the manufacturer
variable parameter cannot be the speed variable parameter
663 found passed in the command was not
found in the attribute value
definition of the variable type.
Transition variable data in the The transition variable
command parameter is abnormal parameter passed in the
664 command is abnormal, and a
When editing the command in the
non-structured parameter was
program interface, check whether
passed in.
the passed transition parameter is
Transition variable type in the The type of the transition
a transition variable
command parameter does not variable parameter passed in
665
match the command is inconsistent
with the defined parameter type.
Transition variable type in the The transition variable
command parameter cannot be parameter passed in the
666
found. command is undefined in the
variable type list. Contact the manufacturer
Value of an item in the transition The attribute value of an item in
667 variable in the command the transition variable parameter
parameter cannot be found passed in the command was not

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-16
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


found in the attribute value
definition of the variable type.
MODE type cannot be found in The "MODE" attribute of the
the POS point in the command position point parameter passed
668
parameter in the command is undefined in
the variable type list.
Value of an item in the MODE of The attribute value of an item in
the POS point in the command the "MODE" attribute of the
parameter cannot be found position point parameter passed
669
in the command was not found
in the attribute value definition of
the variable type.
Socket name in the command The socket name passed in the When editing the command in the
670 parameter is abnormal command must be a string data. program interface, re-enter the
socket name for the parameter.
IP address in the command The IP address passed in the When editing the command in the
671 parameter is invalid command must be a string data. program interface, re-enter the IP
address for the parameter.
Tool coordinate system parameter The tool coordinate system
in the command parameter is parameter passed in the When editing the command in the
672
abnormal command is invalid and is a program interface, check whether
non-table structure parameter. the passed tool coordinate
Tool coordinate system type in the The type of tool coordinate system parameter is a tool
command parameter does not system parameter passed in the coordinate system variable. If not,
673
match command does not match the please contact the manufacturer.
defined parameter type.
Tool coordinate system type in the The tool coordinate system
command parameter cannot be parameter passed in the
674
found command is not defined in the
variable type list.
Value of an item in the tool The attribute value of an item in
Contact the manufacturer
coordinate system in the the tool coordinate system
command parameter cannot be parameter passed in the
675
found command is not found in the
attribute value definition of the
variable type.
The user coordinate system The user coordinate system
parameter in the command parameter passed in the When editing the command in the
676
parameter is abnormal command is invalid and is a program interface, check whether
non-table structure parameter. the passed user coordinate
The user coordinate system type The type of user coordinate system parameter is a user
in the command parameter does system parameter passed in the coordinate system variable. If not,
677
not match command does not match the please contact the manufacturer.
defined parameter type.
User coordinate system type in The user coordinate system
the command parameter cannot parameter passed in the
678
be found command is not defined in the
variable type list.
Value of an item in the user The attribute value of an item in
Contact the manufacturer
coordinate system parameter is the user coordinate system
not found in the command parameter passed in the
679
parameters. command is not found in the
attribute value definition of the
variable type.
Type of load inertia parameter in The type of load inertia When editing the command in the
the command parameters is parameter passed in the program interface, check whether
mismatched. command does not match the the incoming payload inertia
680
defined parameter type. parameter is a payload inertia
variable. Contact the
manufacturer.
Type of load inertia parameter in The load inertia parameter
681 the command parameters cannot passed in the command is not
be found. defined in the variable type list.
An item in the load inertia The attribute value of An item in Contact the manufacturer
parameter cannot be found in the the load inertia parameter
682
command parameters. passed in the command is not
found in the attribute value

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-17
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


definition of the variable type.

Type of swing arc parameter in The parameter of the command When editing the command in the
the command parameters is for the swing arc type is program interface, check whether
683 mismatched inconsistent with the defined the incoming swing arc type
parameter type. parameter is a swing arc variable.
Contact the manufacturer.
Type of swing arc parameter in The parameter of the command
684 the command parameters cannot for the swing arc type is not
be found defined in the variable type list.
An item in the swing arc The attribute value of an item in
Contact the manufacturer
parameter cannot be found in the the parameter of the swing arc
685 command parameters type passed in the command is
not found in the attribute value
definition of the variable type.
External TCP coordinates The external TCP coordinate
parameter in the command system parameter passed in the When editing the command in the
686
parameters is abnormal command is abnormal and is a program interface, check whether
non-table structure parameter. the incoming external TCP
Type of external TCP coordinate The type of the external TCP coordinate system parameter is
system parameter in the coordinate system parameter an external TCP coordinate
687 command parameters is passed in the command is system variable. Contact the
mismatched inconsistent with the defined manufacturer.
parameter type.
The type of external TCP The external TCP coordinate
coordinate system parameter in system parameter passed in the
688
the command parameters cannot command is not defined in the
be found. variable type list.
An item in the external TCP The attribute value of an item in
Contact the manufacturer
coordinate system parameter the external TCP coordinate
cannot be found in the command system parameter passed in the
689
parameters command is not found in the
attribute value definition of the
variable type.
Coordinate system parameter The coordinate system
data in the command is abnormal parameter passed in the
690 When editing the command in the
command is abnormal and is a
program interface, check whether
non-table structure parameter.
the incoming coordinate system
Type of coordinate system The type of the coordinate
parameter is a coordinate system
parameter in the command system parameter passed in the
691 variable.
parameters is mismatched command is inconsistent with
the defined parameter type.
Type of coordinate system The coordinate system
parameter in the command parameter passed in the
692
parameters cannot be found command is not defined in the
variable type list.
An item in the coordinate system The attribute value of an item in
Contact the manufacturer
parameter cannot be found in the the coordinate system
command parameters parameter passed in the
693
command is not found in the
attribute value definition of the
variable type.
The variable for the positioner
Abnormal variable for the coordinate system parameter
694 positioner coordinates in the passed in the command is
command parameter abnormal and is a non-table When editing the command in the
structure parameter. program interface, check if the
The type of positioner coordinate The type of the positioner passed-in positioner TCP
system parameter in the coordinate system parameter parameter is a valid TCP variable.
695 command parameters is passed in the command is
mismatched inconsistent with the defined
parameter type.
Type of positioner coordinate The positioner coordinate
system parameter in the system parameter passed in the
696
command parameters cannot be command is not defined in the Contact the manufacturer
found variable type list.
697 A certain item in the positioner The attribute value of an item in

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-18
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


coordinate system parameter the passed-in coordinate system
cannot be found in the command parameter in the command was
parameterS not found in the attribute value
definition of the variable type.
Format of the label to be jumped The passed-in label parameter When editing the command in the
698 to in the command is incorrect for jumping must be a string- program interface, select a new
type parameter. label
Error in moving coordinate system The moving coordinate system
parameter in command parameter passed in the
699 When editing the command in the
parameters command is abnormal and is a
program interface, check if the
non-tabular structure parameter.
passed-in coordinate system
Moving coordinate system type in The moving coordinate system
parameter is a moving coordinate
command parameters does not parameter passed in the
700 system variable.
match command is inconsistent with
the defined parameter type.
Cannot find moving coordinate The moving coordinate system
system type in command parameter passed in the
701
parameters command is not defined in the
variable type table.
Value for an item in moving The attribute value of an item in
coordinate system parameter not the passed-in moving coordinate
702 found system parameter was not found
in the attribute value definition of
the variable type.
Contact the manufacturer
Velocity type parameter in
703 -
command parameters is invalid
Frequency sweep parameter in
704 -
command parameters is invalid
Frequency sweep type in
705 command parameters does not -
match
Cannot find frequency sweep type
706 -
in command parameters
Cannot find DAPOS variable in For the MovJOffset command,
tool coordinate system in the DAPOS variable cannot be
707 -
command parameters selected for the tool coordinate
system.
INTERRUPT commands can only INTERRUPT commands such Check if IEnter, IExit, and
be executed in INTERRUPT as IEnter, IExit, MovToIPos, and ExitCycle INTERRUPT
800
program ExitCycle can only be executed commands are used in the main
in the INTERRUPT program. program or run program.
Execution failed! Prohibited Not all commands are supported Refer to the INTERRUPT
command found in INTERRUPT in the INTERRUPT program. Function section to determine if
801 program other commands are used
according to the list of supported
interrupt commands.
Motion commands in INTERRUPT Interrupt programs are divided Teach the IEnter command in the
program can only be executed into INTERRUPT execution INTERRUPT program in a
after IEnter command mode and INTERRUPT parallel reasonable way.
mode. Only INTERRUPT
execution mode can execute
802
motion commands, that is, the
INTERRUPT program must first
execute IEnter to enter the
interrupt execution mode before
executing motion commands.
MovToIPos command must IEnter + motion command + Check the command structure of
precede IExit command in MovToIPos + IExit must be the INTERRUPT program and
803 INTERRUPT program taught in order, otherwise an teach the commands in the
execution error will occur. correct order of IEnter + motion
command + MovToIPos + IExit.
IEnter command in INTERRUPT There are three combinations of
program must be paired with IExit INTERRUPT program:
or ExitCycle command IEnter +IExit
804 -
IEnter+ExitCycle
IEnter+ExitCycle+ IExit
If they are not paired, the

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-19
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


system will report an error.

Interrupt programs do not support The INTERRUPT program only


805 CALLGlobal Program support CALL to other programs -
in the same project.
The number of call nesting levels
in the teaching program has
851 - Contact the manufacturer
reached the system limit. Please
reload the program to run it again
3D vision information sending The SendMessage command
failed. Please confirm that the fails to send commands to the
1. Please check if the network
901 camera is connected camera, which is usually caused
cable between the system and
by a disconnection between the
the camera is connected properly.
system and the camera
2. Verify that the network
2D vision snapshot command The trigCam command failed to
configuration between the camera
trigger failed send a command to the camera,
and the controller system is
902 which is usually due to a
correct.
disconnection between the
system and the camera end
Calculation failed. Please confirm Check if the points that need to
The 9-point calibration
that the position data is correct be calibrated are reasonable and
903 calculation fails, and the input
consider re-calibrating if
point data is invalid
necessary.
APOS to CPOS conversion failed Possible causes:
1. The conversion fails when the 1. Check the current system
951 kernel is in an error state. status
2. Waiting for the conversion 2. Contact the manufacturer
result exceeds the timeout.
CPOS to APOS conversion failed Possible causes:
1. The conversion fails when the 1. Check the current system
952 kernel is in an error state. status
2. Waiting for the conversion 2. Contact the manufacturer
result exceeds the timeout.
CPOS to CPOS conversion failed Possible causes:
1. The conversion fails when the 1. Check the current system
953 kernel is in an error state. status
2. Waiting for the conversion 2. Contact the manufacturer
result exceeds the timeout.
Bit operation failed! Bit operations The parameter carried by the bit Verify that the value in the current
954 cannot be performed on negative operation commands must be a Bit operation command is a
numbers positive number. positive number.
The current palletizing count has The current palletizing count in
exceeded the maximum the stacking variable cannot
955 -
palletizing quantity exceed the maximum stackable
quantity
Placement failed. The placement 1. The current pallet count can be
has already been filled reset by executing the
PalletReset command based on
The current palletizing count in the on-site situation.
the stacking variable has 2. Use commands such as
956 reached the maximum stackable PalletGet to move the workpiece
quantity, and placing operations placed at the current location to
cannot be performed anymore. another location.
3. Determine whether error
correction is necessary based on
the on-site situation.
Gripping failed. There are no 1
workpieces available for gripping The current palletizing count in 1. Perform the PalletReset
the palletizing variable has command according to the on-site
reached the minimum number of situation to reset the current pallet
957
grabbable items (0), and count.
grabbing operations cannot be 2. Determine whether error
performed anymore. correction is necessary based on
the on-site situation.
The palletizing reference position The passed palletizing reference Check if the starting point and
958 point does not exist point cannot be found in the entry point set in the Pallet
variable list. variable exist in the variable list.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-20
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


If they do not exist, create points
with the same name and re-teach
them, or modify the starting point
and entry point in the Pallet
variable directly.
Batch IO operation failed. The IO related 8421 commands must
starting port number is greater be read or written in the order of
than the ending port number the starting port number to the Ensure that the input starting and
959
ending port number (from small ending port numbers are valid.
to large), and the two cannot be
reversed.
HAND command reply failed Hand command execution timed
960 Contact the manufacturer
out.
1-8 output ports are system- The first 8 output ports are
controlled and cannot be operated system output ports, which are Use output ports 8 and higher for
961
by users automatically controlled by the the relevant operation.
program background.
The number of data read cannot The "number of data to be read"
Adjust the "read data count" to a
exceed the size of the array parameter value in Socket
smaller value based on the field
commands must be less than or
962 conditions, or select a variable
equal to the count value in the
with a larger "count" value in the
array variable selected in "array
"array return value."
return value".
The trigger value for IO can only Digital input ports only have two Modify the alarm command in the
be 0 or 1 attributes: high (1) and low (0). Program editing interface and set
963
the trigger value parameter to 0 or
1
AreaActivate or AreaDeactivate AreaActivate or AreaDeactivate
commands fail commands fail! For detailed Follow up with further
964 error information, see the error troubleshooting based on the
message reported together with alarm message.
it.
Parameters are invalid, please The "left/right hand setting" Edit the HAND command in the
check parameter in the Hand Program editing interface and
965
command can only be one of select appropriate left/right-hand
"Lefty," "Righty," or "Default." settings.
Unable to determine the precise Failed to get rollback point Check if the current condition
rollback position, operation cannot information during execution in satisfies the Full Reverse order.
966
continue reverse, so it cannot be rolled
back.
SetTargetPos command only -
967 works in conveyor mode without -
visual trigger
SetTargetPos command fails -
when the conveyor corresponding
968 -
to the motion coordinate system is
not enabled
Failed to calculate the user - -
969 coordinate system based on the
motion coordinate system value
970 Servo gain parameter setting fails - -

ARRAY commands: the number of - -


971 rows and columns must be
integers greater than 0
ARRAY commands: row or - -
972 column index exceeds the set
value
ARRAY commands: row and - -
973 column product need to be less
than the limit value (32767)
Current motion command in non- - -
974 global speed influence mode
requires setting of running speed
Damping acceleration limit - -
975
coefficient setting failed

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-21
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Damping filter parameter setting - -
976
failed
The maximum number of pulse - Please check the program
commands executed at the same structure to ensure that the
977 time has been exceeded number of pulse commands
executed simultaneously does not
exceed 20
Invalid variable type passed in - Please check if the parameter
978 type of the command is legal

Model identification data - -


979
acquisition failed
Conveyor enable status setting - -
980
failed
The descending height is not set The descent height is not set in Set the descent height.
981
in MovArch command the MovArch command
Parameter is invalid, the passed- Modify the parameters.
982 in value can only be between 1 -
and 100
Interrupt flag has been bound with Execute IDelete first, then
The INTERRUPT identifier can
another program, please unbind it execute IConnect command to
983 only be bound to one program at
before performing the binding bind the interrupt identifier with
a time.
operation the program.
Interrupt flag to be operated on is Before executing commands Execute IConnect command first
not bound related to INTERRUPT to bind the corresponding
identifiers such as ITimer, interrupt identifier with the
ISignalDI, ISignalSimDI, etc., it program.
is necessary to ensure that the
corresponding INTERRUPT
984 identifier has been bound to the
program by executing the
IConnect command, to avoid
triggering an interrupt without
being able to find the
corresponding interrupt program
to execute.
There are already interrupt
985 operation commands waiting to be Contact the manufacturer
executed in the queue
Return interrupt occurrence The IEnter + motion command +
position command can only be MovToIPos + IExit sequence
986 executed after IEnter trigger must be taught in order,
otherwise an error will occur
during execution.
IEnter command has been INTERRUPT program has the Teach the corresponding
executed, please execute IExit following three combinations: commands according to the alarm
987
command before executing IEnter IEnter + IExit, IEnter + cause.
command again ExitCycle, IEnter + ExitCycle +
IExit command can only be IExit.
988
executed after IEnter trigger If they do not appear in pairs,
ExitCycle command can only be the system will report an error.
989
executed after IEnter trigger
Failed to set torque limit value 1. Confirm whether the current
axis can be set;
2. Confirm whether the parameter
990
is reasonable;
3. Confirm whether the relevant
configuration file is normal.
The descending height is not set The descent height is not set in Set the descent height.
991
in MovLArch command the MovLArch command.
Failed to calculate the position The CalPosOffset command Please modify the parameter of
992 point offset result fails to calculate the positional the CalPosOffset command.
offset
Failed to get target relative - -
993
position
Failed to get reference coordinate - -
994
system

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-22
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution

995 Failed to get tool parameters - -

Failed to get coordinate system - -


996
parameters
Failed to move towards the The current joint position of the
5103 direction away from the positive robot is outside the positive soft
soft limit limit
Failed to move in the direction The current joint position of the
5104 away from the negative soft limit robot is outside the negative soft
limit Please jog the joint towards the
Manual movement has reached The current joint position of the limit inwards direction
5105 the positive soft limit robot has reached the positive
soft limit
Manual movement has reached The current joint position of the
5106 the negative soft limit robot has reached the negative
soft limit
Failed to jog near a singularity The robot is currently in the Jog the joint to the outside of the
5108 point singular area singularity area before performing
axis jog
Decelerate and stop when During jogging, the robot cannot
approaching the singularity point pass through the singularity
during jogging point and will decelerate and Please exit the singularity area
5109
stop when approaching the before performing axis jog
singularity position within a
certain range.
Parameter configuration error, System safety verification.
5110 Contact the manufacturer
unable to jog
Jogging parameter settings are The jog length is too large. The maximum length and angle of
5111 out of range jog is 10mm and 1 degree,
respectively
Multiple-axis jogging is not Multiple-axis JOG with external Multi-axis JOG is not supported
currently allowed TCP/tool changer, while by the one-point alignment,
5112
adjusting orientation to external TCP/positioner, and
alignment. posture
5115 Manufacturer-reserved alarm Software internal error
Contact the manufacturer
5116
The system does not accept start The system does not accept Please check the home status of
commands until it is zeroed start command without homing all axes. The system needs to be
5121
homed on all axes before starting
the program
The maximum speed The system maximum speed is
5122
configuration of the system is zero configured incorrectly
The acceleration configuration of The system acceleration is
5123
the system is zero configured incorrectly Contact the manufacturer
Execution of motion commands is System safety verification
5125 not allowed in the current non-
automatic operation mode
Exceeded the latest start position Boundary verification during
5133 while tracking the target position, path following
no longer tracking in this cycle
Exceeded the latest synchronized
position while tracking the target Check the boundary parameters
5134
position, no longer tracking in this of the tracking command
cycle
Exceeded the follow boundary
5135 while tracking the target position,
no longer tracking in this cycle
Exceeded the robots reachable The path tracking exceeds the
space in the transition segment robots reachable space
5136
while tracking, no longer tracking Check the motion coordinate
in this cycle system of the tracking command
The programming segment of the and the target position of the
track operation exceeds the tracking command
5137
reachable space of the robot, and
will not track this time

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-23
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


The velocity planning of the System safety verification
transition segment of the tracking
5138
operation is too small. Please
adjust the transition parameters
Modify the transition parameters
The displacement or time planning
of the track motion segment is too
5139
small. Please adjust the transition
parameters or reteach
The trajectory planning of the
synchronized lifting segment of
5140 the track operation is incorrect. Contact the manufacturer
Please modify the lifting height or
contact the manufacturer
The establishment of the transition
spline curve for the track
5141 Modify the transition parameters
operation is incorrect. Please
modify the transition parameters
The load mass exceeds the Load setting of payload exceeds
5161 allowable range the allowable range of the robot
model
The load center of mass exceeds Center of gravity setting of
5162 the allowable range payload exceeds the allowable
range of the robot model
The load inertia exceeds the Inertia setting of payload
5163 allowable range exceeds the allowable range of
Contact the manufacturer
the robot model
The servo parameter file has no Failure to load the servo
current parameter object address parameter configuration file
5171
and needs to upgrade the
parameter file
The servo parameter configuration Error in servo parameter
5172 is incorrect and the parameter file configuration
needs to be upgraded
The command is not responded to Perform SDO operation currently
Wait until the current command is
5173 because the EtherCAT SDO
finished before proceeding
command is currently running
5181 Error opening log file

The memory for writing log is too


5182
large
The prepared log data is
5183 System safety verification
overflowing
Error opening motion control data Contact the manufacturer
5184
file
Error opening translation mirror
5185
log file
Error opening servo parameter Failure to load the servo
5186
backup file parameter backup file
The current motion state does not The current system is in a non-
Switch the system to idle state
5195 respond to this command idle state and cannot respond to
before executing the command.
the command
The position after interrupt System safety verification
5196 recovery is inconsistent with the Contact the manufacturer
position at the time of the interrupt
The remaining small arc of this
segment will be executed as a
5197
straight line after the interrupt
recovery
The system does not respond to This is an interrupt process status
5198 the interrupt command in prompt, no action is needed:
abnormal operating state
The interpolation does not
5199 respond to the interrupt command
in abnormal operating state
The axis number exceeds the The set axis number is beyond
Make sure the axis number is
5200 allowable range and does not the range of the robot body
correctly set
respond to this command

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-24
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


The current system state does not Possible causes:
respond to this command 1. Running commands/manual
commands/alignment
commands/homing
commands/coordinate system
selection/single-turn value
settings are not executed when
the system is not idle
2. The continue command/servo
Pn parameter setting is not
Switch the system to the
executed when the system is not
5201 appropriate state before
paused
executing the command
3. Follow commands are not
executed when the system is not
in motion
4. Follow parameters/Conveyor
parameters setting
command/Collision Detection
parameter setting/Vibration
Suppression parameter setting
are not executed when the
system is in motion
The current system mode does Jogging is not supported in non- Switch to manual mode before
5202
not respond to this command manual mode jogging
The virtual axis does not respond The current axis is configured as This operation is not allowed for
5203
to this command a virtual axis virtual axes
The command is not responded to Possible causes: Execute commands after servo
when the servo is not energized 1. Homing command is excitation
executed when the servo is not
5204 energized
2. Running command is
executed when the servo is not
energized
The command is not responded to After clearing the E-stop signal,
when the E-stop is pressed please ensure that the external
5205 E-stop is pressed
environment is safe before
releasing the E-stop signal
The current alarm level does not 1. If the system is in a severe
respond to this command Possible causes: alarm state and the alarm
1. The system is in a serious information cannot be cleared,
alarm state, and the alarm please restart the controller
5206 information cannot be cleared at 2. If the system is in an alarm
this time state but the alarm information
2. The system is in an alarm can be cleared, please clear the
state and cannot be energized alarm before executing the
excitation operation
The command is not responded to Possible causes:
Check whether the visual
when the visual target object 1. Visual communication is not
communication and visual target
5207 queue is empty connected
points are sent to the controller in
2. The visual target point has not
a timely manner
been sent
The command is not responded to
5208 when the count of robot position Robot safety verification Contact the manufacturer
points exceeds the range
The command is not responded to
Please check the position
5209 when the robot position point Robot position point error
information
exceeds the motion range
5210 Alarms reserved by manufacturer Software internal error Contact the manufacturer
System diagnosis is currently in System diagnosis in progress
5212 progress and cannot be Please wait and try again later
diagnosed again
Only SCARA supports left- and The current robot model is not a Check the machine model
right-hand switching, which is not SCARA model
5213
supported by the current machine
model
5214 The CANOpen communication The CANOpen communication Check the communication type

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-25
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


type does not support this type does not support this
command command
The command is not responded to The number of PLC axes
when the current PLC axis exceeds the configured number
5215 Contact the manufacturer
number exceeds the range.
Please check the configuration
The servo power is not enabled, The servo main power is not Confirm that the main power of
5218
please energize again enabled the servo is enabled
The command is not responded to The system is currently in the Please wait and try again later
5219 when the system is in the process homing process
of homing
The coordinate system for JOG System safety verification
does not match the reference
5220 Contact the manufacturer
coordinate system, and JOG
cannot be performed
Condition trigger was not
Conditional trigger not timely, do
detected in time. Possible 1. Set the trigger time correctly
not increase the speed ratio
5221 causes: The execution time of 2. If it does not affect the use,
during motion, adjust the trigger
the current segment is shorter ignore the prompt message
time if the ratio is not increased
than the trigger setting time
Torque setting value is too small. Torque percentage settings in
Increase the torque ratio
Please increase the torque SetCartDyn or SetJointDyn
5222 appropriately in the SetCartDyn or
percentage setting in SetCartDyn commands
SetJointDyn command
or SetJointDyn.
The number of spiral turns is too Excessive number of spirals 1. Teach the spiral path in two or
large It is recommended to teach may result in slow spiral motion more segments;
5230 in segments (over 100 spirals) 2. If it does not affect the motion,
you can ignore the alarm
message
The Search index value exceeds Axis number exceeds the range The axis number is out of range,
5235 the range, and the Search please check the parameters
function is not executed
The Search trigger value is The torque value of the The torque value in the command
5236 negative, and the Search function command parameter is set parameter should be positive
is not executed improperly
Safety zone contains a pause Start command received while When starting through
signal and will not respond to the the area pause signal is active. commands, the pause signal in
5237
command the safety zone should be reset
first
DMC is not enabled to load model
5241
parameter files
DMC failed to load dynamic model
5242
parameters
DMC failed to load VBVibration
5243
Suppression model parameters
DMC failed to load nominal model
5244
parameters for robot links
The gear ratio for DMC
5245
transmission parameters is zero
The maximum joint speed for
5246 DMC transmission parameters is
zero
The rated torque for DMC
5247 System safety check Contact the manufacturer
transmission parameters is zero
The overload rating for DMC
5248
transmission parameters is zero
The number of DMC dynamic
5249
axes is out of range
The model parameter file is not
5250 initialized during DMC dynamic
calculation
The time parameter for DMC
5251
Vibration Suppression is zero
Frequency calculation for DMC
5252
Vibration Suppression is abnormal
The number of axes for DMC
5253
robots is set to zero

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-26
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


DMC failed to load ISVibration
5254
Suppression model parameters
DMC failed to load Vibration
5255
Suppression model parameters
The tool or load mass for DMC Check if the parameters for tool or
DMC detected negative value
5256 cannot be negative payload mass are incorrectly
for tool or payload mass settings
entered
The load setting for DMC cannot DMC detected negative value Check if the parameters for full
5257
be negative for full payload mass settings payload mass are incorrect
[RC] Fine interpolation data cache
5258 is empty Please contact the
manufacturer
[Sg] Fine interpolation data cache
5259 is empty Please contact the
manufacturer
The control axis number for DMC
5260 does not match and the library file
needs to be upgraded
The number of DMC functions
5261 does not match and the library file
needs to be upgraded
The number of parameters for
DMC function does not match and
5262
the library file needs to be
upgraded
The number of structure variable
types for DMC does not match
5263
and the library file needs to be
upgraded
The size of DMC structure does
5264 not match and the library file
needs to be upgraded
The number of enumeration
variable types for DMC does not
5265 System safety check Contact the manufacturer
match and the library file needs to
be upgraded
The number of elements for DMC
enumeration does not match and
5266
the library file needs to be
upgraded
Unknown error for DMC, and the
5267
library file needs to be upgraded
[RC] Fine interpolation cache
5268
parameter configuration failed
[Sg] Fine interpolation cache
5269
parameter configuration failed
[Sg] Infinite rotation axis range
5270
configuration error
DMC does not support this robot
5271
type
DMC robot type does not match
5272
the number of axes
DMC servo parameter self-tuning
5273 function, motor rotor inertia
parameter setting out of range
DMC servo parameter self-tuning
function, maximum negative
5274
inertia ratio parameter of joint
setting out of range
DMC servo parameter self-tuning
function, low-speed gain ratio
The proportional gain parameter
parameter setting out of range Adjust the gain ratio parameter
5275 in the AutoGainEnable
within a reasonable range
command is out of range

DMC servo parameter self-tuning The speed threshold parameter Adjust the speed threshold
5276
function, low-speed velocity in the AutoGainEnable parameter within a reasonable

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-27
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


threshold parameter setting out of command is out of range range
range
DMC servo parameter self-tuning
5277 function, type configuration item
out of range
DMC servo parameter self-tuning
5278 function, failed to obtain servo System safety check
parameters
DMC servo parameter self-tuning
5279 function, servo parameter Kv
calculation out of range
DMC servo parameter self-tuning
5282 function, servo parameter Ki
calculation out of range
DMC servo parameter self-tuning
5283 function, servo parameter Kp
calculation out of range
DMC servo parameter self-tuning System safety check
5284 function, negative inertia ratio
parameter calculation out of range
DMC servo parameter self-tuning
function, command for using this Contact the manufacturer
5285
function not allowed until
initialization is completed
DMC servo parameter self-tuning DMC servo parameter self-
5286 function, failed to retrieve servo tuning function is failed to get
parameter file parameters sevo parameter document
DMC servo parameter self-tuning
5287 function, failed to write servo
parameter to file
DMC servo parameter self-tuning
5288 function, servo Pn recovery time
parameter setting out of range
5289 DMC-Json file read failed System safety check

5290 DMC-Json file write failed

5291 DMC-ini file does not exist

DMC-ADP parameter calculation


5292
initialization failed
Collision Detection function is Collision function enabled
5401
enabled prompt Message prompts, no action
Collision Detection function is Collision function disabled required
5402
disabled prompt
PLC heartbeat exception Controller disconnected from Check if the heartbeat with the
5600
PLC PLC communication is normal
Encoder channel error Encoder channel number not
configured or exceeds the Please check the configuration
5601
maximum supported number for file parameters
this version
Encoder reduction ratio Encoder reduction ratio Please check the encoder
5602
denominator is zero denominator is zero reduction ratio parameter
Configuration parameter is Parameter missing or out of Please check the configuration
5603
missing or set incorrectly range in configuration file file parameters
Test run time has expired, please
5604 restart or contact the Contact the manufacturer
manufacturer
Inconsistency between startup
command and status after long-
5605 System safety check Contact the manufacturer
term standby and automatic
excitation
Excessive position deviation after Check if the robot position has
5606 long-term standby auto changed significantly after de-
demagnetization energization
Gear ratio denominator is zero Parameter cannot be zero Please check the configuration
5621
file parameters

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-28
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Electronic gear output overflow Encoder resolution setting error Please check if the encoder
5622 resolution is correct, or contact
the manufacturer
Lead screw pitch is zero Parameter cannot be zero Please check the configuration
5623
file parameters
Gear ratio out of range Gear ratio cannot exceed 500 Please check the configuration
5624
file
Command not responding when Axis number in single axis
5649 homing axis exceeds the range homing command exceeds the Please re-enter the axis number
configured range
Homing failed due to out-of-range Single-turn value of the single-
Please re-enter the single-turn
5650 single turn value axis homing command exceeds
value
the encoder resolution
Homing failed due to out-of-range 1. Try multiple homing attempts
servo feedback single-turn value 2. Adjust the servo PID
5651 System safety check
parameters
3. Contact the manufacturer
Error opening file for previous Loss of zero by the axis without Be cautious when homing based
5652 position before zeroing, please be limit block and failed to read on the actual position of the lost
cautious when homing position data by zero loss zero joint.
Swing amplitude setting out of Swing amplitude parameter set The swing amplitude parameter
5671
range: (0~100)mm unreasonably should be set between 0~100mm
Swing frequency setting out of Swing frequency parameter set The swing frequency parameter
5672
range: (0~10)Hz unreasonably should be set between 0~10Hz
Swing rotating angle around X Swing arc Rot_X parameter set The swing Rot_X parameter
5673 axis out of range: (-180~180)deg unreasonably should be set between -
180°~180°
Swing rotating angle around Z Swing arc Rot_Z parameter set The swing Rot_Z parameter
5674 axis out of range: (-180~180)deg unreasonably should be set between -
180°~180°
Swing stop time out of range: Swing arc StopTime parameter The StopTime parameter should
5675
(0~600000)ms set unreasonably be set between 0~600000ms
Current swing arc type not Swing arc type setting error Currently, only sine swing
supported: only sine swing (Type=1) and triangle swing
5676
(Type=1) and triangle swing (Type=2) are supported for the
(Type=2) are supported swing arc type
Possible causes:
1. The three points of the arc's
The starting point, middle point, starting point, end point, and
Please correctly teach the arc
5682 and target point of the arc are too auxiliary point are collinear
teaching points
close or collinear, please re-teach 2. There are identical points
among the arc's starting point,
end point, and auxiliary point
The arc length is too short, please Possible causes:
re-teach The starting point, end point, Please correctly teach the arc
5683
and auxiliary point of the arc are teaching points
all the same
Error calculating the arc curve,
5684 please re-teach the middle point
or target point
System safety check Contact the manufacturer
Error calculating the arc curve,
5685 please re-teach the middle point
or target point
Starting point of the command is The taught command starting Please modify the command start
5686 in a singular position point is in a singular position point outside the singularity
region
Ending point of the command is in The taught command end point Please modify the command end
5687 a singular position is in a singular position point outside the singularity
region
The command crosses a singular Crossing singular positions Please check the start and end
5688 position between the starting and between start and end points is point positions
ending points not supported
Transition type of the command is System safety check
5689 Contact the manufacturer
not supported
Command transition value is zero, The transition value is less than Modify the transition value
5690 please check the transition 0.01
variable

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-29
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Point pose exceeds limit, please Pose ABC exceeds ±180° Get the correct point pose
5691 ensure the pose is within +/- 180
degrees
Command speed value is zero, Command speed value is 0 Modify the command speed
5692
please check the speed variable
Command parsing exceeds Check the coordinate system, or
positive soft limit of joint, please modify the command start or end
Path is beyond positive joint soft
5693 check the reference coordinate point position
limit
system and the start/end point of
the command
Command parsing exceeds Check the coordinate system, or
negative soft limit of joint, please modify the command start or end
Path is beyond negative joint
5694 check the reference coordinate point position
soft limit
system and the start/end point of
the command
Failed to establish transition spline Modify the transition parameters
Error occurred while building
5695 curve, please modify the transition or contact the manufacturer
transition cubic spline
parameters
Command segment GJobID is not
5696
continuous
Command segment PJobID is not
5697
continuous
System safety check Contact the manufacturer
Command segment AJobID is not
5698
continuous
Command segment CJobID is not
5699
continuous
Only SCARA supports arc motion, The current model does not Only SCARA models support arc-
5700
current model does not support support arch-shaped motion shaped motion
Command segment motion type is
5701
not supported System safety check Contact the manufacturer
5702 Command parsing unknown error

Spiral step distance cannot be The step distance of spiral Please set the spiral line
5703 greater than spiral radius motion should be less than the parameters reasonably
spiral radius
Spiral start and end points are too The distance between the start Please set the spiral line
close to draw a half-circle, please and end points of the spiral line parameters reasonably or re-
5704
re-teach should be less than twice the teach the spiral point
spiral radius
Spiral teaching points cannot be The start point, auxiliary point, Please re-teach the spiral point
collinear and end point of the spiral line
5705
taught are collinear and cannot
draw a spiral path
Continuous rotation joints only Continuous rotation joints only
Continuous rotation joint does not support MC_MoveRelative and support MC_MoveRelative and
5706 support absolute displacement MC_MoveVelocity function MC_MoveVelocity function blocks
commands blocks. This alarm is only valid This alarm is only valid for PLC
for PLC axes axes
Transition segment speed Adjust the transition parameters
5707 planning is too small, please or WaitFinish ratio
adjust the transition parameters
Motion segment displacement or
time planning is too small, please
5708
adjust the transition parameters or
re-teach
Singular position exists during
5709 trajectory execution, please re- Re-teach or modify the point
System safety check
teach
Motion segment planning is not
sufficient for deceleration, please Adjust the transition parameters
5710 or WaitFinish ratio
adjust the transition parameters or
WaitFinish ratio
Motion segment planning is not
sufficient for deceleration, please
5711
adjust the transition parameters or
WaitFinish ratio

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-30
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Motion segment planning is not Modify the alarm segment to no
updated in time, please adjust the transition, or contact the
5712
transition parameters or manufacturer
WaitFinish ratio
The transition speed ratio of the Contact the manufacturer
motion segment has been
5713 planned to zero. Please contact
the manufacturer to modify the
motion planning method
Joint limit coupling soft limit Please move the joint in the
exceeded, please check the direction towards the limit, and re-
Joint is beyond coupling soft
5720 reference coordinate system and teach the point
limit
the start and end points of the
command
Joint approaching positive soft Robot current position of one
5721
limit axis is near positive soft limit 1. Please jog the joint in the
Joint approaching negative soft Robot current position of one direction towards the limit
5722
limit axis is near negative soft limit 2. Modify the teaching position
Joint approaching coupling soft Robot current position of one point within the limit
5723
limit axis is near coupling soft limit
1. Modify the teaching position
point to be a certain distance
Robot current position is near away from the boundary (default
Approaching the edge of the
5731 the edge of the WorkArea or 15mm)
WorkArea or BlockedArea
forbidden area 2. If the space is limited, the
distance needs to be shortened.
Contact the manufacturer
1. Check for significant
fluctuations, spikes, and static
torque values in the feedback
torque If there are abnormalities,
Actual torque exceeds allowable contact the manufacturer
5742 Average torque overload
range 2. If there are no significant
abnormalities in the feedback
torque, the acceleration of the
program can be reduced and
increased
1. Check for significant
fluctuations, spikes, and static
torque values in the feedback
torque If there are abnormalities.
Average power exceeds Contact the manufacturer
5743 Average power overload
allowable range 2. If there are no significant
abnormalities in the feedback
torque, the acceleration of the
program can be reduced and
increased
5751 Negative value of load inertia Inertia value cannot be negative Set the actual inertia
Joint exceeds maximum
5761 System safety check Contact the manufacturer
acceleration
Address error in machining
5781 segment, please contact the
manufacturer
Interpolation period of machining
5782 segment is zero, please check the
configuration parameters
Machining segment is a non-
5783 motion command segment, please
upgrade the version System safety check Contact the manufacturer
The speed of the machining
5784 segment is zero, please check the
speed parameter
The acceleration of the machining
5785 segment is zero, please check the
acceleration parameter
5786 The deceleration of the machining

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-31
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


segment is zero, please check the
deceleration parameter
The acceleration ratio of the
5787
machining segment is zero
The deceleration ratio of the
5788
machining segment is zero
The end velocity of the machining
segment has been modified.
5789
Please adjust the transition or
Modify transition parameters,
velocity parameters
speed parameters, or contact the
The start velocity of the machining
manufacturer
segment has been modified.
5790
Please adjust the transition or
velocity parameters
The jerk of the Accel segment of
5792
the machining segment is zero
The jerk of the Decel segment of
5793
the machining segment is zero
There is an error in the calculation
Contact the manufacturer
5794 parameters of the machining
segment
The segment address of the
5801 transition segment is incorrect.
Please contact the manufacturer
The velocity of the transition
Transition segment velocity is Adjust the transition parameters
5802 segment is zero. Please adjust the
zero or speed parameters
transition or velocity parameters
The transition cannot be
Modify transition parameters,
interrupted. Please increase the
5803 System safety check speed parameters, or contact the
transition parameters or decrease
manufacturer
the WaitFinish ratio
The interpolated joint speed of the
machining segment exceeds the
Interpolation of motion segment
5804 limit. Please adjust the velocity Contact the manufacturer
exceeds joint speed limits
parameters or contact the
manufacturer
The trigger segment has been
Please adjust the trigger time or
interpolated completely. Please Trigger segment interpolation is
5821 reduce the speed of the motion
adjust the trigger time or reduce done
segment
the motion segment speed
The trigger segment address is
5822 empty. Please contact the System safety check Contact the manufacturer
manufacturer
The trigger time calculation of the
Trigger time or motion speed
trigger segment has failed. Please Adjust the trigger time or reduce
5823 parameters are unreasonable,
adjust the trigger time or reduce the speed of the motion segment
and trigger is failed
the motion segment speed
The cache for synchronous
The number of triggers triggered Please reduce the count of
5824 triggering is insufficient. Please
at the same time exceeds 10 triggers at the same time
upgrade the version
OnDistance triggering is not MovJ motion does not support Use OnParameter instead of
5825
supported for MovJ motion OnDistance OnDistance trigger command
The trigger segment has been
parsed, but the trigger has not
5826 been read in a timely manner. System safety check Contact the manufacturer
Please adjust the trigger time or
reduce the motion segment speed
The type of the polyhedron area is Area type should be of
Check the parameters as
5831 set incorrectly WorkArea, BlockedArea, or
prompted
Signal WorkArea
The count of vertices or edges of The vertices of the polyhedron
the polyhedron area is set area are too close, or the
5832 incorrectly number of vertices is greater
than 10 or less than 3, or the
edges intersect
Parameter file write failed for Failed to write polyhedron area Restart the system or close the
5833
polyhedron area parameter file opened parameter file

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-32
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Polyhedral area does not exist, The current polyhedron area Check the parameters as prompted
5834
please reset does not exist
Region range too small, needs to 1. The length of the box area
be at least 5mm LenX/LenY/LenZ is too short
(should be greater than 5mm),
please check.
2. The radius/height of the
Check the parameters as
5841 cylinder area is too short (should
prompted
be greater than 5mm).
3. The difference between the
maximum and minimum values
of the axis interference area
should be greater than 5mm/5°.
5842 Region number exceeds limit System safety check Contact the manufacturer
Cylinder area radius must be The radius of the cylinder area Check the parameters as
5843
positive cannot be negative or zero prompted
Area is not activated, unable to Start-stop signals were Activate the zone first, then
5844
connect start/stop signal connected during area freezing connect the start-stop signal
Area activation DI conflicts with Area start-stop and activation Reset to a different port number
5845 start/stop DI port number, please use the same input port
reset
Welding gun and travel path are Welding gun parallel to the travel Adjust the posture of the welding
5850 parallel, please adjust welding gun path will cause calculation errors gun
posture
PN parameter initialization failed, 1. Please check if the servo
fast stop function after collision is network connection is normal
Servo wiring network is
5860 disabled 2. Check the configuration of
abnormal
the ServoParam.ini file
3. Contact the manufacturer
Current model does not support The current model does not The current model does not support
5865 modification of member support modification of link modification of link parameters
parameters parameters
Member parameter settings The arm length is less than 0, or Please configure reasonable link
5866 exceed range the deviation angle is not in the parameters
range of -180°~180°
Servo is not magnetized and The servo is not energized Check the servo excitation status
5870
cannot start program
Servo is not magnetized and
5871
cannot be homed
Parameter tuning data collection Currently collecting parameter No need to collect data repeatedly
5872 process does not require repeated tuning data
collection
Parameter tuning data collection Parameter tuning data collection No need to end data collection
5873 has not started and does not need has not yet started
to end collection
Current state global speed is zero, Global speed is set to zero for After setting the global speed to a
5874 please set non-zero global speed motion non-zero value, move the motion
parameter
Cam parameter write file creation Failed to write the file of the Restart the system or contact the
5880
failed, please restart the system positioner manufacturer
Cam ID is out of available range, Confirm if the ID number is set
5881 please select an existing System safety check correctly If correct, and contact the
positioner ID manufacturer
Additional axis for positioner is not The additional axis 1. If a positioner is used, please
configured corresponding to the positioner configure the additional axis
is not configured parameters correctly according to
5882
the steps
2. If a positioner is not used,
contact the manufacturer
Additional axis number for The additional axis number 1. Configure the additional axis
positioner exceeds range, please corresponding to the positioner number correctly
5883
modify the configured axis number exceeds the total number of 2. If it alarms during calibration,
configured axes in the system contact the manufacturer
Additional axis number for The same additional axis 1. If a positioner is used, please
5884 positioner is the same, please number is assigned to multiple check the additional axis number
modify the configured axis number axes corresponding to the same configuration of the positioner

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-33
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


positioner 2. If a positioner is not used,
contact the manufacturer
Additional axis number for The additional axis number
positioner is the same as the main corresponding to the positioner
5885
axis, please modify the configured is the same as the body axis
axis number number
Additional axis type for positioner The type of the additional axis 1. If a positioner is used, please
is incorrect, please modify the axis corresponding to the positioner check the additional axis type
5886 parameter LinkType is configured incorrectly configuration of the positioner
2. If a positioner is not used,
contact the manufacturer
Singularities cannot be crossed The cross-singularity feature is
5890 during tracking motion enabled during the tracking
motion
Singularities cannot be crossed The start and end points of the
during swing arc motion motion with swing arc cross the
5891
singularity, and the cross-
Close the cross-singularity
singularity feature is enabled
command
Singularities cannot be crossed The start and end points of the
during external TCP motion motion with external TCP cross
5892
the singularity, and the cross-
singularity feature is enabled
Current model does not support The current robot model is not a
5893
crossing singularities general 6-axis robot
Teach endpoint is beyond limit or 1. The teaching endpoint is at a
in a singularity, crossing singularity
5894 Please re-teach
singularities is not supported 2. The position of the teaching
endpoint has no solution
Failed to cross non-wrist The cross-singularity feature
singularities only supports wrist singularity, Please re-teach or turn off the
5895
and non-wrist singularity is not cross-singularity function
supported
Teach endpoint is beyond reach The teaching endpoint exceeds
5900 WorkArea, please check reference the reach space
coordinate system and teach point
Transition path is beyond reach The transitional trajectory
Check the reference coordinate
5901 WorkArea, please check reference exceeds the reach space
system and the teaching point
coordinate system and teach point
Motion path is beyond reach The motion trajectory exceeds
5902 WorkArea, please check reference the reach space
coordinate system and teach point
Current motion does not support The current speed rate type of Modify the speed rate type of the
5903
speed unaffected by scaling the motion is not supported current command
Current motion does not support The current coordinate system is
1. Check the coordinate system’
tool offset motion in the specified not the user coordinate system
2. If unable to change the
5904 coordinate system or the world coordinate system,
coordinate system, delete the
and tool offset motion is not
command
supported
This command is not responded The system is currently in the Execute the corresponding
5911 during interruption interrupt process and does not command after exiting the
respond to commands INTERRUPT
Interruption failed to respond
5912 when stopping on transition
segment or MovArch command
Interruption failed to respond
5913 when stopping on cross- System safety check Contact the manufacturer
singularity segment
Interruption failed to respond
5914 when stopping on relative motion
segment
Collision Detection parameter Failed to write Collision Regenerate the Collision
5920
write file failed Detection parameter file Detection parameters
Collision Detection parameter ID The ID corresponding to Modify the ID value
5921 is out of range, please confirm the Collision Detection parameter is corresponding to the Collision
ID is within the range of 1 to 6 not within the range of 1 to 6 Detection parameters
Collision Detection parameter ID The ID corresponding to Select the ID that has already
5922
is not calibrated, please calibrate Collision Detection parameter been calibrated

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-34
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


before use has not been calibrated

The command is not responsive


Switch the reference coordinate
during the tracking process. Exit Currently in the tracking
system to the World Coordinate
5930 the tracking and then operate by process, the command does not
System or User Coordinate
switching the reference coordinate respond
System
system
The conveyor is not connected, Check the communication
please check the communication configuration file for the conveyor,
5931
configuration and ECAT related or contact the manufacturer
files.
The tracking trigger time Set the trigger time for the follow-
5932 configuration is too small up correctly according to the
actual visual range
The tracking trigger DI port System safety check Set the DI port number correctly
number configuration is not in the and use the general-purpose DI
5933
available range, please
reconfigure
The tracking trigger DO port Set the DO port number correctly
number configuration is not in the and use the general-purpose DO
5934
available range, please
reconfigure
The conveyor pulse equivalent The set pulse equivalent of the Calibrate the conveyor pulse
5935 setting is incorrect conveyor is too small or too equivalent correctly according to
large the steps in the operation manual
The tracking speed or Error in tracking Set the follow-up
5936 acceleration/deceleration speed/Accel/Decel coefficient speed/acceleration/deceleration
coefficient setting is incorrect settings coefficients between 0.001 and 1
The tracking boundary parameter Error in tracking boundary Modify and set the boundary
5937
setting is incorrect parameter settings parameters correctly
The bending mold parameter Error in bending mold parameter Modify and set the bending tool
5938
setting is incorrect settings parameters correctly
The MovLSync parsing
5940
interruption flag is incorrect
The tracking is not started and System safety check Contact the manufacturer
5941
does not need to be exited
5942 The tracking start is repeated

The tracking process does not Delete the command


5943 support this type of motion This command is not supported
instruction
The tracking process does not Use the CPos type point
JPos type point is used during
5944 support the JPos type of target
tracking process
point
The tracking process does not Modify or delete the
5945
support swing arc instructions corresponding command as
The tracking process does not prompted
5946
support positioning instructions
The tracking process does not This command is not supported
5947
support switching tool parameters
The tracking process does not
5948 support switching reference
coordinate systems
The tracking planning coordinate
5949 Contact the manufacturer
system switching error
The conveyor ID number System safety check Check the communication
5950 corresponding to the moving configuration file for the conveyor,
coordinate system is incorrect or contact the manufacturer
The conveyor corresponding to Conveyor is not enabled Enable the conveyor bound to the
5951 the motion coordinate system is moving coordinate system
not enabled
The follow target object queue is Visual point information is not Check whether the visual
empty obtained communication and visual target
5952
points are sent to the controller in
a timely manner
Error in follow planning coordinate Contact the manufacturer
5953 System safety check
system, unable to exit follow mode

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-35
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


The command speed is not Error in speed rate type setting Modify the speed rate type of the
5960 affected by the multiplier during for motion command during motion command during the
follow, and unsupported tracking process follow-up process
The previous segment cannot There is a transition in the Check the transition parameters
5971 have a transition when exiting motion command before
follow mode tracking exits
The previous segment cannot be WaitFinish command is used Check the commands in the
5972 a WaitFinish command when before tracking exits program
exiting follow mode
Non-Cartesian space motion
command causes inability to exit
5973
follow mode, please contact the
manufacturer
Incorrect reference coordinate
5974 system type causes inability to
exit follow mode
Contact the manufacturer
Abnormal follow state causes
5975 inability to exit follow mode, System safety check
please contact the manufacturer
Unprepared connecting segment
causes inability to exit follow
5978
mode, please increase the
WaitFTimeFTk parameter
Incorrect conveyor ID causes no Check the communication
5979 tracking configuration file of the conveyor,
or contact the manufacturer
Follow displacement tolerance Error in tracking tolerance Check the allowable deviation
5980
cannot be zero setting value for the follow-up process
Setting virtual conveyor during Virtual conveyor is set while Cancel the selected diagnostic
diagnostic mode is invalid diagnostic parameters are parameters on the diagnostic
5981
selected on the diagnostic interface
interface
The conveyor is enabled, but the Conveyor belt is enabled, Disable the currently enabled
bending tracking parameter occupying the encoder channel conveyor
5982
settings fail corresponding to the grating
ruler
The grating ruler is enabled, but Grating ruler is enabled, Disable the currently enabled
5983 the conveyor tracking parameter occupying the encoder channel grating ruler
settings fail corresponding to the conveyor
Bending tracking motion exceeds Adjust the follow-up moving
5984 the robot arms reach System safety check coordinate system or the
instruction position
Joint exceeds maximum soft limit Joint exceeds maximum soft Please jog the joint in the
6101
limit direction within the limit or re-
6102 Joint exceeds minimum soft limit Joint exceeds minimum soft limit teach the position

6103 Joint number is out of range

6104 Axis number is out of range


System safety check Contact the manufacturer
6105 Incorrect robot type

6106 Incorrect number of robot

Target position exceeds robot Target position is beyond the


Please check the teaching point
6107 motion range or is at a singularity robot's motion range or in a
position
singular position
Failed to load user dynamic
library, please restart. If the
6108 problem persists, contact the
manufacturer to upgrade the
library files
System safety check Contact the manufacturer
Exception in obtaining user
dynamic library function pointer,
6109 please restart. If the problem
persists, contact the manufacturer
to upgrade the library files

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-36
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Failed to load model dynamic
library, please restart. If the
Failed to load the model
6110 problem persists, contact the
dynamic library
manufacturer to upgrade the Please restart. If there are
library files repeated failures, please contact
Failed to load Collision Detection the manufacturer to upgrade the
dynamic library, please restart. If library file
Failed to load the Collision
6112 the problem persists, contact the
Detection dynamic library
manufacturer to upgrade the
library files
Exception in obtaining
interpolation library function
pointer, please restart. If the
6114 System safety check Contact the manufacturer
problem persists, contact the
manufacturer to upgrade the
library files
Failed to load interpolation
Please restart. If there are
dynamic library, please restart. If
Failed to load interpolation repeated failures, please contact
6115 the problem persists, contact the
dynamic library the manufacturer to upgrade the
manufacturer to upgrade the
library file
library files
Exception in obtaining dynamic
model library function pointer,
6116 please restart. If the problem System safety check Contact the manufacturer
persists, contact the manufacturer
to upgrade the library files
Failed to load dynamic model Failed to load dynamic library for
dynamic library, please restart. If kinematic model
6117 the problem persists, contact the
manufacturer to upgrade the Please restart. If there are
library files repeated failures, please contact
Failed to load software floating Failed to load dynamic library for the manufacturer to upgrade the
dynamic library, please restart. If soft floating library file
6118 the problem persists, contact the
manufacturer to upgrade the
library files
Memory exception in manual
6122 System safety check Contact the manufacturer
parameter configuration
Gear ratio numerator or The numerator or denominator The parameter cannot be
6123 denominator is zero of gear ratio is zero configured as zero. Please check
the configuration file
Motor pulse equivalent or screw Pulse equivalent of motor or The parameter cannot be
6124 lead is zero lead of screw is zero configured as zero. Please check
the configuration file
6125 Manufacturer reserved alarm Internal software error Contact the manufacturer
Axis jogging is not allowed when The system has not been Please jog the axis after returning
6131 the system is not homed, but homed and axis jog cannot be to zero
jogging joint is allowed performed
The parameter information of Please check the configuration
Joint cannot be jogged when it's
6132 this axis is not configured in the file
not activated
configuration file
Jog target position is not Target position is unreachable Please jog the joint within the
6133
reachable robots reachable space
Joint exceeds coupled soft limit Joint exceeds soft coupling limit Please jog the joint in the
6134 direction within the limit and re-
teach the position
Failed to execute command The system has not been Please return to zero first
6141
without system homing homed
Parsing of processing segment is Modify the transition or speed
6142 slow, please adjust transition parameters, or contact the
parameters or WaitFinish ratio manufacturer
System safety check
Unable to restart from current Contact the manufacturer
6143 pause state, please contact the
manufacturer
Filter planning failure, please The deviation check of the Please restart from a safe
6145
contact the manufacturer startup position is too large position, or contact the

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-37
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


manufacturer

Bending coordinate calculation


6149 System safety check Contact the manufacturer
error, tracking failure
Bending tracking reference
6156
coordinate system data is empty
Inconsistent interpolation time
System safety check Contact the manufacturer
between bending tracking and
6157
system interpolation cycle. Please
check the bending tracking data
Bending tracking guide rail speed The speed of the guide rail is Please set the speed parameters
6158
cannot be negative or zero negative or zero appropriately
Bending tracking guide rail motion The type of motion chain for the The LinkType configuration for the
6159 chain type setting error. Please guide rail is set incorrectly guide rail axis is incorrect. Please
modify axis parameter LinkType check the configuration file
Bending tracking guide rail path
6160 planning error. Please modify System safety check Contact the manufacturer
speed parameter
Pulse output exceeds the Joint exceeds maximum
6161 maximum joint acceleration, acceleration
please contact the manufacturer
1. Please move the robot to a
Pulse frequency change rate sent Joint exceeds maximum
safe location and restart
6162 to the servo is too high. Please acceleration
2. Reduce the acceleration of the
contact the manufacturer
program, increase the
Pulse output exceeds the Joint exceeds maximum speed
acceleration if the error persists. If
6163 maximum joint speed, please
the problem persists, contact the
contact the manufacturer
manufacturer
Pulse frequency sent to the servo Joint exceeds maximum speed
6164 is too high. Please contact the
manufacturer
Robot end effector is outside the The end effector of the robot is Confirm that the external
WorkArea outside the WorkArea environment is safe; then close
6181 the area, jog the robot to return to
the WorkArea, and then activate
the area
Robot end effector is in the The end effector of the robot is Confirm that the external
BlockedArea in the BlockedArea environment is safe; then close
6182 the area, jog the robot to move
outside the BlockedArea, and
then activate the area
Servo control mode error, The run command is issued Check the logic or axis
6191 command cannot be executed before the mode switch is configuration for virtual and real
successful axes
The angle between SoftFloat The specified direction angle for Please reset the soft float
direction and the tangential soft floating is incorrect direction to ensure that the angle
6192 direction of the robot's force point is less than 60 degrees
around the world coordinate
system Z-axis is too large
The speed of the linear soft Check the current position of the
floating is greater than the robot or contact the manufacturer
SoftFloat overspeed, please default maximum speed for further assistance
6193
contact the manufacturer (500mm/s) in system settings or
the current position is near a
singularity point
This robot model does not support The current robot model does Please confirm whether the
SoftFloat not support linear SoftFloat current model supports SoftFloat
6194
function functions. If it does, check if
SoftFloat functions are enabled
Servo mode switch error. Please
6195 System safety check
contact the manufacturer
SoftFloat execution time Contact the manufacturer
SoftFloat execution time exceeds
6196 exceeds the maximum default
the timeout parameter
time of 60 seconds
[RC] The interpolation period of
Check the parameter
6201 the fine interpolation module is System safety check
configuration
zero

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-38
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


[RC] The interpolation period of
6202 the fine interpolation module is out
of range
[RC] The interpolation type of the
6203 fine interpolation module is out of
range
[RC] The step number of the fine
6204
interpolation module is less than 1
[RC] The data cache of the fine
6205 Contact the manufacturer
interpolation module is full
[RC] The data cache of the fine
6206
interpolation module is empty
[RC] Unknown error in fine
6207 interpolation, library file upgrade Upgrade the CUB library
required
[Sg] The interpolation period of the Additional axis control cycle
6211
fine interpolation module is zero configuration parameters are
[Sg] The interpolation period of the unreasonable
6212 fine interpolation module is out of Check the parameter
range configuration.
[Sg] The interpolation type of the Additional axis control cycle
6213 fine interpolation module is out of configuration parameters are
range unreasonable
[Sg] Exception in step number of
6214
fine interpolation module
[Sg] The data cache of the fine
6215 Contact the manufacturer
interpolation module is full
[Sg] The data cache of the fine System safety check
6216
interpolation module is empty
[Sg] Unknown error in fine
6217 interpolation, library file upgrade Upgrade the CUB library
required
Hand pressure released during During manual or program
operation operation, the stepper motor is If you need to run again, press
6501
de-energized due to the release the Manual Reset button.
of the hand pressure
Abnormal de-energization during De-energization for unknown Check the servo excitation status
6502
operation reasons during operation
6503 Safety door opened System safety check Close the safety door

Please check if the maximum


Joint deviation, please check the
tracking error parameter in the
maximum tracking error Deviation between given
configuration file is set correctly. If
6601 parameter; if the parameter is position and feedback position
changing the range does not
reasonable, please contact the exceeds the range
work, contact the manufacturer
manufacturer
for further assistance
Servo torque fluctuation is too 1. Check if the collision is caused
large. Possible causes by abnormal trajectory or if there
Torque fluctuation detection 1. Contact collision with are obstacles on the robot's
6621 obstacles normal operating trajectory
exceeds range
2. The load quality information 2. Set the load information
set for the robot does not match correctly according to the load
the actual situation direction and unit definition in the
3. Poor working path of the user manual
robot, causing severe shaking of 3. Optimize the robot trajectory,
the robot reduce dynamic parameters, and
4. Actual torque output with mitigate jittering
spikes and peaks caused by 4. Reduce the sensitivity of
motor or mechanical Collision Detection appropriately
Torque fluctuation detection performance without affecting normal use.
6622
exceeds range 5. Poor tracking performance 5. Adjust suitable PID parameters
due to poor PID settings for the 6. Slowly heat up the robot first
servo and run it at full speed after the
6. Cold machine state caused by heating process is complete.
cold weather 7. Set the correct installation
7. The robot's installation method
method, such as upright or 8. If the alarm persists after trying

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-39
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


inverted, does not match the the above methods, contact the
actual situation manufacturer for further
assistance
Welding gun collision 1. If there is a false alarm, please
check if the IO signal for the
Valid IO signal input
welding gun is set correctly
6623 corresponding to the welding
2. If the robot collides, move it to
gun is detected
a safe location before running it
again
6641 Maximum torque overload Same as 6621/6622 The same as 6621/6622
Normal stop has been opened AS signal has been triggered AS signal triggered, please
6661 confirm external environment
safety before resetting the signal
Failed to energize when normal Energize when AS signal has Confirm external environment
6662 stop is opened been triggered safety before resetting the signal
and applying excitation again
Automatic Stop has been opened GS signal has been triggered GS signal triggered, please
6663 confirm external environment
safety before resetting the signal
Failed to energize when automatic Energize when GS signal has Confirm external environment
6664 stop is opened been triggered safety before resetting the signal
and applying excitation again
Emergency stop pressed E-stop has been pressed E-stop button pressed, please
confirm external environment
6900
safety before releasing the E-stop
switch
Failed to energize when E-stop is Energize when E-stop has not Confirm external environment
pressed been released safety before releasing the E-stop
6901
switch and applying excitation
again
External E-stop pressed Energize when external E-stop Confirm external environment
has not been released safety before releasing the
6902
external E-stop switch and
applying excitation again
Abnormal power outage in the Abnormal power failure in C1 Check the power status of the
6903
electrical cabinet cabinet control cabinet
Collision stop distance exceeds System safety check Contact the manufacturer
6910
range
PN parameter write error, please Servo network abnormality Power off and restart
6911
restart the system
EtherCAT alarm EtherCAT network connection Check network hardware
unsuccessful connections, use the correct
7000
bootfile and eclr file If the problem
persists, contact the manufacturer
7001-7099 EtherCAT servo alarm Corresponding servo alarm A.xx Check the servo

EtherCAT communication alarm: EtherCAT network connection Check network hardware


slave has not reached OP state unsuccessful connections, use the correct
7400 communication configuration file If
the problem persists, contact the
manufacturer
EtherCAT communication alarm: Parameter configuration error Check relevant parameter
parameter configuration error, configuration
7401
please check the relevant
configuration
EtherCAT communication alarm: Check relevant network port
network configuration error, configuration
7402 Network port configuration error
please check the relevant
configuration
EtherCAT communication alarm: Try restarting. If the problem still
7403 initialization handle error, please System safety check persists, contact the manufacturer
restart the system
EtherCAT communication alarm: File loading failure Check if the communication
7404 failed to load eni file, please check configuration file exists or is
if the eni file is lost correct
7405 EtherCAT communication alarm: Configuration error Check if the relevant configuration

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-40
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


main station communication matches the actual situation
configuration failed, please check
if the slave matches
EtherCAT communication alarm: EtherCAT network connection Check the network connection
network cable not connected, unsuccessful between the controller and the
please check the network slave, and check the network
7411
connection connection between the slaves or
if the slave connections are
correct
EtherCAT communication alarm: Check the network connection
network connection error, please between the controller and the
check the network connection slave, and check the network
7412
connection between the slaves or
if the slave connections are
correct
EtherCAT communication alarm: The actual connection of the
Slave Configuration error, please coupling module DIP switch Check if the dip switch settings of
7413
check the jumper switch of the does not match the configured the coupler module are correct
coupling module setting
EtherCAT servo failed to return to Servo motor fails to home or Attempt to home the system
7600 zero takes too long to zero again. If the issue persists, please
contact the manufacturer
De-energization occurred during Lost excitation during the Attempt to home the system
the EtherCAT servo return-to-zero homing process again. Be careful not to lose
7601
process excitation during the homing
process
EtherCAT servo not powered on The servo motor is not powered Check the servo power
7800
on connection status
EtherCAT FOE command timeout EtherCAT slave does not Check the slaves FOE function
7801
respond to FOE commands
EtherCAT FOE command failed, EtherCAT slave is not in Check if the slave supports FOE
7802 slave state switch to BOOTSTRAP mode function
BOOTSTRAP failed
EtherCAT FOE command failed, EtherCAT slave does not Check if the slave supports FOE
7803
slave not supported support FOE function function
EtherCAT FOE command failed, File open failure Check if the file for FOE
7804
file open failed DOWNLOAD exists or is correct
EtherCAT FOE command failed, EtherCAT slave feedback error Check for errors based on
7805 feedback error from the slave for FOE command feedback from the slaves FOE
command
EtherCAT FOE command failed, FOE upload value of EtherCAT Check the slaves FOE function
7806 uploaded value from the slave is slave is empty
empty
EtherCAT IO safety logic board - -
7990
alarm
CANOPEN servo failed to return The servo motor fails to zero or
8600
to zero takes too long to home
Contact the manufacturer
29001- Manufacturer reserved alarm Internal software error
29081
Kernel alarm file loading failed, File version mismatched
29101
alarm file upgrade required
Robot parameter configuration file Upgrade file
29102 loading failed, parameter file
upgrade required
Robot parameter configuration Missing or incorrect parameter Check for missing parameters,
29103 error, missing parameters or range parameter names, and correct
parameters out of range parameter ranges as prompted
This robot model is not supported The system does not support Check the machine model name
29104
by the system this model
[RC]Joint channel number Incorrect joint channel Check the joint channel number
29106 configuration error, conflicting with configuration, overlapping or out
other axes or out of range of range with other axes
Number of joint frequency files The number of groups should be Check the frequency parameter
exceeds limit or load order between 2-10, and each axis configuration file
29107
configuration error frequency should be filled in
from full load to no load in order

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-41
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Interpolation period error or fine Interpolation cycle, CUB library Check the cycle parameters, CUB
29108 interpolation mode error switch, and CUB type do not library switch, and CUB type
match
[RC&Sg]Joint channel number Joint channel number Reduce the number of joints
29110
configuration exceeds limit configuration exceeds the limit
[RC&Sg]Joint channel number Joint channel numbers are not Check the joint channel number
29111
configuration is not continuous continuous
[Sg]Joint channel number Joint channel configuration
29112 configuration error: conflicting with overlaps or is out of range with
other axes or out of range other axes
[RC&Sg]Joint channel number Joint channel configuration
29113 configuration error: conflicting with overlaps with other axes
other axes
Number of monitored data System safety check
29114 Contact the manufacturer
exceeds limit
Robot axis parameter File version mismatch Check if the system parameter file
29115 configuration file loading failed, exists and if the version matches
parameter file upgrade required
System IO parameter File version mismatch Check if the IO parameter file
29116 configuration file loading failed, exists and if the version matches
parameter file upgrade required
Frequency parameter File open failure Failed to open the frequency
29118 configuration file loading failed, parameter configuration file.
parameter file upgrade required Please check if the file exists
Number of communication axes Communication axis number Check if the communication
29120 exceeds limit exceeds limit method and the number of
communication axes match
[RC&Sg]Joint positive limit pulse Positive limit pulse overflow on Please set the servo electronic
overflow, please set the servo joint axis gear ratio or shorten the positive
29121
electronic gear ratio or shorten the limit
positive limit
[RC&Sg]Joint negative limit pulse Negative limit pulse overflow on Please set the servo electronic
overflow, please set the servo joint axis gear ratio or shorten the negative
29122
electronic gear ratio or shorten the limit
negative limit
External axis servo version cannot Incorrect external axis driver Replace with a supported driver
be adapted to the robot control model configuration from the manufacturer
29123 system, please contact the
manufacturer to replace the servo
drive
ServoParam file is missing TorqP Missing TorqP or TorqN object Add the object address of TorqP
29124 or TorqN object, please add the addresses or TorqN in the ServoParam.ini
address and restart the system file
ADP library file cache definition Upgrade the ADP library to a
29131 does not match the system, library compatible version
file upgrade required
OVR library file cache definition Upgrade the OVR library to a
29135 does not match the system, library compatible version
file upgrade required
CUB control axis number does not Upgrade the CUB library to a
29141 match, library file upgrade compatible version
required
Number of CUB functions does
29142 not match, library file upgrade
required
System safety check
Number of formal parameters of
29143 CUB functions does not match,
library file upgrade required
Number of struct variable types of
29144 CUB does not match, library file
upgrade required
Size of CUB structure does not
29145 match, library file upgrade
required
Number of CUB enum variable
29146 types does not match, library file
upgrade required

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-42
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Number of elements in CUB enum
29147 does not match, library file
upgrade required
EtherCAT master configuration EtherCAT master configuration
Check the main station
29200 error or bootfile missing or bootfile error or missing bootfile or
configuration and bootfile
does not match bootfile mismatch.
Abnormal parameter when setting - -
50001
system mode
Failure to switch from execution to
50002 Internal system error Contact the manufacturer
stop when setting system mode
Failed to obtain motion-related - -
50003 configuration parameters in the
system
Servo excitation operation is not During program execution, the Please put the system in a stopped
50004 allowed during program execution system does not respond to state before exciting the servo
servo on/off commands
Servo excitation operation is not When the system is not in Please put the system in automatic
allowed when the system is not in automatic mode, the system mode before exciting the servo
50005
automatic mode does not respond to servo
ON/OFF commands
Motion control reset command - -
50006
issued by the system failed
Instruction processing reset - -
50007 command issued by the system
failed
50008 System error list cleanup failed - -

System error clearing reset - -


50009
command execution failed
Abnormal remote speed The range of values for the
parameter obtained in the system, remotely started speed read Re-set the speed value within the
50010 exceeding [1,100] from the file is 1 to 100. Any range of 1~100 in the
value outside this range will configuration interface
result in an error
Abnormal setting of remote speed Possible causes:
parameter in the system, 1. The range of values for the
1. Set the speed value based on
exceeding [1,100] remotely started speed is set to
the range of 1~100
50011 1 to 100
2. Switch to non-remote mode
2. Setting the remotely started
before setting the value
speed in remote mode will also
result in this warning
Empty values for project or - -
50012 program name during self-startup
setting
Canceling the startup of a project This warning usually occurs
or program with a mismatched when the teach pendant has not
name been restarted and a new
runtime package has been No alarm will be reported when
installed on the controller. If the synchronously restarting the
cancel remote start operation is teach pendant and controller.
50013 performed directly in the project Click the Refresh button on the
interface after reconnecting to project interface to retry the
the teach pendant, this warning operation after the alarm is
will be generated. In this case, reported
refreshing the interface and then
cancelling the remote start
operation will resolve the issue.
System IP cannot be set during When the system is in running Please put the system in a
50014 program execution state, it does not respond to the stopped state before setting the
system IP setting command. system IP
Abnormal value for port number in The port number of the Check if the input controller port
system IP settings controller or RTOS must be a number and RTOS port number
50015
positive number. are positive integers greater than
or equal to 0
Invalid encryption information, During encryption, the system Confirm that the input number of
50016 encryption failed verifies each level of the number days is valid
of days sent, and the input must

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-43
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


be a number less than 1000.

Wrong password for decryption, Possible causes: Confirm whether the password
decryption failed 1. Incorrect password input entered is correct. Contact the
50017
2. The password provided by the manufacturer to confirm the
manufacturer is incorrect password if there is no mistake
Encryption data is occupied by
50018 another thread, please try again Internal system error Contact the manufacturer
later
Encryption is not currently The system only needs to be
enabled, and decryption is not decrypted when it is in an
required encrypted state. By default, it is
50019 not encrypted when it leaves the -
factory. This alarm is considered
to be an informational message,
rather than an alarm message
System execution period has When the time allowed for
expired, please contact the encryption use has expired, this
manufacturer for decryption warning will be displayed and it
50020 Contact the manufacturer
will be necessary to contact the
manufacturer for decryption
operation
System time has been tampered When the system is in
with and is running illegally encryption mode, the system
records the timing status in real Change back to the original time
50021
time. If the system time is or re-encrypt at the current time.
altered, this warning will be
generated.
Failed to obtain system time, The encryption parameters
50022 operation is frequent, please try cannot be obtained, resulting in Contact the manufacturer
again failure.
Error switching from pause to stop - -
50023
during program execution
Failed to set multi-station The start/stop input, start/stop Confirm the validity of the input
parameters, parameters are output for the four enabled port for the input/output port.
invalid workstations can only be unique
50024 and cannot be repeated.
Similarly, the start/stop input
(output) for the same
workstation cannot be repeated
Failed to set remote speed, The system does not respond to Switch to manual or automatic
50025 please switch to another mode to the remote start speed setting mode before setting the speed.
set command in remote mode
Enabled multi-station Every time the system is Confirm the validity of the input
input/output/program name cannot switched from manual/automatic port and program name in the
be empty or invalid value mode to multi-workstation mode, multi-station parameter
all the enabled workstation configuration interface
50026
parameters are checked to
ensure they are valid.
Otherwise, an error will be
generated.
Failed to update encryption data File writing, deleting, and
50027 to file copying can all result in failure
and generate this warning
When switching system modes,
switching the program to single-
step mode may fail. Possible
reasons include:
1. The system is currently in
Contact the manufacturer
running mode, and mode
Failed to switch to single-step
50028 switching fails.
mode when setting system mode
2. The system is currently in
pause mode, and stopping the
program fails.
3. The system has not switched
to manual mode in reverse
order, resulting in switching

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-44
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


failure.

External communication network The underlying system Contact ESTUN technical


50029 information cannot be set in this configuration does not support personnel
system this communication method.
API mode is not allowed to be set API mode can only be set when Confirm the system status on
50030
in non-static state the system is in the stop state. your own
Homing operation is not allowed When the system is in running Please exit the running state of
when program is running state, only pause, emergency the system before performing the
51001 stop, speed multiplier setting, operation
and IO value modification
settings are supported.
Servo is not energized, homing The robot does not respond to Please apply magnetization
51002 operation is not allowed any motion commands when the before homing
servo is not energized.
Homing command execution The Home command fails to be
51003 failed issued, and the kernel does not
receive the Home Command.
Contact the manufacturer
Global speed command setting The Global Speed command
51004 failed fails to be issued, and the kernel
does not receive the command.
Setting JOG reference coordinate When the system is in running
system is not allowed when state, only pause, emergency Please exit the running state of
51005 program is running stop, speed multiplier setting, the system before performing the
and IO value modification operation
settings are supported
JOG coordinate system command The coordinate system
execution failed command for JOG setting fails,
51006 Contact the manufacturer
and the kernel does not receive
the command
Robot jog is not allowed when When the system is in running Please exit the running state of
program is running state, only pause, emergency the system before performing the
51007 stop, speed multiplier setting, operation
and IO value modification
settings are supported
Servo is not energized, robot JOG When the servo is not Please apply magnetization
is not allowed energized, the robot will not before jogging
51008
respond to any motion
commands.
Robot jog is not allowed in auto Switch to manual mode before
51009 Only manual mode allows for
mode jogging the robot
JOG operations to be performed
JOG mode switching is not
51010 on the robot
allowed in current system mode
JOG command execution failed When the system is in the
running state, only pause, Please exit the running state of
51011 emergency stop, set speed the system before performing the
multiplier, and modify IO values operation
are supported as operations.
1. The JOG mode can only be
set to JOG (0) or INCH mode
(1), any other value will result in
an error.
2. The axis number for jogging
must be within the range of 0 to
51012 JOG command execution failed Contact the manufacturer
15, otherwise an alarm will be
raised.
3. If the command for jogging is
not received by the kernel, it will
be considered as a failed
operation.
51013 DOUT command execution failed
If the IO port number to be set
51014 AOUT command execution failed
exceeds the specified range,
Confirm that the set port number
SIMDOUT command execution either a negative value or a
51015 is within a valid range
failed value exceeding the maximum
SIMAOUT command execution limit, an error will be raised
51016
failed

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-45
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


If the shared cache cannot be Power off and restart
System interface exception, established with the kernel, it
51017 please try again after rebooting may be due to the kernel
the system component library not being
started or starting too slowly.
Command parameter out of The servo axis number to be set Please check if the input servo
51018 range, command execution failed must be within the range of 0 to axis number is out of range
63
Calibration tool parameters are When the system is in the Please exit the running state of
not allowed to be modified during running state, only pause, the system before performing the
51019 program execution emergency stop, set speed operation
multiplier, and modify IO values
are supported as operations.
Calibration of user coordinate - -
51020 system is not allowed during
program execution
The command to set the conveyor The command to set conveyor
parameters failed parameters failed to be issued,
51021
and the kernel did not receive
the command
The command to set the tracking The command to set the follow
parameters failed parameters failed to be sent as
51022 Contact the manufacturer
the kernel did not receive the
command
Failed to refresh the single-turn Command for setting conveyor
value parameters failed to be sent,
51023
and the kernel did not receive
the command
Mapping motion kernel interface Command system failed to
1. Power off and restart the
data failed, please check whether establish a connection with the
system
the motion kernel component is kernel data within the
51024 2. If the issue persists after
started up properly designated time. Verify that the
repeated attempts, please contact
kernel components are properly
the manufacturer
launched.
Start and end points cross- The "mode" property of the
singularity, and motion from one current position of the SCARA
point to another is not supported robot is inconsistent with the
First move the robot to the same
"mode" property of the desired
51025 mode position as the target
position for arch-shaped motion.
position.
The movement cannot be
achieved through "movl"
function.
The set height value is invalid The set height cannot be
negative, and the lifted height Please confirm the validity of the
51026
must be higher than the target lift height value
point
The current robot model does not
Arch-shaped motion is only
51027 support one-point arrival operation
supported for SCARA robots
(arc motion)
The current mode does not Arch-shaped motion is only
Switch to manual mode before
51028 support one-point arrival operation supported in manual mode and
performing arch-shaped motion
(arc motion) cannot be run in other modes
Motion startup failed 1. Check the coordinate system
interface to see if any axis is not
homed, if so, home the axis
before executing the arch-shaped
Possible causes:
motion
1. Some axis of the system may
2. Confirm whether the system
51029 not be homed.
has any alarms, clear the alarms
2. The system may be in an
before executing the arc motion
error state.
If the above two methods are
confirmed to be correct and the
error still occurs, contact the
manufacturer
51030 Motion cache full

51031 One-point alignment is not When the system is in running Please exit the running state of

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-46
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


allowed to be activated during state, only pause, emergency the system before performing the
program execution stop, setting speed multiplier, operation
One-point alignment operation is and modifying IO values are
51032 not allowed during program allowed.
execution
One-point alignment operation Command for one-point
failed alignment failed to be sent, and
51033 Contact the manufacturer
the kernel did not receive the
command.
One-point alignment is not One-point alignment operation is
Activate the one-point alignment
51034 activated, operation is not allowed prohibited if the function has not
function before use
been activated
Robot cannot be homed while
51035
program is paused
Setting jog reference coordinate
51036 system is not allowed while
program is paused
Robot jogging is not allowed while
51037
program is paused
Jogging mode cannot be switched
51038
while program is paused
Calibration of tool parameters is Operations are prohibited when Switch the system to stop mode
51039 not allowed while program is the system is in paused state. before performing the operation
paused
Calibration of user coordinate
51040 system is not allowed while
program is paused
One-point alignment cannot be
51041
activated while program is paused
One-point alignment operation is
51042 not allowed while program is
paused
The set DI command execution The IO port number to be set
51043
failed exceeds the set range, either in Confirm that the set port number
The set AI command execution negative value or beyond the is within a valid range
51044
failed maximum limit
The set SIMD command The current version does not -
51045 execution failed support setting values for SIMDI
ports
The set SIMAI command The current version does not -
51046 execution failed support setting values for SIMAI
ports
Failed to clear servo alarm in The system does not respond to
servo excitation state the command to clear the servo Please apply magnetization
51047
alarm when the servo is in an before executing the operation
energized state
Failed to clear servo alarm or Command for clearing the servo
servo history alarm alarm failed to be sent, and the
51048
kernel did not receive the
command
Failed to get servo Pn parameter Command for obtaining servo
Pn parameters failed to be sent,
51049 Contact the manufacturer
and the kernel did not receive
the command
Failed to set servo Pn parameter Command for setting servo Pn
parameters failed to be sent,
51050
and the kernel did not receive
the command
Robot JOG is not allowed during The system does not respond to
Please exit the SoftFloat state
51051 software floating jog commands when in SoftFloat
before jogging
state
Failed to switch from paused state If the system fails to turn to idle
to idle state state within the set time after the
pause command is sent, it may
51052 Contact the manufacturer
be because the kernel did not
receive the command or
because it took too long to turn

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-47
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


to idle state

Failed to set diagnostic function Command for setting diagnostic


item feature failed to be sent, and the
51053
kernel did not receive the
command
Failed to set diagnostic parameter Command for setting diagnostic
parameters failed to be sent,
51054
and the kernel did not receive
the command
Calibration of external coordinate While the system is running,
Please exit the running state of
system is not allowed during only pause, emergency stop, set
51055 the system before performing the
program execution speed multiplier, and modify IO
operation
value settings are supported
Calibration of external coordinate During pause state, calibration,
system is not allowed while switching to JOG mode, homing,
Switch the system to stop mode
51056 program is paused setting JOG coordinate system,
before performing the operation
and robot JOG operations are
not allowed
Mapping motion kernel interface When the command system
1. Confirm the version number
data error, version mismatched library interface is inconsistent
and check if the replacement
with the kernel library interface,
51057 version is problematic
this warning will be issued, and
2. If it cannot be confirmed,
the system version number
contact the manufacturer
should be confirmed at this time
Fail to set the positioner Possible causes: Enter the parameters according to
parameters, please check the 1. Invalid parameters were the other alarms prompted
validity of the input parameters passed in, and the detailed simultaneously
warning of the parameters can
be found in other warnings that
51058
are issued at the same time
2. Command for setting
positioner parameters failed to
be delivered, and the kernel did
not receive the command
Fail to read the positioner Possible causes: Enter the parameters according to
parameters, please check the 1. Invalid parameters were the other alarms prompted
validity of the input parameters passed in, and the detailed simultaneously
warning of the parameters can
be found in other warnings that
51059
are issued at the same time.
2. Command for reading
changeover switch parameters
failed to be sent, and the kernel
did not receive the command.
Calibration of positioner While the system is running, Please exit the running state of
coordinate system is not allowed only pause, emergency stop, set the system before performing the
51060
during program execution speed multiplier, and modify IO operation
value settings are supported
Calibration of positioner During pause state, calibration,
coordinate system is not allowed switching to jog mode, homing,
Switch the system to stop mode
51061 while program is paused setting jog coordinate system,
before performing the operation
and robot jogging operations are
not allowed.
Setting positioner coordinate While the system is running,
Please exit the running state of
system parameters is not allowed only pause, emergency stop, set
51062 the system before performing the
during program execution speed multiplier, and modify IO
operation
value settings are supported
The first positioner axis is not at The first positioner coordinate Please move the first positioner
the zero position! Calibration system must be at the zero axis to the zero position before
failed position of the second positioner performing calibration
51063 axis in order to achieve accurate
calibration results, otherwise
there will be significant errors in
the calibration results
The 2nd positioner axis is not at The second positioner Please move the second
51064
the zero position! Calibration coordinate system must be at positioner axis to the zero position

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-48
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


failed the zero position of the first before performing calibration
positioner axis in order to
achieve accurate calibration
results, otherwise there will be
significant errors in the
calibration results
Activation or freezing of region Command for activating or
command failed deactivating the area failed to be
51065 Contact the manufacturer
sent, and the kernel did not
receive the command
Incorrect conveyor ID passed Currently, the system only Confirm the validity of the entered
supports two conveyor belts, conveyor ID value
51066 and the conveyor belt ID passed
in can only be 1 or 2, otherwise
an error will be reported
Calibration of conveyor pulse While the system is running, Please exit the running state of
equivalent is not allowed during only pause, emergency stop, set the system before executing the
51067
program execution speed multiplier, and modify IO operation
value settings are supported
Calibration of conveyor pulse During pause state, calibration, Please switch the system to the
equivalent is not allowed while switching to jog mode, homing, stop state before executing the
51068 program is paused setting jog coordinate system, operation
and robot JOG operations are
not allowed
Current point is the same as the When calibrating the conveyor Please follow the instructions in
last recorded point belt pulse equivalence, the the manual to properly calibrate
coordinates of the first and the pulse equivalent
51069
second points must not be the
same, otherwise the calculated
value will be meaningless
Calculation failed! Z-axis The pulse values of the two Please follow the instructions in
coordinates must be equal calibration points cannot be the the manual to properly calibrate
51070 same, and it is important to the pulse equivalent
ensure that the conveyor belt
can move during calibration
Incoming coordinate system is not 1. Select the moving coordinate
bound to the conveyor, operation system configured in the
failed conveyor configuration interface
The moving coordinate system
in the command
used in the command must
2. Change the moving coordinate
match the one in the conveyor
system configured in the
51071 configuration interface,
conveyor configuration interface
otherwise the system will not
to the moving coordinate system
know which conveyor is
used in the command, but ensure
currently being used
that the moving coordinate
system is calibrated for the
conveyor
The set output port of the The valid value range for setting Verify the correctness of the set
conveyor exceeds the specified the trigger output port is 9-31, output port
51072
range and an error will be reported if
this value range is exceeded
The set input port of the conveyor The valid value range for setting Verify the correctness of the set
exceeds the specified range the trigger input port is 9-31, and input port
51073
an error will be reported if this
value range is exceeded
The set output port of the Each enabled conveyor output Select another unoccupied output
51074 conveyor duplicates that of port number can only be used port
another conveyor once and cannot be shared
The set input port of the conveyor Each enabled conveyor input Select another unoccupied input
51075 duplicates that of another port number can only be used port
conveyor once and cannot be shared
Visual point information not Before the robotic system 1. Through the network
obtained; operation failed begins the conveyor monitoring of the Conveyor
synchronous tracking motion, it Tracking configuration interface,
51076
is necessary to ensure that the observe whether the system can
visual system has sent the receive visual position information
workpiece location information data. If it cannot be received,

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-49
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


to the robot, otherwise tracking further troubleshoot the network
is failed port, port number, and trigger
output port
2. If the previous step is normal
but the program still reports an
error after receiving it, you can
increase the waiting time in the
WaitWObj command.
Select another unoccupied
moving coordinate system
The set coordinate system of the Each enabled conveyor belt
conveyor duplicates that of coordinate system can only be Select another motion coordinate
51077
another conveyor used uniquely and cannot be system that is not currently in use
shared
Ptp motion is not allowed in the
51078
moving coordinate system
Switching of coordinate systems is When the user coordinate
51079 not allowed in the moving system of the system is set as
Please exit the moving coordinate
coordinate system the moving coordinate system,
system before performing
Calibration of conveyor pulse the system does not respond to
relevant operations. Exit the
51080 equivalent is not allowed in the commands such as jog, switch
moving coordinate system by
moving coordinate system to manual coordinate system,
selecting other types of user
Collision parameters cannot be calibrating pulse equivalent, set
coordinate systems in the position
51081 set in the moving coordinate collision parameters, and
interface.
system Vibration Suppression
Vibration Suppression parameters parameters.
51082 cannot be set in the moving
coordinate system
Calculation failed! Distance When calibrating the pulse
between two points is too close equivalent, the distance
between the two calibration
Increase the distance between
51083 points needs to be within a
two calibrations
reasonable range, as too large
or too small a distance can
result in inaccurate values
Parameter restoration complete! Confirm the servo parameter file
However, the following to be restored, check whether the
parameters cannot be restored: Some servo parameters cannot servo parameter values are
51084
be restored; correct and reasonable, and
confirm whether the servo
parameter operation is open;
51085 Failed to set robot parameters

Failed to change trajectory


51086
correction enable status
Failed to set trajectory correction The command fails to be sent,
51087
parameters and the kernel did not receive Contact the manufacturer
51088 Failed to set area parameters the command

51089 Failed to backup parameters

51090 Failed to restore parameters

Current moving coordinate system - -


is not consistent with the conveyor
51091
moving coordinate system of the
parameter to be set
Current operation can only be - -
51092 performed in the moving
coordinate system
Failed to set polyhedron area
51093
parameters
Failed to obtain polyhedron area
51094 The command fails to be sent,
parameters
and the kernel did not receive Contact the manufacturer
Failed to delete polyhedron area
51095 the command
parameters
Activation or deactivation of
51096
polyhedron area command failed

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-50
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Clearing IO input simulation state The command fails to be sent,
51097 by one-click failed and the teach pendant did not
receive the command
51098 Failed to obtain IO annotation ioNote.ini file is missing

51099 Failed to set IO annotation ioNote.ini file is missing


Virtual teaching pendant -
51100
emergency stop command failed Contact the manufacturer
Failed to set update servo -
51101
monitoring data command
Failed to obtain servo historical -
51102
alarm command
51103 File upload command failed -

51104 File download command failed -

The system is in a running state Certain operations are


Whether the operation is
52001 and the operation is prohibited prohibited while the system is in
prohibited in the running state
operation
Please load the project or Some operations are prohibited Whether the operation is
52002 program first when no project or program is prohibited in the state of unloaded
loaded project or program
52003 Project creation failed - -

52004 Project loading failed - -

Project logoff failed 1. Whether the program is


The program cannot be logged
running;
out during runtime, and attempts
52005 2. Whether it is in the stop state;
to switch to stop or single-step
3. Whether it is in the single-step
mode may also fail
mode;
52006 Project copying failed -

52007 Project pasting failed -

52008 Project deletion failed -


Check the legality of the operation
52009 Project renaming failed - based on the alarm information

52010 Project refreshing failed -

52011 Program creation failed -

Program loading failed Resetting (kernel status, tool,


coordinate system, payload, or
52012 any of these) failed. For SCARA Contact the manufacturer
models, setting the left/right
hand may also fail
Program logoff failed Resetting (kernel status, tool,
coordinate system, payload, or a
1. Whether it is in the single-step
specific item) failed. For SCARA
52013 mode
models, setting left/right hand or
2. Contact the manufacturer
switching to single step mode
may also fail
52014 Program opening failed -

52015 Program closing failed -


Check the legality of the operation
52016 Program copying failed - based on the alarm information

52017 Program pasting failed -

Program deletion failed due to


52018 The program may also be in use
program being called Check if other programs are using
by other programs, such as
Program renaming failed due to this program
52019 CALL, RUN, or KILL.
program being called
52020 Program refreshing failed -
Check the legality of the operation
52021 Program list acquisition failed - based on the alarm information

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-51
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Project name is too long or empty Commands related to project or
program operations (such as
create, open, close, copy, paste,
delete, rename, refresh, etc.),
get program MD5 value,
program command operations
Check if the project name passed
(such as create, modify, copy,
52022 to the operation is too long or
cut, delete, paste, comment,
empty
uncomment, undo, get content,
get parameters, etc.), and
variable operations (get content,
delete, rename, etc.) may fail if
the project name is too long or
empty
Project name already exists When performing project Check if the project name already
operations such as creating, exists
52023
renaming, or pasting, using a
project name that already exists
Number of projects exceeds the When performing project Check if the number of projects
limit operations such as creating or exceeds the limit
52024
pasting, the maximum allowable
quantity has been exceeded.
Failed to create project variable - Check the legality of the operation
52025
data file based on the alarm information
Failed to obtain project list after -
52026
project creation
Failed to create project folder
because system function call
was used, indicating a possible
52027 Project file exception Contact the manufacturer
permission issue. If not an
administrator, the folder may not
be created
Project or program operation Check if the project exists
(load, copy, paste, delete,
52028 The project does not exist
rename) with a project name
that does not exist
Project variable file does not Check if the project variable file
52029 Failed to retrieve global data
exist or is too large to be read. exists or is too large
Failed to load project variables Check if the variable file under the
52030 Failed to load project data
into lua memory. loaded project is normal
1. When opening the program, Check if the relevant project is
the project was not loaded. loaded
2. When logging out of the
program, the project was not
52031 The project has not been loaded
loaded.
3. When logging out of the
project, the project was not
loaded.
Program name cannot be Whether the program is named
52032 Invalid program name
"prjglobal". "prjglobal"
The program command (create, Check if the program name
open, close, copy, paste, delete, passed to the operation is too
rename, refresh, etc.), getting long or empty
the MD5 value of the program,
program instruction command
(create, modify, copy, cut,
The program name is too long or
52033 delete, paste, comment,
empty
uncomment, undo, get content,
get parameters, etc.), variable
operation (get content, delete,
rename, etc.), and other
commands with a program
name that is too long or empty
Program operation (create, Check if the program exists
52034 Program name already exists rename, paste) using a name
that already exists

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-52
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Program operation (create, Check if the number of programs
Number of programs exceeded
52035 paste) exceeds the maximum exceeds the limit
the limit
allowable number
Failed to create program Contact the manufacturer
variable file because system
Failed to create program variable function call was used,
52036
file indicating a possible permission
issue. If not an administrator, the
file may not be created
The normal process involves
creating a new text file, writing
default characters into it, and
then reading the text file. The
string of characters before
writing is then processed using
the MD5 algorithm, and the
string of characters obtained
from reading the text file is also
52037 Failed to create program file processed using the MD5
algorithm. The two resulting
MD5 hashes are then compared
to determine if they are identical;
Since fixed functions are used
for these operations, errors can
only be caused by either a file
writing or file reading error,
which may be due to permission
issues.
Tool coordinate system domain Check if the tool coordinate
Failed to retrieve selected tool is incorrect, and this variable variable is normal (check the text)
52038
coordinate system parameters does not exist or the variable
string format is abnormal
User coordinate system domain Check if the user coordinate
Failed to retrieve selected user is incorrect, and this variable variable is normal (check the text)
52039
coordinate system parameters does not exist or the variable
string format is abnormal
When adding AddDo command, Check if the relevant project and
The project name or program the project name or program program name is empty
52040
name is empty name is empty when performing
operations (load, call, open)
Program erd file does not exist Check if the related ERD file
The program file cannot be or cannot be opened (call open exists
52041
opened failed, indicating a possible
system permission issue)
When logging out of the Check if the currently loaded
program, the currently loaded program is consistent with the
The program was not found or has
52042 program is different from the program to be logged out
not been loaded in the project
program to be logged out or no
program is loaded at all
Program operation (delete, Check if the program exists
copy, read (CALL), open, (check relevant files)
52043 The program file does not exist
rename) cannot be found in the
program list under the project
1. Check if the erd file exists
2. If it exists, try to manually
52044 Failed to delete data file Failed to delete program erd file
delete it (read-only files cannot be
deleted)
1. Check if the ERP file exists;
2. If it exists, try to manually
52045 Failed to delete program file Failed to delete program erp file
delete it (read-only files cannot be
deleted)
Although this error code is used,
52046 Failed to retrieve program list
it will not be triggered
Unable to delete the currently The project is in loading status Check if the project is in a loaded
52047
loaded project and cannot be deleted state
Failed to retrieve all instructions - Verify if the operation is valid
52048
from the program file based on the alarm information

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-53
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Failed to convert program file -
52049
format
Unable to close the currently open -
52050
program
Program data file size exceeds The size of the program ERD file
Check if the erd file is too large
52051 the limit exceeds the limitation due to
(over 500K)
System error
52052 Failed to recover running data System error Contact the manufacturer
Failed to retrieve program variable System error
52053 data for the currently loaded Contact the manufacturer
program
Failed to load program variable The program ERD file format is
52054 data for the currently loaded incorrect (loaded into the cache
program t_x field)
Check if the erd file is normal
Failed to save program variable The program ERD file format is
52055 data for the currently loaded incorrect (loaded into the cache
program t_xb field)
No program has been copied, Before pasting the program,
52056
program paste failed execute the copy operation first
Please copy before pasting
No project has been copied, Before pasting the project,
52057
project paste failed execute the copy operation first
Project to be copied does not The project to be copied does
52058 Check if the project exists
exist, project paste failed not exist, paste failed
Failed to retrieve project file System error
52059 Contact the manufacturer
directory
Project and program loading or Renaming is not allowed for the Check if the project is in a loaded
52060 opening operations do not allow loaded project state
renaming
Failed to rename Program data The call to the system function Manually rename the ERD file to
file "Rename" failed, possibly due to verify the reason
52061
permission issues, which should
not occur normally
Failed to rename program The call to the system function Manually rename the ERP file to
instruction file "Rename" failed, possibly due to verify the reason
52062
permission issues, which should
not occur normally
Failed to copy project file directory Copying the project folder failed, Manually copy the folder to verify
calling the system function,
52063 which may have permission
issues, but this should not fail
normally
Failed to delete project file Deleting the project folder failed, Manually delete the folder to
directory calling the system function, verify
52064 which may have permission
issues, but this should not fail
normally
52065 Failed to copy project directory Same as 52063 Manually copy the folder to verify

Program deletion is not allowed In the project loading state, Check if the project is in a loaded
52066 while the project is loaded deleting programs in the project state
is not allowed
Program renaming is not allowed In the project loading state, Check if the project is in a loaded
52067 while the project is loaded renaming programs in the state
project is not allowed
Variable name length exceeds the Not be triggered temporarily -
52068
limit (used in translation mirror)
IF command carries coordinate Not be triggered temporarily -
52069
system or tool parameters (used in translation mirror)
Program line count exceeds the Not be triggered temporarily -
52070
limit (used in translation mirror)
Failed to open program text file Not be triggered temporarily -
52071
(used in translation mirror)
Translation command issue error Not be triggered temporarily -
52072
(used in translation mirror)
Translation command result Not be triggered temporarily -
52073
retrieval timed out (used in translation mirror)

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-54
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Mirror command issue error Not be triggered temporarily -
52074
(used in translation mirror)
Mirror command result retrieval Not be triggered temporarily -
52075
timed out (used in translation mirror)
Failed to update variable Not be triggered temporarily -
management table After the controller receives the
command to update variables
(either for a certain project or all
52076 projects), the variable
management file will be
regenerated to deal with
manually copied project files, but
this command is not used now
Operation failed! System Program startup failed
52077 initialization not completed, please Contact the manufacturer
try again later
Failed to retrieve external TCP The external TCP coordinate Check if the external TCP
coordinate system parameters for system domain is incorrect. The coordinate variable is normal
52078 the selected option variable does not exist or the (check in the text)
variable string format is
abnormal
Failed to retrieve robot coordinate The robot coordinate system Check if the tool coordinate
system parameters for the domain is incorrect. The variable variable is normal (check in the
52079
selected option does not exist or the variable text)
string format is abnormal
Failed to retrieve load inertia The load inertia domain is Check if the payload inertia
parameters incorrect. The variable does not variable is normal (check in the
52080
exist or the variable string format text)
is abnormal
The label name passed in does The relevant label cannot be Manually check if the label exists
52081 not exist, failed to retrieve the line found in the program in the program
where the label is located
Program deletion successful The program deletion was Only used for prompt after
52082
successful completion of deletion
Project deletion successful The project deletion was Only used for prompt after
52083
successful completion of deletion
Operation not supported in API In API mode, the system motion Exit the API mode before
mode is controlled externally, and performing related operations
52084
some command operations will
be prohibited
Operation not supported in global Global projects do not support
project operations such as deletion,
52085 -
renaming, copying, and creating
project variables
Project file is write-protected There is a write-protected
program file in the program
52086
project, so the project cannot be
renamed or deleted
Program file is write-protected The program file is in write-
protected status, and no
52087 Only when the program file is
changes can be made to the
unprotected can changes be
program file
made to it
Variable file is write-protected When the program file is in
write-protected status, no
changes can be made to the
52088
global variables, project
variables, and program variables
related to the program file
Failed to set program file to read- The permission for the program
52089 only permissions file was not successfully set to
read-only
Contact the manufacturer
Failed to set program file to read- The permission for the program
52090 write permissions file was not successfully set to
read-write
Program comments exceed the - -
52091
maximum length

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-55
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


String enumeration not found Check the "_enum" parameter in
Failed to retrieve enum type
52301 the relevant command in the
string in the command
configTable.cfg command file
52302 Command validation is invalid - -

Failed to obtain complete - -


52303
command content
Failed to obtain new command list Check the relevant command
Failed to retrieve parameters
52304 parameters in the configTable.cfg
when creating a new command
command file.
Failed to obtain modified
52305
command list
Failed to obtain new small
52306 System error Contact the manufacturer
command list
Failed to obtain modified small
52307
command list
Creation of small functional When creating a new command,
command failed an error occurred while
Check the relevant command
obtaining its AddDo parameter
52308 parameters in the configTable.cfg
(parameter name, parameter
command file.
type, or parameter content is
empty or too long)
52309 Command creation failed

52310 Command modification failed

52311 Command copy failed


System error Contact the manufacturer
52312 Command cut failed

52313 Command paste failed

52314 Command deletion failed

Command annotation failed Possible causes:


1. The project name or program
name of the command is empty
or different from the currently
opened (loaded) one
52315 2. There is no program currently -
opened (loaded)
3. There was an error when
writing to the file after the
operation was successfully
completed
52316 Command recovery failed System error Contact the manufacturer
Current line number exceeds The current command line
maximum limit number given exceeds the
normal range, for example, the
current program has 20 lines,
52317 Contact the manufacturer
but the specified line number for
the new command (theoretically
<= 20) is 100, an error will be
reported
Variable data exceeds maximum When creating or modifying a Check if the command parameter
limit command, the content of a content is too long
certain parameter is too large,
52318
such as the string length of the
judgment string in the IF
command is greater than 400
Unsupported command type The passed command name Check the length of the command
52319 (MovJ, MovL, etc.) is empty or name
too long
Command parameter is missing, The AddDo parameter provided Check if the AddDo parameter is
AddDo command failed to add is invalid due to its non- correct
52320 existence. For instance, the
SetDO command requires two
parameters (port variable and

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-56
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


port value), but if a third variable
(port type) is provided, an error
will be reported
Command translation failed The command content is empty Check the length of the command
when creating or modifying a
command, or the length of the
52321
converted command (P: to t_p.)
exceeds the maximum value
(400)
Failed to obtain all commands The error description is vague
52322 during command validation and covers more detailed error -
descriptions
Command MD5 validation failed The length of the command Check the length of the command
content exceeds the maximum
52323
value (410), which normally
should not be triggered
Incorrect project name or program When performing command Check the project and program
name operations (insert, modify, names of the operation
delete, copy, cut, paste,
uncomment, get content), the
52324 project name or program name
given is empty or different from
the currently opened (loaded)
one, or there is no program
currently opened (loaded)
The program is empty, or the end When performing command
line number is greater than the operations (copy, delete, cut,
start line number paste, comment, uncomment), 1. Check if the current program
52325 the current program command is functions properly
empty, or the specified end line 2. Contact the manufacturer
is greater than the starting line,
or the starting line is 0
Special characters or unclosed IF and ENDIF, WHILE and
statements exist, batch command ENDWHILE do not match, or Check if there is a problem with
52326
operation failed there are multiple START:, END; the program
special character lines
Failed to update program file After changing the program
52327 content, the update to the file Contact the manufacturer
failed
Cannot delete currently loaded - -
52328
program
The number of program When performing command
commands exceeds the maximum operations (create, paste), the Check if the number of lines
52329
limit program lines exceed the exceeds the limit
maximum limit of 1000
Failed to insert command into The inserted command is empty,
52330 memory which should not trigger -
logically.
Command file open error The program erp file does not Check if the erp file exists
52331
exist.
Command line number exceeds The content of the program erp Check if the number of lines in the
52332 maximum limit file exceeds the maximum limit erp file exceeds the limit
of 1000 lines.
52333 Command file is empty The program erp file is empty Check if the erp file is empty

Command file is damaged, and


52334 the system has restored the file System error Contact the manufacturer
from the backup file
Single line command length The length of the command
exceeds limit exceeds the maximum value
Check if the length of the
52335 (400) before or after conversion
command exceeds the limit
(P: to t_p.) during command
creation or modification
Failed to obtain program file list
52336 System error Contact the manufacturer
under project
Command paste failed, no There was no copying or cutting
52337 Copy or cut first, then paste
command copied or cut operation, so the paste

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-57
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


operation could not be executed.

No command to paste, command


52338 System error Contact the manufacturer
paste failed
Undo failed The undo of the previous step
52339 Contact the manufacturer
failed
There is no operation to undo No undoable action to perform
(delete, modify, cut, paste, Check if there is an undo
52340
comment, uncomment) operation available

Invalid file name for undo The program currently open


52341 (loaded) does not match the Contact the manufacturer
undo command received
The triggering operation cannot be OnDistance and OnParameter
Check if the triggering operation
52342 empty instructions require a trigger
for the command is empty
operation
Operation failed! Program file and When loading a program, a
command system version do not version mismatch is detected Check the program file to see if
52343
match They are respectively: between the program file and the version is correct.
the current version
The line number of the operation The line number given for a
exceeds the total number of lines program operation (copy, delete,
52344 in the current program Please cut, comment, uncomment) is Contact the manufacturer
refresh the interface and try again greater than the total number of
lines in the program
Reverse paste cannot contain IF - -
52345
or WHILE commands
ELSIF or ELSE in IF logic do not ELSIF or ELSE command is
52346 match misplaced within an IF
command
No IF command matches FOR There is a logical error with the
52347 command FOR command within an IF Contact the manufacturer
command
No IF command matches WHILE There is a logical error with the
52348 command WHILE command within an IF
command
Failed to retrieve all Variable value System error
52501 Contact the manufacturer
fields
52502 Failed to retrieve variable list System error Contact the manufacturer
Variable name is empty or Variable name is invalid, empty,
52503 exceeds the maximum length contains only digits, or exceeds Check if the variable is valid
maximum length
Variable scope is invalid The scope given for a variable
operation (create, modify,
delete, rename) is incorrect (not
1, 2, or 3)
This error will also occur if the
52504 given variable type is not found Contact the manufacturer
in the specified scope. For
example, if the scope is program
domain (3) but the type is user
coordinate system, this error will
be reported
Variable name already exists The given name for a variable
Search for variables with the
52505 operation (create, rename)
same name
already exists
Failed to create variable When creating a variable, this
error will occur if the project
name is abnormal (empty,
1. Check if there are too many
exceeds maximum length, or
52506 area variables
differs from the currently loaded
2. Contact the manufacturer
project)
This error will also occur if there
are more than 32 area variables
Failed to delete variable Deleting inactive area variables
52507 fails due to an unsuccessful Contact the manufacturer
command transmission, which

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-58
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


may be caused by a full queue
or a locked queue
Failed to modify variable AREA variables: do not exist or
failed to convert string to
structure;
DI and SimDI: string content is
incorrect;
52508 Other: this error is reported
when the project name is
abnormal (empty, exceeds
maximum length, or differs from
the currently loaded project)
during modification
Failed to retrieve Variable value Variable scope error, value
outside of the range 0-12
52509
(system, global, project,
program, AddDo, RUN1-RUN8)
52510 Failed to retrieve variable name - -

52511 Variable not found Failed to retrieve variable type

Variable type is invalid The type of the variable found Contact the manufacturer
52512 based on the given variable name
does not match the given type
Failed to retrieve teaching point
52513 System error Contact the manufacturer
coordinates
The program domain variable Program domain variables
power-off save attribute cannot be cannot have their power-off
Check if the program variable's
modified retention attribute modified, but
52514 power-down save attribute has
this error will also occur if the
been updated
variable retrieval fails during the
checking process
The safety area is not a global
52515 variable or the variable does not
exist
Failed to write variable creation to
52516
file System error Contact the manufacturer
Failed to write variable
52517
modification to file
Failed to write variable teaching to
52518
file
Variable value is invalid or Variable value (in string form) Check if the content of the
52519
exceeds the maximum length exceeds maximum length of 400 variable value is too long
PLC variable index numbers PLC variable index numbers Check if there are PLC variables
52520
cannot be the same cannot be the same with the same index
Maximum number of PLC PLC variables support a Check the number of PLC
52521
variables has been reached maximum of 150 variables
PLC variables are being used by PLC variables are being used by Can be attempted later
52522
other applications another application
52523 Failed to rename variable - -
System variables cannot be System variables cannot be
52524
modified modified
System variables cannot be System variables cannot be Check if the variable is a system
52525
deleted deleted variable
System variables cannot be System variables cannot be
52526
renamed renamed
Internal processing error in global The string representation of the
52527 variable caches global variable structure
(table) cannot find the type
Internal processing error in project The string representation of the
variable caches project variable
52528 Check the variable file to see if
structure (table) cannot find the
the related variables are normal
type
Program variable internal processing Unable to find type when
error converting the program variable
52529
structure (table) in cache to a
string

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-59
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Run/Kill data internal processing Unable to find type when
error converting the RUN program
52530
variable structure (table) in
cache to a string
52531 Failed to delete global variable - -

52532 Failed to delete project variable - -

52533 Failed to delete program variable - -

Failed to retrieve data from safety - -


52534
area variable
Safety area variable does not Safety area variable does not Check the global variable file to
52535
exist or is not a global variable exist or is not a global variable see if the related variables exist
System variables cannot be
52536 - -
deleted
The currently loaded project or
The currently loaded project
program does not match the
52537 does not match the project Contact the manufacturer
project or program where the
where the variable is located
variable is located
52538 User coordinate variable not found

52539 Tool coordinate variable not found

The variable has already been


The variable in use cannot be Check if the variable is used in
52540 referenced in the program
deleted or renamed the program
instruction
System variables cannot be System variables cannot be Check if it is a created system
52541
created created variable
The program where the variable is When performing variable
located does not match the operations (create, modify, get,
currently open program delete, rename), the currently
open program does not match
the program where the variable
52542 is located, or the currently Contact the manufacturer
loaded project does not match
the project where the variable is
located, or the given project or
program name is empty or
exceeds the maximum length
Failed to open text for program The program ERD text does not
52543 variable exist or is too large (larger than Check the related text
500K)
Modifying/deleting/renaming tool The tool parameter that has Check if it has been set as the
parameters that have been set as been set as the system tool system tool coordinate system
52544
system tool coordinate system is coordinate system cannot be
prohibited modified/deleted/renamed
Modifying/deleting/renaming user The user parameter that has Check if it has been set as the
parameters that have been set as been set as the system user system user coordinate system
52545
system user coordinate system is coordinate system cannot be
prohibited modified/deleted/renamed
Modifying/deleting/renaming The payload parameter that has Check if it has been set as the
payload parameters that have been set as the system system workpiece load
52546
been set as system workpiece workpiece load cannot be
load is prohibited modified/deleted/renamed
The maximum number of domain The current number of domain Check the current number of area
52547
variables has been reached variables exceeds 1,500 variables
Failed to create variable, - -
52548 exceeded maximum number of
variables
Modifying/deleting/renaming The extTcp parameter in use
52549 extTcp parameters that are in use cannot be
is prohibited modified/deleted/renamed
Check if it is in use
Modifying/deleting/renaming robot The displacement parameter in
52550 parameters that are in use is use cannot be
prohibited modified/deleted/renamed
Failed to modify t_x domain Failed to modify variable in
52551 Contact the manufacturer
variable cache

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-60
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Failed to modify t_xb domain Failed to modify variable copy in
52552
variable cache
Failed to modify temporary When modifying variables, a
domain variable temporary domain (with only one
variable) is created to generate
52553
a string for efficiency. Failed to
create the variable in the
temporary domain cache
Failed to convert temporary Failed to convert temporary
52554
domain variable to string domain variable to string
Failed to update variable text Failed to update variable file There may be permission issues,
52555 (erd) try manually modifying the related
files to see if it is successful
Deleting/renaming tool The tool parameter that has Check if it is set as the default
parameters that have been set as been set as the default tool tool coordinate system
52556
default tool coordinate system is coordinate system cannot be
prohibited deleted/renamed
Deleting/renaming user The user parameter that has Check if it is set as the default
parameters that have been set as been set as the default user user coordinate system
52557
default user coordinate system is coordinate system cannot be
prohibited deleted/renamed
Deleting/renaming payload The payload parameter that has Check if it is set as the default
parameters that have been set as been set as the default workpiece load
52558
default workpiece load is workpiece load cannot be
prohibited deleted/renamed
This domain variable is in active When the domain variable is Check if the area variable is in an
52559 state, please freeze the domain activated, it cannot be deleted active state
before deleting this variable
Modifying/deleting/renaming The syncoord parameter that Check if it is set as the moving
syncoord parameters that have has been set as the dynamic coordinate system
52560
been set as dynamic coordinate coordinate system cannot be
system is prohibited modified/deleted/renamed
Failed to retrieve data from - -
52561
polyhedron area variable
Polyhedron area variable does not The polyhedron area variable
Check the global variable file to
52562 exist or is not a global variable does not exist or is not a global
see if the related variables exist
variable
Project variables cannot be There are no project variables in
created/used/viewed in global the global project, so operations
52563 -
project related to project variables are
not supported
52564 Failed to retrieve IO value - -

The saved waypoint array The system has a limit on the Optimize the position array
contains too many elements, try length of the file used to store elements appropriately based on
52565 deleting some arrays and try point array variables When the the site conditions
again limit is exceeded, an error will
occur
The maximum count of waypoint The total count of point array Optimize the number of position
52566 arrays has been reached variables in the system cannot array variables appropriately
exceed 32 based on the site conditions
Failed to retrieve display variable The variable scope display flag
52567 scope was not successfully read from
the file, or written to the file
Contact the manufacturer
Failed to set display variable The command queue is being
52568 scope operated on or the system is in a
locked state
Failed to write "Stop" command to If setting a pointer, the pause
52701 parser or kernel state will transition to the stop Contact the manufacturer
state
52702 Failed to start parser or kernel - -

Failed to set program pointer If setting the pointer fails, the


pause state will transition to the 1. Check if the system is in pause
52703 stop state, and an error will be mode
reported; 2. Contact the manufacturer
An error will also be reported if

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-61
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


the program is not loaded or if
the line number is not
unreasonable
Failed to set program mode Modes are divided into single
step, continuous, and reverse. If
52704 Contact the manufacturer
a given value is not one of these
three, an error will be reported
Failed to retrieve tool coordinate - -
52705
system variable
Failed to set tool coordinate
system The current state does not allow
52706 for setting, or the queue is Contact the manufacturer
locked, or the queue is full

Failed to retrieve user coordinate The domain is given incorrectly,


system the variable does not exist, or Check if the relevant variables in
52707
the variable format is incorrect, the variable file are normal
resulting in an error
Failed to set user coordinate
52708 - Contact the manufacturer
system
Program not loaded The program has not been
52709 Check if the program is loaded
loaded
PLC variable properties have When performing PLC variable
52710 changed and changes will take operations (create, modify,
effect after restart delete), a prompt will appear
Program is only in open state and Only loaded or called programs Check if the program status is
52711
cannot be started are allowed to be started only open
Failed to start program as The program can only be started Check if the program status is
52712 program is not in stopped or when it is in the stop or pause stopped or paused
paused state state.
Failed to start motion kernel, The reason is complex and
If the motion kernel fails to start,
52713 program cannot be started requires analysis based on
the program cannot be started.
operations and logs
Failed to issue stop command The command queue is being
52714 operated on or the system is in a Contact the manufacturer
locked state
No project loaded or opened - -
52715 program does not match the
loaded program
52716 Failed to pause program - -

Failed to resume motion kernel, Not in the pause state, or the


1. Check if the system is in pause
program cannot be started command queue is being
52717 mode
operated on, or the system is in
2. Contact the manufacturer
a locked state
Failed to resolve resume No program has been loaded or Check if the system is in pause
52718 command, program cannot be called. The program has not mode
started been loaded or called.
Failed to resolve start command, No program has been loaded or Check if the system is in stop
52719 program cannot be started called. The program has not mode
been loaded or called.
Failed to write "Stop" command to - -
52720
parser
Failed to write "Pause" command - -
52721
to parser
Failed to write "Pause" command The command queue is being
52722 to kernel operated on, the system is in a Contact the manufacturer
locked state, or the queue is full
Failed to write activate area - -
52723
command to parser
Failed to freeze area command to - -
52724
kernel
Tool parameter calibration error, Tool parameter calibration error,
52725 Recalibrate the tool parameters
please recalibrate please recalibrate
User coordinate system Check if there are duplicate points
52726 calibration error, please There is an overlapping point in the calibration, and re-calibrate
recalibrate if necessary

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-62
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


Failed to retrieve status of Writing to the command queue
whether pause point and current has failed, or the command reply
52727 Contact the manufacturer
point are consistent has not been received, or the
command execution has failed
Please switch to manual mode - -
52728 before setting Execution in
reverse
Invalid variable type set Variable types are: 1. Tool; 2. Check if the type is valid
52729 coordinate system, and 3 Load.
Other values are invalid
Only manual mode is supported One-point reach only supports Switch to manual mode
52730
for point-to-point manual mode
Robot is not completely stopped The robot needs some time to Increase the time interval
and will not respond to GO fully stop. If the operation is between releasing and pressing
operation, please increase the frequent and fast, an error may the GO button
52731
time interval between lift and occur when receiving another
press command to start before the
robot has fully stopped.
Failed to refresh global variables - -
52732
from file
INTERRUPT ignored due to During the execution of the
system switching to stop state IEnter instruction in the interrupt
program, the system triggers a
After the system is running,
52733 pause operation. The current
trigger the INTERRUPT again
interrupt is invalid, and the
system will exit the INTERRUPT
execution state.
Failed to write pause reset - -
52734
command to kernel
Modbus TCP communication Modbus transmission failure, or
53001 Contact the manufacturer
interrupted reception failure, or timeout.
Network connection has been - -
53002 disconnected beyond time limit,
system encryption
Command sent via public network, - -
53003
system encryption
Command sent via public network, - -
53004
function enabled
Command sent via public network, - -
53005
permanently unlocked
Maintenance date has arrived, it is - -
53006 recommended to maintain
promptly
Current operating time has - -
exceeded the maintenance cycle,
53007
it is recommended to maintain
promptly
Failed to set Modbus registers on - -
53008
teach pendant
Failed to read Modbus registers - -
53009
on teach pendant
Failed to load enixml file Check if the enixml file exists or
The eni.xml file does not exist or
53502 check if the enixml file format is
has an incorrect format.
correct
Failed to load slaveinfoxml file Check if the slaveinfoxml file
The slaveinfo.xml file does not
53503 exists or check if the slaveinfoxml
exist or has an incorrect format
file format is correct
Failed to save file Check if the current file is
Writing content failed during file
53504 occupied by other programs,
save operation.
resulting in the inability to write
Failed to backup file Check if the current file is
53505 Backup file operation failed occupied by other programs,
resulting in the inability to write
Incorrect device type entered Slave Configuration functionality
53506 for this device type is not -
currently supported.

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-63
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


File operation error An error occurred during file
53507 Contact the manufacturer
modification operation
File open error Failed to open file during 检查文件是否存在或者文件路径是
53508 execution 否配置正确
The electrical cabinet does not Unsupported IO device type for -
53509
support IO operations this cabinet
Exceeded maximum number of Exceeded limit for servo -
53510 servos to be added additions, continuous addition
not supported
Exceeded maximum number of Exceeded limit for IO additions, -
53511 IOs to be added continuous addition not
supported
Exceeded maximum number of Exceeded limit for encoder -
53512 encoders to be added additions, continuous addition
not supported
Failed to delete servo, last servo Failed to delete last servo slave -
53513
in topology cannot be deleted type in current topology
Failed to delete IO, last IO in Failed to delete last IO in current -
53514
topology cannot be deleted topology
Failed to delete encoder, last Encoder does not exist in -
53515 encoder in topology cannot be current topology or last encoder
deleted or does not exist cannot be deleted
Model identification module failed Failed to map communication
54001 to communicate with kernel module of identification
functional module to kernel
Model identification module failed Submodule of identification
54002 to create communication with sub- functional module failed to run Contact the manufacturer
modules
Model identification module failed Communication failure between
54003 to communicate with sub-modules identification functional module
and submodule
Model identification module failed Identification function not
to validate parameter supported for current model
54004 configuration with sub-modules, -
current machine type is not
supported
Model identification module failed
to validate parameter Incorrect set number of robot Check the model configuration
54005
configuration with sub-modules, body axes parameters
axis number setting is incorrect
Model identification module failed
to validate parameter Incorrect reduction ratio
Check the model configuration
54006 configuration with sub-modules, parameter settings for robot
parameters
axis speed ratio parameter setting body joints
is incorrect
Please wait for a few minutes
54099 during the model identification Model identification in progress -
process...
Model identification module failed Failed to map communication
54101 to establish communication module of identification Contact the manufacturer
connection functional module to kernel
Current machine type is not Identification function not
54102 supported by the model supported for current model -
identification module
Joint parameter validation failed in Incorrect joint parameter Check the model configuration
54103
model identification module settings for robot body parameters
Wrist joint parameter validation Incorrect wrist joint parameter
Check the model configuration
54104 failed in model identification settings for robot body
parameters
module
Failed to validate initialization Incorrect parameter settings for
Check the model configuration
54105 status in model identification robot body
parameters
module
Failed to validate machine type Incorrect robot configuration
Check the model configuration
54106 configuration parameters in model parameter settings
parameters
identification module
54107 Failed to validate machine object Incorrect model configuration Contact the manufacturer

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-64
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


in model identification module parameter settings

Failed to establish communication Communication failure between


54108 connection with sub-modules in identification functional module
model identification module and submodule
Failed to validate sub-module Submodule initialization failure
54109 initialization in model identification for identification functional
module module
Incorrect model type configuration Incorrect parameters set for Check the settings of command
54110
in model identification module model identification command parameters
No body model found during Missing model file dependencies
54111 load/tool identification in model for identification
identification module
Failed to establish sub-module Submodule communication
54112 communication connection in establishment failure for
model identification module identification functional module
Sub-module communication data Submodule communication
54113 is empty in model identification failure for identification
module functional module
Failed to update model file in Error updating identification
54114
model identification module model file Contact the manufacturer
Failed to clear cache in model Failed to clear cache
54115
identification module
Cleaning up temporary files in Failed to clear temporary files
54116
model identification module
Failed to establish sub-module in Submodule establishment failure
54117 model identification module for identification functional
module
Model identification module Error occurred during model
54118 exception, please restart and try identification module execution
again
Load/tool identification data has a Identification model accuracy
large amount of error, not too low Re-collect identification data and
54119
recommended to use in model re-perform model identification
identification module
Robot identification data not found Identification data not found
54120 Re-collect identification data
in model identification module
Insufficient robot identification Insufficient amount of
Modify the identification path and
54121 data in model identification identification data
re-collect identification data
module
Excessive robot identification data Excessive amount of Modify the identification path and
54122
in model identification module identification data re-collect identification data
WithLoad identification data not Identification data not found
54123 found in model identification Re-collect identification data
module
Insufficient WithLoad identification Insufficient amount of
Modify the identification path and
54124 data in model identification identification data
re-collect identification data
module
Excessive WithLoad identification Excessive amount of
Modify the identification path and
54125 data in model identification identification data
re-collect identification data
module
ValidData identification data not Identification data not found
54126 found in model identification Re-collect identification data
module
Insufficient ValidData identification
Insufficient amount of Modify the identification path and
54127 data in model identification
identification data re-collect identification data
module
Excessive ValidData identification
Excessive amount of Modify the identification path and
54128 data in model identification
identification data re-collect identification data
module
Remaining storage space is too Insufficient remaining storage
54130 small in model identification space in the current system Clear system space
module
Machine object parameter Incorrect robot model and Check robot model and joint
54170 information is incorrect in model parameter settings parameters
identification module

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-65
ER 系列工业机器人操作手册 Chapter 9 Annexes

Code Content Cause Solution


The model identification module Incorrect robot link parameters Check robot configuration
54171 has erroneous information settings parameters
regarding the link parameters
The model identification module Check robot configuration
has erroneous information parameters
54172
regarding the rated torque
parameters of the axis motors
The model identification module
has erroneous information Incorrect robot axis parameter
54173
regarding the equivalent settings
parameters of the joint motion
The model identification module
has erroneous information
54174
regarding the speed ratio or
coupling parameters of the joints
The model identification module Incorrect identification command Check the configuration
has erroneous information parameter settings parameters of the identification
54175
regarding the instruction command
configuration parameters
The model identification module Incorrect robot installation type Check robot configuration
has erroneous information parameter settings parameters
54176
regarding the body installation
type
The model identification module Incorrect robot additional
has erroneous information mechanism parameter settings
54177
regarding the additional
mechanism configuration
The model identification module Incorrect robot attachment
54178 has erroneous additional parameter settings
information
The model identification module Incorrect robot configuration
has encountered an interruption in parameter settings
54300 Contact the manufacturer
its operation due to abnormal
configuration parameters
The model identification module Error occurred during model
has paused during the calculation identification process Re-execute the identification
54301
process, causing the system to command.
enter a stop state

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-66
ER 系列工业机器人操作手册 Chapter 9 Annexes

Document version V1 18 (for RCS2 V1.30) 2023 ESTUN Robotics. All Rights Reserved. 9-1

You might also like