0% found this document useful (0 votes)
55 views458 pages

Robot Software Manual 3.3 (E)

Uploaded by

ntanh.sj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views458 pages

Robot Software Manual 3.3 (E)

Uploaded by

ntanh.sj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 458

Robot System Software

-HRSS 3.3
User Manual

Original Instruction

www.hiwin.tw
INDUSTRIE 4.0 Best Partner

Multi-Axis Robot
Pick-and-Place / Assembly /
Array and Packaging / Semiconductor /
Electro-Optical Industry /
Automotive Industry / Food Industry
• Articulated Robot
• Delta Robot
• SCARA Robot
• Wafer Robot
• Electric Gripper
• Integrated Electric Gripper
• Rotary Joint

Single-Axis Robot Torque Motor


Precision / Semiconductor / Rotary Table
Medical / FPD
Aerospace / Medical / Automotive Industry /
• KK, SK
Machine Tools / Machinery Industry
• KS, KA
• RAB Series
• KU, KE, KC
• RAS Series
• RCV Series
• RCH Series

Ballscrew Linear Guideway


Precision Ground / Rolled Automation / Semiconductor / Medical
• Super S Series • Ball Type--HG, EG, WE, MG, CG
• Super T Series • Quiet Type--QH, QE, QW, QR
• Mini Roller • Other--RG, E2, PG, SE, RC
• Ecological & Economical
Lubrication Module E2
• Rotating Nut (R1)
• Energy-Saving & Thermal-
Controlling (Cool Type)
• Heavy Load Series (RD)
• Ball Spline

Bearing DATORKER® Robot Reducer


Machine Tools / Robot Robot / Automation Equipment /
• Crossed Roller Bearing Semiconductor Equipment / Machine Tools
• Ballscrew Bearing • WUT-PO Type
• Linear Bearing • WUI-CO Type
• Support Unit • WTI-PH Type
• WTI-AH Type

AC Servo Motor & Drive Medical Equipment


Semiconductor / Packaging Machine Hospital / Rehabilitation Centers /
/ SMT / Food Industry / LCD Nursing Homes
• Drives--D1, D1-N, D2T/D2T-LM • Robotic Gait Training System
• Motors--50W~2000W • Robotic Endoscope Holder

Linear Motor Torque Motor &


Automated Transport / Direct Drive Motor
AOI Application / Precision /
Machine Tools
Semiconductor
• Torque Motor--
• Iron-core Linear Motor
TMRW Series
• Coreless Linear Motor
• Linear Turbo Motor LMT Inspection / Testing Equipment / Robot
• Planar Servo Motor • Direct Drive Motor--
• Air Bearing Platform DMS, DMY, DMN Series
• X-Y Stage
• Gantry Systems
C05UE202-2006

Warranty Terms and Conditions


The period of warranty shall commence at the received date of HIWIN product
(hereafter called “product”) and shall cover a period of 12 months. The warranty
does not cover any of the damage and failure resulting from:

1. The damage caused by using with the production line or the


peripheral equipment not constructed by HIWIN.
2. Operating method, environment and storage specifications not
specifically recommended in the product manual.
3. The damage caused by changing installation place, changing working
environment, or improper transfer after being installed by the
professional installer.
4. Product or peripheral equipment damaged due to collision or accident
caused by improper operation or installation by the unauthorized
staff.
5. Installing non-genuine HIWIN products.

The following conditions are not covered by the warranty:


1. Product serial number or date of manufacture (month and year)
cannot be verified.
2. Using non-genuine HIWIN products.
3. Adding or removing any components into/out the product without
authorized.
4. Any modification of the wiring and the cable of the product.
5. Any modification of the appearance of the product; removal of the
components inside the product. e.g., remove the outer cover, product
drilling or cutting.
6. Damage caused by any natural disaster. i.e., fire, earthquake, tsunami,
lightning, windstorms and floods, tornado, typhoon, hurricane etc.

HIWIN does not provide any warranty or compensation to all the damage caused
by above-mentioned circumstances unless the user can prove that the product is
defective.

For more information towards warranty terms and conditions, please contact
the technical stuff or the dealer who you purchased with.

1
C05UE202-2006

1. Improper modification or disassemble the robot might reduce the robot function, stability
or lifespan.
2. The end-effector or the cable for devices should be installed and designed by a professional
staff to avoid damaging the robot and robot malfunction.
3. Please contact the technical stuff for special modification coming from production line set
up.
4. For the safety reason, any modification for HIWIN product is strictly prohibited.

2
C05UE202-2006

Safety Precautions
1. Safety Information
 Safety Responsibility and Effect
1. This chapter explains how to use the robot safely. Be sure to read this
chapter carefully before using the robot.
2. The user of the HIWIN industrial robot has responsibility to design and
install the safety device meeting the industrial safety regulations in
order to ensure personal safety.
3. In compliance with the safety information on industrial robot described
in this manual can’t guarantee that HIWIN robot will not occur any safety
problems.
4. This machine is defined as a partly completed machinery, the associated
hazards must be handled by system integrator in accordance with ISO
102018-1/ ISO 102018-2.
5. A safety-related part of control system (SRP/CS) should conform to the
requirement of performance level d and category 3 according to ISO
13849-1.
6. The installation for emergency functions shall be defined by the system
integrator in accordance with ISO 10218-1/ ISO 10218-2.

 Safety Operation Principle


1. Before connecting the power supply for HIWIN industrial robot startup
assembly procedure, check whether the specification of factory output
voltage matches the specification of input voltage of the product. If it
does not match, ensure to use the corresponding transformer (HIWIN
optional transformer is recommended).
2. Emergency Stop button (on Teach Pendant or from external emergency
stop switch) must be pressed before turning off the power, and then
switch off the power switch.
3. While connecting to the external I/O or the signal, please operate in the
condition that the power switch is turned off to prevent from a shortcut
caused by mistaken touch in the process, and resulting in damage.

3
C05UE202-2006

Safety Precautions

i. General
All personnel involved in the use or setup of the industrial robot arm must read
the safety related literature for the robot arm and instruction manual in detail
and operate it in accordance with the specifications.

Safety Symbol

Users must strictly abide by the content description, otherwise it will cause
serious casualties.

Users must strictly abide by the content instructions, otherwise it may cause
minor injuries or equipment damage.

User must strictly abide by the content description, otherwise it may cause poor
product performance.

Use Limit
Robotic arm is prohibited for use in the following environments and uses
 Personnel carrying purposes
 Explosive environment
 Environment without safety precautions
 Outdoor environment
 Environment affected by oil, water, dust, etc.

4
C05UE202-2006

ii. Relevant Personnel


Electrical or mechanical work on industrial robot arms is only permitted by
professionals.

All personnel working on industrial robotic arms must read and understand
the manual containing the safety section of the system of the robotic arm.

System Integrator
Refers to the person who integrates the industrial robot arm into a set of equipment
according to safety regulations and puts it into operation.

The system integrator is responsible for the following tasks:


 Install industrial robot arm.
 Industrial machinery arm related equipment connection work.
 Risk assessment of the overall system.
 Use safe guard devices.
 Confirm that the components used by the safe guard devices are in compliance
with regulations.
 Placement, replacement, setup, operation, maintenance and repair work is only
permitted for specially trained personnel in accordance with the operating
instructions for the components of the industrial robot arm.

User
Users must be professionally trained, have the knowledge and experience in this
area, and be familiar with the prescribed standards, and thus be able to make a
correct judgment of the work to be performed and identify potential hazards.
Users can be defined into three categories based on operational permissions:
1. Operator
 System startup and shutdown
 Power on and off
 Alarm system status recovery
2. Engineer
 Operating personnel usage authority
 Programming and changing
 Arm teaching operation

5
C05UE202-2006

3. Expert
 Engineer usage authority
 Mechanical arm maintenance work

System Operation
Those who do not use functional safety kits must implement safety-fence guidance.
The system operation of personnel is divided into the following three levels
1. Operator
2. Engineer
3. Expert
Its control permissions are shown in the following table.
No. Function Operator Engineer Expert
Function Table
1 File X X O
2 Configuration>User group O O O
3 Display>Input/Output X O O
4 Display>Variable X O O
5 Display>Mileage O O O
6 Display>Utilization O O O
7 Display>Motor Torque O O O
8 Display>Fieldbus X X O
9 Diagnosis>Logbook O O O
10 Start-up>Calibrate X X O
11 Start-up>Master X X O
12 Start-up>Robot data X O O
13 Start-up>Network Config X X O
14 Start-up>RS-232 X X O
15 Start-up>System Setting X X O
16 Track>Setting X O O
17 Track>Vision Setting X O O
18 Track>Vision Object X O O
19 Track>Calibration X O O
20 Track>Monitor O O O
21 Help>About O O O
22 Help>Operating Time O O O
23 Help>Update X X O
24 Help>TP Calibration O O O

6
C05UE202-2006

25 Help>Manual O O O
Interface
26 Message box O O O
27 Velocity configuration X O O
28 Tool/base coordinate X X O
29 Teach Pendant configuration X O O
30 Change JOG coordinate system X O O
31 JOG X O O
32 On-screen keyboard O O O
33 Remove teach pendant X O O
34 Step execution X X O
35 Program execution O O O
36 Program selection O O O
37 Modify program X X O
38 Tool/base calibration X O O
39 IO operation X O O
40 Functional IO modification X X O

Electrical or mechanical work is only allowed to be carried out by professionals.

Operator Safety Precautions


The manner and scale of the work and the possible hazards must be explained to the
relevant personnel before work, and relevant training courses must be carried out
on a regular basis. In the event of an accident or technical correction, a training
course must be re-run.

System Set Up Safety Precautions


The system set up only allows specially trained personnel to perform and work in
accordance with the installation, setup, operation and other relevant documents
provided by the original manufacturer.

Maintenance Personnel’s Precautions


Maintenance should only be carried out by specially trained personnel in accordance
with the instructions and operating instructions.

7
C05UE202-2006

iii. Robotic Arm Working Range Definition


 Working area
The working area of the robot is defined as the area of motion under motion
constraints, and the working area must be limited to the minimum required.

 Collaboration area
The area in which the operator and the robot arm may work together in the
protection zone. The collaboration area includes the working area and the
stopping distance of the robotic arm and the additional axis (optional). The area
can be protected by an isolation devices.

Note: Stop distance = reaction distance (time to get the message) + braking
distance (time to receive the message)

 Protective area
A protected area is an area of the working area that is protected by a safe
guard device. The area must include working areas and collaboration areas,
and the safety areas ensure safety in the working area.
4

Illustration of axis A1
1. Workspace
2. Robot
3. Collaborative distance
4. Protective area

8
C05UE202-2006

iv. Description of Safety Functions


Industrial robotic arms must have the following safety features:
 Selection of operating mode of the robot arm
 Safe guard devices
 Emergency stop device
 Teach pendant enable switch
The safety function of the robot arm system is to prevent loss of personnel or
property. If the function is not complete or in failure state, the industrial robot arm
must be prohibited from operating.

Operation Mode Selection


Operating mode application and speed description
Mode Application Velocity

Used for run test, programming Programmed velocity,


T1
and instruction maximum 250 mm/s

Programmed initial velocity, less than


T2 Used for run test
250 mm/s

Used for robot without the No speed limit


AUT
higher-level controllers Unable to perform manual control
Used for the robot with the
No speed limit
AUT EXT higher-level controllers
Unable to perform manual control
(For example, PLC)

Manual Operation Mode (T1,T2 Mode)


The manual operation mode is used for program design, program operation check or
teaching, etc. When performing manual operation, pay attention to the followings:
 All actions must be operated within the protection area.
 Do not damage or potentially damage the relevant equipment due to operates
the robotic arm.
 Operation must be carried out outside the protected area as much as possible.
Both manual and automatic modes of operation in the protected area are not
permitted unless the arm is equipped with a certified speed monitoring accessory
from the manufacture.

9
C05UE202-2006

Automatic Mode
The automatic mode startup should include the following conditions:
 The safe guard devices have been set up and confirmed that their functions are
working properly.
 All suspended security should restore its full functionality.
 Confirm that there are no people in the protected area.
 Relevant workflow rules are complied.
To enter the protection area in this mode, the emergency stop function must be
activated before entering.

Safe Guard Devices Description


The safe guard device must use the components approved by the safety regulations
and set and plan according to the relevant regulations.
The robotic arm system must be automatically activated to receive the safety signal.
In the event of a connection failure during automatic mode operation, an emergency
stop must be triggered. When reconnecting after disconnection, the device cannot
be automatically started directly and must be started manually. Manual slow running
(T1) and manual fast running (T2) modes allow the guard not activate. A method
must be provided to confirm that no personnel are in the protected area when the
automatic mode is activated.
Users must strictly abide by the content description, otherwise it will cause serious
casualties.
Temporary fences can be used during system installation and can be set according to
ISO 10218-2 regulations

Stop Functions
Stop Category Description
Stop Category 0: The drive immediately cuts off the power after triggered.
Stop Category 1: The drive cuts off the power after the robot stops moving.
Stop Category 2: The drive maintains the power supply after the robot stops moving.

10
C05UE202-2006

Stop Mode of Operation Mode


Trigger T1,T2 AUT, AUT EXT
Release the Start Button STOP 2 -
Press the Stop Button STOP 2 (stop 2)
Disconnect the drive device STOP 1 (stop 1)
No "run allowance" at input STOP 2 (stop 2)
Disconnect the control system
STOP 0 (stop 0)
(power disconnection)
Internal failure in the control
STOP 0 or STOP 1
system not related to the
(depend on the failure reason)
safety
Operating mode changed STOP 2
Open the safety door (safety
- SAFETY STOP 1
device)
Release Enabling Switch STOP 2 -
Press Enabling Switch or failure STOP 2 -
Trigger emergency stop SAFETY STOP 1

Emergency Stop Description


Emergency stop related precautions
 Confirm that the function is functioning normally every six months.
 System integrators should provide emergency stop devices to ensure that the
machine is operational or that a hazardous situation exists.
 At least one external emergency stop device is installed. Make sure that
additional emergency stop devices are available for use without or losing the
teach pendant.
 Provide interface to connect external emergency stop devices.
 The emergency stop function can be triggered when the safety control system
connected to the robot arm is cut off.
 The risk assessment should assess whether the emergency stop is not triggered
when the robotic arm control system is turned off and provides a response.
 If a tool or other device connected to the robot is dangerous, it must be
connected to the emergency stop circuit on the equipment side.

11
C05UE202-2006

Teach Pendant Enabling Switch


The teach pendant is equipped with two three-stage enabling switches:
Three-stage enable switch position
 When the switch is in the first stage, it will trigger the stop state of Stop
Category 2
 When the switch is in the second stage, the industrial robot arm motion
command can be executed in the teach mode.
 When the switch is in the third stage (fully pressed), it is the alarm position,
which will trigger the stop state of Stop Category 2
Do not use any methods or tools to affect the function of the enable switch,
otherwise it may cause serious danger and property damage.

12
C05UE202-2006

v. Warnings and Precautions

General considerations

1. All operating procedures should be assessed by professional and in compliance


with related industrial safety regulations.
2. When operating robot, operator needs to wear safety equipment, such as
workwear for working environment, safety shoes and helmets.
3. When encountering danger or other emergency or abnormal situation, please
press the emergency stop button immediately. After danger is eliminated, move
the robot away with low speed in manual mode.
4. When considering safety of the robot, the robot and the system must be
considered at the same time. Be sure to install safety fence or other safety
equipment and the operator must stand outside the safety fence while
operating the robot.
5. A safety zone should be established around the robot with an appropriate safety
device to stop the unauthorized personnel from access.
6. While installing or removing mechanical components, be aware of a falling piece
which may cause injury to operator.
7. Ensure the weight of workpiece does not exceed the rated load or allowable
load moment at wrist. Exceeding these values could lead to the driver alarm or
malfunction of the robot.
8. Do not climb on manipulator.
9. Do not store the machine in the environment with corrosion and flammable gas
or close to the flammable object.
10. Do not operate the machine in the environment with moisture, water or grease.
11. Do not operate the machine at the place where vibration or the strong impact
occurs.
12. Do not immerse the electric wires into grease or water.
13. Do not connect or operate the machine with wet hands.
14. Do not operate the machine in potentially explosive environment.
15. Please ensure the controller is grounded.
16. Keep hands away from the inner part of the controller while it is connecting to
the power or during operating.
17. Do not touch the heat sink, regenerative resistance, the power supply or the
computer inside the controller while it is operating due to its high temperature.

13
C05UE202-2006

18. Be sure power is disconnected prior to repair and maintenance, and ensure to
operate under the condition of no electrical shock risk.
19. Do not disassembly the controller without permission. If there’s any issues,
please contact our engineers.

14
C05UE202-2006

1. The personnel installing robot should be trained and licensed.


2. To ensure personal safety, robot installation must comply with this manual and
related industrial safety regulations.
3. The control cabinet should not be placed near high voltage or machines that
generate electromagnetic fields to prevent interference that could cause the
robot to deviation or malfunction.
4. Using non-HIWIN spare parts to repair may cause robot damage or malfunction.
5. Beware of the heat generated by the controller and servo motor.
6. Do not overbend the cable to avoid poor circuit contact or unexpected damage.
7. Do not stand on the controller or put heavy objects on it.
8. Do not block the vent or put foreign objects into the controller.
9. Please ensure the controller is fixed on the base.
10. Do not pull the connector violently or twist the electric wires excessively.
11. Do not frequently switch ON/OFF the power switch and the control button.
12. Please ensure that the robot, the emergency stop switch and the controller are
functioning properly before performing any work.
13. Do not shutdown the power switch during the operation.
14. Do not open, modify, disassemble and maintain the machine without
permission.
15. The power must be disconnected when the machine does not operate in a long
time.
16. Do not turn off the power of the controller when modifying the program or
parameter. Otherwise, the data stored in the controller will be damaged.
17. When changing the program or parameters inside the robot controller, do not
turn off the power of the controller. Otherwise, the internal data of the controller
will be damaged.
18. After the brake of a servo motor is released, the robot will be moved due to
gravity and it may injured the operator.
19. The industrial robots can be applied for the different industrial environments.
20. When the operating procedures are interrupted, the special attention should be
paid during the troubleshooting.

15
C05UE202-2006

Precautions during operations

1. Teaching, jogging or programming should be done outside of the safety fence. If


it is inevitable to enter the safety fence, press the emergency stop button before
entrance. Operation should be restricted at low speed and beware of
surrounding safety.
2. All operations shall be executed by trained staff.
3. All operations are required to perform in the safe area.

Maintenance Precautions

1. Please contact us if the procedure not specified by HIWIN is needed.


2. Please contact us if the replacement of the component not specified by HIWIN is
needed.
3. Be sure to carry out regular maintenance, otherwise it will affect the service life
of the robot or other unexpected danger.
4. Prior to repair and maintenance, please switch off power supply.
5. Maintenance and repair should be performed by a qualified operator with a
complete understanding of the entire system to avoid risk of robot damage and
personal injury.
6. When replacing the components, avoid foreign object going into the robot.

Precautions for using End Effector


End effectors can be basically divided into the following two categories:
A. Gripper: Mainly for pick and place operations, such as pneumatic, electric
gripper, vacuum suction cup, etc.
B. Tools: Mainly for processing operations, such as welding, cutting, surface
treatment, etc.

1. More attention must be paid to the design of the end effector to prevent power
loss or any other errors that could lead to workpiece falling or damage.
2. The tool-type end effector is usually equipped with high voltage, high
temperature and active rotary shaft. Special attention should be paid to the
operating safety.
3. The end effector should be mounted firmly on the robot to avoid workpiece fall
during operation which may cause personal injury or hazard.

16
C05UE202-2006

1. The end effector may be equipped with its own control unit. During installation,
pay attention to installed location. Ensure that the control unit does not interfere
with robot operation.
2. The gripper-type end effector should prevent the workpiece from dropping or
damaging when the robot experiences a power error or other errors. If potential
dangers or abnormal situations exist when using end effector, the associated
hazards must be handled by the system integrator in accordance with the related
standards.

Precautions for using Hydraulic and Pneumatic

1. When using the pneumatic or hydraulic system, the gripped workpiece may fall
due to insufficient pressure or gravity.
2. The pneumatic or hydraulic system must be equipped with the relief valve, so
that it can be applied in an emergency.

1. More attention should be paid to the pressure remained in the pneumatic


systems after the power is disconnected.
2. The internal pressure must be released before the pneumatic systems are
maintained.
3. More attention should be paid to the pressure in the pneumatic system as it is
several times more than the atmosphere pressure.

Emergency Stop Switch Precautions

1. The robot or other control component should have at least one device for
immediate halt, such as an emergency stop switch.
2. The emergency stop button must be installed in an easily accessible location for
quick stop.
3. While executing an emergency stop, power to the servo motor will be cut, and
all movements will be stopped. And the control system will be shut down.
Emergency stop should be reset if the restoration of operating procedure is
wanted.
4. Avoid using emergency stop to replace a normal stop procedure. This could
reduce the lifespan of the robot.

17
C05UE202-2006

1. When an emergency stop is performed, the power of the drive is cut off, all
operations are stopped, and the control system of the robot arm is turned off.
2. To resume execution, reset the emergency stop switch.
3. Emergency stop is immediate stop: Immediately stop the movement of the robot
arm and cut off the power of the drive.
4. The emergency stop switch is for emergency stop only.
5. HIWIN's industrial robot arm has two emergency stop switches, one of which is
located on the teach pendant and the other is automatically connected to the
controller via a dedicated cable. If there is a need for other emergency stop
switches, the other means of connection can be used to achieve the purpose of
emergency stop.
6. Based on the relevant industrial safety regulations, the emergency stop switch
needs to be directly connected to the control box of the robot arm through a
physical connection line.
7. Additional installed safety equipment must comply with PLD level.

18
C05UE202-2006

Content
1. Product Description ......................................................................................................... 39

1.1. Software Overview ........................................................................................ 39

1.3. Hiwin Robot System Software (HRSS) Overview........................................ 40

2. Operation ......................................................................................................................... 41

2.1. Teach Pendant ............................................................................................... 41

2.1.1. Front view ..................................................................................................... 41

2.1.2. Rear View...................................................................................................... 42

2.2. HRSS Interface .............................................................................................. 44

2.2.1. Status Bar ...................................................................................................... 46

2.2.2. Status Display “Interpreter” .......................................................................... 46

2.2.3. Keyboard ....................................................................................................... 46

2.3. Connect to Control System, and Start HRSS ................................................ 47

2.4. Open Main Menu .......................................................................................... 47

2.5. Language Settings ......................................................................................... 48

2.6. Time and NTP Settings ................................................................................. 49

2.7. Change User Group ....................................................................................... 51

2.8. Change Run ................................................................................................... 53

2.9. Coordinate System ........................................................................................ 54

2.10. JOG................................................................................................................ 56

2.11. Manual Move ................................................................................................ 57

2.11.1. Jog Velocity Change ..................................................................................... 57

2.11.2. BASE/TOOL Coordinate .............................................................................. 57

2.11.3. Teach Pendant Position Configuration .......................................................... 60

2.11.4. Jogging velocity Ratio ................................................................................... 61

2.11.5. Axis-specific jogging with the jog keys ........................................................ 61

2.11.6. Cartesian jogging with the jog keys .............................................................. 62

19
C05UE202-2006

2.11.7. Teach Pendant Alignment ............................................................................. 62

2.11.8. Move with Space Operation Key .................................................................. 64

2.12. Display .......................................................................................................... 65

2.12.1. Display Actual Position ................................................................................. 65

2.12.2. Display Digital Input/Output ......................................................................... 66

2.12.3. Display Remote Input/Output ....................................................................... 67

2.12.4. Display External Functional Input/Output .................................................... 68

2.12.5. Display System Status Input/Output ............................................................. 69

2.12.6. Display Robot Simulation Screen ................................................................. 70

2.12.7. Display Counter Variable .............................................................................. 71

2.12.8. Display Timer Variable ................................................................................. 72

2.12.9. Display Point List .......................................................................................... 73

2.12.10. Display Mileage ............................................................................................ 76

2.12.11. Display Utilization Rate ................................................................................ 77

2.12.12. Display Load Percentage ............................................................................... 78

2.12.13. Display Alarm and Zero Position History Message ...................................... 80

2.13. Field Bus Setting (Optional).......................................................................... 82

2.13.1. Set CC-Link Connection Parameters............................................................. 82

2.13.2. Set Profinet Connection Parameters .............................................................. 83

2.13.3. Set ModbusTCP Client Connection Parameters............................................ 84

2.13.4. Set ModbusTCP Server Connection Parameters ........................................... 85

2.13.5. Set ModbusRTU Client Connection Parameters ........................................... 86

2.13.6. Set ModbusRTU Server Connection Parameters .......................................... 86

2.13.7. Confirmation of Connection Status ............................................................... 87

2.13.8. Use FieldBus Input (SI[n]) ............................................................................ 88

2.13.9. Use FieldBus Output (SO[n]) ........................................................................ 89

20
C05UE202-2006

2.13.10. Use FieldBus Register (SRR、SRW) ........................................................... 90

2.13.11. Use FieldBus Register Mapping.................................................................... 91

2.14. Communication ............................................................................................. 96

2.14.1. TCP/IP Communication ................................................................................ 96

2.14.2. Setting connection for IP address .................................................................. 97

2.14.3. RS232 Communication ................................................................................. 99

2.15. Electric Gripper Setting ............................................................................... 101

2.16. Vision System ............................................................................................. 106

2.17. Module I/O Function ................................................................................... 112

2.18. Pick/Place DI Detection Function ............................................................... 113

2.19. Remote Monitoring Function ...................................................................... 114

2.20. Conveyor Belt Tracking Sensor Trigger Object Identification Function .... 119

2.21. External Axis ............................................................................................... 121

2.21.1. External axis parameter settings .................................................................. 121

2.21.2. Calibration setting for external axis mathematically coupled function .... 125

2.21.3. External axis zero point correction .............................................................. 126

2.21.4. External axis zero point correction .............................................................. 127

2.21.5. Display information about external axis position ........................................ 128

2.21.6. Point list information ................................................................................... 129

2.21.7. Reference position ....................................................................................... 131

2.22. Welding function (optional) ........................................................................ 132

2.22.1. Welding system and device settings ............................................................ 132

2.22.2. Welding procedure setting........................................................................... 134

2.22.3. Welding I/O ................................................................................................. 137

2.22.4. Weaving function ........................................................................................ 141

2.22.5. Torch(TCP) recovery .................................................................................. 144

21
C05UE202-2006

2.22.6. Resume Program ......................................................................................... 148

2.23. Collision Detection ...................................................................................... 149

2.23.1. Parameter Setting ........................................................................................ 149

2.23.2. Program Command ..................................................................................... 151

2.23.3. Operating Procedure .................................................................................... 152

2.24. Payload ........................................................................................................ 153

2.24.1. Parameter Setting ........................................................................................ 154

2.24.2. Program Command ..................................................................................... 157

2.24.3. Operating Procedure .................................................................................... 158

2.24.4. Payload calculation...................................................................................... 158

2.25. Soft Limit .................................................................................................... 164

2.26. Software Update .......................................................................................... 169

2.27. Export Manual ............................................................................................. 171

2.28. Software Shutdown ..................................................................................... 171

3. Initial Settings................................................................................................................ 173

3.1. Check Parameters ........................................................................................ 173

3.2. Calibration Flow.......................................................................................... 173

3.3. Adjust Origin Position of Hardware Mechanism ........................................ 175

3.3.1. Mastering Method (6-axis robot) ................................................................ 176

3.3.2. Mastering Method (Delta Robot) ................................................................ 179

3.3.3. Reset Absolute Position............................................................................... 181

3.3.4. Reset Encoder Error .................................................................................... 182

3.4. Calibration (Six-axis Robot) ....................................................................... 183

3.4.1. Base calibration ........................................................................................... 183

3.4.1.1. 3-point Method ............................................................................................ 184

3.4.1.2. Enter Value .................................................................................................. 185

22
C05UE202-2006

3.4.2. Tool calibration ........................................................................................... 185

3.4.2.1. 4-Point Method ............................................................................................ 186

3.4.2.2. Enter Value .................................................................................................. 188

3.5. Calibrate Coordinates (Delta Robot) ........................................................... 188

3.5.1. Calibrate Base Coordinates ......................................................................... 189

3.5.1.1. Three-point Method..................................................................................... 189

3.5.1.2. Enter Value .................................................................................................. 191

3.5.2. Calibrate Tool Coordinates ......................................................................... 191

3.5.2.1. 3-point Method ............................................................................................ 193

3.5.2.2. Enter Value .................................................................................................. 194

3.6. Conveyor Calibration .................................................................................. 195

3.6.1. Conveyor Image Calibration ....................................................................... 195

3.6.2. Conveyor Arm Calibration .......................................................................... 196

3.7. Conveyor Parameters .................................................................................. 199

3.7.1. Image Parameters ........................................................................................ 199

3.7.2. Object Parameters ....................................................................................... 200

3.8. Home and Position Check Configuration .................................................... 203

3.8.1. Home Configuration .................................................................................... 203

3.8.2. Configuration of Position Check Alarm ...................................................... 204

3.8.3. Position Check............................................................................................. 206

3.9. Infinite Rotation Function (Optional).......................................................... 207

3.9.1. Axis 6 Infinite Rotation Function ................................................................ 207

4. Program Management ................................................................................................... 208

4.1. Document Navigator ................................................................................... 208

4.2. Add Program ............................................................................................... 210

4.3. Copy Program ............................................................................................. 210

23
C05UE202-2006

4.4. Open Program ............................................................................................. 211

4.5. HRSS STRUCTURE ................................................................................... 214

4.5.1. Home Position ............................................................................................. 214

4.6. Start Program............................................................................................... 215

4.6.1. Select Program Running.............................................................................. 215

4.6.2. Program Running ........................................................................................ 215

4.6.3. Pre-reading .................................................................................................. 215

4.6.4. Set Program Ratio ....................................................................................... 215

4.6.5. Driver status ................................................................................................ 216

4.6.6. Decoder Status Display ............................................................................... 216

4.6.7. Start a Program (Manual) ............................................................................ 216

4.6.8. Start a Program (Auto) ................................................................................ 217

4.6.9. Start External Auto Run .............................................................................. 217

4.7. Edit Program ............................................................................................... 217

4.7.1. Copy Program Bar ....................................................................................... 218

4.7.2. Paste Program Bar ....................................................................................... 218

4.7.3. Cut Program Bar.......................................................................................... 218

4.7.4. Delete Program Line ................................................................................... 218

4.7.5. Comment Program Bar................................................................................ 219

4.7.6. Cancel Comment Program Bar.................................................................... 219

4.7.7. Indent Program Bar ..................................................................................... 219

4.7.8. Cancel Indent Program Bar ......................................................................... 220

4.7.9. Recovery Program Bar ................................................................................ 220

4.7.10. Cancel Recovery Program Bar .................................................................... 220

4.8. Backup and Recovery Data ......................................................................... 221

4.8.1. Backup Data ................................................................................................ 221

24
C05UE202-2006

4.8.2. Recovery Data ............................................................................................. 221

4.9. Rules for naming files ................................................................................. 222

5. Motion Program Design ................................................................................................ 223

5.1. Motion Overview ........................................................................................ 223

5.2. Point-to-point (PTP) Motion ....................................................................... 223

5.3. LIN Motion ................................................................................................. 223

5.4. CIRC Motion ............................................................................................... 224

5.5. Blend ........................................................................................................... 225

5.6. Singular Point .............................................................................................. 226

6. Programming with inline forms..................................................................................... 229

6.1. Name in Inline Form ................................................................................... 229

6.2. Programming for PTP, LIN, CIRC, SPINE Motion .................................... 229

6.2.1. Programming for PTP Motion ..................................................................... 229

6.2.2. Programming for LIN Motion ..................................................................... 231

6.2.3. Programming for CIRC Motion .................................................................. 234

6.2.4. Perform Programming for SPLINE Motion ................................................ 237

6.3. Variable Configuration ................................................................................ 238

6.3.1. REAL .......................................................................................................... 238

6.3.2. INT (programmed by keyboard) ................................................................. 238

6.3.3. BOOL (programmed by keyboard) ............................................................. 239

6.3.4. CHAR (programmed by keyboard) ............................................................. 239

6.3.5. STRING(programmed by keyboard)........................................................... 239

6.3.6. E6POS Coordinate Points (programmed by keyboard)............................... 240

6.3.7. E6AXIS Axis Points (programmed by keyboard) ....................................... 240

6.3.8. E6POINT Coordinate Points (programmed by keyboard) .......................... 242

6.3.9. FRAME Coordinate Points (programmed by keyboard)............................. 242

25
C05UE202-2006

6.4. Register Configuration ................................................................................ 243

6.4.1. Using COUNTER Register ......................................................................... 243

6.4.2. Enable TIMER Register .............................................................................. 243

6.4.3. Using Timer Register .................................................................................. 244

6.5. Programming for Logic Command ............................................................. 245

6.5.1. Input/Output ................................................................................................ 245

6.5.2. OUT ............................................................................................................. 245

6.5.3. WAIT .......................................................................................................... 245

6.5.4. WAIT FOR… .............................................................................................. 246

6.5.5. QUIT (programmed by keyboard) .............................................................. 247

6.6. Programming for LOOP Command ............................................................ 247

6.6.1. IF ................................................................................................................. 247

6.6.2. FOR (programmed by keyboard) ................................................................ 247

6.6.3. LOOP (programmed by keyboard).............................................................. 248

6.6.4. WHILE ........................................................................................................ 248

6.6.5. REPEAT (programmed by keyboard) ......................................................... 249

6.6.6. GOTO (programmed by keyboard) ............................................................. 249

6.6.7. SWITCH (programmed by keyboard) ......................................................... 250

6.7. Simulate Environment Instruction............................................................... 251

6.7.1. ADDTOOL Newly Add Tool (programmed by keyboard) ......................... 251

6.7.2. SHOW_TOOL Show Tool (programmed by keyboard) ............................. 251

6.7.3. ADDOBJ Newly Add Workpiece (programmed by keyboard ) ................. 252

6.7.4. SHOW_OBJ Show Workpiece (programmed by keyboard)....................... 252

6.7.5. MOVEFLOOR Position of Moving Floor (programmed by keyboard)...... 253

6.7.6. AXISON Display Coordinate System ......................................................... 254

6.7.7. AXISOFF Hidden Coordinate System ........................................................ 254

26
C05UE202-2006

6.8. Definition of Structure (programmed by keyboard) .................................... 254

6.9. Subprogram (programmed by keyboard) .................................................... 255

6.10. Communication Configuration .................................................................... 256

6.10.1. Using RS232 to Connect with External Equipment .................................... 256

6.10.2. Use Ethernet to Connect with External Equipment ..................................... 260

6.11. Conveyor Command.................................................................................... 264

6.11.1. CNV_START .............................................................................................. 264

6.11.2. CNV_END .................................................................................................. 264

6.11.3. CNV_PICK_QUANTITY ........................................................................... 264

6.11.4. CNV_TRIGGER_TIMES[NUM] ............................................................... 265

6.11.5. CNV_PICK ................................................................................................. 265

6.11.6. CNV_PLACE .............................................................................................. 267

6.11.7. CNV_OBJECT ............................................................................................ 268

6.11.8. CNV_FULL ................................................................................................ 269

6.11.9. CNV_EMPTY ............................................................................................. 269

6.11.10. CNV_SET_DELAY_TIME[NUM] ............................................................ 270

6.11.11. CNV_QUEUE_SIZE[NUM]....................................................................... 271

6.11.12. CNV_OBJ_CNT_DIST[NUM]................................................................... 272

6.11.13. CNV_PLACE_BATCH[NUM] .................................................................. 273

6.11.14. CNV_RESET_ENC .................................................................................... 273

6.11.15. CNV_QUEUE_REMOVE[NUM] .............................................................. 273

6.11.16. CNV_PICK_ACC[NUM] ........................................................................... 274

6.11.17. CNV_OFFSET_X[NUM] ........................................................................... 274

6.11.18. CNV_OFFSET_Y[NUM] ........................................................................... 275

6.11.19. CNV_OFFSET_Z[NUM]............................................................................ 275

6.11.20. CNV_SPEED[NUM] .................................................................................. 276

27
C05UE202-2006

6.12. DO switching on the path (SYN) ................................................................ 276

6.13. Setting of External Procedure Input/Output ................................................ 277

6.13.1. Mode Setting of External Procedure ........................................................... 277

6.13.2. External Procedure Function of RSR Mode ................................................ 277

6.13.3. External Procedure Function of PNS Mode ................................................ 278

6.14. Positioning Check of Arm Position ............................................................. 280

6.15. Self-defined Digital Input Control Function ............................................... 282

6.15.1. Clear Error ................................................................................................... 282

6.15.2. External Alarm ............................................................................................ 283

6.15.3. External Shutdown Input ............................................................................. 283

6.16. Self-defined Digital Output Control Function............................................. 284

6.16.1. Motor Warning ............................................................................................ 284

6.16.2. System Start Up ........................................................................................... 285

6.16.3. Mode Output ............................................................................................... 285

6.17. Setting of Motion Parameters (programmed by keyboard) ......................... 285

6.17.1. SET_OVERRIDE_SPEED ......................................................................... 285

6.17.2. SET_ SPEED............................................................................................... 286

6.17.3. SET_ ACC................................................................................................... 286

6.17.4. SET_ ROTATION_SPEED ........................................................................ 287

6.17.5. SET_TOOL ................................................................................................. 287

6.17.6. SET_BASE.................................................................................................. 288

6.17.7. TRUE_PATH .............................................................................................. 288

6.17.8. GETPOINT ................................................................................................. 290

6.17.9. GET_MOTION_STATUS .......................................................................... 290

6.17.10. BRAKE ....................................................................................................... 290

6.17.11. EXT_TCP (Optional) .................................................................................. 291

28
C05UE202-2006

6.17.12. CHECK_LIN ............................................................................................... 291

6.18. Location Register ........................................................................................ 292

6.18.1. Using Interface to Enter Location Register ................................................. 292

6.18.2. Using Instruction to Enter Location Register .............................................. 293

6.18.3. Use Location Register for Motion ............................................................... 293

6.19. User Self-defined Alarm ............................................................................. 294

6.19.1. Content of Defined Alarm ........................................................................... 294

6.19.2. Issue Self-defined Alarm (programmed by keyboard) ................................ 294

6.20. Electric Gripper Command ......................................................................... 296

6.20.1. Command Description................................................................................. 296

6.20.1.1. EG_OPEN (str Type).......................................................................... 296

6.20.1.2. EG_CLOSE ........................................................................................ 296

6.20.1.3. EG_RESET......................................................................................... 297

6.20.1.4. EG_GET_STATUS ............................................................................ 297

6.20.1.5. EG_RUN_MOVE(double MovPos, int MovSpeed) .......................... 298

6.20.1.6. EG_RUN_GRIP(str Dir, int Str, str GriSpeed, str GriForce) ............. 298

6.20.1.7. EG_RUN_EXPERT(str Dir, double MovStr, int MovSpeed, double


GriStr, int GriSpeed, int GriForce) ................................................................................ 299

6.20.1.8. EG_GET_POS .................................................................................... 300

6.21. Infinite Rotation Command (Optional) ....................................................... 301

6.21.1. CT_A6 ......................................................................................................... 301

6.22. String Function ............................................................................................ 302

6.22.1. String Cascade ............................................................................................. 302

6.22.2. STRCMP ..................................................................................................... 302

6.22.3. STRPOS ...................................................................................................... 302

6.22.4. STRCPY ...................................................................................................... 303

6.22.5. STRLEN ...................................................................................................... 303

29
C05UE202-2006

6.22.6. INTTOSTR.................................................................................................. 304

6.22.7. REALTOSTR .............................................................................................. 304

6.22.8. STRTOINT.................................................................................................. 304

6.22.9. STRTOREAL .............................................................................................. 305

6.23. Interrupt ....................................................................................................... 305

6.23.1. Declaration .................................................................................................. 305

6.23.2. Enable and Disable ...................................................................................... 306

6.23.3. Functional limitations and specifications .................................................... 306

6.24. Multiple(1~3) Dimension Array.................................................................. 306

6.24.1. Declare ........................................................................................................ 306

6.24.2. Assign And Access Elements of an Array .................................................. 307

6.24.3. Pass Array as Function Parameter ............................................................... 308

6.25. External Axis Command ............................................................................. 308

6.25.1. EX_AX ........................................................................................................ 308

6.25.2. EX_AX_ASYNC ........................................................................................ 309

6.25.3. EX_AX_SYNC_COUPLE .......................................................................... 309

6.25.4. EX_AX_SET_ACC .................................................................................... 309

6.25.5. EX_AX_SET_SPEED................................................................................. 310

6.25.6. EX_AX_CT ................................................................................................. 310

6.25.7. ASYPTP ...................................................................................................... 311

6.25.8. PTP .............................................................................................................. 311

6.25.9. LIN .............................................................................................................. 311

6.25.10. CIRC............................................................................................................ 312

6.26. Welding Command ..................................................................................... 312

6.26.1. WELD_START ........................................................................................... 312

6.26.2. WELD_END ............................................................................................... 313

30
C05UE202-2006

6.26.3. WEAVE ...................................................................................................... 313

6.26.4. WEAVE_END ............................................................................................ 314

7. Error Message................................................................................................................ 314

7.1. Robot System Software(01-XX-XX) .......................................................... 314

7.1.1. System Error Message(01-01-XX) .............................................................. 314

7.1.2. Program Error(01-02-XX) ........................................................................... 319

7.1.3. Motion Error(01-03-XX)............................................................................. 319

7.1.4. Operation Error(01-04-XX) ........................................................................ 324

7.1.5. IO & Communication(01-05-XX) ............................................................... 327

7.1.6. Operator Error (01-06-XX) ......................................................................... 331

7.1.7. External Axis Error (01-07-XX) ................................................................. 333

7.1.8. Conveyor Tracking Error(01-08-XX) ......................................................... 335

7.1.9. User-Defined Error (01-09-XX) .................................................................. 336

7.1.10. Authorization Error(01-0B-XX).................................................................. 337

7.1.11. Welding Function Error (01-0C-XX) .......................................................... 338

7.1.12. Windows Information.................................................................................. 341

7.2. HIWIN Robot Controller(02-XX-XX) ........................................................ 344

7.2.1. Safety Input(02-01-XX) .............................................................................. 344

7.2.2. Hardware Error(02-02-XX) ......................................................................... 344

Axis Amplifier(03-XX-XX) ........................................................................ 345

7.3. ..................................................................................................................................... 345

7.3.1. Function Name and Number Description .................................................... 345

7.3.2. Driver Alert Number ................................................................................... 345

7.3.3. DAC – Y Driver Alarm Code(Y-XXX) ...................................................... 355

7.3.4. DAC – S Driver Alarm Code(S-XXXX)..................................................... 367

7.4. Electric gripper(04-XX-XX) ....................................................................... 373

31
C05UE202-2006

7.4.1. Hardware Error (04-01-XX) ........................................................................ 373

7.4.2. Operation Error (04-02-XX, 04-01-8X) ...................................................... 374

7.4.3. Electric Gripper Controller Alarm Signal Error (04-01-3X) ....................... 377

7.4.4. Electric Gripper Command Communication Timeout (04-01-4X) ............. 378

8. Program Examples......................................................................................................... 379

8.1. Register........................................................................................................ 379

8.1.1. COUNTER Register .................................................................................... 379

8.1.2. TIMER Register .......................................................................................... 379

8.2. Variable Type .............................................................................................. 380

8.2.1. REAL .......................................................................................................... 380

8.2.2. INT .............................................................................................................. 380

8.2.3. BOOL .......................................................................................................... 380

8.2.4. CHAR .......................................................................................................... 381

8.2.5. E6POS Point................................................................................................ 381

8.2.6. E6AXIS Point .............................................................................................. 381

8.2.7. E6POINTPoint ............................................................................................ 382

8.3. Operator....................................................................................................... 382

8.3.1. Arithmetic Operator .................................................................................... 382

8.3.2. Logic Operator ............................................................................................ 383

8.3.3. Relation Operator ........................................................................................ 383

8.4. Input/Output ................................................................................................ 384

8.4.1. Digital Input ................................................................................................ 384

8.4.2. Digital Output .............................................................................................. 384

8.4.3. Robot Input.................................................................................................. 384

8.4.4. Robot Output ............................................................................................... 384

8.4.5. Valve Output ............................................................................................... 384

32
C05UE202-2006

8.5. Motion Function .......................................................................................... 385

8.5.1. PTP .............................................................................................................. 385

8.5.2. PTP_REL .................................................................................................... 386

8.5.3. LIN .............................................................................................................. 387

8.5.4. LIN_REL ..................................................................................................... 388

8.5.5. LIN_REL_TOOL ........................................................................................ 389

8.5.6. CIRC............................................................................................................ 389

8.5.7. CIRC_REL .................................................................................................. 391

8.5.8. SPLINE ....................................................................................................... 391

8.5.9. Array Accumulation .................................................................................... 392

8.5.10. CT_A6 ......................................................................................................... 392

8.5.11. BRAKE ....................................................................................................... 393

8.5.12. EXT_TCP .................................................................................................... 393

8.6. Control Function ......................................................................................... 395

8.6.1. IF ................................................................................................................. 395

8.6.2. FOR ............................................................................................................. 398

8.6.3. LOOP .......................................................................................................... 399

8.6.4. WHILE ........................................................................................................ 400

8.6.5. REPEAT ...................................................................................................... 402

8.6.6. GOTO .......................................................................................................... 403

8.6.7. SWITCH...................................................................................................... 405

8.6.8. WAIT .......................................................................................................... 409

8.6.9. QUIT ........................................................................................................... 409

8.7. Motion Parameter ........................................................................................ 410

8.7.1. CONT .......................................................................................................... 410

8.7.2. FINE ............................................................................................................ 413

33
C05UE202-2006

8.7.3. VEL ............................................................................................................. 413

8.7.4. ACC............................................................................................................. 413

8.8. Definition of Structure................................................................................. 414

8.9. Function & Subprogram .............................................................................. 415

8.9.1. Definition & Using Method of Function ..................................................... 415

8.9.2. Definition & Using Method of Subprogram ............................................... 417

8.10. External Function & Subprogram ............................................................... 419

8.10.1. Definition & Using Method of External Function(EXTFCT) ..................... 419

8.10.2. Definition &Using Method of External Subprogram(EXT)........................ 420

8.11. RS232 Configuration................................................................................... 422

8.12. NET Configuration ...................................................................................... 423

8.13. Conveyor Configuration .............................................................................. 424

8.13.1. Pick Program(1) .......................................................................................... 424

8.13.2. Pick Program(2) .......................................................................................... 425

8.13.3. Pick Program(3) .......................................................................................... 426

8.14. DO switching on the path(SYN OUT) ........................................................ 428

8.14.1. Program Example 1 of SYN........................................................................ 428

8.14.2. Program Example 2 of SYN........................................................................ 429

8.14.3. Program Example 3 of SYN........................................................................ 430

8.14.4. Example 4 of SYN Program ........................................................................ 431

8.14.5. Example 5 of SYN Program ........................................................................ 432

8.15. Electric Gripper ........................................................................................... 433

8.16. External Axis ............................................................................................... 436

8.17. Welding(Optional) ...................................................................................... 437

8.18. Collision Detection ...................................................................................... 437

8.19. Payload ........................................................................................................ 438

34
C05UE202-2006

8.20. Interrupt ....................................................................................................... 438

8.21. Array............................................................................................................ 441

9. Appendix ....................................................................................................................... 443

9.1. Software commands .................................................................................... 443

35
C05UE202-2006

Version Update

Applicable Applicable
Edition Date Remark
Software Range
RA605、
RA610、
HRSS RA620、
1.0.0 2017.07.10 Preliminary Issue
V3.2.0 RD4D5、
RD401、
RD403
RA605、
RA610、 Add 4.6、4.17、5.9、8.15.2、9.3.3、
HRSS RA620、 9.3.4、11.1 Content
1.1.0 2017.09.11
V3.2.2 RD4D5、 Modified 5.8、8.2.2.4、9、10.5.5、
RD401、 10.8 Content
RD403
RA605、
RA610、 1.Add 5.5.2.1、9.1.10
RA620、 2.Modified 3.5.1、3.5.2、3.5.8、
HRSS
1.2.0 2017.12.15 RD4D5、 3.5.10、3.5.11、3.5.12、3.6.1、
V3.2.5
RD401、 4.6、4.11.3、4.16、9.1.4、9.3.2、
RD403、 9.3.4
RT605
RA605、
RA610、
1.Add 4.13.7、4.16、6.6.3、9.1.11
RA620、
HRSS 2.Modified 4.9 、4.15 、4.17 、
1.3.0 2018.01.08 RD4D5、
V3.2.6 5.3.1、5.3.2、5.5.2、9.1.2、9.1.5、
RD401、
9.2.2、10.7.1、10.7.2、10.10.2
RD403、
RT605
RA605、
RA610、 1.Add 5.10、8.16.10、8.16.11、
RA620、 8.20、10.5.10、10.5.11、10.5.12
HRSS
1.4.0 2018.02.13 RD4D5、 2.Modified 4.15、4.17、5.3.1、
V3.2.7
RD401、 5.7.2、8.16.6、8.19.1.5、8.19.1.7、
RD403、 9.1.2、9.1.4、10.15
RT605

36
C05UE202-2006

RA605、
RA610、
RA620、
HRSS 1.Add 4.12.13、4.17、4.18、8.16.1
1.5.0 2018.04.17 RD4D5、
V3.2.8 2.Modified 9.4、10.3.1
RD401、
RD403、
RT605
RA605、
RA610、
RA620、 1.Add 4.11.9、4.20、4.23、8.15.3、
HRSS
1.6.0 2018.09.28 RD4D5、 8.16.2、8.17.12
V3.2.12
RD401、 2.Modified 9.3.2、9.3.4
RD403、
RT605
RA605、
RA610、
RA620、 1.Add 8.17.13, 10.5.13, 10.5.14
HRSS
1.7.0 2018.12.11 RD4D5、 2.Modified 4.15, 8.20, 9.4,
V3.2.14
RD401、 10.15, 11.1
RD403、
RT605
RA605、
RA610、 1.Add 4.13.3, 4.13.4, 8.16.2,
RA620、 8.16.3
HRSS
1.8.0 2019.05.22 RD4D5、 2.Modified 3.2, 4.7, 4.12.13,
V3.2.15
RD401、 4.13.1, 4.13.2, 8.10.1, 9.1.1,
RD403、 9.1.2, 9.4.2, 9.4.3
RT605
RA605、
RA610、
RA620、
HRSS
1.9.0 2019.12.17 RD4D5、 1.Modified 2.23, 2.24
V3.3.2
RD401、
RD403、
RT605
HRSS RA605、 1.Add 6.27, 6.28, 6.29, 8.2.5,
1.10.0 2020.04.14
V3.3.5 RA610、 8.20, 8.21

37
C05UE202-2006

RA620、 2.Modified 2.13.11, 2.23.1, 2.24,


RD4D5、 2.24.1, 2.24.3, 2.24.4, 6.10.2,
RD401、 7.3.2, 8.12, 9
RD403、
RT605

38
C05UE202-2006

1. Product Description
1.1. Software Overview
The following software will be applied:
 HIWIN Robot System Software
 Windows 7 Embedded

1.2. Robot Overview


The robot is comprised of the following parts:
1. Robot (Six-axis robot or Four-axis robot)
2. Cable
3. Control System
4. Teach Pendant (HRSS software)

Robot illustration

39
C05UE202-2006

1.3. Hiwin Robot System Software (HRSS) Overview


Description
The HIWIN Robot System Software (HRSS) controls all basic functions for
the robot.
 Path planning
 I/O management
 Data and file management…
 HRSS

The interface is called HIWIN ROBOT SYSTEM SOFTWARE (HRSS).


Features:
 User management
 Program editor
 Robot language
 Inline forms for programming
 Message display
 Configuration windows
 etc.

Offline version recommended environment


 Window 7
 Resolution 1360x768 above
 Console ->all console project ->Display: Small (100%)

The operating interface may differ from the standard model depending on the
user's settings.

40
C05UE202-2006

2. Operation
2.1. Teach Pendant
2.1.1. Front view
Function
The Teach Pendant is a portable programming device for the robot, which can
provide both programming operation and display. It is equipped with a touch
screen: the HRSS can operate by finger or stylus without an external mouse and
external keyboard.

In this reference, the Teach Pendant is referred as “TP”

Overview

Front view of HIWIN’s teach pendant

No. Description
Used to change operation mode and turn on/off the monitor. Only after the key
1
is inserted, the switch can be turned.
Emergency Stop Button, used to stop the robot in emergency. It will lock when
2
the Emergency Stop Button is pressed.
3 Run Button, used for JOG.
4 Velocity adjustment
5 Space Operation Button

41
C05UE202-2006

2.1.2. Rear View


Overview

Rear View of HIWIN’s Teach Pendant


1. Enabling Switch
2. Model Plate

Description
Component Description

The Enabling Switch has three positions:


 Not pressed
 Center position
Enabling  Pressed
Switch In T1 or T2, the Enabling Switch must be kept in the center position to
start the robot.
In the Auto Run and External Auto Run modes, the Enabling Switch will
not activate.

Model
Model Plate
Plate

It is prohibited to remove or insert Teach Pendant when the controller is under


powered condition, this is to prevent damaging Teach Pendant. If Teach Pendant is
removed under powered condition, the emergency stop will be activated
immediately. Only reinsert the Teach Pendant can deactivate the emergency stop.

42
C05UE202-2006

If the Teach Pendant is removed, the robot cannot be stopped from the Emergency
Stop Button on the Teach Pendant. An external Emergency Stop Device is required
to connect to the control system.
The providers should take responsibility to remove the Teach Pendant from the
robot and keep it safe. It should be stored out of operator’s view and away from
contact. The purpose is to avoid confusion of valid and invalid emergency stop
devices.
Failure to take these measurements could lead to serious injury, death or
equipment damage

43
C05UE202-2006

2.2. HRSS Interface

6-axis robot HRSS interface

Delta robot HRSS interface

44
C05UE202-2006

No. Name Description


1 Main Menu Display the Main Menu
Displays the error information according
2 Error Information Window
to the default configuration.
Displays by the program to change the
3 Program Ratio and Jogging Ratio
ratio.
4 Status Bar
Displays the selected tool and base
5 Tool and Base number. Click to change the tool or base
number.
6 Step motion Step motion and continue motion
Touch the display to select the relative
7 Teach Pendant Configuration position where the Teach Pendant faces
the robot.
Displays the current coordinate system.
8 Coordinate system Button Touch to display all coordinate systems
and select another one.
If axis-specific jogging is selected, the
axis number (A1, A2 etc) will be
displayed here. If Cartesian jogging is
9 Run Button selected, the direction of the coordinate (6-
axis) system (X, Y, Z, A, B, C) will be
displayed; If coordinate (4-axis) system is
selected (X, Y, Z, A4) will be displayed.
10 Keyboard Button Click to display the keyboard.
11 Simulation View Angle Button Shift to simulate the view angle
The Status button will dynamically be
changed according to the window
currently activated by the HRSS.
12 Status button
Button edit is on the right, use this to
transfer different command from Teach
Pendant.
Display the status of absolute encoder’s
13 Battery Figure
battery.
When the program is executed, button will
14 Lock Button
lock or unlock it.
15 Next step motion Button
Hold this button to return the robot to the
16 Home Button
home position

45
C05UE202-2006

Three buttons are used for run, pause and


17 Run Control Button
stop the program.

2.2.1. Status Bar


The status bar displays the configuration status of the robot.

Overview

HRSS status bar

2.2.2. Status Display “Interpreter”


Figure Color Description

Orange Interpreter running.

Gray Interpreter failure or stop.

Program execution status display for submit encoder of the robot.

2.2.3. Keyboard
The Teach Pendant is equipped with a touch screen. The HRSS can be operated by
finger or stylus.
The keyboard on the HRSS can be used to enter alphabets and numbers.

Illustration of HRSS keyboard

46
C05UE202-2006

2.3. Connect to Control System, and Start HRSS


Operation steps
The main switch on the control system is shifted to ON.
The operating system and the HRSS will automatically start.

2.4. Open Main Menu


Operation steps
Click the Main Menu on the Teach Pendant, and then open it.

Description
1. Property for Main Menu window
The Main Menu is displayed in the left window.
Click an item to display the next-level function table (e.g. File).
Display table or opened interface by pressing the menu button on the upper
left.
You can select these function items again without closing the next-level
table.

Example: opened next function table

47
C05UE202-2006

2.5. Language Settings


Description
The interface enable three different languages to be selected for the settings: English,
Traditional Chinese and Simplified Chinese.
When setting is completed, most of the interface will change to the language selected
by the user immediately. The rest will be changed after the Teach Pendant is restarted.

Language Setting Interface


Operation steps
Main menu>Configuration>Language
1. Select language
2. Restart Teach Pendant to complete full language change

48
C05UE202-2006

2.6. Time and NTP Settings


Description
User could use the Time setting in HRSS to increase the Network Time
Protocol (NTP) server function. When using time and NTP settings mention
above, user will be notified with warning signal under continuous operation.
Data will be recorded in LOGBOOK for further references to know when the
time has been edited. Only under the Expert Mode has the permission to use
time and NTP settings.

Operation steps
1. Time Settings
1. Main menu>Configuration>User group>Expert
2. Main menu>Configuration>Time setting
3. Enter required time under time setting
4. Press SET button
2. NTP Settings
1. Main menu>Configuration>User group>Expert
2. Main menu>Configuration>Time setting
3. Enter required NTP under NTP setting
4. Press SET button

49
C05UE202-2006

Time and NTP Settings Interface

50
C05UE202-2006

2.7. Change User Group


Operation steps
1. Select [Configuration]>[User group] on the Main Menu to display the current
user group.
2. To switch to the default user group, press [Change]. To switch to other user
groups, press [Login] … select the user group.
3. If needed, enter password and login.

Description
In the HRSS, the functions can be selected according to the user group. The
following user group exist:

1. Operator
Operator group
This is the default user group.

2. Engineer
Engineer group
This user group is protected by a password. The default password is “HIWIN”.
Modification unavailable.

3. Expert
Expert group
This user group is protected by a password. The default password is “HIWIN”.
Modification unavailable.

No. Function Operator Engineer Expert


Function Table
1 File X X O
2 Configuration>User group O O O
3 Display>Input/Output X O O
4 Display>Variable X O O
5 Display>Mileage O O O
6 Display>Utilization O O O
7 Display>Motor Torque O O O
8 Display>Fieldbus X X O
9 Diagnosis>Logbook O O O
10 Start-up>Calibrate X X O
11 Start-up>Master X X O
12 Start-up>Robot data X O O
13 Start-up>Network Config X X O

51
C05UE202-2006

14 Start-up>RS-232 X X O
15 Start-up>System Setting X X O
16 Track>Setting X O O
No. Function Operator Engineer Expert
17 Track>Vision Setting X O O
18 Track>Vision Object X O O
19 Track>Calibration X O O
20 Track>Monitor O O O
21 Help>About O O O
22 Help>Operating Time O O O
23 Help>Update X X O
24 Help>TP Calibration O O O
25 Help>Manual O O O
Interface O O O
26 Message box O O O
27 Velocity configuration X O O
28 Tool/base coordinate X X O
Teach Pendant
29 X O O
configuration
Change JOG coordinate
30 X O O
system
31 JOG X O O
32 On-screen keyboard O O O
33 Remove teach pendant X O O
34 Step execution X X O
35 Program Execution O O O
36 Program selection O O O
37 Modify program X X O
38 Tool/base calibration X O O
39 IO operation X O O
40 Functional IO modification X X O

52
C05UE202-2006

2.8. Change Run

Don’t modify the run during programming period. If it is changed, the robot
will stop.

Prerequisite
The controller doesn’t processing any program.
Insert the key for the mode selector switch.

Operation steps
1. Turn the mode selector switch on the Teach Pendant, and display the mode
selection.
2. Select the run.
3. The selected mode will be displayed in the status bar of the Teach Pendant.

Mode Application Velocity


Program verification:
Programmed velocity, maximum
Used for test operation,
T1 250 mm/s
programming and teaching
Jog Mode:
Jog velocity, maximum 250 mm/s
Program verification:
Programmed velocity
T2 Used for run test
Jog Mode:
Unable to run
Programming mode:
Used for robot without the Programmed velocity
AUT
higher-level controller Jog mode:
Unable to run
Used for the robot with the Programming mode:
EXT higher-level controllers Programmed velocity
(For example, PLC) Jog mode: Unable to run

53
C05UE202-2006

2.9. Coordinate System

Overview

Coordinate System Overview

Description
1. ROBOT
The ROBOT used the Cartesian coordinate system. If it is a 6 axes robot,
it will be fixed at the location of the 1st –axis center point and the 2nd –axis
center point of the robot. If it is a 4 axes robot, it will be fixed at the robotic
foot. This is used as the origin coordinate system of the base coordinate
system.
In the default configuration, the coordinate system of ROBOT is consistent
with the BASE coordinate system.

2. BASE
The BASE Coordinate System is Cartesian system used to describe the
position of the workpiece. It is based on the ROBOT Coordinate System.

54
C05UE202-2006

By default, the Base Coordinate System is consistent with the ROBOT


system. A user can move it to the workpiece.

3. TOOL
The TOOL Coordinate System is a Cartesian system, located at the tool
center point.
By default, the home of the Tool Coordinate System is located at the flange
center point (called the Flange Coordinate System). The Tool Coordinate
System is offset to the tool center point by the user.
Rotation of the six axes robot coordinate system
Corner Rotation around axis

A Rotate around X axis

B Rotate around Y axis

C Rotate around Z axis

Rotation of delta robot coordinate system


Corner Rotation around axis

A4 Rotate around Z axis

55
C05UE202-2006

2.10. JOG
Description
There are two types of jogging:
Cartesian jogging, TCP (Tool Center Point) is jogged in the positive or negative
direction along an axis of the coordinate system.
Axis-specific jogging, each axis can independently be moved in a positive or
negative direction.

Joint coordinate system

Axis-specific jogging

56
C05UE202-2006

2.11. Manual Move


Description
When Administrator rights are Engineer or Expert, under the manual mode of
T1, it is possible to configure all the parameters in the manual move options
window.

2.11.1. Jog Velocity Change


Description
Manually drag the bar to change the jog velocity or see 4.11.4 by using the +/-
button at the left side of the Teach Pendant to set the ratio.

Operation steps
1. Open the speed options window (shown as the chart button).
2. Change the JOG speed.
3. It is also possible to use the left button of teach pendant to change the JOG
speed.

Configuration related to speed of jog

2.11.2. BASE/TOOL Coordinate


Description
View and modify the base or tool coordinate
16 tool and 32 base coordinate systems can be saved in the control system at
most. When you apply the Cartesian jogging, you must select a tool (Tool
Coordinate System) and a base (Base Coordinate System).

57
C05UE202-2006

6-axis robot base/tool window

58
C05UE202-2006

Delta robot base/tool window

No. Description
1 Tool coordinate currently selected
2 Parameters relate to selected tool coordinate
3 Base coordinate currently selected
4 Parameters relate to selected base coordinate
5 Recalibrate
6 Directly enter a value on the selected item to calibrate

59
C05UE202-2006

Operation steps
Open the TOOL/BASE window.
You can directly choose the tool/base coordinate system by click on ○
1 and ○
3

in figure respectively.

2.11.3. Teach Pendant Position Configuration


Robot installation method
Floor Mode

Operation Steps
1. Start-up -> Robot data -> Mount Position
2. Select Floor mode

Description
Define the user’s position relative to the robot before you use space button.

Window of 6-axis robot teach pendant configuration

Window of delta robot teach pendant configuration

Robot Installation method


Ceiling Mode

60
C05UE202-2006

Operation Steps
1. Start-up -> Robot data -> Mount Position
2. Select Ceiling mode

Description
Define the user’s position relative to the robot before you use space button.

Window of 6-axis robot teach pendant configuration

2.11.4. Jogging velocity Ratio


Description
The jogging velocity ratio is the robot velocity during jogging. It is presented
by percentage, based on the maximum velocity when the robot is jogging. That
value is 250mm/s.

Operation steps
1. Click the jogging ratio button.
2. Set the desired jogging ratio. Set with the +/- button or the adjustor.
3. Touch the area outside the jogging ratio window. The window closes and
the ratio is applied,
Other method
Use the +/- button at the left side of the Teach Pendant to set the ratio.

2.11.5. Axis-specific jogging with the jog keys


Prerequisite
T1 mode
Operation steps
1. Select the “JOINT” as the coordinate system for the jog key.
2. Set jogging velocity ratio.
3. Hold the enabling Switch.

61
C05UE202-2006

4. Axis A1 to A6(or A1 to A4) beside the jog keys.


5. Press the +/- button, so that the axis move towards the positive or negative
direction.

2.11.6. Cartesian jogging with the jog keys


Prerequisite
T1 mode
The tool and base coordinate systems have been selected.
Operation steps
1. Select the “XYZ” as the coordinate system for the jog keys.
2. Set manual ratio.
3. Hold the enabling Switch.
4. Axis X, Y, Z and RX, RY, RZ(or axis X, Y, Z and A) will display beside
the jog keys.
1. X, Y, Z: Used for linear motion along the axis of the selected coordinate
system.
2. RX, RY, RZ: Used for rotation motion along the axis of the selected
coordinate system.
3. A: Used for rotation motion along Z axis.
5. Press the +/- button, so that the axis move towards the positive or negative
direction.

The position where the TCP is located can be displayed in the following method:
select Main Menu>Display > Actual Position.

2.11.7. Teach Pendant Alignment


Description
Adjust according to the user location, so that the direction of TCP movement
adapts the rotation of the Teach Pendant.
The user location is selected in a unit of angle. The reference point for that angle
is on the base.
Default: 0°. This corresponds to a user standing on the opposite side of the robot.

62
C05UE202-2006

Teach Pendant configured at 0° and 270°(Six axes robot)

Teach Pendant configured at 0° and 270°(Delta robot)

Prerequisite
T1 mode

Operation steps
1. Open the window of Teach Pendant Configuration.

Window of six axes robot teach pendant configuration

63
C05UE202-2006

Window of delta robot teach pendant configuration

2. Set the position where the Teach Pendant is located with regards to the
robot.
3. Close the window of the Teach Pendant configuration.

When switching to the external auto run, the Space Operation Button will be
automatically positioned as 0°.

2.11.8. Move with Space Operation Key


Description
Operate the arm to forwardly, backwardly, left, right, up and down according
to the angle and direction set in 2.11.7.

Prerequisite
T1 mode
Ensure the Teach Pendant is positioned

Operation steps
1. Set the manual ratio
2. Hold the Enable Switch.
3. Press the Space Operation button, so that the arm can move to the
relative direction.

When the space operation is used for manual movement, the moving direction
depends on the position of Teach Pendant, not relevant to Base coordinate.

64
C05UE202-2006

2.12. Display

2.12.1. Display Actual Position


Operation steps
Click the operating page of [Pos.].

Description
Display the motor position, the axis angle and the Cartesian coordinate of the
current base.
If the 6-axis robot is operated, 6-axis information will be displayed.
If the 4-axis robot is operated, 4-axis information will be displayed.

Window of actual position

65
C05UE202-2006

2.12.2. Display Digital Input/Output


Operation steps

1. Click the operating page of [I/O].


2. Click [D.I.] or [D.O.].

Description

Digital input/output interface

No. Description
1 Input/Output No.
2 Simulation, opened as red
The input/output simulated signal (can be used when the
simulation is selected)
3
ON is displayed in red and showed On.
OFF is displayed in white and showed Off.
4 Input/output name (double-click to modify)
※When equipped with one I/O card (standard), 16 DIO can be used in HRSS, if there
is two I/O card (optional), HRSS can use 48 DIO.

66
C05UE202-2006

2.12.3. Display Remote Input/Output


Operation steps

1. Click the operating page of [I/O].


2. Click [R.I.] or [R.O.].

Description

Robot input/output interface

No. Description
1 Input/Output No.
2 Simulation, opened as red.
The input/output simulated signal (can be used when the
simulation is selected)
3
ON is displayed in red and showed On.
OFF is displayed in white and showed Off.
4 Input/output name (double-click to modify)

67
C05UE202-2006

2.12.4. Display External Functional Input/Output


Operation steps

1. Click the operating page of [I/O].


2. Click [F.I.] or [F.O.].

Description

External Auto Run input/output interface

No. Description
1 Input/Output No.
2 Simulation, opened as red
The input/output simulated signal (can be used when the simulation is selected)
3 ON is displayed in red and showed On.
OFF is displayed in white and showed Off.
4 Input/output name
Program name
5
Click and hold two seconds to remove the program

68
C05UE202-2006

2.12.5. Display System Status Input/Output


Operation steps

Main Menu>Display > System I/O

Description

System input/output interface

No. Description
1 Input/Output No.
The opened input/output signal displays in red and shows On.
2
OFF is displayed in white and showed Off.
3 Input/output name

69
C05UE202-2006

2.12.6. Display Robot Simulation Screen


Operation steps
Click the [Sim.] on the screen.

Description
Displays the posture when the robot runs or simulates the program.

Robot simulation screen

70
C05UE202-2006

2.12.7. Display Counter Variable


Operation steps
Click the operating page of [Counter].

Description

Counter interface

No. Description
1 Counter No.
2 Counter value
3 Counter name (double-click to change the name)

71
C05UE202-2006

2.12.8. Display Timer Variable


Operation steps
Click the operating page of [Timer].

Description

Timer interface

No. Description
1 Timer No.
Timer status
2 On
Off
3 Timer value
4 Timer name (double-click to change the name)

72
C05UE202-2006

2.12.9. Display Point List


Operating Steps
Click the operating page of [Points].

Description
2 3 4

5 6 7 8 9 10

Points interface
Item No. Description
1 Numbering for points
2 Name for points
3 Functional comment for points (free to edit by oneself)
Information for points, includes angle of each axis (A1~A6), Cartesian
4
coordinates (X, Y, Z, A, B, C), plus numbering of Tool and Base used.
5 Select a point and move to that point with LINE mode.
6 Select a point and move to that point with PTP mode.
7 Function to adjust the arrangement of data
8 Select a point and replicate the information for that point.
9 Select a point and delete that point.
10 Newly add a point with the current information.

73
C05UE202-2006

Description of Adjusting Arrangement of Data


When [Page Setting] is clicked, figure below will appear, user can self-adjust the
order of arrangement. Once the adjustment is completed, click [Save] button to store
the setting. A notification will appear to remind user that the setting will take effect
after reboot (figure below). After reboot, point list will appear with the format set by
the user (figure below).

Adjusting arrangement of data interface

74
C05UE202-2006

[Save] clicked, notification message appeared

After reboot, appeared according to user’s setting

75
C05UE202-2006

2.12.10. Display Mileage


Operating Steps
Main Menu>Display > Mileage

Description

Mileage Interface
Item No. Description
1 Numbering of motor axis
2 Total accumulated mileage
3 Current mileage (can be zeroed)
4 Unit of mileage (number of turns)
5 Zeroed reset「Current Mileage」

76
C05UE202-2006

2.12.11. Display Utilization Rate


Operating Steps
Main Menu>Display > Utilization

Description

Utilization Interface
Item No. Description
1 Utilization rate
2 Total time of executing program
3 Total time of turning on power
4 Name of executing program
5 Start time of executing program
6 End/pause time of executing program

77
C05UE202-2006

2.12.12. Display Load Percentage


Operating Steps
Main Menu>Display > Motor Torque

Description

Motor Torque Interface

Item No. Description


1 Numbering of motor axis
2 Load percentage of motor
3 Unit (percentage)

In offline, when 6-axis robot motion stop, press Show Data can display torque
analysis information of each axis.

78
C05UE202-2006

Torque analysis interface

Torque analysis item No.

Item No Description
Name and color of motor.
1
Ps. Prog_Line is execution line of the program.
Root mean square value of motor torque.
2
If the value is over 100%, there is a problem.
3 The item for adjust the visibility of the line.

79
C05UE202-2006

2.12.13. Display Alarm and Zero Position History Message


Operating Steps
Main Menu>Diagnosis > Logbook

Description

Alarm Message Interface

80
C05UE202-2006

Zero Position Message Interface

Item No. Description


1 Alarm history message page
2 Zero position history message page
3 Alarm history message
4 Export historical information file
5 Adjust the screen of historical information
6 Zero position history message

81
C05UE202-2006

Full screen of historical information

2.13. Field Bus Setting (Optional)

2.13.1. Set CC-Link Connection Parameters


A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Opened
parameters setting interface)

82
C05UE202-2006

CC-Link connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.
C. Connection Type, can choose the type of connection, please choose「CC-Link
Slave」.
D. Station Number, this device can be selected as the station number of the entire
CC-Link network, select between 1~64.
E. Transmission Rate, choose the transfer rate of connection for this device.
F. Occupancy Station, number of stations (1~4) can be choose from this device.
G. Once setting is complete, click「Connect」to connecting, next reboot would use
current setting for connection.

2.13.2. Set Profinet Connection Parameters


A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Open
parameters setting interface)

Profinet connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.

83
C05UE202-2006

C. Connection Type, can choose the type of connection, please choose「Profinet


Slave」.
D. Station Name, set same name as Master drive.
E. IP Address, set corresponding to Master drive
F. Input、Output, setting of IO quantity should correspond to the setting of Master
drive. IO supports up to 16 Byte each.
G. Once setting is complete, click「Connect」to connecting, next reboot would use
current setting for connection.

2.13.3. Set ModbusTCP Client Connection Parameters


A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Open
parameters setting interface)

ModbusTCP Client connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.
C. Connection Type, can choose the type of connection, please choose「Modbus
Client TCP」.
D. Remote IP, set corresponding to Server.
E. Remote Port, set corresponding to Server.

84
C05UE202-2006

F. Input Begin、Output Begin、Register Begin, Set the remote device Input


(address: 0 ~ 255), Output (address: 0 ~ 255) and Register (address: 0 ~ 999) start
address.
G. Input Size, Output Size and Register Size, set the number of IO read by the
remote device.
H. Once setting is complete, click「Connect」to connecting, next reboot would use
current setting for connection.

2.13.4. Set ModbusTCP Server Connection Parameters


A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Open
parameters setting interface)

ModbusTCP Server connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.
C. Connection Type, can choose the type of connection, please choose「Modbus
Server TCP」.
D. Local IP1, Local IP2, external devices connected to the local IP.
E. Local Port, set the external device to connect to the local port.

85
C05UE202-2006

F. Once setting is complete, click「Connect」to connecting, next reboot would use


current setting for connection.

2.13.5. Set ModbusRTU Client Connection Parameters


A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Open
parameters setting interface)

ModbusRTU Client connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.
C. Connection Type, can choose the type of connection, please choose「Modbus
Client RTU」.
D. Set the slave ID of the slave station number of the connected device.
E. Set COMPORT parameters, Parity: Parity, Stop bit: Stop bit, Baud rate: Baud
rate, Data bits: Communication data length.
F. Input Begin、Output Begin、Register Begin, Set the remote device Input
(address: 0 ~ 255), Output (address: 0 ~ 255) and Register (address: 0 ~ 999) start
address.
G. Input Size, Output Size and Register Size, set the number of IO read by the
remote device.
H. Once setting is complete, click「Connect」to connecting, next reboot would use
current setting for connection.

2.13.6. Set ModbusRTU Server Connection Parameters


86
C05UE202-2006

A. Open HRSS, Click Main Menu  Display  FieldBus  Setting (Open


parameters setting interface)

ModbusRTU Server connection parameters setting


B. Channel Number, choose Channel1 or Channel2 for current communication
device.
C. Connection Type, can choose the type of connection, please choose「Modbus
Server RTU」.
D. Set the slave ID of the local slave station.
E. Set COMPORT parameters, Parity: Parity, Stop bit: Stop bit, Baud rate: Baud
rate, Data bits: Communication data length.
F. You can use Modbus Function: 01, 02, 03, 15, 16 to communicate.
G. Channel1-Input and Output use address: 0 ~ 127, Register use address: 0 ~ 15.
Channel2-Input and Output use address: 128 ~ 255, Register use address: 16 ~
31.
H. Once setting is complete, click「Connect」to connecting, next reboot would use
current setting for connection.

2.13.7. Confirmation of Connection Status


A. Start-up connection success or fail: in the Setting page, signal will be shown, if
connection is successful, the box will appear red, if connection is failed or setting
is not switched on, the box will appear white.

87
C05UE202-2006

Situation where Channel1、Channel2 appear red


B. If the setting is switched on and disconnection occur due to wrong parameters
setting, connection abnormal or etc. A warning signal will appear.

FieldBus disconnection error

2.13.8. Use FieldBus Input (SI[n])


A. According to the Slave Number used and Occupancy, the number of Input
Number that can be controlled can be different.
a. When using Slave1, SI[1]~SI[128] can be used.
i. When Occupancy is 1, SI[1]~SI[32] can be used.
ii. When Occupancy is 2, SI[1]~SI[64] and so on.
b. When using Slave2, SI[129]~SI[256].
i. When Occupancy is 1, SI[129]~SI[160].
ii. When Occupancy is 2, SI[129]~SI[192] and so on.
B. SI[1]~SI[8] are reserved and have similar function as FI[1]~FI[8].
C. Interface can be used directly for selection
a. Main menu Display  FieldBus  Input
b. When logging into EXPERT user group, click SIM. (Simulation function) and
test the SI function.
c. Comment for SI[1]~SI[8] is unmodifiable, the rest will be stored.
D. Can be controlled by command.
a. The command $SI[n] can be used to read Input status
b. Other instruction can be used such as IF、WAIT FOR

88
C05UE202-2006

Code modify SI[n]

2.13.9. Use FieldBus Output (SO[n])


A. According to the Slave Number used and Occupancy, the number of Output
Number that can be controlled can be different.
a. When using Slave1, SO[1]~SO[128] can be used.
i. When Occupancy is 1, SO[1]~SO[32] can be used.
ii. When Occupancy is 2, SO[1]~SO[64] and so on.
b. When using Slave2, SO[129]~SO[256].
i. When Occupancy is 1, SO[129]~SO[160].
ii. When Occupancy is 2, SO[129]~SO[192] and so on.
B. SO[1]~SO[8] are reserved and have similar function as FO[1]~FO[8].
C. Interface can be used directly for selection
a. Main menu Display  FieldBus  Output
b. When logging into EXPERT user group, click Value directly to change the
Output status and test SO function.
c. SO[1]~SO[8] not allow to set Value status directly。
d. Comment for SO[1]~SO[8] is unmodifiable, the rest will be stored.
D. Can be controlled by comment
a. Command $SO[n] can be used to set Output status.

89
C05UE202-2006

Code modify SO[n]

2.13.10. Use FieldBus Register (SRR、SRW)


A. SRR (Register for Read) and SRW (Register for Write)。
B. When using Slave1, SRR[1]~SRR[16]、 SRW[1]~SRW[16]
a. When Occupancy is 1, SRR[1]~SRR[4]、SRW[1]~SRW[4]
b. When Occupancy is 2, SRR[1]~SRR[8]、SRW[1]~SRW[8] so on.
C. When using Slave2, SRR[17]~SRR[32] 、 SRW[17]~SRW[32]
a. When Occupancy is 1, SRR[17]~SRR[20]、SRW[17]~SRW[20]
b. When Occupancy is 2, SRR[17]~SRR[24]、SRW[17]~SRW[24] so on.
D. Values can be written or read directly through interface.
a. Main menu  Display  FieldBus  Register。
b. SRR column can be read but not modify.
c. SRW column can modify when clicked.
d. Range of value input 32767~-32767.
e. Comment after modified will be saved.
E. Can be controlled by command
a. Command $SRW[n] used to set SRW status.
b. Command $SRR[n] used to set SRR status.

90
C05UE202-2006

Code modify SRW[n]、SRR[n]

2.13.11. Use FieldBus Register Mapping


A. Open HRSS, click Main Menu  Display  Fieldbus  Register (open Fieldbus
Register Mapping setting interface)

Fieldbus Register Mapping setting interface

91
C05UE202-2006

B. Select system parameters that user required


Parameters name
A1_ACTUAL: Actual angle of 1st axis
A2_ACTUAL: Actual angle of 2nd axis
A3_ACTUAL: Actual angle of 3rd axis
A4_ACTUAL: Actual angle of 4th axis
A5_ACTUAL: Actual angle of 5th axis
A6_ACTUAL: Actual angle of 6th axis
X_ACTUAL: Actual X coordinate of TCP
Y_ACTUAL: Actual Y coordinate of TCP
Z_ACTUAL: Actual Z coordinate of TCP
A_ACTUAL: Actual A coordinate of TCP
B_ACTUAL: Actual B coordinate of TCP
C_ACTUAL: Actual C coordinate of TCP
ERR_CODE: Error code
TCP_SPEED: Actual speed of TCP

Selection of System Parameters interface

92
C05UE202-2006

C. Select the Register Number that user wanted to store the parameter into

Register Number storage for parameter interface

D. Click set to save the setting.

Set button to store setting interface

93
C05UE202-2006

E. Click parameter column to remove the stored parameter from Register.

Remove parameter from Register

F. How to transfer parameter:


A1_ACTUAL:

A1(69.679)*1000 = 69679 = 1 ×65536 + 4437

94
C05UE202-2006

(65536 × 65536 - A1 × 1000) = 65535 × 65536 + 20436

ERR_CODE:

Driver Error Code 2220(hex) = 8736(dec)

Default 0

Error Code 0341(hex) = 833(dec)

Device = 03(hex) = 3(dec)

95
C05UE202-2006

2.14. Communication

2.14.1. TCP/IP Communication


Description
Send and transfer the data by network communication.
You can select RC as Client or Server to connect.
The parameter type is the floating decimal.
The communication format has two parentheses (The type of parenthesis can be
selected.), including the value form such “{xxx}” For example, if “{123,456}” is
sent, two sets of value “123” and “456” will be received, which there are up to
50 sets of parameter.

TCP/IP interface

96
C05UE202-2006

No. Description
1 Server/Client configuration
2 Message sending field
3 IP and Port configuration
4 Send message
5 Connect/Disconnect button
6 Cancel
7 Set
8 Change IP
9 Cancel format
10 Display Content of Sending Message and Receiving Message
11 Division symbol
12 Parenthesis type

Operation steps
Main Menu>Start-up >Network Config
3. Client
1. Enter the Server’s IP and Port
2. Press [Connect].
3. Display “Connection is successful!” to represent the connection success.

4. Server
1. Enter the port you want to connect.
2. Press [Connect].
3. Display “Server is opened!” to represent opened.

2.14.2. Setting connection for IP address


Description
Set IP address for robot controller.
Robot controller consist of two internet port, they are:Port 1 and Port 2.
User can choose to change IP address for either Port 1 or Port 2, using DHCP
mode (automatic obtain IP address) or Static mode (specify specific IP address).

97
C05UE202-2006

Change IP interface
No. Description
1 DHCP / Static IP mode selection
2 Static IP, specific IP address
3 Enter Change IP interface
4 Confirm setting
5 Select to change Port 1/ Port2 IP address
6 Cancel setting

Operation Steps
Main menu >Start-up >Network Config>Change IP
1. DHCP
2. Click [DHCP] option.
3. Press [Set] button.
4. Wait for the bar to finish loading, setting is completed.

98
C05UE202-2006

5. Static IP
6. Click [Static IP] option.
7. In [My Computer IP] column enter required IP address.
8. Press [Set] botton.
9. Wait for the bar to finish loading, setting is completed.
If setting failed message appeared, please check the internet connection to see if it is
connected properly or there is a problem in IP setting.

2.14.3. RS232 Communication


Description
Send and transfer the data by serial communication.
The parameter type is the floating decimal.
The communication format has two parentheses (The type of parenthesis can be
selected.), including the value form such “{xxx}” For example, if “{123,456}” is
sent, two sets of value “123” and “456” will be received, which there are up to
50 sets of parameter.

RS232 interface

99
C05UE202-2006

No. Description
1 Message sending field
2 Send message
3 Connect/Disconnect button
4 Cancel format
5 RS232 Stop bit
6 RS232 Parity
7 RS232 Data bit
8 RS232 Baud rate
Display Content of Transmitting Message & Receiving
9
Message
10 Division symbol
11 Parenthesis type

Operation steps
Main Menu>Start-up>RS-232
1. Enter RS232 parameters.
2. Press [Connect].
3. Display “Connection is successful!” to represent the connection success.

100
C05UE202-2006

2.15. Electric Gripper Setting


Description
User can use HRSS to set the series of electric gripper XEG and IEG’s
connection and reset it to allow user to manually move the gripper and use HRL
relevant command to control under T1 mode.

Electric Gripper operation interface

No. Description
1 Set the model of Gripper
2 Connect/Disconnect with the Gripper
3 Rest Gripper
4 Display current Gripper status
5 Display current Gripper position
6 Install Gripper driver

101
C05UE202-2006

Operation Steps
Main menu>Start-up>Electric Gripper
1. If driver not installed, driver needed to be installed first, installation steps
are as follows:
A. HRSS software version has to be updated to 3.2.5 and above.
B. Download the Electric Gripper Driver.exe from official website and save
the file in USB under HIWIN folder. Then insert the USB into controller.
C. In the main screen of HRSS, select Start-up->Electric Gripper, once Electric
Gripper interface is opened, click the install driver button.

Electric Gripper operation interface

D. If HRSS detected the driver installation file from the USB, a warning signal
will appear to inform user that installation will stop the robot and reboot.
Press OK to start driver installation; Press CANCEL to exit.

102
C05UE202-2006

Install Electric Gripper warning

E. Press OK to end HRSS and start rebooting. Once reboot completed, the
driver installation will appear, click Extract.

Electric Gripper driver installation step 1

103
C05UE202-2006

F. Click Next to continue

Electric Gripper driver installation step 2

G. Click Finish, the system will operate according to different anti-write


system. If FBWF anti-write system is set, the system will start rebooting
and open HRSS. If EWF anti-system is set, the system will open HRSS
once the driver installation is completed.

Electric Gripper driver installation step 3

104
C05UE202-2006

Installation completed, enter HRSS

2. Select type of Gripper to connect


3. Click Connect button to start connection
4. Click Reset button to reset Gripper position, the gripper is operated in T1
mode with enabling switch pressed, please beware that the status of the
gripper turned from Busy to Idle indicated that the reset is completed.
5. The gripper detection function is preset to be on. This function will notify
that the gripper is not gripped to any object. If user does not need the
detection, the function can be unchecked.

105
C05UE202-2006

2.16. Vision System


 Description
User can operate vision system in HRSS, update and install driver is available,
for more information, please visit HIWIN official website and download further
documents.

Vision system operation interface

No. Description
1 Execute vision system
2 Update vision system
3 Install vision system driver

 Operation steps
Main menu>Configuration>Vision System
1. If driver not installed, driver needed to be installed first, installation steps
are as follows:

106
C05UE202-2006

A. HRSS software version has to be updated to 3.2.6 and above.


B. Download the Vision System Driver.exe from official website and save the
file in USB under HIWIN folder. Then insert the USB into controller.
C. In the main screen of HRSS, select Configuration->Vision System, once
Vision System interface is opened, click the install driver button.

Vision System operation interface

D. If HRSS detected the driver installation file from the USB, a warning signal
will appear to inform user that installation will stop the robot and reboot.
Press OK to start driver installation; Press CANCEL to exit.

107
C05UE202-2006

Install Vision System warning

E. Press OK to end HRSS and start rebooting. Once reboot completed, the
driver installation will start execute, please wait patiently for installation to
complete.

Vision System driver installation

108
C05UE202-2006

F. When installation is completed, the system will operate according to


different anti-write system. If FBWF anti-write system is set, the system
will start rebooting and open HRSS. If EWF anti-system is set, the system
will open HRSS once the driver installation is completed.

Installation completed, enter HRSS

2. If vision system update is required, steps are as follows:


A. HRSS software version has to be updated to 3.2.6 and above.
B. Download the InSightControl.exe from official website and save the file in
USB under HIWIN folder. Then insert the USB into controller.
C. In the main screen of HRSS, select Configuration->Vision System, once
Vision System interface is opened, click the update button.

109
C05UE202-2006

Vision System operation interface

110
C05UE202-2006

i. If HRSS detected update file in the USB, update will start operate
and a “update successfully” message will appear.

Update Vision System

3. Execute Vision System.

111
C05UE202-2006

2.17. Module I/O Function


 Description
User can set module I/O functions in HRSS, allowing user to monitor several
I/Os simultaneously.
 Operation steps
Main Menu>Display>Variable>Module I/O
1. Module Input setting is shown in the figure below:
Start is the starting Input number, and End is the ending Input number.
When Input is set to On in the module, the Module Input is displayed
as On.

Module Input

112
C05UE202-2006

2. The module Output setting interface is shown below:


Start is the starting Output number, End is the ending Output number.
When the module Output is On after setting, all Outputs in the module
are displayed as On.

Module Output

2.18. Pick/Place DI Detection Function


 Description
DI detection function can be used to prevent object from falling off during
picking and placing when operating conveyor belt pick and place.

 Operation Steps
Main Menu>Track>Setting
 The interface is as follows and four parameters can be set: DI Trigger Type、DI
Detect Time、DI Keep Time、Strategy
1. DI Trigger Type: The state when manipulator picks an object.
2. DI Detect Time: After DO signal is sent, the time of DI detection is
maintained.
3. DI Keep Time: Detecting the duration of DI, when over the duration,
determine the detect DI.
4. Strategy: During pick, response strategy DI is detected

113
C05UE202-2006

Module Output

2.19. Remote Monitoring Function


 Description
HRSS uses TeamViewer software to achieve remote monitoring requirements,
allowing customer service to conduct operation teaching, error diagnosis and
remote control, etc. User can open TeamViewer in HRSS interface and obtain
TeamViewer ID and password. The function needs following requirements:
1. The robot controller needs to be able to connect to network.
2. The TeamViewer software has been installed automatically on the
robot controller for HRSS software version 3.2.8 or higher. If the
version is updated in 3.2.7 or before, manually installation is required.

114
C05UE202-2006

Remote monitor setting interface


No. Description
1 Allow remote monitoring of robot controller
2 Display TeamViewer ID
3 Display TeamViewer password

 Operation Step
Main Menu> Start-up>System Setting>Remote Access
1. Ensure robot controller is connected to network
2. Ensure TeamViewer is installed on the robot controller, HRSS version
3.2.8 and above is already installed automatically, if user has version
3.2.7 or earlier, please install the software manually, the manual
installation steps is as follows:
A. The HRSS software version need to be updated to 3.2.8 or higher.

115
C05UE202-2006

B. Please go to the official website to download the Remote


Desktop Driver.exe file, place the file in the HIWIN folder in the
USB device, and insert the USB device into the controller.
C. Select Start-up>System Setting>Next>Remote Access in the
HRSS main menu to open the remote monitoring function
interface.
D. Click the Install Drive button.

Remote monitoring operation interface

E. If HRSS detects the driver installation file in USB, it will pop up a


warning window to remind the user to stop the robot. When the driver
is installed and reboot several times, pressing OK will start the driver
installation automatically, pressing Cancel will cancel the installation.

116
C05UE202-2006

Installation remote monitor warning


F. After pressing OK, HRSS will automatically shut down and
reboot, and automatically start the driver installation. After the
program is installed, it will automatically restart again, and open
HRSS to complete the installation process.

Installation complete automatically enter HRSS


G. If the driver installation file is not placed in the USB device, or the
folder path name is incorrect, it will cause failure in installation and the
warning window will pop up.

117
C05UE202-2006

Pick file failure warning

H. Tick allow remote access, after TeamViewer successfully opened and


the ID and password will be displayed on HRSS shown in figure
below. If TeamViewer install incorrectly, the open error will appear,
show in figure below.

Successfully open TeamViewer

118
C05UE202-2006

TeamViewer open error warning

I. Inform the sales about the remote ID of the ID and password displayed
on the interface of the robot.
J. After the customer service has successfully connected, the robot
controller screen can be obtained and the manipulator can remotely
operated.

Connection successful, obtained robot control screen

2.20. Conveyor Belt Tracking Sensor Trigger Object

Identification Function
 Description
In the belt tracking, if the trigger source is selected to use the sensor trigger
(Sensor Latch), the corresponding input detection signal when the object is

119
C05UE202-2006

triggered can be set in the specified conveyor belt in the HRSS. If the input
detection signal reaches the set time (Keep Time) in the Detec Time set after the
object is triggered, the object is identified as the desired type, and generally can
be applied to the good product detection, and used the command CNV_OBJECT
to perform different program processing.

Sensor trigger object identification function

No. Description
Set the object recognition trigger signal, detection time,
1
duration of the specified conveyor belt.
2 Save setting
3 Cancel setting

 Operation steps
Main Menu>Track>Sensor Object
1. Conveyor belt related setting calibration is completed, and
sensor trigger is selected.
2. Set the selection of the conveyor object identification input
trigger source.

120
C05UE202-2006

3. Set the input signal detection time for the selected conveyor
object identification.
4. Set the input signal duration for the selected conveyor object
identification.
5. The program uses the value of CNV_OBJECT after the
CNV_PICK instruction for subsequent programming planning

2.21. External Axis


 Description
HRSS provides external axis operation and control functions and robot language
(HRL) commands. After the user-related hardware devices are properly
configured, you can use the functions related to external axes in HRSS, such as
controlling external axes to perform synchronization or asynchronous motion
control or synchronous coordinated control of external axes. HRSS can control up
to 3 external axes, and can set up a set of 2-axis positioner kinematics system. In
application, it can control linear moving stage, end tool and positioner., etc.

2.21.1. External axis parameter settings


 Description
After the hardware has been connected to the external axis to be used and HRSS
is turned on, you must set parameters for the detected external axis before
operating the external axis. The parameters of each axis to be operated are set and
saved before setting the group.

121
C05UE202-2006

External axis linear axis setting

No. Description
1 Select external axis
2 Enable/disable the selected external axis
3 Set the external axis type to linear / rotary axis
Set the motion mode of external axis to synchronous /
asynchronous axis
 Synchronous motion:
Synchronous motion means that the motion of all axes
including the robot and the external axis starts and ends at
4
the same time. In the synchronous motion mode, calibrate
the motion path relationship between the robot and the
external axis and set its kinematics type to control the
external axis under the synchronous coordination control.
 Asynchronous motion:

122
C05UE202-2006

Asynchronous motion means that the motion of the robot


and the external axis starts or ends at different times, and
the motion of the robot and the external axis does not
depend on each other.
5 Set external axis to turn on / off synchronous coupled function
6 Set the direction of the external axis motor
7 Set the maximum speed of the external axis motor
8 Set the resolution of the external axis motor
Set the reduction ratio of the external axis motor assembly
9
reducer
10 Set the upper limit of external axis movement
11 Set the lower limit of external axis movement
12 Set external axis acceleration and deceleration time
13 Set the pitch of the external axis
14 Save settings
15 External axis group display
16 Add external axis group
17 Delete external axis group

Click the Add Group button to display the following group setting interface.
Currently, only one two axis positioner groups can be set and fixed to E1 and E2
axes.

External axis group setting

123
C05UE202-2006

Schematic diagram of two-axis positioner

No. Description
18 Select external axis group name
19 Set the kinematics type of the external axis group
20 Set the external axis in the group

 Operation Step
Main Menu> Start up>External Axis>Setting
1. Select the external axis to be set
2. Enable external axis
3. Set the external axis type
4. Set external axis motion interpolation mode
5. Set the motor direction
6. Set the maximum speed of the motor
7. Set the reduction ratio
8. Set high and low limits
9. Set the motor resolution
10. Set the pitch (only linear axis)
11. Set infinite rotation function (rotation axis only)
12. If the synchronous axis is selected and the calibration is completed, the
synchronous coupled function can be set
13. Save settings
14. Repeat the above steps to set other external axes in sequence
15. Set external axis group kinematics according to application

When setting the motor resolution, please pay attention to the maximum
resolution that the driver can support.

124
C05UE202-2006

2.21.2. Calibration setting for external axis mathematically

coupled function
 Description
If the motion mode of the external axis is set to synchronous axis, point
calibration can be performed to achieve synchronous coupled control. The linear
axis needs to calibrate two points and the rotary axis needs to calibrate three
points. The calibration process is as shown in the figure below. The user needs to
first Calibrate the tool coordinates, and then use the tool coordinate center (TCP)
to move to different reference points on the external axis. If the calibration
information is known, you can also directly input it manually.

Calibration of external axis mathematically coupled function

No. Description
1 Select the external axis to be calibrated
Display calibration point position and coordinate information
2
and click to enter the value
3 Perform calibration

125
C05UE202-2006

 Operation Step
Main Menu> Start up>External Axis>Setting
1. Select the external axis to be calibrated
2. Press the Measure button to perform the calibration step by step or
directly click the table to enter the value
3. After the calibration is completed, you can go to the Setting interface
and check to enable the coordinated control function

2.21.3. External axis zero point correction


 Description
To reset the zero point of the external axis, based on safety considerations, after
completing the external axis parameter setting, it is necessary to move to the zero
point position to be set.

External axis zero point correction

No. Description
1 Double-click the external axis to reset the zero point

 Operation Step
Main Menu> Start up>External Axis>Zero Position
1. Double-click the external axis to reset the zero point

126
C05UE202-2006

2. After reset, confirm whether the external axis position and simulation
screen are correct

2.21.4. External axis zero point correction


 Description
Each external axis that is enabled and set correctly can be manually moved in T1
mode and with the user authority is Expert or Engineer. Each external axis can
independently move forward or reverse and adjust the speed override. If
synchronous coupled control is turned on, manually moving the external axis will
control the robot movement at the same time, and it can be verified whether the
calibrated point is correct.

Manual movement of external axis

 Operation Step
Main Menu> Start up>External Axis>Zero Position
1. Click to switch to T1 mode
2. Select external axis manual movement mode

127
C05UE202-2006

3. Press and hold the enabling switch


4. Press the positive and negative direction buttons of each axis on the
teach pendant to move the external axis
5. Or click the E1 ~ E3 buttons to enter the value to move the external
axis

2.21.5. Display information about external axis position


 Description
The external axis position information is displayed on the Pos. tab of the main
screen. You can observe whether the external axis moves to the specified position
during manual operation or running the program. In addition, observe the
acceleration and deceleration and rotation speed information to confirm whether
the external axis related parameters are set correctly.

External axis position information

128
C05UE202-2006

No. Description
Display the value of the motor encoder of each axis of the
1
external axis
2 Display the position of each axis of the external axis
3 Display the acceleration of each axis of the external axis
4 Display the deceleration of each axis of the external axis
5 Display the speed of each axis of the external axis
6 Switch the position information of the robot or external axis

 Operation Step
1. Click on the Pos. tab
2. Click the Ext Axis button to switch the position information to the
external axis

2.21.6. Point list information


 Description
Under the Points tab of the main screen, the points recorded by the currently open
program are displayed. The point position information increases the external axis
position information of E1 ~ E3 and each external axis mode, and can perform
the synchronization of LINE and PTP including external axis movements to
perform a point check.

129
C05UE202-2006

External axis point information

No. Description
Display external axis point position and external axis mode
1
information
2 Select a point to execute LINE motion
3 Select a point to execute PTP motion
4 Overwrite selected point
5 Delete selected point
6 Record the current position of the robot and external axis

 Operation Step
1. Click the Points tab
2. Click the Add button to record the current point
3. Select the point and click Delete to delete the point
4. Select the point and click Overwrite to overwrite the point

130
C05UE202-2006

5. Select a point and hold down the enabling switch and click LINE to
execute LINE motion to that point
6. Select a point and hold down the enabling switch and click PTP to
execute PTP motion to that point

2.21.7. Reference position


 Description
The reference position function can set a reference point including robot A1 to
A6 (Delta and SCARA robot to A4) angle and external axis E1 to E3 angle
information, and specify an output, if the current robot and external axis and the
set point position are set within the range, the specified output will output a
signal. This function can be used to check whether the robot and external axis
have reached the specified point, such as the origin or a specific working point.

Reference position function setting

No. Description
1 Edit function
2 Enable function
3 Select output as DO or SO (Fieldbus output)
4 Select a output
5 Save the output settings

131
C05UE202-2006

Display point position and current position information, double-


6
click the field to set the allowable range value for each axis check
Set and store the current robot and external axis positions as
7
reference points

 Operation Step
1. Click Edit to edit the settings
2. Check Enable to enable function
3. Select the output type as DO or SO
4. Select output index
5. Save the output settings
6. Double-click the list to set the check allowable range value
7. Move to the desired point and click Save Point
8. Write a program and monitor whether the specified output is on when
robot and external axis is within the range

2.22. Welding function (optional)


 Description
The HRSS provides the welding function of the six-axis robot arm and related
HRL commands. It can currently support two types of welding machines, Lincoln
S350 and Binzel IROB400, including welding related settings and mode
selection, related welding I / O monitoring Weaving setting, welding torch (TCP)
recovery and other functions.

2.22.1. Welding system and device settings


 Description
After the hardware has been properly connected to the welding machine you
want to use, you first need to make relevant settings for the welding system and
its device. The welding system needs to be set to enable the arc starting
command, the speed of the robot arm during welding, the gas cleaning of the
welding gun, the welding gun impact, etc. The settings related to the welding
device include the selection of the connected welding machine and connection
settings, the wire feed speed of the welding machine, the air supply time before
and after welding, the detection time of the arc start failure and the arc shutdown
failure, etc.

132
C05UE202-2006

Welding system and equipment settings

No. Description
Disable welding function, user can confirm welding teaching
1
path
Welding speed setting, need to match WELD_SPEED
2
instruction, for example:LIN WELD_SPEED
3 Torch gas purge time setting
4 Torch gas purge input signal setting
5 Torch collision detection input signal setting
6 Welder setting, select the welder and connect
7 Wire feed speed setting
8 Gas preflow time setting
9 Gas postflow time setting
10 Arc start error time setting
11 Arc loss error time setting
12 Save settings

133
C05UE202-2006

 Operation Step
Main Menu> Start up> Arc Weld>Weld Equipment
1. Set whether to disable the arc for the teaching path during welding
2. Set the speed during welding
3. Set the torch gas purge time
4. Set the welding torch gas purge input signal
5. Set the input signal for torch collision detection
6. Set up the welder and connect
7. Set wire feed speed
8. Set gas preflow time
9. Set gas postflow time
10. Set arc start error time
11. Set arc loss error time
12. Save settings

2.22.2. Welding procedure setting


 Description
After the related welding system and device settings are completed, the related
procedure settings are performed according to the set welder. The user can write
and execute welding at the weld start and end commands according to the set
welding procedures and conditions.

134
C05UE202-2006

Lincoln welder welding procedure setting

No. Description
1 Welding procedure
2 Number of welding schedules in the welding procedure
3 Welding mode
Selected workpiece, wire diameter and gas information in the
4
welding mode
5 Welding start-up process for smooth start-up of welding
Crater treatment is used to specify a lower voltage and current at
6 a certain time at the end of welding to avoid the crater hole
caused by a sharp drop in voltage
Post-welding treatment is used to prevent welding wire and
7 workpiece from welding by applying voltage at an appropriate
time after the wire feed is completed.
8 Save welding procedure settings

135
C05UE202-2006

Welding schedule parameter setting, generally including voltage,


9 current, arc length, wire feed speed and execution time and other
parameters
10 Edit welding schedule parameters

Binzel welder procedure setting

No. Description
1 Welding procedure
2 Number of welding schedules in the welding procedure
3 Welding mode
4 Specified program in welding mode
Selected workpiece, wire diameter and gas information in the
5
welding mode
6 Welding start-up process for smooth start-up of welding
7 Save welding procedure settings
Welding schedule parameter setting, generally including
8 voltage, current, arc length, wire feed speed and execution time
and other parameters

136
C05UE202-2006

9 Edit welding schedule parameters

 Operation Step
Main Menu> Start up>Arc Weld> Weld Procedure
1. Select welding procedure
2. Set welding schedules
3. Set the welding mode
4. Set the specified program in the welding mode
5. Set whether to enable runin process, crater process (Lincoln welding
machine only), burnback process (Lincoln welding machine only)
6. Save welding procedure settings
7. Select welding schedule to set

2.22.3. Welding I/O


 Description
After completing the welding settings and successfully connecting with the
welder, you can monitor the relevant welding I/O and output the signal to the
peripheral equipment for control. The welding input (WI) signal can correspond
to the digital output (DO or SO) signal. The welding output (WO) signal can be
triggered by a digital input (DI or SI), and the welding external output (WEO)
can be mapped to a digital output (DO or SO).

137
C05UE202-2006

Welding input

No. Description
Welding input signal
 Voltage: voltage feedback value during welding
 Current: current feedback value during welding
 Wire feed speed: wire feed speed feedback value
 Arc detection: Check whether the welding torch emits
1 voltage to confirm whether welding is being performed
 Gas fault: Check whether the gas is exhausted. If this
signal is detected during welding, an alarm will be issued
to stop the welding
 Wire fault: Check the wire feeder failure or welding wire
exhaustion

138
C05UE202-2006

 Water fault: check whether the cooling device or


circulating hose is faulty. If this signal is detected during
welding, an alarm will be issued to stop the welding
 Power fault: check whether the power supply of the welder
is abnormal. If this signal is detected during welding, an
alarm will be issued to stop the welding
 Wirestick: check whether welding wire and workpiece are
fused
 Touch detect: check whether the welding torch touches the
workpiece. This signal is currently only enabled by the
torch (TCP) recovery
 Antishock(Binzel welder only): check whether the welding
torch has an impact. If this signal is detected during
welding, an alarm will be issued to stop welding
 Gas detect: check whether the welding machine has gas
supply
2 Edit welding input settings

Welding input setting


No. Description
1 Display edited welding input signal
2 Set the corresponding output signal type to DO or SO
3 Set the corresponding output signal number

139
C05UE202-2006

Welding output

No. Description
Welding output signal
 Wire inch: the wire feeding amount of the jog wire feeding
function
 Gas start: start welding machine gas supply
 Inch forward: feed the wire feed amount set when the
1
signal is triggered
 Inch backward: when this signal is triggered, withdrawn
the set wire feed amount
 Feed forward: when this signal is triggered, the welder
continuously feeds wire

140
C05UE202-2006

 Feed backward: when this signal is triggered, the welder


continuously draws back wire
2 Edit welding output settings

2.22.4. Weaving function


 Description
In addition to the elevation, azimuth, center rise and radius in the Weave setting
interface, the rest of the settings will be applied to all weaving movements, and
the parameters such as elevation, azimuth, center rise, radius and other
parameters are used WEAVE Pattern Freq = frequency Hz Amp = amplitude mm
LD = left dwell sec RD = right dwell sec, the type of command will be applied.
There are 10 weaving conditions. The setting parameters of the weaving
conditions will be applied when the WEAVE Pattern WS = Schedule number
type command is used.

Weaving setting

141
C05UE202-2006

No. Description
Dwell delay type:
Stop: stop completely at both ends of the weaving.
1 Move: at the two ends of the weaving, only the motion of the
weaving stops, and during this period, it moves in the direction
of the welding travel.
Elevation angle: the tilt of the swing angle by a specified angle
2
relative to the weaving coordinate system.
Azimuth angle: the tilt of the azimuth angle of the weaving on
3
the weaving plane.
Center rise: the bulge of the welding torch at the center of the
4
weaving, which will only be applied in the sinusoidal weaving.
Radius: the amplitude value of the circle-shaped weaving
5
relative to the welding direction.
L angle: set in the L-shaped weaving, the angle between the left
6
and right of the weaving and the plane.
Blend weave end: setting the weaving connection can smoothly
7 connect the weaving trajectory before and after the teaching
point of the action command.
Peak output port: set the endpoint output DO. During the
8 welding process, when the torch reaches the endpoint, the
specified DO signal is output.
9 Set the pulse width of the endpoint output DO.
10 Set the delay time of endpoint output DO.
11 Save weaving settings
12 Weaving schedule list
13 Edit specified weaving conditions

142
C05UE202-2006

Weaving schedule setting

No. Description
1 Frequency: the number of cycles per second for weaving
2 Amplitude: the distance from the welding line to the end point
Left dwell: the left dwell time and specify the stop time at the
left end of the weaving. When the dwell delay type is moving,
3
the robot moves in the welding direction. This setting is invalid
during the circular weaving.
Right dwell: the right dwell time, specify the stop time at the
right end of the weaving. When the dwell delay type is moving,
4
the robot moves in the welding direction. This setting is invalid
during the circular weaving.
Elevation: the elevation angle and tilt the swing angle by a
5
specified angle relative to the weaving coordinate system.
Azimuth: the tilt of the azimuth angle of the weaving on the
6
weaving plane.
Center rise: the center bulge and specify the bulge of the
7 welding torch at the center of the weaving, which will only be
applied in the sinusoidal weaving.
Radius: the amplitude value of the circular weaving relative to
8
the welding direction.

143
C05UE202-2006

L angle: set in the L-shaped weaving, the angle between the left
9
and right of the weaving and the plane.
10 Confirm and save condition settings
11 Cancel condition setting

 Operation Step
Main Menu> Start up>Arc Weld> Weaving
1. Set the dwell delay type of weaving
2. Set the elevation angle of weaving
3. Set the azimuth angle of weaving
4. Set the center rise of weaving
5. Set the radius of weaving(circle weaving only)
6. Set the L angle of weaving(L-shaped weaving only)
7. Set the blend weave end
8. Set the peak output port of weaving
9. Set the pulse width of the endpoint output DO
10. Set the delay time of endpoint output DO
11. Save the weaving settings
12. Select weaving schedules for editing
13. Set the frequency of the weaving schedule
14. Set the amplitude of the weaving schedule
15. Set the left dwell time of the weaving schedule
16. Set the right dwell time of the weaving schedule
17. Set the angle of the weaving schedule
18. Set the azimuth angle of the weaving schedule
19. Set the center rise of the weaving schedule
20. Set the radius of the weaving schedule(circle weaving only)
21. Set the L angle of the weaving schedule(L-shaped weaving only)
22. Confirm and save the weaving schedules

2.22.5. Torch(TCP) recovery


 Description
After the robot performs welding for a long time, the tip position of the welding
wire (TCP) may be shifted due to the wear of the contact tip, the replacement of
the contact tip and the welding torch, or the human operation error. When offset,

144
C05UE202-2006

the correct welding cannot be performed, and the position of the wire tip needs to
be reset leading to long-term shutdown. The torch recovery function can
automatically correct the position of the wire tip in a short time. Using this
function can shorten the shutdown time and obtain stable welding quality.

TCP recovery function setting

No. Description
1 Set the tool number to perform TCP recovery
2 Set the base number to perform TCP recovery
Set the input signal type to be triggered when the welding wire
contacts the torch recovery fixture:
3
 DI: general digital input
 SI: fieldbus digital input

145
C05UE202-2006

 WI: welding digital input


Set the input signal number to be connected when the welding
4
wire contacts the torch recovery fixture.
5 Set whether to perform TCP compensation in the Z direction.
Set the approach speed for searching in the X and Y directions
(including Z when Z compensation is enabled). If you slow
6
down the search speed, you can improve the correction
accuracy.
Set the speed of moving to the X and Y directions (including Z
7 when Z compensation is enabled) to the starting point for
searching.
Set the approach acceleration time for searching in the X and Y
directions (including Z when Z compensation is enabled). If the
8
acceleration time is reduced, the correction accuracy can be
improved.
Set the acceleration to move to the X and Y directions
9 (including Z when Z compensation is enabled) to the starting
point for searching.
10 Set the search distance in X and Y directions
11 Set the search distance in the Z direction
12 Set wire diameter
Set the reference position where the welding wire contacts the
13
TCP setting pin point for the correct TCP
Perform automatic measurement of the torch recovery fixture
function. After the measurement is completed, the distance
14 from the center of the TCP setting pin to the edge of the fixture
in the X and Y directions and the height of the TCP setting pin
can be obtained.
The distance from the center of the pin to the edge of the fixture
15
in the X direction.
The distance from the center of the pin to the edge of the fixture
16
in the Y direction.
17 TCP fixture pin height.
18 Generate TCP recovery program, the file name is torch_mate.

146
C05UE202-2006

 Operation Step
Main Menu> Start up>Arc Weld> Torch Mate
1. Set the base to perform TCP recovery. The relationship between the set
base and the fixture is as shown in the figure below. At the same time,
move the direction along the edge of the fixture to confirm the
correction accuracy.

Schematic diagram of base calibration

2. Set the tool coordinates to perform TCP recovery. If the tool


coordinates have not been calibrated, you need to perform the 7-point
calibration method of the tool or enter the values to confirm that the
position and posture of the tool coordinates are correct, and the Z
direction of the tool coordinates must match the set The Z direction of
the base mark is parallel
3. Set the type and number of the trigger input signal when the welding
torch touches the fixture
4. Set whether to perform Z direction compensation
5. Set the search speed and acceleration in X, Y, (Z) direction
6. Set the speed and acceleration of moving to X, Y, (Z) direction to the
starting point for searching
7. Set the diameter of the welding wire
8. After moving the welding torch to the tip point of the TCP setting pin,
press the teaching button and record the reference position
9. After the above parameters are set, you can manually enter the fixture
size or perform automatic measurement function

147
C05UE202-2006

10. If the automatic measuring fixture function is executed, it must be


executed in T1 mode. After the execution, the interface will display the
fixture size parameters.
11. After the fixture size parameters are obtained, click the Generate
button to generate the TCP recovery program, named torch_mate
12. Use RSR, PNS external signal trigger or manually execute the
torch_mate program to automatically correct the TCP position of the
torch that has deviated

2.22.6. Resume Program


 Description
When the robot arm is running, the program is stopped due to various alarms or
manual operations. After the operation is restored, the original program needs to
be restarted. For example, when the robot arm strikes the welding gun during the
welding process and the alarm stops the program, at this time, you may need to
use this function to manually move the robot arm to a safe position, and then
start the arc at the interrupted position to continue welding. The user can achieve
this by opening this function and using the commands RESUME_PROG and
CLEAR_RESUME_PROG and LINE motion instruction interruption will restart
form the interrupted position.

Weld restart function setting

No. Description
1 Enable the resume program function, the default is enabled.
Set the adjustment distance of the resume position when
2
specifying the resume program
3 Save settings

148
C05UE202-2006

 Operation Step
Main Menu> Start up>System Setting>Resume Program
1. Enable the resume program function
2. Set the adjustment distance of the resume position when specifying the
resume program
3. Save settings
4. Write a program, use the RESUME_PROG and
CLEAR_RESUME_PROG instructions. If the alarm occurs in the
LINE motion command within the specified range or the program is
manually stopped, the original program can be restarted from the
interrupted position

2.23. Collision Detection


 Description
HRSS provides the collision detection, after the user sets the parameters, it
can be turned on or off during the teaching mode or executing programs. When
collision detection is enable, damage to robots and equipment can be reduced.

Under the situation that this function is turned on, although it can reduce the
damage of the robot and equipment. However, this force will still cause injury,
operators should pay attention to their own safety.

This function is currently only available for specific models. (RA/RT605-710、


RA/RT610-1476、RA620-1739)
This function needs to set the correct parameters of payload before it can be used
normally.

2.23.1. Parameter Setting


 Description
Main Menu>Start-up > Collision Detection

149
C05UE202-2006

Collision Detection interface

No. Description
Click it can turn off collision detection, it can be temporarily
modified in the program by commands.
1
If it doesn’t be modified in the program, parameters will be
executed according to settings in the interface.
The range of sensitivity is 1-100, default is 80
2 The sensitivity can be adjusted for different situation to limit
false alarm or improve response.
Avoid operating the robot without fully warming up, causing
excessive resistance to trigger a collision alarm. Default is turned
3 it on.
If the robot has been already fully warmed up, user can evaluate
whether it needs to be closed.
When a collision occurs, select DO or SO (Fieldbus Output) as
4
the signal output.

150
C05UE202-2006

 Restriction
1. When clicking the "disable" button, collision detection is invalid.
2. During the payload estimation, collision detection is invalid.
3. False alarm condition:
A. Parameters of payload are not set correctly.
B. Payload exceeds the maximum limit.
C. Using SET_ACC command, causing the acceleration to be too high.
D. Movement of the arm to near the singular point will cause high speed
operation.
E. Some commands of motion will have high acceleration.
4. False alarm can be avoided by modification of commands.

2.23.2. Program Command


 Description
There are total two commands.
CD_START 80 (turn on collision detection, the value of sensitivity is 80)
CD_END (turn off collision detection)

In the sample code, CD_START can turn on collision detection and set the
sensitivity to 80 first. During Lin to position of P1, P2, it check whether a
collision occurred. After reaching P2, CD_END can turn off collision detection,
and subsequent motion commands will not detect for collision events.

151
C05UE202-2006

2.23.3. Operating Procedure


Basic

152
C05UE202-2006

Advance

2.24. Payload
 Description
Set the weight of the end of the robot, including the end tool and the object of
gripping, to improve the performance of the movement, adjust the speed limit of
the robot and ensure the accuracy of the robot for collision detection. In terms of
payload estimation, whether the robot arm will warm up and the weight of
payload will affect the accuracy of its estimation.

153
C05UE202-2006

If it is not a specific model(RA/RT605-710、RA/RT610-1476、RA620-1739),


only the mass can be set, the load estimation page and other parameters will not
be displayed and cannot be set.

When the payload estimation is performed in T2 mode, the program will be


automatically executed, and the information required for the estimation will be
obtained by running a specific posture.

Before estimating, please pay attention to the position of the equipment to avoid
collision. At the same time, you need to confirm that the related accessories on
the arm to avoid interference or falling off.

2.24.1. Parameter Setting


 Description
Main Menu>Start-up > System setting>Payload
Different methods of parameter setting:
A. Payload estimation, automatically estimate the load information at the end
of the robot. (The action path is as follows, but the speed of actual execution
will be higher)
PTP{A1 0,A2 0,A3 0,A4 0,A5 -90,A6 0}FINE=2 Vel=10% Acc=100%
TOOL[0] BASE[0]

PTP{A6 175}FINE=2 Vel=10% Acc=100% TOOL[0] BASE[0]


PTP{A6 -175}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]
PTP{A6 175}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A5 0}FINE=2 Vel=10% Acc=100% TOOL[0] BASE[0]


PTP{A6 -175}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A5 -45,A6 0}FINE=2 Vel=10% Acc=100% TOOL[0] BASE[0]


PTP{A3 45,A5 45}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]
PTP{A3 0,A5 -45}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A4 90, A5 -60,A6 0}FINE=2 Vel=10% Acc=100% TOOL[0]


BASE[0]
PTP{A5 60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

154
C05UE202-2006

PTP{A5 -60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A6 45}FINE=2 Vel=10% Acc=100% TOOL[0] BASE[0]


PTP{A5 60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]
PTP{A5 -60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A6 90}FINE=2 Vel=10% Acc=100% TOOL[0] BASE[0]


PTP{A5 60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]
PTP{A5 -60}FINE=0 Vel=10% Acc=100% TOOL[0] BASE[0]

PTP{A1 0,A2 0,A3 0,A4 0,A5 -90,A6 0}FINE=2 Vel=10% Acc=100%


TOOL[0] BASE[0]
B. Manual setting, parameters can be set according to the manufacturer, CAD
file and simple geometric calculation.

Payload Estimation interface

155
C05UE202-2006

Manual Setting interface

No. Description
1 Store 20 groups of payload data and comment
2 Set the mass of payload, unit: kilogram
3 Set the center position of the payload, unit: mm
4 Set the moment of inertia, unit: kg*mm^2
5 Payload estimation, it is executed in T2 mode
6 Enter the manual setting page
7 Set the desired group of payload
8 Save parameters of manual setting
9 Edit parameters of manual setting
10 Back to payload estimation page

156
C05UE202-2006

 Operation steps (non-specific model)


1. Click Edit
2. Enter the value
3. Click Confirm to save data
4. After clicking Set active, set the current payload as active

 Operation steps (specific model)


1. Select T2 mode
2. Execute Step 1, this action is to ensure that there will be no interference, if
there is no problem, you can end early.
3. Step 2 is executed, and switch can only be released after the action is
completed. If there is an interruption during the execution, you need to click
Execute again, and the action will restart.
4. Execute step 3 to calculate the payload. The calculation result will be
directly set to the current group of payload and stored it.
5. If there are parameters to be adjusted, click User Define to enter the page.
6. After modification, click Confirm to save the parameters.
7. After clicking Set active, set the current payload as active.

2.24.2. Program Command


 Description
SET_PAYLOAD[1] (Using the first group of payload data)

The first group of payload data is the tool at the end of the robot. After moving to
P2, gripping the object and it is changed to the second group of payload data,
which is the sum of the tool and the object.

157
C05UE202-2006

2.24.3. Operating Procedure

2.24.4. Payload calculation


 Description
When setting the load, if there is no CAD, the simplified geometric model can
also be used to estimate the payload, including the mass, the position of the
center of mass, and the moment of inertia relative to the center of mass. Next, the
basic formula of moment of inertia will be listed, and then use an example to
illustrate how to calculate.

158
C05UE202-2006

1. Moment of Inertias' basic formula


When the mass is uniformly distributed, the moment of Inertia of the object can
be calculated using the following formulas.
1
A. Cylinder 1: I = 2
𝑚𝑚𝑅𝑅 2

1
B. Cylinder 2: I = 12
𝑚𝑚(3𝑅𝑅 2 + 𝐿𝐿2 )

1
C. Cuboid: I = 12
𝑚𝑚(𝑊𝑊 2 + 𝐷𝐷2 )

2
D. Sphere: I = 5
𝑚𝑚𝑅𝑅 2

159
C05UE202-2006

E. Parallel axis theorem: I𝑛𝑛𝑛𝑛𝑛𝑛 = I𝐺𝐺 + 𝑚𝑚𝑑𝑑 2


Where I𝐺𝐺 is the moment of inertia of the object relative to the center of mass.
When the axis of rotation translates to a distance d from the center of mass, the
moment of inertia of the object for the axis of rotation is I𝑛𝑛𝑛𝑛𝑛𝑛 .

2. Example of payload calculation


In this example, real grippers and objects are used to illustrate the payload
calculation. The purpose is to use a simplified geometric model to represent it,
and set the corresponding payload data to the interface. As shown in Figure 1,
locking the connecting plate to the end of the robot and install the grippers, and
then grab a cylindrical object. Geometry can be simplified with 2 cuboids and 1
cylinder, as shown by the dotted line in Figure 1. Among them, the mass is m,
the centroid distances are 𝑋𝑋𝑐𝑐 、𝑌𝑌𝑐𝑐 、𝑍𝑍𝑐𝑐 , and the moment of inertia relative to the
centroid is 𝐼𝐼𝑥𝑥𝑥𝑥 、𝐼𝐼𝑦𝑦𝑦𝑦 、𝐼𝐼𝑧𝑧𝑧𝑧 . In addition, the disassembled three simplified models
use subscript 1 to represent the connecting plate (cuboid), subscript 2 to
represent the gripper (cuboid), and subscript 3 to represent the object(cylinder).

160
C05UE202-2006

Fig1. Real gripper and the object

Fig2. Simplified model size

161
C05UE202-2006

The size of the simplified model is shown in Figure 2; the mass of the connecting
plate (cuboid) is 2kg, the length, width, and height are 300, 100, and 40mm; the
mass of the gripper (cuboid) is 1kg, and the length, width, and height are
respectively 200, 50, 100mm; the mass of the object (cylinder) is 1kg, the
diameter is 120mm, and the height is 200mm. According to this parameter, the
load information can be calculated:
A. Mass
𝑚𝑚 = 𝑚𝑚1 + 𝑚𝑚2 + 𝑚𝑚3 = 2 + 1 + 1 = 4
B. The distance of centroid
Connecting plate (cuboid):
𝑋𝑋𝑐𝑐1 = 0
𝑌𝑌𝑐𝑐1 = 100
𝑍𝑍𝑐𝑐1 = 20

Gripper (cuboid):
𝑋𝑋𝑐𝑐2 = 25
𝑌𝑌𝑐𝑐2 = 150
𝑍𝑍𝑐𝑐2 = 40 + 50 = 90

The object (cylinder):


𝑋𝑋𝑐𝑐3 = 25
𝑌𝑌𝑐𝑐3 = 150
𝑍𝑍𝑐𝑐3 = 40 + 100 + 100 = 240

The calculation:
𝑚𝑚1 𝑚𝑚2 𝑚𝑚3 2 1 1
𝑋𝑋𝑐𝑐 = 𝑋𝑋𝑐𝑐1 ∙ + 𝑋𝑋𝑐𝑐2 ∙ + 𝑋𝑋𝑐𝑐3 ∙ = 0 ∙ + 25 ∙ + 25 ∙ = 12.5
𝑚𝑚 𝑚𝑚 𝑚𝑚 4 4 4
𝑚𝑚1 𝑚𝑚2 𝑚𝑚3 2 1 1
𝑌𝑌𝑐𝑐 = 𝑌𝑌𝑐𝑐1 ∙ + 𝑌𝑌𝑐𝑐2 ∙ + 𝑌𝑌𝑐𝑐3 ∙ = 100 ∙ + 150 ∙ + 150 ∙ = 125
𝑚𝑚 𝑚𝑚 𝑚𝑚 4 4 4
𝑚𝑚1 𝑚𝑚2 𝑚𝑚3 2 1 1
𝑍𝑍𝑐𝑐 = 𝑍𝑍𝑐𝑐1 ∙ + 𝑍𝑍𝑐𝑐2 ∙ + 𝑍𝑍𝑐𝑐3 ∙ = 20 ∙ + 90 ∙ + 240 ∙ = 92.5
𝑚𝑚 𝑚𝑚 𝑚𝑚 4 4 4

C. Moment of inertia relative to the center of mass


Connecting plate (cuboid):
1
𝐼𝐼𝑥𝑥𝑥𝑥1 = ∙ 2 ∙ (402 + 3002 ) ≅ 15266
12
1
𝐼𝐼𝑦𝑦𝑦𝑦1 = ∙ 2 ∙ (402 + 1002 ) ≅ 1933
12
162
C05UE202-2006

1
𝐼𝐼𝑧𝑧𝑧𝑧1 = ∙ 2 ∙ (1002 + 3002 ) ≅ 16666
12

Gripper (cuboid):
1
𝐼𝐼𝑥𝑥𝑥𝑥2 = ∙ 1 ∙ (1002 + 2002 ) ≅ 4166
12
1
𝐼𝐼𝑦𝑦𝑦𝑦2 = ∙ 1 ∙ (1002 + 502 ) ≅ 1041
12
1
𝐼𝐼𝑧𝑧𝑧𝑧2 = ∙ 1 ∙ (502 + 2002 ) ≅ 3541
12

The object (cylinder):


1
𝐼𝐼𝑥𝑥𝑥𝑥3 = ∙ 1 ∙ (3 ∙ 602 + 2002 ) ≅ 4233
12
1
𝐼𝐼𝑦𝑦𝑦𝑦3 = ∙ 1 ∙ (3 ∙ 602 + 2002 ) ≅ 4233
12
1
𝐼𝐼𝑧𝑧𝑧𝑧3 = ∙ 1 ∙ 602 = 1800
2

The calculation:
𝐼𝐼𝑥𝑥𝑥𝑥 = 𝐼𝐼𝑥𝑥𝑥𝑥1 + 𝑚𝑚1 ((𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐1 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐1 )2 ) +
𝐼𝐼𝑥𝑥𝑥𝑥2 + 𝑚𝑚2 ((𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐2 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐2 )2 ) +
𝐼𝐼𝑥𝑥𝑥𝑥3 + 𝑚𝑚3 ((𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐3 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐3 )2 )
≅ 15266 + 2�((125 − 100)2 + (92.5 − 20)2 )� +
4166 + 1�((125 − 150)2 + (92.5 − 90)2 )� +
4233 + 1�((125 − 150)2 + (92.5 − 240)2 )� ≅ 58442
𝐼𝐼𝑦𝑦𝑦𝑦 = 𝐼𝐼𝑦𝑦𝑦𝑦1 + 𝑚𝑚1 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐1 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐1 )2 ) +
𝐼𝐼𝑦𝑦𝑦𝑦2 + 𝑚𝑚2 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐2 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐2 )2 ) +
𝐼𝐼𝑦𝑦𝑦𝑦3 + 𝑚𝑚3 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐3 )2 + (𝑍𝑍𝑐𝑐 − 𝑍𝑍𝑐𝑐3 )2 )
≅ 1933 + 2�((12.5 − 0)2 + (92.5 − 20)2 )� +
1041 + 1�((12.5 − 25)2 + (92.5 − 90)2 )� +
4233 + 1�((12.5 − 25)2 + (92.5 − 240)2 )� ≅ 40108
𝐼𝐼𝑧𝑧𝑧𝑧 = 𝐼𝐼𝑧𝑧𝑧𝑧1 + 𝑚𝑚1 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐1 )2 + (𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐1 )2 ) +
𝐼𝐼𝑧𝑧𝑧𝑧2 + 𝑚𝑚2 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐2 )2 + (𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐2 )2 ) +
𝐼𝐼𝑧𝑧𝑧𝑧3 + 𝑚𝑚3 ((𝑋𝑋𝑐𝑐 − 𝑋𝑋𝑐𝑐3 )2 + (𝑌𝑌𝑐𝑐 − 𝑌𝑌𝑐𝑐3 )2 )
≅ 16666 + 2�((12.5 − 0)2 + (125 − 100)2 )� +
3541 + 1�((12.5 − 25)2 + (125 − 150)2 )� +

163
C05UE202-2006

1800 + 1�((12.5 − 25)2 + (125 − 150)2 )� ≅ 25133

Finally, filling in the calculation results in the load setting page:

2.25. Soft Limit


 Description
The software limit function is provided in HRSS. This function mainly enables
the robot to immediately issue an alarm and stop the movement when it issues a
motion command that exceeds the set limit, or a position that exceeds the set
limit during movement.
According to the articulated, SCARA or Delta robot arm, set the software motion
range limit of each axis and space Cartesian coordinates.

164
C05UE202-2006

The high and low limits of each axis and the high and low limits of the Cartesian
coordinates can be set in the software limit setting interface. The limit range of
the Cartesian coordinates is set according to the tool center position (TCP) of the
robot when the base is marked as 0 (Base 0). Choose whether to enable the limit
check for each axis or the Cartesian coordinate setting, and the setting user
interface is different according to different robot arms. The articulated robot can
set the high and low limits of the A1 ~ A6 axis on each axis limit, and the
Cartesian coordinate limit can be set The high and low limits of X, Y, and Z. The
SCARA robot can set the high and low limits of the A1 to A4 axes on the limits
of each axis. The limit of the Cartesian coordinate can also set the high and low
limits of X, Y, and Z. The parallel robot limits on each axis The high and low
limits of the A1 ~ A3 axis are set uniformly, and the A4 axis is set separately.
The limit of the Cartesian coordinate is to set the high and low limits of the
radius and the high and low limits of Z.

165
C05UE202-2006

Articulated robot soft limit setting interface

166
C05UE202-2006

Delta robot soft limit setting interface

167
C05UE202-2006

SCARA robot soft limit setting interface

No. Description
1 Enable/disable the soft limit function of joint
2 Set software limits for each axis
3 Enable/disable Cartesian coordinate soft limit function
4 Set the soft limit of each Cartesian coordinate
5 Save settings

168
C05UE202-2006

 Operation Step
Main Menu>Start up>System Setting>Soft Limit
1. Set whether to enable the soft limit function of each axis
2. Set software limits for each axis
3. Save settings
4. Set whether to enable the Cartesian coordinate soft limit function
5. Set the soft limit of each Cartesian coordinate
6. Save settings

2.26. Software Update


 Description
User can download HRSS program updates from the official HIWIN website,
and operate update in HRSS interface.

 Operation steps
1. Connect to the official website of HIWIN (www.hiwin.tw).
On the web page select: PRODUCTS>Robot
.

169
C05UE202-2006

Robot Model
2. Find the model number of robot from the Industrial Robot area below, and
then click to enter.

Download documents
3. Select「Documents」from the above list.
4. Click the updated version of Download from below, and download to USB,
the path is placed under the HIWIN folder of root, insert into the USB port of
controller.
5. Select Main Menu>Help>Update.
6. A window will appear warning that the Robot will stop when updating
software. After pressing OK, software will start to update; to cancel update,
press CANCEL.
7. HRSS will reboot and complete update.

Before updating the software, please check current software version, for example:
HRSS 3.2.1.2673, please download version with same two number at the front, e.g.
HRSS 3.2.2.2775 or HRSS 3.2.4.2925. Do not download version that has two
different number at the front, e.g. HRSS 3.3.x.x to avoid incompatible.

170
C05UE202-2006

2.27. Export Manual


 Description
User can export the manual from controller to the USB memory stick.
 Operation Steps
1. Insert USB to the controller
2. Select Main menu>Help>Manual
3. Display save successfully
4. Manual save in the path USB:\HIWIN\Manual\Folder

2.28. Software Shutdown


 Description
User can perform software shutdown from HRSS

 Operation Steps
1. Open main menu

2. Main Menu>Shutdown

171
C05UE202-2006

3. Ask if you want to shutdown

4. Press OK to start shutdown

172
C05UE202-2006

3. Initial Settings
3.1. Check Parameters
 Description
The correct robot program data must be loaded. During parameter check, the
loaded robot data must match with the data of the model plate.
If loading the new data is required, the status of the robot data must fully match
with the HRSS. This is to ensure that when the data is applied, it can be
submitted with the HRSS.

If the wrong data is loaded, the robot should not be operated! Failure to take these
measurements could lead to serious injury, death or equipment damage

Model Plate(Left:RA605, Right:RD401)

 Operation steps
Main Menu>Help>about

3.2. Calibration Flow


Fig. 5.2 is the calibration flowchart of robotic arm. According to the user’s
requirements, they are: Adjusting the origin position (5.3)  Calibrate the base
coordinate system (5.4.1,5.5.1)  Calibrate the tool coordinate system (5.4.2,5.5.2)
 Calibration of conveyor image (5.6.1)  Calibration of conveyor arm (5.6.2) 
Configure the parameters of conveyor image (5.7.1)  Configure the parameters of
conveyor object (5.7.2).
The above mentioned calibration steps will be introduced in the subsequent sections.

173
C05UE202-2006

Calibration Flowchart of Robot

174
C05UE202-2006

3.3. Adjust Origin Position of Hardware Mechanism

 Overview
Each robot must be mastered. The robot can make Cartesian motion only after
being mastered and moved to the programmed position. The mechanical
position of the robot will be made consistent with the encoder during mastering.
The robot must be placed on a defined mechanical position, which is the
mastered position. The encoder value of each axis will be saved.

Adjust the approximate position of origin

Situation Remark
Before commissioning ---
The value of motor position is lost after
---
maintenance such as replacement of a motor
If the robot moves without robot controller
---
instruction (for example, with a device release)

After replacement of gear unit The old mastering data has to be


deleted before carrying out a new
After a collision mastering procedure. Remove
mastering data by manually
If the absolute position is missing after replacing
cancelling the axis mastering.
the battery.

175
C05UE202-2006

3.3.1. Mastering Method (6-axis robot)


 Description
Move each axis, so that it can overlap with the mastering mark.

Move an axis to the mastering position

Mastering marks on the robot

Based on the model number, the position of the mastering marks could be
slightly different from the illustration. For origin calibration method and image,
please refer to the manual of each model.

 Prerequisite
The “jog key” has been activated.
T1 mode

176
C05UE202-2006

 Operation steps
1. Select the axis as the coordinate system for the jog keys.(Please refere to
Section 2.11.5)
2. Hold the Enabling Switch. The axis A1 to A6 will be dsiplayed beside the jog
keys.
3. Press the + or – button, so that the axis moves to the positive or negative
direction.
4. Start to jog from the axis A1, so that it can overlap with the mastering mark.
5. After mastering, click Main Menu>Start-up>Master>Zero Position.
6. Click Axis 1 in the list twice, a pop-up message of “Clear axis 1
position?”will appear.
7. Press OK to complete the setting of zero position for 1st - axis.
8. And so on for 2nd - axis to 6th - axis.
9. After completing the clearing, press Home button to confirm if the angle is
correct, if the position shown on the screen is different from the actual
position, please clear the position again.

When the simulated robot posture is located beyond the limit to cause motion
disabled, please execute [Zero Position] first.

1. Master first-axis
A mastering pin is used to attach the plate on the zero axis. The first-axis
velocity is reduced to the minimum velocity until the first axis is close to the
plate. First-axis mastering is completed, as shown below.

Illustration of first-axis mastering


2. Master second-axis
The second-axis velocity is reduced to the minimum velocity until the
second-axis mastering hole matches with the first-axis hole and a mastering
rod can be placed into position. The second-axis mastering is completed, as
shown in below.

177
C05UE202-2006

Illustration of second-axis mastering

3. Mastering third-axis
The third-axis velocity is reduced to the minimum velocity until the third-
axis mastering hole matches with the third-axis hole and a mastering rod can
be placed into position. The third-axis mastering is completed, as shown in
below.

Illustration of third-axis mastering

4. Master fourth-axis
The fourth-axis velocity is reduced to the minimum velocity until the fourth-
axis mastering notch matches with the third-axis notch and a mastering key
can be placed into position. The fourth-axis mastering is completed. A screw
can be used to remove the mastering key from the notch after calibration, as
shown in below.

Illustration of fourth-axis mastering

178
C05UE202-2006

5. Set fifth-axis home


The fifth-axis velocity is reduced to the minimum velocity until the fifth-axis
mastering hole matches with the fourth-axis hole and a mastering rod can be
placed into position. The fifth-axis mastering is completed, as shown in
below.

Illustration of fifth-axis mastering

3.3.2. Mastering Method (Delta Robot)


 Description
Move each axis, so that it can overlap with the mastering mark.

Calibration

Calibration surface

Depending on model number, the position of the calibration surface may


be slightly different from the illustration. For origin calibration method and
image, please refer to the manual of each model.

179
C05UE202-2006

 Prerequisite
Expert group

 Operation steps
1. Manually release the robot brake.
2. Move the arm (Axis-1) to the top (lowest) side.
3. Use the hardware brake.
4. Select HightLimit or LowLimit, and click Axis 1 twice.
5. Appear “Clear axis 1 position?”
6. Press the OK button to clear the position.
7. Follow the previous procedures for second and third axis.
8. Once cleared, press the Home button to ensure the angle is correct. If the
position on the figure is different from the actual position, clear the position
again.

Zero Position interface

180
C05UE202-2006

When the simulated robot posture is located beyond the motion limit to cause
motion disabled, execute [Zero Position].

3.3.3. Reset Absolute Position


 Prerequisite
The “jog key” has been activated.
T1 mode
Expert group
 Operation steps
1. Adjust Origin Position of Hardware Mechanism(Please refere to Section
3.3.1 and 3.3.2)
2. Main Menu >Start-up>Master>Calibration.
3. Click Axis 1 twice, and appear “Define axis 1 position?”, agree and operate
the step. Ok button can press after assenting and checking the item, this
adjustment method is to save the current encoder value and overwrite the
default.

Calibration confirm interface


4. Press the OK button to set the position. Confirmed cell of original setting
has been canceled, if the step has been finish.

181
C05UE202-2006

5. Follow the previous procedures for second and sixth axis.


6. Once operated, press the Home button to ensure the angle is correct. If the
position on the figure is different from the actual position, reset the position
again.

Before operating this step, please pay attention to the following parts:
6-axis robot:
To calibrate sixth axis, please make sure fifth axis angle is zero and encoder
value is in the single turn, if it does not match, fifth axis must be calibrated first.

4-axis robot
To calibrate third axis, please make sure forth axis angle is zero and encoder
value is in the single turn, if it does not match, forth axis must be calibrated first.

If the operation is not accurate enough, it may cause deviation in absolute


position and lose the default.

3.3.4. Reset Encoder Error


 Description
When the encoder occurs an error, it can be reset. If the error can not be
cleared after reset, please check if there is any problem for the circuit, battery
and driver. If the error still exists, please contact HIWIN. After reset, the
encoder must be cleared.
 Prerequisite
Expert group
 Operation steps
7. Main Menu >Start-up>Master>Zero Position.

182
C05UE202-2006

8. Select Axis 1.
9. Press Clear ABS Error.
10. After cleared, press the Home button to ensure the angle is correct. If the
position on the figure is different from the actual position, please clear the
encoder again.

3.4. Calibration (Six-axis Robot)


3.4.1. Base calibration
 Description
During base calibration, the user assigns a Cartesian coordinate system (BASE
coordinate system) to a work surface or the work piece. The BASE coordinate
system has its origin at a user-defined point.

If a workpiece has been installed on the mounting flange, the calibration described
here will not apply.

Advantages of base calibration:


1. TCP can be jogged along the work plane or the edge of workpiece.
2. Points can be taught relative to base. If the base has to move, for
example, because the work plane is moved, these points will be moved
as well, but no need to be taught again.
32 base coordinates can be saved at most. Variable: BASE [0…31].

183
C05UE202-2006

3.4.1.1. 3-point Method

3-point Method

 Prerequisite
Install a calibrated tool on the mounting flange.
T1 mode

 Operation steps
1. In the main menu select Start-up > Calibrate > Base.
2. In the pull-down menu, given a number and a name for base coordinate
system. Confirm with OK button.
3. Select a number for the base to be calibrated, and then press [Measure].
4. Give a name for the base to be calibrated.
5. Move TCP to the origin of new base coordinate. Click [Measure], and then
confirm by pressing the OK button.
6. Move TCP to a point on positive X axis of new base coordinate. Click
[Measure], and then confirm by pressing the OK button.

184
C05UE202-2006

7. Move TCP to a point with positive Y on the XY plane. Click [Measure],


and then confirm by pressing the OK button.
8. Press the OK button after completed. The data will be saved.

3.4.1.2. Enter Value


 Description
Known the following values, for example, obtain from CAD:
1. Distance between the base origin and global origin
2. Rotation for base coordinate relative to global coordinate
T1 mode
 Prerequisite
Known X, Y, Z, A, B and C relative to the global coordinate system
T1 mode
 Operation steps
1. In the main menu select Start-up > Calibrate > Base
2. Select a number for the base to be measured.
3. Select the coordinate you want to enter, and then press [Set Value].
4. Give a name for the base to be measured.
5. Enter the value.
6. Press the OK button after completed. The data will be saved.

3.4.2. Tool calibration


 Description
When the tool is calibrated, the user will give a set of Cartesian Coordinates
(Tool Coordinate System) to the tool mounted on the flange. The tool coordinate
system has its origin at a user-defined point. This point is called as TCP (Tool
Center Point). Usually, TCP is located at the working point of the tool.

The calibration method described here must not be used for a fixed tool.

185
C05UE202-2006

3.4.2.1. 4-Point Method


 Description
The TCP of the tool to be calibrated is moved to a reference point from 4
different directions. The reference point can be freely selected. The robot
control system calculates the TCP from the different flange positions.

The 4 flange positions at the reference point must be sufficiently apart from one
another.

4-point method
 Prerequisite
1.Install the tool to be calibrated on the mounting flange.
2.T1 mode
3. Select a fixed reference point position, it is recommended that this reference
point is a shape that is easy to recognize, for example: cuspidal point.

 Operation steps
1. In the main menu select Start-up > Calibrate > Tool
2. Select a tool number from the pull-down menu for the tool to be measured,
and then press [Measure].
3. Give a name for the tool to be calibrated.
4. Use TCP to move to the configured reference point. Click [Measure], if the
position of reference point is to be confirmed, please use OK button for
confirmation, otherwise, use No or Cancel to cancel the operation.
5. Use TCP to replace another posture position of arm, move to the reference
point. Click [Measure], if the position of reference point is to be confirmed,

186
C05UE202-2006

please use OK button for confirmation, otherwise, use No or Cancel to cancel


the operation.
6. Repeat Step 5 twice.
7. Press confirmation button after completion. The data displays the reference
point of new base coordinate system and is saved, the changed coordinate
system can also be observed from the 3D simulation window.

187
C05UE202-2006

3.4.2.2. Enter Value


 Description
Tool data can be manually entered.
Possible data source:
1. In the CAD diagram file, acquire the size information of tool.
2. Tool size from the measurement of actual object.
3. Instruction manual of tool manufacturer.

 Prerequisite
Known X, Y, Z, A, B, C distance dimension as relative to the flange coordinate
system.
T1 mode

 Operation steps
1. In the main menu select Start-up > Calibrate > Tool
2. Select a number for the tool to be measured in the pull-down menu.
3. Select the coordinate axis you want to enter, and then press [Set Value].
4. If it is the first time entering the value, then a name shall be given to the tool
to be measured.
5. Enter a value.
6. Press confirmation button after completion. The data displays the reference
point of new base coordinate system and is saved. The changed coordinate
system can also be observed from the 3D simulation window.

3.5. Calibrate Coordinates (Delta Robot)


When Delta is used to set the coordinate, the base coordinate can be set the
same with the vision and conveyor coordinates. It can be convenient to set the
calibration of the position in future. There are two methods to set the base
coordinate, the first one is the Three-point Method and the second one is to
use the coordinates from CAD to enter the values of X, Y, Z, A, B and C
coordinates.

188
C05UE202-2006

3.5.1. Calibrate Base Coordinates


 Description
During base calibration, the user assigns a Cartesian coordinate system (BASE
coordinate system) to a work surface or the work piece. The BASE coordinate
system has its origin at a user-defined point.

If a workpiece has been installed on the mounting flange, the


calibration described here will not apply.

Advantages of base calibration:


1. TCP can be jogged along the work plane or edge of workpiece.
2. Points can be taught relative to base. If the base must be moved, for
example, because the work plane is moved, the points will be moved as
well, and no need to be taught again.
32 base coordinates can be saved at most. Variable: BASE[0…31].

3.5.1.1. Three-point Method


 Prerequisite
Install a calibrated tool on the mounting flange.
T1 mode

 Operation steps
1. In the main menu select Start-up > Calibrate > Base
2. A number and a name is given to the Base Coordinate System, and then
press the CONTINUE button to confirm.
3. Select a number for the base to be calibrated, and then press [Measure].
4. Give a name for the base to be calibrated.
5. Move TCP to the origin of new base coordinate. Click [Measure], and
confirm by pressing the OK button.

189
C05UE202-2006

Origin

Set the origin of base coordinate system


6. Move TCP to a point on positive X axis of new base coordinate. Click
[Measure], and confirm by pressing the OK button.

A point on
positive X axis
Z
Y
X

Set a point on positive X axis


7. Move TCP to a point with positive Y on the XY plane. Click [Measure],
and confirm by pressing the OK button.

A point with positive


Y on XY plane
Z
Y
X

Set a point with positive Y on XY plane


8. Press the OK button after completed. The data will be saved.

190
C05UE202-2006

3.5.1.2. Enter Value


 Description
Values are known, from CAD, for example:
1. Distance between the base origin and global origin
2. Rotation for base coordinate relative to global coordinate
T1 mode

 Prerequisite
X, Y, Z, A, B and C relative to the flange coordinate system is known
T1 mode
 Operation steps
1. In the main menu Select Start-up > Calibrate > Base
2. Select a number for the base to be measured.
3. Select the coordinate you want to enter, and then press [Set Value].
4. Give a name for the base to be measured.
5. Enter the value.
6. Press the OK button after completed. The data will be saved.

3.5.2. Calibrate Tool Coordinates


 Description
When the tool is calibrated, the tool coordinate system has its origin at a user-
defined point. This point is called as TCP (Tool Center Point). Usually, TCP is
located at the working point of the tool.

The calibration method described here must not be used to a fixed tool.

Advantage of tool calibration:


1. The tool can rotate along the TCP. The position of TCP will not
change.
2. Program running: The track along TCP keeps the programed velocity.
16 tool coordinates can be saved at most. Variable: TOOL [0…15]).
The following data will be saved:
X, Y, Z:
The origin of tool coordinate, relative to flange coordinate

191
C05UE202-2006

A, B, C:
The rotation of tool coordinate, relative to flange coordinate
X: X coordinate
Y: Y coordinate
Z: Z coordinate
A: Rotate along X coordinate
B: Rotate along Y coordinate
C: Rotate along Z coordinate

Flange coordinates

TCP calibration principle

192
C05UE202-2006

3.5.2.1. 3-point Method


 Description
The TCP of the tool to be calibrated is moved to a reference point from 3
different directions. The reference point can be freely selected. The robot control
system calculates the TCP from the different flange positions. Achieve the tool
coordinates ( X, Y, Z, C value, where value of C [J4 rotational angle] is the C
value of the first calibrated value).

The 3 flange positions at the reference point must be sufficiently apart from
one another.

 Prerequisite
1.Install the tool to be calibrated on the mounting flange.
2.T1 mode
3.Select a fixed reference point position, it is recommended that this reference
point is a shape that is easy to recognize, for example: cuspidal point.

 Operation steps
1. In the main menu select Start-up > Calibrate > Tool
2. Select a tool number from the pull-down menu for the tool to be measured,
and then press [Measure].
3. Give a name for the tool to be calibrated.
4. Use TCP to move to the configured reference point.
5. Click [Measure] to confirm the first calibration point, if the position of
reference point is to be confirmed, please use OK button for confirmation,
otherwise, use No or Cancel to cancel the operation.
6. Use TCP to replace another posture position of arm, move to the reference
point. Click [Measure] to confirm second point, if the position of reference
point is to be confirmed, please use OK button for confirmation, otherwise,
use No or Cancel to cancel the operation.
7. Repeat Step 6 to confirm third point.
8. Press confirmation button after completion. The data displays the reference
point of new tool coordinate system and is saved, the changed coordinate
system can also be observed from the 3D simulation window.

193
C05UE202-2006

3.5.2.2. Enter Value


 Description
The tool data can be manually entered.
Possible data source:
1. CAD
2. External measurement tool
3. Description from tool manufacture

 Prerequisite
Known X, Y, Z, A, B and C relative to flange coordinate
T1 mode
 Operation steps
1. In main menu select Start-up > Calibrate > Tool
2. Select a value for the tool to be measured.
3. Select the coordinate axis you want to enter, and then press [Set Value].
4. Give a name for the tool to be measured.
5. Enter a value.
6. Press the OK button after completed. The data will be saved.

194
C05UE202-2006

3.6. Conveyor Calibration

3.6.1. Conveyor Image Calibration

Calibration plate

 The Image System needs to decide the origin of image coordinate, the ratio of
pixel length and the reading of conveyor encoder via the calibration plate (Figure
above).
 Please ensure that there is a reading on the conveyor encoder before performing
the calibration.
 Figure below is an illustration of picking. From the direction of the conveyor, the
upstream is before the robot, and the downstream is after the robot.

CAMERA ROBOT
LATCH

Conveyor

Upstream
Downstream

Illustration of Delta and CCD with conveyor

195
C05UE202-2006

3.6.2. Conveyor Arm Calibration


1. After the images are calibrated, the upstream and downstream of the arm is
moved by the conveyor without moving the calibration plate so that the arm can
relate with the image coordinate and conveyor via the calibration plate.
2. Install the calibration rod on the arm end when performing the calibration.
3. Click the Main Menu>Track>Calibration.
4. Select the number of the conveyor.
5. When calibration plate is located at the upstream of the arm, and the center of the
calibration rod is aligned with the origin of the calibration plate (the same with
the vision origin) and press O1, and then aligned with the calibration point of the
calibration point and press P1 (If it is in the mode of Sensor Latch, P1 can be
omitted.).
6. The calibration plate is moved to the downstream of the arm, the center of the
calibration rod is aligned with the origin of the calibration plate (the same with
the vision origin) and press O2, and then aligned with the calibration point of the
calibration plate and press P2 (The value of the encoder needs to be positive.) (If
it is in the mode of Sensor Latch, P2 can be omitted.).
7. The arm is moved to the left and right limit of upstream, pressing U1 and U2 (U1
and U2 cannot be the same point.) respectively; the arm is moved to the left and
right limit of downstream, pressing L1 and L2 (L1 and L2 cannot be the same
point.) respectively, as shown in below.
8. If the counting direction of CNT is found as counted downward when the conveyor
moves during the calibration process, open the function of REV column and make
that conveyor counted backward, and then change to count upward.
9. Press “CLEAR” to zero CNT of all conveyors and recount.

196
C05UE202-2006

Select Conveyor Number

Calibrate Conveyor Click


Function Button

Function Button for


Saving Setting

Arm calibration screen

Conveyor direction Working range of Delta

Upstream Downstream
Illustration to calibrate arm position

197
C05UE202-2006

Set O and P screen

198
C05UE202-2006

3.7. Conveyor Parameters

3.7.1. Image Parameters


 Main Menu>Track>Vision
 Conveyor number: The information set in the Image Parameter screen (Figure
below) will be recorded according to the number of the conveyor. When setting
the parameters, select the number first. After setting completed, press the Save
button.
 Calibration information: Before using the conveyor track, the calibration point is
set to correspond to the coordinate position (mm) in the image system, which is
the distance from the origin of the calibration plate to calibration point, as well as
the counting value of the encoder when the image is calibrated.
 Connection: IP for the system and the connection port.
Select Conveyor Number

Configure X,Y Length Value

Clear Conveyor Counting Value

Configure IP
& Port Save Setting

Image parameter configuration interface

199
C05UE202-2006

3.7.2. Object Parameters


 Main Menu>Track>Setting.
 CNV STATUS:Configure if this conveyor is to be used.
 DIRECTION:Configure the encoder counting direction of this conveyor.
 Trigger Type:Configure the retrieving type of conveyor object, 1 for using
image triggering, 2 for using SENSOR triggering.
 Trigger times: Conveyor tracking state variables, conveyor is set to be used when
sensor is triggered. When the sensor is triggered, the arm will receive a signal to
perform pick or place. The variable can be set to trigger the sensor several times
before adding another work task. Setting range is 1~100, default value as 1.
 Place Batch: The place variable is used when multiple objects are placed in the
same workspace. When the senor on conveyor is triggered, the robot will obtain a
position where the objects can be placed. The maximum number of place times
which the robot will be at that position can be set by this variable. Input range
1~100, default value is 1.
 Tracking Delay:Set how long does take to follow the object and return to action
when object is tracked, unit is ms, range 0~1500, default value 0.

Object tracking delay time

 Tracking Acc:Synchronize acceleration/deceleration time in conjunction with


conveyor, unit is ms, range 4~1000, default value is 150.

200
C05UE202-2006

Object tracking acc. time

 Output Delay:Configure the D.O. time required to open when the arm is tracked
in place, use the positive/negative value to advance or delay. Range -1500~1500,
default value is -25.

Output delay time

 Min Latch Cnt:Sensor triggers the filtering. Configure the minimum interval of
Latch. For example: if the difference between the previous object of Latch and
the current object of Latch is less than the setting of Count, the current object of
Latch will be ignored, default value is 0. Figure below shows 3 object on the
conveyor, when Min Latch Cnt is set as 25, Queue 2 will be ignored.

201
C05UE202-2006

Description of Min Latch Cnt


 Compare Nb:Vision triggers the filtering function, it is able to configure the
size of filtering Buffer, this size affects when the vision acquires the information
of new object, it is required to compare the distance with the n number of
determined Latch objects, and then determine if it is the Latch object. Range
x0~20, default value is 0.
 Compare Dist:Vision triggers the filtering function, undertake the functional
description of above point, this parameter is the length of compared distance, and
default value is 0.00.
 Ack Package Setting:Customize image return signal content, Default return
“{Conveyor number}”.

Object parameters setting interface

202
C05UE202-2006

3.8. Home and Position Check Configuration

3.8.1. Home Configuration


 Description
Self-setting or recover the origin (Home) position.

 Prerequisite
T1 mode

 Operation steps
1. Select Start-up>System Setting>Home Setting. (Figure below)
2. Use Jog to move to the user-defined origin position.
3. Press the Setting Home Point button after moving. (Figure below)
4. The ”Do you want to set new home point?” window appears.
5. Press the OK button to complete.
6. If you want to recover the initial setting, press the Default button.
7. The ”Do you want to recover default value?” window appears.
8. Press the OK button to complete.

1
2

Home Setting

203
C05UE202-2006

3.8.2. Configuration of Position Check Alarm


 Description
The parameters for position check alarm appears.

 Prerequisite
T1 mode

 Operation steps
1. Select Start-up>System Setting>Home Setting. (Figure below)
2. Click Warning Setting button (Figure below).

Home Setting interface

204
C05UE202-2006

3. In the Define allowable error value field, the tolerant error range of the first
axis to the sixth axis can be set. If the angle difference before shutdown and
after booting is greater than this setting value, the alarm will appear “Start
pos declination error.” Code 01-04-30.
4. In the Define the range of home position field, you can set the range of
angles that can remove the alarm. When the position check alarm appears,
you need to manually move back to the origin. If the final position is
located in this range, you can use Confirm Home Point to remove the
alarm.
5. Press the Save button to save the set value.

Warning setting interface

205
C05UE202-2006

3.8.3. Position Check


 Description
The alarm can be removed because of the difference before and after booting
“Start pos declination error”
 Operation steps
1. Select Start-up>System Setting>Home Setting. (Figure below)
2. The NowPos field shows the current axle angle, and the HomePos field
shows the setting Home. (Figure below)
3. Using hand to move the robot manually, so that the angle of NowPos
moves closer to HomePos.
4. When it is close to Home, even though there is an angle within 1º
difference, Press Confirm Home Point to finish the position check, and
remove the alarm.

206
C05UE202-2006

3.9. Infinite Rotation Function (Optional)

3.9.1. Axis 6 Infinite Rotation Function


 Description
The infinite rotation function of sixth axis of the manipulator can be set, so that
there is no limit when the sixth axis is running.
 Prerequisite
Keypro device is connected to the controller
Expert user group
 Operation Steps
1. Main Menu> Start-up>System Setting>(Next)>Continuous Turn
2. Select A6 continuous turn.
3. Click Save button, “Saved Successfully!” window will pop up when setting
is saved.
4. The user can manually move the sixth axis of the manipulator without limit.
5. The user can use the CT_A6 command to perform the infinite rotation of
the sixth axis of the manipulator.

Sixth axis infinite rotation function interface

207
C05UE202-2006

4. Program Management
4.1. Document Navigator
 Overview

Navigator

208
C05UE202-2006

Program file operation interface


 Description
A user can manage the program in the navigator.

No. Description
Content structure
1
When double click the folder, refresh the document list.
Document list
2
Display the program in the content structure
3 Click on No. 1 to display the folder operation
4 Click on No. 2 to display the program file operation
5 Add new program
6 Add new file
7 Delete program file
8 Delete folder
9 Open program
10 Operate program file
11 Copy folder
12 Rename program
13 Rename folder
14 Add the program to Functional I/O
Click on No. 10 to open this operation. Program file can be
15
“COPY”, “COPY TO” and “MOVE TO”.

209
C05UE202-2006

4.2. Add Program


 Prerequisite
T1 mode, T2, AUT and EXT
T2, AUT and EXT cannot edit the program.

 Overview
One program file can be added.

 Operation Steps
1. Click on New File
2. Enter the name of the new file, make sure it meets the file name specification.
3. Press Ok to complete adding new program.

4.3. Copy Program


 Prerequisite
T1 mode, T2, AUT and EXT
T2, AUT and EXT cannot edit the program.

 Overview
One program file can be copied.

 Operation Steps
1. Click the program file from the program list.
2. Select the COPY from the operate file or COPY TO folder
3. If selected COPY, the current program in the folder will be copied.
4. If selected COPY TO, user can choose which folder to copy.
5. The name of the copied file is called “xxx_copy.hrb”, if the name is existed, the
rename window will appear. Please type in the name that has not been used and
make sure the file of the name meets the file name specification.

210
C05UE202-2006

4.4. Open Program


 Prerequisite
T1 mode, T2, AUT and EXT
T2, AUT and EXT can not edit the program.

 Overview
Select or open a program. An editor and a program will be displayed, but not
the navigator.

 The program has been opened:


1. The program can start.
2. Only experts can edit the program.

 Operation steps
1. Select the program in the navigator and press the Open button. That program
will be displayed on the editor.
2. Edit the program.
3. Close the program.

When bring external computer-edited program file is loaded into the controller,
the file cannot be opened if the file name does not meet the format of the file
name.

211
C05UE202-2006

 Description

Program interface

No. Description
Cursor & highlighted line
1
The line is highlighted when a cursor is moved on it.
2 Cursor position
3 Program path and filename
4 Basic motion command

212
C05UE202-2006

5 Determination and loop command


6 Control command (Timer, Counter and Output)
Operation control (copy, cut, paste, delete, comment, cancel
7 annotation, indentation, cancel indentation, recovery, cancel
recovery)
8 Edit the program content which has already been established.
9 Exit

213
C05UE202-2006

4.5. HRSS STRUCTURE


...
8 LIN P1 CONT Vel= 200 mm/s Acc=50% Tool[3] Base[4]
...
14 PTP P1 CONT Vel= 100 % Acc=50% Tool[3] Base[4]
...

Line Description
8 LIN motion
14 PTP motion

If the first motion command is not a default home position or that position has changed,
one of the following commands must be used:
Complete PTP command
Complete LIN command
“Complete” represents all contents which must enter the target points.

If you change the home position, all programs will be affected and may cause the
injury and property loss.

4.5.1. Home Position


The home position is located in the effective range of the whole program. It is
generally used for the start and end. It is clearly defined, but it does not take critical
effect.
By default, the home position is located in the control system, and provided with the
following values:
Six axis robot:
Axis A1 A2 A3 A4 A5 A6
Angle 0° 0° 0° 0° -90° 0°
Delta robot:
Axis A1 A2 A3 A4
Angle 0° 0° 0° 0°

Other home positions are possible under following conditions:


1. Good starting position for program execution
2. Good standstill position. For example, the stationary robot must not be an-
obstacle.

If the home position is changed, all programs will be affected which could lead
to serious injury, death or equipment damage.

214
C05UE202-2006

4.6. Start Program


4.6.1. Select Program Running
 Operation steps
1. Click “Single Step”, and execute the Select button.
2. Select Program Running.

4.6.2. Program Running


Program Running Description

Continuous The program continuously runs to the end.

The program will pause after each line. The unseen lines
Single step and empty lines are included. The Start button must be
pressed again for each line.

4.6.3. Pre-reading

 Description
Pre-reading means that the controller will pre-read the program to calculate the
motion of the smooth track for example:
LIN P1 CONT
LIN P2 CONT
IF $DI[1] == TRUE THEN
LIN P3 CONT
ENDIF
During the execution of the program, if IF $DI[1] == TRUE the condition is true,
the controller will pre-read LIN P3 command. If you want to reach P2 before
condition is judged, please add WAIT SEC command on the next line of LIN P2.
With the command, the program will then judge the condition of $DI[1] after P2
is reached to decide whether execute LIN P3

4.6.4. Set Program Ratio


 Description
The program ratio is used to set the robot velocity. It is represented with a
percentage, based on the programmed velocity.

215
C05UE202-2006

In T1, the maximum velocity is 250mm/s, nothing to do with the set value.

 Operation steps
1. Open the velocity window.
2. Set the program ratio. The +/- button or scroll can be used to set.
3. Select the area outside the window. Close the window or apply the ratio.

 Another method
The +/- button on the left side of Teach Pendant can be used to set the ratio.

4.6.5. Driver status


The driver status will be dispalyed in the status bar.

Figure Color Description

Green Driver ready

Gray Driver not ready

4.6.6. Decoder Status Display

Figure Color Description

Orange Decoder is under running.

Gray Decoder is not running.

4.6.7. Start a Program (Manual)


 Prerequisite
Program selected
T1 mode or T2 mode

 Operation steps
1. Select Program Running.
2. Press the Enabling Switch until it displays the status bar “Driver ready”:

216
C05UE202-2006

3. Press the Start button.


4. The program starts to execute.
5. To stop a program with manual start, press the Stop button or release the
Enabling Switch.

4.6.8. Start a Program (Auto)


 Prerequisite
Program selected
AUT

 Operation steps
1. Select program running.
2. Press the Start button.
3. The program starts to run.
4. To stop a program in automatic mode, press the Stop button.

4.6.9. Start External Auto Run


 Prerequisite
Program selected
EXT

 Operation steps
1. Select “EXT”.
2. The program starts to activate from the higher-level control system (PLC).
In order to stop the program in EXT Auto Run, press the Stop button.

4.7. Edit Program


 Overview
A running program can’t be edited.
The program can’t be edited in T2, AUT and EXT AUT.

If a selected program is edited in the expert group, a cursor must be moved to another
line from the edited line after edited. This will ensure the contents are saved when
the program is closed.

217
C05UE202-2006

4.7.1. Copy Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the program bar to be copied.
(No need to highlight the program bar, only the cursor is needed.)
2. Select menu Program > Copy

4.7.2. Paste Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the location where the program bar is to be pasted.
2. Select menu Program > Paste

4.7.3. Cut Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the program bar to be cut.
(No need to highlight the program bar, only the cursor is needed.)
2. Select menu Program > Cut

4.7.4. Delete Program Line


 Prerequisite
Program is selected or already opened
Expert user group
T1 mode

218
C05UE202-2006

 Operation steps
1. Select the program lines to be deleted. It is not necessary to highlight the
program line. If a cursor is in the program line, it is ok. (No need to highlight
that program bar, only need the cursor in that program bar.)
2. Select menu Program>Delete.

The program lines deleted cannot be recovered again!

4.7.5. Comment Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the program bar to be commented.
(No need to highlight the program bar, only the cursor is needed.)
2. Select Menu Program > Comment

4.7.6. Cancel Comment Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the program bar required to cancel comment.
(No need to highlight the program bar, only the cursor is needed.)
2. Select Menu Program > Uncomment

4.7.7. Indent Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
Select Menu Program > Indent

219
C05UE202-2006

4.7.8. Cancel Indent Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
1. Select the program bar required to cancel indent.
(No need to highlight the program bar, only the cursor is needed.)
2. Select Menu Program > Unindent

4.7.9. Recovery Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
Select Menu Program > Undo

4.7.10. Cancel Recovery Program Bar


 Premise
Program is selected or already opened
Expert user group
Operation mode T1
 Operating Steps
Select Menu Program > Redo

220
C05UE202-2006

4.8. Backup and Recovery Data


4.8.1. Backup Data
 Description
This function will create a HIWIN/Backup on the USB memory stick with the
year and date as the name of the folder for the program.

 Prerequisite
Connect a USB memory stick to the control system.

 Operation steps
1. Main Menu>File>Save to USB.
2. Wait for the completion window, and close it.
3. Remove the USB memory stick when the LED indicator turns off.

4.8.2. Recovery Data


 Description

Only load saved file data with the same model and same software version in the
robot program. If other files are loaded, the following results could appear:
1. Errored information
2. The robot controller will not run
3. Injury or property damage could occur

 Prerequisite
Connect USB memory stick with files to the controller.
 Operation steps
1. Main Menu>File>Load from USB, and then select the program you need.
2. Click Yes to answer the safety inquiry. The saved files will be recovered on
the control system.
3. Remove the USB memory stick when the LED indicator turns off.
4. Reboot the control system.

221
C05UE202-2006

4.9. Rules for naming files


 Overview
Rules for naming files, the program file has to satisfy this rule to ensure adding
or copying of the file successfully.

 Content
1. Only Arabic numerals (0-9), English letters (a-z, A-Z) and
underscore ( _ ) can be used for naming.
2. Special symbols「~!@#$%^&*()-+={}[]<>,.?/\|」 are not allowed.
3. The first character cannot be a number.
4. Not more than 100 words.

If the name of the program file does not correspond to the rules, follow situation
may occur when operating other function :
1. Unable to open the file
2. Unable to copy the file
3. Unable to be added to external startup functions list
4. Unable to use external subroutine functions

222
C05UE202-2006

5. Motion Program Design


5.1. Motion Overview
Program designed by the following motion:
Point-to-point motion (PTP)
Linear motion (LIN)
Circular motion (CIRC)
LIN and CIRC Motion is also called as “CP motion” (CP = Continuous Path).
A start point must begin at the end point of the previous motion.

5.2. Point-to-point (PTP) Motion


The robot guides TCP to the target point along the fastest path. Generally the
fastest path is not the shortest one. This means that it is not a straight line.
Because the axis performs rotational motion, the curved path is faster than the
straight one.
The motion cannot be accurately known in advance.

PTP motion

5.3. LIN Motion


The velocity defined by the robot along a straight line moves TCP to the target
point.

LIN motion

223
C05UE202-2006

TCP at the start point of motion could be in an orientation different from the
target point. The orientation of TCP will gradually change during the motion.
When the TCP is at the start point of motion and in the same orientation as the
target point, the orientation of TCP will remain the same in the motion.

Start point in same orientation of target point

Start point in different orientation of target point

5.4. CIRC Motion


The velocity defined by the robot along the circular path moves the TCP to the
target point. A circular track is defined by the start point, auxiliary point and
target point.
For the CIRC motion, the orientation guide is the same orientation as with LIN
motion.
In the CIRC motion, the control system only considers the orientation of the
target point. The orientation of auxiliary point is usually ignored.

224
C05UE202-2006

Figure 7.5 CIRC motion

5.5. Blend
Blend: Not accurately moved to the point programmed. The over blending is
another option that can be selected during the motion program.

 PTP motion
The TCP will leave a track where it can accurately reach the target point, and
adopt the faster one. When over blending takes place in a PTP motion, the
track change cannot be foreseen. The point through which side on the track
cannot be forecasted.

PTP motion and P2 blended

225
C05UE202-2006

 LIN motion
TCP will leave a track where it should accurately move to the target point, and
run on a shorter track. The region where the track path runs is not an arc.

LIN motion and P2 blended

 CIRC motion
TCP will leave a track where it should accurately move to the target point, and
run on a shorter track. The auxiliary point can reach accurately. The region
where the track path runs is not an arc.

CIRC motion and Pend blended

5.6. Singular Point


The HIWIN’s robot with six degrees of freedom has three kinds of singular
point.
1. Overhead singular point
2. Singular point at extended position
3. Singular point at wrist axis

It is considered as a singular point position only when one value can't be


obtained by the inverse conversion (converted from Cartesian coordinate to
articulated coordinate). In this situation, it is a position of singular point when
the minimum Cartesian variation could cause a large change of axis angle.
 Overhead

226
C05UE202-2006

For the overhead singular point, the wrist point (the middle point of axis A5) is
vertical to the axis A1.
The position of the axis A1 cannot be confirmed by the inverse conversion, and
it can be any value.
At this point, if the inverse motion is performed, an error will appear.

 Extended position
For the singular point at the extended position, the wrist point (the middle point
of axis A5) is located in the extension of axis A2 and A3.
The robot is located at the edge of the workspace.
Although only one axis angle can be obtained by the inverse conversion, the
small Cartesian variation will cause the large velocity of the axis A2 and A3.
At this point, if the inverse motion is performed, an error will appear.

227
C05UE202-2006

 Wrist axis
For the singular point of the wrist axis, the axis A4 is parallel with A6, and the
axis A5 is within the range ±0.1° .
The positions of two axes can't be confirmed by the inverse conversion.
Although the axis A4 and A6 can have many positions but the sum of the axis
angle is the same.
At this point, if the inverse motion is performed, an error will appear.

228
C05UE202-2006

6. Programming with inline forms


Frequently used commands are provided in the HRSS inline forms. These commands
can simplify program design.

Commands can be program without inline forms. The HRL (HIWIN robot language)
is used to program.

6.1. Name in Inline Form


The program can enter the data name. For example, the name of the motion data set.
The name must satisfy the following limits:
1. No more than 30 characters.
2. Special characters other than $ are not allowed.
3. The first character can not be a number.
This limit does not exist for the output name.

6.2. Programming for PTP, LIN, CIRC, SPINE Motion

6.2.1. Programming for PTP Motion

When motion is programmed, ensure the power supply will not wind or be
damaged when the program is run.

6.2.1.1. PTP
 Prerequisite
Program selected
T1 mode

 Operation steps
1. The TCP move should be configured as the target position.
2. Put the cursor behind, and insert on the line of the motion command.
3. Select Motion>PTP。
4. Change the relevant parameters.
5. Press the OK button.

 Overview

229
C05UE202-2006

PTP interface

6.2.1.2. PTP (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POS POINT = {X 0,Y 300,Z 200}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Example:
PTP {X 100} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Example:
PTP {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P342. For the description of CONT, please see
the Appendix at P338.)
 Command flowchart

PTP&PTP_REL flowchart

230
C05UE202-2006

6.2.1.3. PTP_REL (programmed by keyboard)


 Prerequsite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
PTP_REL {X 100} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Example:
PTP_REL {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P344. For the description of CONT, please see
the Appendix at P368.)

 Command flowchart
Refer to PTP

6.2.2. Programming for LIN Motion

When the motion is programming, it is sure the power supply will not wind or
damage when programming to run.

6.2.2.1. LIN
 Prerequisite
Program selected
T1 mode

 Operation steps
1. The TCP move should be configured as the target position.
2. Put the cursor behind, and insert on the line of the motion command.
3. Select Motion>LIN.
4. Change the relevant parameters.
5. Press the OK button.

231
C05UE202-2006

 Overview

LIN interface

6.2.2.2. LIN (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POS POINT = {X 0,Y 300,Z 200}
LIN POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Example:
LIN {X 100} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Example:
LIN {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P344. For the description of CONT, please see
the Appendix at P368.)
 Command flowchart

LIN&LIN_REL flowchart

232
C05UE202-2006

6.2.2.3. LIN_REL (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
LIN_REL {X 100} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]
Example:
LIN_REL {A1 45} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]
(See the Appendix example at P345. For the description of CONT, please see
the Appendix at P368.)

 Command flowchart
Refer to LIN

6.2.2.4. LIN_REL_TOOL (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
3. One axis can be rotated at a time
Example:
LIN_REL_TOOL {X 100} CONT=100% Vel=2000mm/s Acc=50%
TOOL[0] BASE[0]

233
C05UE202-2006

Example:
LIN_REL_TOOL {A 45} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]
(See the Appendix example at P346. For the description of CONT, please see
the Appendix at P368.)

6.2.3. Programming for CIRC Motion

When the motion is programming, it is sure the power supply will not wind
or damage when programming to run.

6.2.3.1. CIRC
 Prerequisite
Program selected
T1 mode
 Operation steps
1. The TCP move should be configured as the arc position.
2. Put the cursor behind, and insert on the line of the motion command.
3. Select Motion>CIRC.
4. Click [SET].
5. The TCP move should be configured as the target position.
6. Click [SET].
7. Click [FINSH].
8. Enter the Paramer interface to change the relevant parameters.
9. Press the OK button.

 Overview

CIRC interface

234
C05UE202-2006

6.2.3.2. CIRC (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POS POINT1 = {X 0,Y 300,Z 200}
E6POS POINT2= {X 20,Y 320,Z 220}
CIRC POINT1 POINT2 CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]
Example:
CIRC {X 0, Y 450} {X -150, Y 300} CONT=100% Vel=2000mm/s
Acc=50% TOOL[0] BASE[0]
Example:
CIRC {A1 5.0, A2 5.0, A3 5.0, A4 5.0} {A1 10.0, A2 10.0, A3 10.0, A4
10.0,} CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P347. For the description of CONT, please see
the Appendix at P368.)
 Command flowchart

CIRC&CIRC_REL flowchart

235
C05UE202-2006

6.2.3.3. CIRC_REL (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
CIRC_REL {X -150, Y 150} {X -150, Y -150} CONT=100%
Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
Example:
CIRC_REL {A1 5.0, A2 5.0, A3 5.0, A4 5.0} {A1 10.0, A2 10.0, A3 10.0,
A4 10.0,} CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P349. For the description of CONT, please see
the Appendix at P368.)

 Command flowchart
Refer to CIRC

236
C05UE202-2006

6.2.4. Perform Programming for SPLINE Motion

When perform the motion programming, please assure that the power supply
system will not be wound or damaged while running the written progrm.

6.2.4.1. SPLINE (Keyboard Writing)


 Premise
Program selected
T1 mode
Keyboard connected

 Operating Steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POINT P1 ={ X 95 , Y 0 , Z -500 }
E6POINT P2 ={ X 94.63849632 , Y 3.922008424 , Z -500 }
E6POINT P3 ={ X 93.55673654 , Y 7.814167995 , Z -500 }
…..
SPLINE
SPL P1
SPL P2
SPL P3
…..
ENDSPLINE

237
C05UE202-2006

6.3. Variable Configuration

6.3.1. REAL
 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put a cursor behind, and insert on the line of the logic command.
2. Select Configure>Variable>REAL.
3. Set the parameters in the interface.
4. Save the command by pressing OK.

 Overview

REAL interface

No. Description
1 Variable name
2 Initial value

6.3.2. INT (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:

238
C05UE202-2006

INT Two = 2
(See the Appendix example at P338.)

6.3.3. BOOL (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard
Example:
BOOL K = TRUE
(See the Appendix example at P338.)

6.3.4. CHAR (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
CHAR COLOR = 'R'
(See the Appendix example at P339.)

6.3.5. STRING(programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

239
C05UE202-2006

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
STRING str = “HIWIN”
(See the Appendix Example at P381)

6.3.6. E6POS Coordinate Points (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POS POINT = {X 0,Y 300,Z 200}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
(See the Appendix example at P339. For the description of CONT, please see
the Appendix at P368.)

6.3.7. E6AXIS Axis Points (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6AXIS POINT = {A1 90}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

240
C05UE202-2006

(See the Appendix example at P339. For the description of CONT, please see
the Appendix at P368.)

241
C05UE202-2006

6.3.8. E6POINT Coordinate Points (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
E6POINT HOME = {X 0,Y 200,Z -1000,A 90}
PTP HOME CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
(See the Appednix example at P339. For the description of CONT, plese see
the Appendix at P368.)
Tip: E6POINT does not have the definition of axis point, hence not able to directly set
the value of A1~A6.

6.3.9. FRAME Coordinate Points (programmed by keyboard)


 Description
Write this instruction in the program, and it will declare a variable including the
information of X, Y, Z, A, B , C.

 Format
FRAME POINT_A
POINT_A.X = 0
POINT_A.Y = 1
POINT_A.A = 2
POINT_A.C = 3

 Format Description
The variable type is the floating-point number, if there is no input, it will set to
the default 0.

242
C05UE202-2006

6.4. Register Configuration

6.4.1. Using COUNTER Register


 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put the cursor behind, and insert on the line of the variable command.
2. Select Configure>Variable>Counter.
3. Set the parameters in the interface.
4. Save the command by pressing OK.
 Overview

COUNTER interface

6.4.2. Enable TIMER Register


 Premise
Program selected
T1 mode
 Operating Steps
1. Put the cursor behind, and insert on the line of the variable command.
2. Select Configure > Variable > Stop Timer
3. Set the parameters in the interface.
4. Add “$T_STOP[n]=FALSE” to the previous line to start timing.
5. Add “$ T_STOP [n]=TRUE” to the next line to end timing.
6. Save the command by pressing OK.
 Overview

TIMER Setting Interface

243
C05UE202-2006

6.4.3. Using Timer Register


 Prerequisite
Program selected
T1 mode

 Operation steps
7. Put the cursor behind, and insert on the line of the variable command.
8. Select Configure>Variable>Timer.
9. Set the parameters in the interface.
10. Add “$T_STOP[n]=FALSE” on the previous line to start timing.
11. Add “$ T_STOP [n]=TURE” on the next line to end timing.
12. Save the command by pressing OK.

TIMER is based on 1 ms as an unit, where the accuracy is 55 ms.

 Overview

TIMER interface

244
C05UE202-2006

6.5. Programming for Logic Command

6.5.1. Input/Output
 Digital Input/Output
The control system can manage up to 24 digital inputs and 24 digital outputs.
The configuration can set depending on the user requirements.

Input/output can be managed by the following variables:


Input Output
Number $DI[1] … $DI[24] $DO[1] … $DO[24]
Number -- $VO[1] … $VO[3]
Number $RI[1] … $RI[8] $RO[1] … $RO[8]

6.5.2. OUT
 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put the cursor behind, and insert on the line of the logic command.
2. Select Configure> Output>Digital, or other IO output interface.
3. Set the parameters in the interface.
4. Save the command by pressing OK.

 Overview

OUTPUT interface

6.5.3. WAIT
 Prerequisite
Program selected
T1 mode

245
C05UE202-2006

 Operation steps
1. Put the cursor behind, and insert on the line of the logic command.
2. Select Function> WAIT FOR.
3. Set the parameters in the interface.
4. Save the command by pressing OK.

 Overview

WAIT FOR SEC interface

6.5.4. WAIT FOR…


 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put the cursor behind, and insert on the line of the logic command.
2. Select Function> INPUT.
3. Set the parameters in the interface.
4. Save the command by pressing OK.

 Overview

WAIT FOR interface

246
C05UE202-2006

6.5.5. QUIT (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
QUIT

6.6. Programming for LOOP Command

6.6.1. IF
 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put the cursor behind, and insert on the line of the logic command.
2. Select Function> IF ENDIF> Determination.
3. Set the parameters in the interface.
4. Save the command by pressing OK.
 Overview

IF interface

6.6.2. FOR (programmed by keyboard)


 Prerequisite
Program selected

247
C05UE202-2006

T1 mode
Keyboard connected

 Operation steps
1. Put the cursor behind, and insert on the line of the motion command.
2. Input the command by keyboard.
Example:
FOR start TO last STEP increment
………………
ENDFOR
(see the Appendix example at P356)

6.6.3. LOOP (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of the motion command.
2. Input the command by keyboard.
Example:
LOOP
………………
ENDLOOP
(see the Appendix example at P357)

6.6.4. WHILE
 Prerequisite
Program selected
T1 mode

 Operation steps
1. Put a cursor behind, and insert on a line of the logic command.
2. Select Function> WHILE ENDWHILE> Determination.

248
C05UE202-2006

3. Set the parameters in the interface.


4. Save the command by pressing OK.
 Overview

WHILE interface

6.6.5. REPEAT (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of the motion command.
2. Input the command by keyboard.
Example:
REPEAT
………………
UNTIL condition
(See the Appendix example at P360)

6.6.6. GOTO (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of the motion command.
2. Input the command by keyboard.
Example:

249
C05UE202-2006

IF condition THEN
GOTO LABEL 1
ENDIF
IF condition THEN
GOTO LABEL 2
ENDIF
IF condition THEN
GOTO LABEL 3
ENDIF
LABEL 1:
………………
LABEL 2:
………………
LABEL 3:
………………
(See the Appendix example at P361)

The label specified by the GOTO grammar must be in the current function, cross
functions cannot be applied.

6.6.7. SWITCH (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of the motion command.
2. Input the command by keyboard
Example:
SWITCH number
………………
CASE number1
………………
CASE number2
………………

250
C05UE202-2006

ENDSWITCH
(See the Appendix example at P363)

6.7. Simulate Environment Instruction

6.7.1. ADDTOOL Newly Add Tool (programmed by

keyboard)
 Premise
Program selected
T1 mode
Stl file putted in the stl folder
 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Example:
ADDTOOL File Name (no need to enter the extension)
Take ee.stl as an example
ADDTOOL ee
Attention: stl file will be in binary format, and the coordinate system of file will
be consistent with the end coordinate system of the flange surface. Currently the
file named with underscore ( _ ) or started with Upper/Lower case are all
acceptable.

6.7.2. SHOW_TOOL Show Tool (programmed by keyboard)


 Premise
Program selected
T1 mode
Stl file putted in the stl folder
 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Example:
SHOW_TOOL File Name (no need to enter the extension) TRUE/FALSE
Take ee.stl as an example

251
C05UE202-2006

Show ee.stl: SHOW_TOOL ee TRUE


Hide ee.stl: SHOW_TOOL ee FALSE
Attention: stl file will be in binary format, and the coordinate system of file will
be consistent with the end coordinate system of the flange surface. Currently the
file named with underscore ( _ ) or started with Upper/Lower case are all
acceptable.

6.7.3. ADDOBJ Newly Add Workpiece (programmed by

keyboard )
 Premise
Program selected
T1 mode
Stl file putted in the stl folder

 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Exampe:
ADDOBJ File Nmae (no need to enter the extension) P: X, Y, Z, A, B, C C: R,
G, B
P: Displacement (mm) & rotation (degree) as relative to the robot origin
C: Color, RGB Value
Take table.stl as an example
ADDTOOL table P: 500 C:200
ADDTOOL table P: 500, 200 C: 200,50
Attention: stl file must be in binary format, and the coordinate system of file
must be consistent with the end coordinate system of flange surface. Currently
the file named with underscore ( _ ) or started with Upper/Lower case are all
acceptable.

6.7.4. SHOW_OBJ Show Workpiece (programmed by

keyboard)
 Premise

252
C05UE202-2006

Program selected
T1 mode
Stl file putted in the stl folder
 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Example:
SHOW_OBJ File Name (no need to enter the extension) TRUE/FALSE
Take table.stl as an example
Show table.stl: SHOW_OBJ table TRUE
Hide table.stl: SHOW_OBJ table FALSE
Attention: stl file will be in binary format, and the coordinate system of file will
be consistent with the end coordinate system of the flange surface. Currently the
file named with underscore ( _ ) or started with Upper/Lower case are all
acceptable.

6.7.5. MOVEFLOOR Position of Moving Floor (programmed

by keyboard)
 Premise
Program selected
T1 mode
 Operation Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Example:
MOVEFLOOR 100 (moving distance)

253
C05UE202-2006

6.7.6. AXISON Display Coordinate System


 Premise
Program selected
T1 mode
 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard.
Example:
AXISON

6.7.7. AXISOFF Hidden Coordinate System


 Premise
Program selected
T1 mode

 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard
Example:
AXISOFF

6.8. Definition of Structure (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of motion command
2. Input the command by keyboard.
Example:
STRUC LABEL INT PARAMETER1, REAL PARAMETER2
DECL LABEL PART1 ,PART2, ……. , …….

254
C05UE202-2006

PART1 = { PARAMETER1 10, PARAMETER2 500 }


PART2 = { PARAMETER1 20, PARAMETER2 100 }
………………
………………
(See the Appendix example at P372)

6.9. Subprogram (programmed by keyboard)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Operation steps
1. Put a cursor behind, and insert on a line of motion command
2. Input the command by keyboard.
Example:
………………
LABEL
DEFFCT VOID LABEL
………………
ENDFCT
(See the example in the Appendix at P373)

255
C05UE202-2006

6.10. Communication Configuration

6.10.1. Using RS232 to Connect with External Equipment


 Confirm the transfer setting
Step 1. Click Main Icon
Step 2. Click Start-up
Step 3. Click RS-232

RS232 Process Setting Interface (I)

Step 4. Configure the communication and packet formats


(The defaulted start and end symbol is ”{”AND”}”, and use comma ”,” as
the delimiter.)
Step 5. The communication data will be displayed in the middle of dialog box.

NOTE: It is possible to perform a manual test on this page to check if the connection
and transfer value are successful.

256
C05UE202-2006

RS232 Process Setting Interface (II)


 Description of Relevant Instructions
Prerequisite:
Program selected
T1 mode

Code Comment
Open communication
SER indicates the opened communication is
COPEN(SER,*NAME*)
RS232
Save the opened state to *NAME*
Read and save the data to *val*,
CREAD(*NAME*,*val*) When read mulitple data, it may use multiple
CREAD(*NAME*,*val1*,*val2*) variables *val1*, *val2*.., however, please
beaware that each
Code Comment

257
C05UE202-2006

CREAD instruction will read one set of


CREAD(*NAME*,*val*) packet, therefore, when the variable does not
CREAD(*NAME*,*val1*,*val2*) match the number of transfer value, it will
take 0 as the value or be negligible.
e.q.1
Camera:
send {100,200,45}
Robot:
CREAD(*NAME*,*val1*,*val2*,*val3*)
val1 = 100 ; val2 = 200 ; val3 = 45

e.q.2
Camera:
CREAD(*NAME*,*val*) send {100,200}
CREAD(*NAME*,*val1*,*val2*) Robot:
CREAD(*NAME*,*val1*,*val2*,*val3*)
val1 = 100 ; val2 = 200 ;val3 = 0

e.q.3
Camera:
send {100,200,45,50}
Robot:
CREAD(*NAME*,*val1*,*val2*,*val3*)
val1 = 100 ; val2 = 200 ; val3 = 45
Clear the data in the temporary storage
When the packet number is greater than the
CCLEAR(*NAME*) instruction number of CREAD, the old data
will be read, therefore, CCLEAR will be
added before or after the reading instruction.
Transfer the data in *val*
Multiple data *val1*, *val2*…can be sent at
one time
CWRITE(*NAME*,*val*) However, please be aware that val can only
CWRITE(*NAME*,*val1*,*val2*) be real type and unable to send text, plus
each CWRITE instruction is a set of packet.
e.q.1
Robot:

258
C05UE202-2006

CWRITE(*NAME*,100,200,45)
Camera:
read {100,200,45}
Code Comment
e.q.2
Robot:
CWRITE(*NAME*,*val*) CWRITE(*NAME*,100)
CWRITE(*NAME*,*val1*,*val2*) CWRITE(*NAME*,200,45)
Camera:
read {100}{200,45}

259
C05UE202-2006

6.10.2. Use Ethernet to Connect with External Equipment


 Confirm the transfer setting
Step 1. Click Main Icon
Step 2. Click Start-up
Step 3. Click Network Config

Ethernet TCP/IP Process Setting Interface (I)

260
C05UE202-2006

Step 4. Configure the Server/Client communication method and packet format


(The defaulted start and end symbol is ”{”AND”}”, and use comma ”,” as
the delimiter.)
Step 5. The communication data will be displayed in the middle of dialog box.
NOTE:It is possible to perform a manual test on this page to check if the
connection and transfer value are successful.

Ethernet TCP/IP Process Setting Interface (II)

 Description of Relevant Instructions


Prerequisite:
Program selected
T1 mode
Code Comment
Open communicatio
COPEN(ETH,*NAME*) ETH indicates the opened communication is
Ethernet TCP/IP

261
C05UE202-2006

Save the opened state to *NAME*


CREAD(*NAME*,*val*) Read and save the data to *val*,
CREAD(*NAME*,*val1*,*val2*) When read mulitple data, it may use multiple
variables
*val1*, *val2*.., however, please beaware that
each CREAD instruction will read one set of
packet, therefore, when the variable does not meet
the number of transfer value, it will take 0 as the
value or be negligible.
Code Comment
e.q.1
Camera:
send {100,200,45}
Robot:
CREAD(*NAME*,*val1*,*val2*,*val3*)

val1 = 100 ; val2 = 200 ; val3 = 45

e.q.2
Camera:
send {100,200}
CREAD(*NAME*,*val*)
Robot:
CREAD(*NAME*,*val1*,*val2*)
CREAD(*NAME*,*val1*,*val2*,*val3*)

val1 = 100 ; val2 = 200 ; val3 = 0

e.q.3
Camera:
sned {100,200,45,50}
Robot:
CREAD(*NAME*,*val1*,*val2*,*val3*)

val1 = 100 ; val2 = 200 ; val3 = 45


Clear the data in temporary storage
CCLEAR(*NAME*) When the packet number is greater than the
instruction number of CREAD, the old data will

262
C05UE202-2006

be read, therefore, CCLEAR will be added before


or after the reading instruction.
Transfer the data in *val*
Multiple data *val1*, *val2*…can be sent at one
time
CWRITE(*NAME*,*val*)
However, please be aware that val can only be real
CWRITE(*NAME*,*val1*,*val2*)
type and unable to send text, plus each CWRITE
instruction is a set of packet.

Code Comment
e.q.1
Robot:
CWRITE(*NAME*,100,200,45)
Camera:
read{100,200,45}
CWRITE(*NAME*,*val*)
CWRITE(*NAME*,*val1*,*val2*) e.q.2
Robot:
CWRITE(*NAME*,100)
CWRITE(*NAME*,200,45)
Camera:
read {100}{45}

263
C05UE202-2006

6.11. Conveyor Command

6.11.1. CNV_START
 Description:
Start conveyor procedures, and connect with the system. The command for
other conveyor can be executed after this command, used for the start of the
conveyor program.

 Format:
CNV_START CNV=1

CNV_END CNV=1

 Format description:
CNV is the parameter for the conveyor number, which can be input from 1 to 4.

6.11.2. CNV_END
 Description:
End the conveyor and the connection with the system, used for the end of the
conveyor program.

 Format:
CNV_START CNV=1

CNV_END CNV=1

 Format description:
CNV is the parameter for the conveyor number, which can be input from 1 to 4.

6.11.3. CNV_PICK_QUANTITY
 Description:
The variables for the conveyor are used to set the maximum quantity of the
object that the robot can pick every time. When the quantity reaches this value,
the following pick commands will not be executed.

264
C05UE202-2006

This variable will simultaneously affect CNV_FULL and CNV_EMPTY (see


P226).

 Format:
CNV_PICK_QUANTITY = 1

 Format description:
The variable type is positive integer. The default is 1, which can be input from 1
to 8.

6.11.4. CNV_TRIGGER_TIMES[NUM]
 Description:
This is a variable for the conveyor, used when the conveyor is set as a sensor
trigger. When the conveyor sensor is triggered, the robot will receive a task to
pick or place. This variable can be set to increase the speed of a task after the
sensor is triggered several times, require to specify a conveyor number, # as the
conveyor number.

 Format:
CNV_TRIGGER_TIMES[NUM] = 1

 Format description:
This variable type is positive integer from 1 to 100. If no quantity is assigned,
the default is 1. NUM is the number of the conveyor. Input can be from 1 to 4,
and represented by CNV1 to CNV4.

6.11.5. CNV_PICK
 Description:
Pick the object. Automatically waits for messages from the system when the
command is given that it can pick the object. After a successful pick, the robot
will return to the height that the pick started from. If the pick fails, the robot will
return to the starting position.

 Format:

265
C05UE202-2006

CNV_PICK CNV=1 OBJ=1 $DO[1] P1 Down=5.000mm CONT=50%


Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
 Format description:
 CNV is the parameter for the conveyor number. When it is necessary to track
the object, the CNV number will be set. If the number is obmitted, it will not
track. The input range 1 to 4.
 OBJ is the object parameter, used to assign a number to the object. When it is
omitted, no number is assigned to the object. All objects will be picked. The
input range input is 1 to 8.
 $DO[] is the parameter for the number O, which represents the Digital Output
position to pick the object. The input range input is 1 to 48.
 P is the position parameter. The number for this position is the coordinate
when the object triggers the sensor signal; if the image trigger is employed, it
can be omitted.
 Down is the height that pressed downwardly to pick the object. During
picking, the robot will stop a distance over the object and move downwardly.
This parameter is used to assign this distance. The input range is a positive
integer.
 FINE and CONT are the paramaters for the discontinuous and continuous
motion. The percentage behind the paramter is the smooth extent. For the
description of CONT, please see the Appendix at P368.
 Vel is the velocity parameter. The default is 2000mm/s.
 Acc is the acceleration. The default is 100%.
 TOOL is the parameter for the tool coordinates, which can be used to set the
position of different end tools, input is from 0 to 15.
 BASE is the parameters for base coordinate, which can be used to set the base
number that the conveyor is calibrated, input is from 0 to 31.

 Command flowchart:

PICK flowchart

266
C05UE202-2006

 Flowchart description:
 # is the number.
 CNV, OBJ, P, Vel and Acc can be omitted to input.
 Please select either CONT, CONT = #%, CONT = #mm or FINE.

6.11.6. CNV_PLACE
 Description:
The objects can be picked and placed or selected according to the object number
or O (chosen object); the object will return the safety height after successfully
placed. When the place fails, the conveyor will return to the starting position.

 Format:
CNV_PLACE CNV=1 OBJ=1 $DO[1] P1 Down=5.000mm CONT=100%
Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

 Format description:
 CNV is the parameter for the conveyor number. When it is necessary to track the
object, the CNV number will be entered. If the number is omitted, it will not
track. The input range is from 1 to 4.
 OBJ is the object parameter, which can be used to assign the picked object
number. If it is omitted, the object number is not assigned. All objects are
placed. The input range is 1 to 8.
 $DO[] is the parameter for the number O, which represents the position to
place the object in this time. If it is omitted, it will represent to place according
to the object number.
 P is the position parameter, which represents the position to place the object.
 Down is the height that pressed downwardly to pick the object. During
picking, the robot will stop a distance over the object and move downwardly.
This parameter is used to assign this distance, which should be positive integer
or 0.
 FINE and CONT are the paramaters for the discontinuous and continuous
motion. The percentage behind the paramter is the smooth extent. For the
description of CONT, please see the Appendix at P368.
 Vel is the velocity parameter. The defaut is 2000mm/s.
 Acc is the acceleration parameter. The default is 100%.

267
C05UE202-2006

 TOOL is the parameter for tool coordinate.


 BASE is the parameter for the base coordinate.
 Command flowchart:

PLACE flowchart
 Flowchart description
 # is the number.
 CNV, OBJ, P, Vel and Acc can be omitted to input.
 Please select either CONT, CONT = #%, CONT = #mm or FINE.

6.11.7. CNV_OBJECT
 Description:
The variable for picking represents the latest object number picked. After the
object is placed, the number will be automatically reset, which can be used to
determine the current object and perform the specific action.
(ATTENTION: CNV_OBJECT can be used only after CNV_PICK)

 Format:
CNV_PICK CNV=1 $DO[1] P1 Down=5.000mm CONT=50% Vel=2000mm/s
Acc=50% TOOL[0] BASE[0]
IF CNV_OBJECT == 1 THEN
CNV_PLACE CNV=1 $DO[1] P3 Down=5.000mm CONT=100%
Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
ENDIF
CNV_PLACE CNV=1 $DO[1] P2 Down=5.000mm CONT=100%
Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

268
C05UE202-2006

 Format description:
The variable type is integer, which can be used for WHILE or IF.

6.11.8. CNV_FULL
 Description:
The Boolean variable for picking (For the description of Boolean, please see the
Appendix at P338) represents when the quantity of objects that have been
picked by the robot reaches the upper limit. When the picking quantity has
reached the value set by CNV_PICK_QUANTITY, this variable is TRUE; if the
quantity doesn’t reach the setting value, it will be FALSE.

 Format:
CNV_PICK_QUANTITY = 2
WHILE CNV_FULL == FALSE

ENDWHILE

 Format description:
The variable type is Boolean, which can be used for WHILE or IF.

6.11.9. CNV_EMPTY
 Description:
The Boolean variable for picking (For the description of Boolean, please see the
Appendix at P380) represents the quantity of the objects that have been picked
by the robot. When no object is picked, this variable is TRUE; if one or more
object is picked, this variable is FALSE.

 Format:
WHILE CNV_EMPTY == FALSE

ENDWHILE

 Format description:
The variable type is Boolean, and can be used for WHILE or IF.

269
C05UE202-2006

6.11.10. CNV_SET_DELAY_TIME[NUM]
 Description:
This parameter is used to set the delay time for the conveyor. By setting this
variable, the robot can continue to move with the object in the specific time and
leave after reaching the position to pick or place.
As shown in below, the robot will move with the object in 50ms and leave after
picking or placing.

 Format:
CNV_SET_DELAY_TIME[NUM] = 50

 Format description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4.
The variable type is positive integer. The default is 0, which can be input from 0
to 1500 with a unit of ms.

Illustration of Delta positioning

270
C05UE202-2006

Illustration of Delta delay 50 ms

6.11.11. CNV_QUEUE_SIZE[NUM]
 Description:
This is the pick variable. This variable shows the sensor has been triggered on
the conveyor, but there is a quantity of object not picked.
As shown in below, the sensor for the Conveyor 2 has triggered three objects,
but the robot has not picked them. Therefore, this variable is 3.

 Format:
IF CNV_QUEUE_SIZE[NUM] > 0 THEN

ENDIF

 Format description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4.
The variable type is a positive integer, and can be used for WHILE or IF.

271
C05UE202-2006

Illustration of CNV_QUEUE_SIZE

6.11.12. CNV_OBJ_CNT_DIST[NUM]
 Description:
This is the conveyor variable. When the variable CNV_QUEUE_SIZE[NUM] is
greater than or equal to 2 (Two or more objects on the conveyor have been
triggered.) can be used immediately.
This variable can display the difference between the position of the first object
and the second object triggered by the sensor from the difference in Encoder
value. It is usually used to determine if the triggered objects are continuous.

 Format:
IF CNV_QUEUE_SIZE[NUM] > 1 THEN
IF CNV_OBJ_CNT_DIST[NUM] < 2600 THEN

ELSE

ENDIF
ENDIF

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4.
The variable type is positive integer, and can be used for WHILE or IF.

272
C05UE202-2006

6.11.13. CNV_PLACE_BATCH[NUM]
 Description:
The place variable is used when many objects are placed in the same work
space.
When the senor that releases an object is triggered, the robot will obtain a
position where the object can be placed. The maximum number of times that the
robot can place an object in this position can be set by this variable.

 Format:
CNV_PLACE_BATCH[NUM] = 1

 Format Description:
The variable type is a positive integer. If no quantity is assigned, the default is
1. The input range is 1 to 100 and represented by CNV1 to CNV4.

6.11.14. CNV_RESET_ENC
 Description:
Conveyor Tracking Instruction. The user can use this instruction to clear the
counting value of the external encoder when writing program.
The effect of using this instruction is same as the effect of pressing “CLEAR”
on the conveyor calibration interface. (Please refer to the description of P155).

 Format:
CNV_RESET_ENC

 Format Description:
No need to enter parameter.

6.11.15. CNV_QUEUE_REMOVE[NUM]
 Description:
Flying pick/flying place state variable. The user is able to remove the temporary
value placed at the forefront of the waiting queue by using this instruction during
the process of writing the program.

273
C05UE202-2006

 Format:
CNV_QUEUE_REMOVE[NUM]

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4.

6.11.16. CNV_PICK_ACC[NUM]
 Description:
Flying pick state variable. The user is able to configure the acceleration time of
tracking push-down by using this instruction when writing program.

 Format:
CNV_PICK_ACC[NUM]

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4. The default value is 30, range from 10 to 100.

6.11.17. CNV_OFFSET_X[NUM]
 Description:
Flying pick/flying place state variable. The user is able to configure the offset
value of X by using this instruction when writing program.

 Format:
CNV_OFFSET_X[NUM] = 10

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, the offset value of
X is configured as 10mm.

274
C05UE202-2006

6.11.18. CNV_OFFSET_Y[NUM]
 Description:
Flying pick/flying place state variable. The user is able to configure the offset
value of Y by using this instruction when writing program.

 Format:
CNV_OFFSET_Y[NUM] = 10

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, the offset value of
Y is configured as 10mm.

6.11.19. CNV_OFFSET_Z[NUM]
 Description:
Flying pick/flying place state variable. The user is able to configure the offset
value of Z by using this instruction during the process of writing program.

 Format:
CNV_OFFSET_Z[NUM] = 10

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, the offset value of
Z is configured as 10mm.

275
C05UE202-2006

6.11.20. CNV_SPEED[NUM]
 Description:
Conveyor state variable, user is able to read the current speed of conveyor.

 Format:
INT ISpeed
ISpeed = CNV_SPEED[NUM]

 Format Description:
NUM is the number of the conveyor. Input can be from 1 to 4, and represented
by CNV1 to CNV4.

6.12. DO switching on the path (SYN)


 Prerequisite
Program selected
T1 mode
Keyboard connected

 Description
TCP can be output in motion. The command for START, END and PATH can
be used.
The delay time of START and END is ±1000 ms.
The range of PATH is ±2000 mm.
Attention: Due to the limit of software memory, it limits the count of SYN, the
maximum count is eight (8) counts, if the SYN instruction is entered over 8
counts before the motion instruction, Error Code 3010 will be pop-out:
SYNC_CMD_QUEUE_FULL_ERROR.
(See the Appendix example at P385)

 Operation steps
1. Put a cursor behind, and insert on a line of the motion command.
2. Input the command by keyboard.
(See the Appendix example at P385)

276
C05UE202-2006

6.13. Setting of External Procedure Input/Output

6.13.1. Mode Setting of External Procedure


 Operating Steps:
1. Select Start-up>System Setting>FIO Setting。
2. After pressing Edit in the Mode column, it is possible to select the mode of
FIO from the pull-down menu, the first mode is RSR, PNS is the second
mode.
3. Press Save to save the setting.

6.13.2. External Procedure Function of RSR Mode


 Prerequisite
EXT mode
Program edit is complete.
Select RSR mode.

 Operating Steps
1. Click the completed program in the program directory, press “Add to” and
then add the program to the list of RSR Program.
2. In the paging of I/O, click F.I. and F.O., it is possible to observe the
execution of the program triggered by exterior source.
3. When Enable of F.I. is “On”, and if RSR1~RSR4 are “On”, it is possible to
enable the corresponding RSR Program, and execute that program.
4. ACK1~ACK4 of F.O. will be able to output the signal corresponded to F.I.
5. Double click on the column of RSR Program, it will be able to delete the
program from the list.

 Period Chart
1. When two RSR signal is detected simultaneously, execute the one with
the lowest number, from the period chart, RSR2 and RSR3 appeared
simultaneously, RSR2 will be executed while RSR3 will be ignored.
2. During execution of RSR, when other RSR signal is detected, they will
be ignored, from period chart, RSR4 is detected when RSR2 is being
executed, and thus it is ignored.

277
C05UE202-2006

RSR Period Chart

6.13.3. External Procedure Function of PNS Mode


 Prerequisite
EXT mode
Program edit is complete.
Select PNS mode.
 Operating Steps
1. Select the completed program in the program directory, press “Add to” and
then add the program to the list of PNS Programs.
2. Select Start-up>System Setting>FIO Setting.
3. Confirm the ”Mode” option is the selection of PNS mode, if not, please
press ”Edit” to proceed the change, and then press ”Save” for saving.
4. Check “Strobe” already set.
5. In the paging of I/O, tap F.I. and F.O., it is possible to observe execution of
the program triggered by exterior source.
6. When Enable of F.I. is “On”, it will then be possible to execute the relevant
function of the external procedure.

278
C05UE202-2006

7. Trigger F.I.[4~7] to choose program needed execute.


8. Set DI which is “Strobe” as On to open program selected.
9. Check program number through SNO in F.O.
10. When Start of F.I. is “On”, according to current state of I.O., it will
automatically enable the program that has already been added to Program
column and execute enabled program automatically.
11. When Hold of F.I. is “On”, the program under execution will be temporarily
stopped, if the program must be enabled again, the state of Start must be set
to “On”.
12. When Stop of F.I. is “On”, the program under execution will be stopped.
13. If “DIO” option is checked, it is possible to select D.I. as the expansion of
triggering program, the highest support is up to DI [1~7] which is able to
trigger 2047 types of program.
14. Double click under the column of “NO.”, to view the I.O. state that requires
to trigger this program.
15. Double click on the column of Program to delete the program from the list.

FIO Setting interface

279
C05UE202-2006

6.14. Positioning Check of Arm Position


 Description
User is able to define their own point position (Point column) and tolerance
range (Tolerance column) of one arm, if the current angle position (Now column)
of arm enters into the tolerance range of point position previously configured and
when the arm is moved manually or moved by the program, it will change the
specified output DO to the state of “ON”.
This function can be used to check if the position of arm has been returned to the
position as predetermined by the user before enabling the program or after
ending the program.

 Operating Steps
1. Select Start-up>System Setting>Ref. Position
2. Click “Edit”, check Enable and configure DO, and then press “Save” for
saving the setting.
3. Move the arm to the position to be configured as the check point.
4. Press “Save point” button, save the Point column with the new value.
5. Click twice on the table, it enables the tolerance range of each axis
(Tolerance) to be edited.

280
C05UE202-2006

Reference Position interface

281
C05UE202-2006

6.15. Self-defined Digital Input Control Function

DIO setting interface

6.15.1. Clear Error


 Prerequisite
Expert user group.

 Operating Steps
1. Select Start-up>System Setting>DIO Setting.
2. Select the specific D.I. from the Clear Error option, it will enable to use as
the functional signal of clearing error through the configured D.I.
3. If Disable is selected, it indicates that this function is disabled.
4. Press Save to save the setting.

282
C05UE202-2006

6.15.2. External Alarm


 Prerequisite
Expert user group.

 Operating Steps
1. Select Start-up>System Setting>DIO Setting
2. Select the specific D.I. from the External Alarm option, it will enable to
use as the functional signal of external alarm through the configured D.I.
3. If Disable is selected, it indicates that this function is disabled.
4. Set the word to be appeared in Show Text when the alarm is triggered.
5. Press Save to save the setting.

6.15.3. External Shutdown Input


 Prerequisite
Expert user group

 Operation Steps
1. Select Start-up>System Setting>DIO Setting.
2. Select the specific D.I. from the System Shutdown option, it will enable to
use as the functional signal of system shutdown through the configured D.I.
3. If Disable is selected, it indicates that this function is disabled.
4. Press Save to save the setting.

283
C05UE202-2006

6.16. Self-defined Digital Output Control Function

DIO setting interface

6.16.1. Motor Warning


 Prerequisite
Expert user group.

 Operating Steps
1. Select Start-up>System Setting>DIO Setting.
2. Select the specific D.O. from the Motor Warning option, it will enable to
use as the functional signal of motor warning through the configured D.O.
3. If Disable is selected, it indicates that this function is disabled.

284
C05UE202-2006

6.16.2. System Start Up


 Prerequisite
Expert user group.

 Operating Steps
1. Select Start-up>System Setting>DIO Setting.
2. Select the specific D.O. from the System Start Up option, it will enable to
use as the functional signal of starting up through the configured D.O.
3. If Disable is selected, it indicates that this function is disabled.

6.16.3. Mode Output


 Prerequisite
Expert user group.

 Operating Steps
1. Select Start-up>System Setting>DIO Setting.
2. Select the specific D.O. from the Mode Output option, it will enable to use
as the functional signal of selected manual/auto mode through the
configured D.O.
Select T1/T2 mode, D.O. is OFF;AUT/EXT mode, D.O. is ON.
3. If Disable is selected, it indicates that this function is disabled.

6.17. Setting of Motion Parameters (programmed by

keyboard)
 Prerequisite
Program selected
T1 mode
Keyboard connected

6.17.1. SET_OVERRIDE_SPEED
 Description
Use this instruction in the program to change the program override during
movement.

285
C05UE202-2006

The input parmaters indicate maximum running speed percentage.

 Format
SET_OVERRIDE_SPEED 100

 Format Description
The variable type is a positive integer, the allowable range is from 1 to 100 and
can not be 0.

6.17.2. SET_ SPEED


 Description
Use this instruction in the program to configure the moving speed of tangent
track and circular orbit during movement.
The input paramaters indicate the configured speed, unit is mm/s. Range between
1 to 6000.

 Format
SET_ SPEED 2000

 Format Description
The variable type is a positive integer that can not be 0, different model has a
different default.

1. Using SET_SPEED instruction gives the robot a higher speed of operation.


However, when the value is set too high, it may exceed the robot load and
cause false alarm.
2. Please adjust the parameters according to the actual requirement of use to
avoid equipment damage caused by the excessive operating speed.

6.17.3. SET_ ACC


 Description
Use this instruction in the program to configure the 100% acceleration time of
motion.
This is the time used to accelerate to the required motion speed, the unit is ms,
range between 20 to 400.
If this setting is not used, different model has a different default.

286
C05UE202-2006

 Format
SET_ ACC 250

 Format Description
The variable type is the positive integer which cannot be 0.

1. Using SET_ACC instruction gives the robot a higher speed of operation.


However, when the value is set too low, it may exceed the robot load and
cause false alarm.
2. Please adjust the parameters according to the actual requirement of use to
avoid equipment damage caused by the excessive operating speed.

6.17.4. SET_ ROTATION_SPEED


 Description
Use this instruction in the program to configure the speed of rotation of the
gesture during the motion.
The input paramaters indicate the configured speed, the unit is deg/sec.

 Format
SET_ ROTATION_SPEED 100

 Format Description
The variable type is the positive integer which cannot be 0.

1. Using SET_ACC instruction gives the robot a higher speed of operation.


However, when the value is set too low, it may exceed the robot load and
cause false alarm.
2. Please adjust the parameters according to the actual requirement of use to
avoid equipment damage caused by the excessive operating speed.

6.17.5. SET_TOOL
 Description
Use this instruction in the program to allow the arm to select the specified
number of TOOL setting, or change the setting of current parameters of TOOL.

 Format
FRAME T_ONE

287
C05UE202-2006

T_ONE.X = 100
SET_TOOL 1
SET_TOOL T_ONE

 Format Description
SET_TOOL supports the input of a positive integer and 2 types of parameter for
FRAME.
The allow the range of positive integer from 0 to 15, if the positive integer is
entered, it will set the arm to select specified number of Tool setting, the Tool
number on the upper right corner will also be changed.
If FRAME is entered, it will change the currently selected Tool setting parameter
to the value of FRAME. (Please refer to P199 for the using example of FRAME.)

6.17.6. SET_BASE
 Description
Use this instruction in the program to allow the arm to select the specified
number of BASE setting, or change the setting of current parameters of BASE.

 Format
FRAME B_ONE
B_ONE.Y = 100
SET_BASE 1
SET_BASE B_ONE
 Format Description
SET_BASE supports the input of a positive integer and 2 types of parameter for
FRAME.
The allow the range of positive integer from 0 to 31, if a positive integer is
entered, it will set the arm to select speified number of Base setting, the Base
number on the upper right corner will also be changed.
If FRAME is entered, it will change the currently selected Base setting parameter
to the value of FRAME. (Please refer to P199 for the using example of FRAME.)

6.17.7. TRUE_PATH
 Description

288
C05UE202-2006

Configure this parameter to select in the program if the accurate moving mode is
enabled.
If the accurate moving mode is enabled, it will enhance the absolute accuracy
during arm movement, however, if excessive moving speed is configured under
the accurate moving mode, it may cause the arm to produce abnormal sound.

 Format
TRUE_PATH = TRUE

 Format Description
The variable type is Boolean, if this variable is not configured, the default is
FALSE.

289
C05UE202-2006

6.17.8. GETPOINT
 Description
Acquire the coordinate value and angle value of current position.
 Format
E6POINT E6TEST
E6TEST = GETPOINT
 Format Description
E6TEST acquires the coordinate value and angle value of current position.

6.17.9. GET_MOTION_STATUS
 Description
Acquire the current motion status.

 Format
INT Istatus
Istatus = GET_MOTION_STATUS

 Format Description
Istatus acquires the value of current motion status.
0 is the idle status, 1 is the running status, 2 is the hold status.

6.17.10. BRAKE
 Description
Stop and clear the motion command which contained motion queue command.

 Format
LIN P1
LINP2

BRAKE

 Format Description
When executed to BRAKE, the motion will stop.

290
C05UE202-2006

6.17.11. EXT_TCP (Optional)


 Description
This command is required when the robot takes a workpiece to perform a LIN or
CIRC motion on an external tool point, such as a polishing job.

 Format
EXT_TCP_START
LIN P1
LINP2

EXT_TCP_END

 Format Description
The motion command between EXT_TCP_START and EXT_TCP_END will
move as external tool point.

6.17.12. CHECK_LIN
 Description
The manipulator may move to the singular point in addition to the PTP command
during the movement. At this time, the manipulator will trigger the alarm to stop
the manipulator. This command can be checked whether the singular point
occurs between two points in advance, and perform different motion design to
avoid moving to singular point and stop in the midway, this increase the
efficiency of use.

 Format
IF CHECK_LIN(P1,P2) == FALSE THEN
LIN P1
LIN P2
ENDIF

 Format Description
Using CHECK_LIN command to determine that P1 and P2 will not be singular,
then execute the movement of LIN P1 and LIN P2.

291
C05UE202-2006

6.18. Location Register

6.18.1. Using Interface to Enter Location Register


 Operating Steps
1. Select Display > PR.
2. Click any column in the list.
3. User may select Degree, Coordinate or Null from the options below.
4. If Degree is selected, the default value is filled in A1 to A6 angle, user can
edit this value directly.
5. If Coordinate is selected, the default value is filled in the Cartesian
coordinate, user can edit this value directly.
6. If Null is selected, all content will be cleared.
7. Press Save to save the setting.

Location Register setting interface

292
C05UE202-2006

6.18.2. Using Instruction to Enter Location Register


 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard
Example 1:
$PR[1] = {A1 1 , A2 2 , A3 3 , A4 4 ,A5 5 , A6 6}
$PR[2] = {X 7 ,Y 8 , Z 9 , A 10 ,B 11 , C 12}
$PR[3] = {A1 1 , A2 2 , A3 3 , A4 4 ,A5 5 , A6 6, X 7 ,Y 8 , Z 9 , A 0,B 0, C 0}

Example 2:
E6POS A = {X 10 ,Y 10 ,Z 10 ,A 10 ,B 10 ,C 10}
E6AXIS B = {A1 20 , A2 20 , A3 20 , A4 50 ,A5 10 , A6 20}
E6POINT C = { X 5 ,Y 15 ,Z 25 ,A 35 ,B 45 ,C 55}
$PR[1] = A
$PR[2] = B
$PR[3] = C

Example 3:
$PR [1] = GETPOINT

6.18.3. Use Location Register for Motion


 Operating Steps
1. Put a cursor behind, and insert on a line of the instruction command
2. Input the command by keyboard
Example:
LIN $PR [1]
LIN_REL $PR [1]
PTP $PR [1]
PTP_REL $PR [1]
CIRC $PR [1] $PR [2]
CIRC_REL $PR [1] $PR [2]

Attention: TYPE of two PR used by CIRC and CIRC_REL must be the same
(same DEG or same POS).

293
C05UE202-2006

6.19. User Self-defined Alarm

6.19.1. Content of Defined Alarm


 Description
User is able to define 10 sets of alarm text content, issued by program
instruction.

 Operating Steps
1. Select Main menu > Start-up > System Setting > User Alarm Setting
2. Click twice on the column of Message, and then edit the alarm text content
of that column.

6.19.2. Issue Self-defined Alarm (programmed by keyboard)


 Description
If the user requires an alarm based on the self-determined condition during the
execution of program, it is possible to use this instruction function to issue an
alarm while the program is running.
When using this instruction to issue the alarm, it has the function as temporary
motion stop, the “Start” button will be used to continue executing the operation.

 Format
USER_ALARM [n]

 Format Description
The variable type is a positive integer, from 1 to 10 and cannot be 0.

294
C05UE202-2006

User Alarm Setting interface

295
C05UE202-2006

6.20. Electric Gripper Command

6.20.1. Command Description


In HRSS, there are 8 command in total related to XEG series electric gripper for
user to program, each command will be executed or completed first in order to
continue the next execution.

6.20.1.1. EG_OPEN (str Type)


 Description
Connect XEG series electric gripper. Before executing any command to
operate the electric gripper, this command must be executed to open the
connection with the electric gripper.

 Format
EG_OPEN(Type)

 Format Description
Type will be representing the model of the XEG series electric gripper, the
code for each model will be represented below:

Code Electric Gripper


Model
X16 XEG-16
X32 XEG-32
X64 XEG-64

6.20.1.2. EG_CLOSE
 Description
Close the connection for current XEG electric gripper. Can be used to close
the current electric gripper and switch on connection for other model of
XEG electric gripper.

 Format
EG_CLOSE

296
C05UE202-2006

 Format Description
No other parameters

6.20.1.3. EG_RESET
 Description
Execute reset for XEG series electric gripper. After the connection with
electric gripper is completed, the reset has to be performed to ensure that
each control parameters are read and write.

 Format
EG_RESET

 Format Description
No other parameters

6.20.1.4. EG_GET_STATUS
 Description
Obtain the status of XEG series electric gripper, each status code are as followed:
Code Status of Electric Gripper
0 Idle Ready
1 In action Busy
2 Grip Hold
-1 Abnormal Alarm 1
position
-2 Over trip Alarm 2
-3 Unusual origin Alarm 3
return

Used to determine whether the electric gripper is currently grip on to an object or


in an action as one of the basis of object recognition.

 Format
IF EG_GET_STATUS == 2 THEN

ENDIF

297
C05UE202-2006

 Format Description
Using IF condition to determine the status of XEG series electric gripper in
order to execute different operation.

6.20.1.5. EG_RUN_MOVE(double MovPos, int MovSpeed)


 Description
Execute the movement of XEG series electric gripper. According to the speed set
by the user to control the electric gripper to move to the specified position
(absolute coordinates).

 Format
EG_RUN_MOVE(MovPos, MovSpeed)

 Format Description
- MovPost Moving electric gripper to the specified position, minimum unit
0.01mm.
- MovSpeed Movement speed of the electric gripper, minimum unit 1mm/s.
Setting range for each electric gripper as followed:
Model of Electric MovPos MovSpeed
Gripper
XEG-16 0~16 (mm) 0~60 (mm/s)
XEG-32 0~32 (mm) 0~80 (mm/s)
XEG-64 0~64 (mm) 0~100 (mm/s)

6.20.1.6. EG_RUN_GRIP(str Dir, int Str, str GriSpeed, str

GriForce)
 Description
Execute the gripping movement of XEG series electric gripper. According to the
direction, displacement, speed and force of gripping set by the user to control the
electric gripper for operating gripping action (relative coordinates).

 Format
EG_RUN_GRIP(Dir, Str, GriSpeed ,GriForce)

298
C05UE202-2006

 Format Description
- Dir Electric gripper moving direction, C represent moving inwards, O represent
moving outwards.
- Str Displacement of the grip, minimum unit as 1mm;
(XEG-16 range(0~16mm)、XEG-32 range(0~32mm)、XEG-64range(0~64mm))
- GriSpeed Speed of the grip, L represent Low, M represent Medium, H represent
High
- GriForce Force of the grip, L represent Low, M represent Medium, H represent
High

6.20.1.7. EG_RUN_EXPERT(str Dir, double MovStr, int

MovSpeed, double GriStr, int GriSpeed, int GriForce)


 Description
Execute gripping movement of XEG series electric gripper in expert mode.
According to the direction, displacement, speed and force of gripping set by the
user to control the electric gripper for operating fast movement and slow grip
(relative coordinates).

 Format
EG_RUN_EXPERT(Dir, MovStr ,MovSpeed,GriStr,GriSpeed,GriForce)

 Format Description
- Dir Electric gripper moving direction, C represent moving inwards, O represent
moving outwards.
- MovStr Movement displacement, minimum unit 0.01mm.
- MovSpeed Movement speed, minimum unit 1mm/s.
- GriStr Displacement of the grip, minimum unit 1mm/s
- GriSpeed Speed of the grip, minimum unit 1mm/s
- GriForceForce of the grip, minimum unit 5%

299
C05UE202-2006

Setting range for each electric gripper as followed:


Model of
Electric MovStr MovSpeed GriStr GriSpeed GriForce
Gripper
XEG-16 0~16 (mm) 0~60 (mm/s) 0~16 (mm) 1~10 (mm/s) 50~100%
XEG-32 0~32 (mm) 0~80 (mm/s) 0~32 (mm) 1~20 (mm/s) 40~100%
XEG-64 0~64 (mm) 0~100 (mm/s) 0~64 (mm) 1~20 (mm/s) 40~100%

6.20.1.8. EG_GET_POS
 Description
Obtain the position of XEG series electric gripper, minimum unit 0.01mm. Used
to confirm whether the electric gripper has moved to the specified position or
within a range, as one of the basis of object recognition.

 Format
IF EG_GET_POS > 5.00 AND EG_GET_POS < 7.00 THEN

ENDIF

 Format Description
Using IF condition to determine the position of XEG series electric gripper in
order to execute different operation.

300
C05UE202-2006

6.21. Infinite Rotation Command (Optional)

6.21.1. CT_A6
 Description
Execute the infinite rotation of the sixth axis of the robot, this command must be
used with Keypro.

 Format
CT_A6 velocity_ratio

 Format Description
velocity_ratio is the ratio of infinite rotation speed, the input range is -100 to 100,
the sign indicates the direction of rotation, and the input 0 stops the infinite
rotation.

301
C05UE202-2006

6.22. String Function

6.22.1. String Cascade


 Description:
String cascade
 Format:
str3 = str1 + str2
 Format Description:
Let str1 concatenate str2 and save to str3
 Example:
STRING str1 = “abc”
STRING str2 = “def”
STRING str3
str3 = str1 + str2
;str3 == “abcdef”

6.22.2. STRCMP
 Description:
Compare two strings. If two strings are the same, return true. If two strings are
not the same, return false.
 Format:
BOOL STRCMP(STRING str1, STRING str2)
 Format Description:
Parameter:STRING Return: BOOL
 Example:
STRING str1 = “abcd”
STRING str2 = “abcd”
BOOL flag
flag = STRCMP (str1, str2)
;flag == true

6.22.3. STRPOS
 Description:
Search str2 in str1 and return the pos which is found in str1.

302
C05UE202-2006

 Format:
INT STRPOS (STRING str1, STRING str2)
 Format Description:
Parameter:STRING Return: INT
 Example:
flag = COMPARE(str1, str2) STRING str1 = abcde
STRING str2 = cd
INT pos
pos = STRPOS (str1,str2)
;pos == 3
pos = STRPOS (str,”ac”)
;pos == 0

6.22.4. STRCPY
 Description:
Copy string with specific pos and length from source string and save to
destination string.
 Format:
VOID STRCPY (STRING dst, STRING source, INT pos, INT length)
 Format Description:
Parameter:STRING, INT
 Example:
STRING str1 = “aaaaaaa”
STRING str2 = “abcdefg”
STRCPY (str1,str2,2,3)
;str1 == “bcd”

6.22.5. STRLEN
 Description:
Return length of string
 Format:
INT STRLEN (STRING str)
 Format Description:
Parameter:STRING Return: INT
 Example:

303
C05UE202-2006

STRING str = “abcde”


INT strLength
strLength = STRLEN(str)
;strLength == 5

6.22.6. INTTOSTR
 Description:
Return result which is string casted from integer value.
 Format:
STRING INTTOSTR(INT num)
 Format Description:
Parameter: INT Return: STRING
 Example:
INT num = 5
STRING str
str = INTTOSTR(num)
;str == 5

6.22.7. REALTOSTR
 Description:
Return result which is string casted from floating point value.
 Format:
STRING REALTOSTR(REAL num)
 Format Description:
Parameter: REAL Return: STRING
 Example:
REAL num = 5.5
STRING str
str = REALTOSTR(num)
;str == 5.5

6.22.8. STRTOINT
 Description:
Return result which is INT casted from string.

304
C05UE202-2006

 Format:
INT STRTOINT(STRING str)
 Format Description:
Parameter:STRING Return:INT
 Example:
STRING str = “20”
INT num
num = STRTOINT(str)
;num == 20

6.22.9. STRTOREAL
 Description:
Return result which is REAL casted from string.
 Format:
REAL STRTOREAL(STRING str)
 Format Description:
Parameter:STRING Return: REAL
 Example:
STRING str = “130.600”
REAL num
num = STRTOREAL(str)
;num == 130.600

6.23. Interrupt
6.23.1. Declaration
 Description:
Declare priority, trigger event, and subprogram of interrupt
 Format:
INTERRUPT Priority WHEN Event DO Subprogram
 Format Description:
Priority: INT 1~8 represent the priority of interrupt. 1 is the highest priority.
Event: DI as an input signal to trigger interrupt ex. $DI[1] == true
Subprogram: the activity when interrupt is triggered.
 Example:
INTERRUPT 1 WHEN $DI[1] == TRUE DO PRO_1()

305
C05UE202-2006

6.23.2. Enable and Disable


 Description:
Enable or disable an interrupt or all interrupt.
 Format:
INTERRUPT ON/OFF priority/ALL
 Format Description:
Priority: INT 1~8 represent the priority of interrupt. 1 is the highest priority.
ON: Enable
OFF: Disable
 Example:
INTERRUPT ON 1 ;Enable interrupt with 1 priority
INTERRUPT OFF 2 ; Disable interrupt with 2 priority
INTERRUPT ON ALL ; Enable all interrupt
INTERRUPT OFF ALL ; Disable all interrupt

6.23.3. Functional limitations and specifications


1. Stop action immediately when an interrupt occurs.
2. When the interrupt subprogram is executed, if other interrupts are triggered,
it will be scheduled and execute according to the priority.
3. Interrupt is globe and needs to declare in main program.
4. When interrupt finishes, it will resume the command which was interrupted.
However, robot’s original position will not be recovered. If user needs
robot’s original position to be recovered to the status which was before the
interrupt, user should record the point (using GETPOINT) when interrupt
starts and use PTP or LIN to this point before the interrupt finishes.
5. When multiple interrupts are triggered, robot will execute interrupt
subprogram according priority not according trigger time.
6. When program is pause or stop, interrupt will not be triggered.
7. Interrupt trigger event only support DI signal.
8. Interrupt subprogram do not support parameter input or output.

6.24. Multiple(1~3) Dimension Array


6.24.1. Declare
306
C05UE202-2006

 Description:
Support INT、REAL、CHAR、E6POS、E6POINT、E6AXIS data type to use
array
 Format:
Type Name[num1] ; 1 dimension array
Type Name[num1,num2] ; 2 dimension array
Type Name[num1,num2,num3] ; 3 dimension array
 Format Description:
Type: INT、REAL、CHAR、E6POS、E6POINT、E6AXIS
Name: name of variable
num: quantity of the elements
 Example:
INT i1DArr[10]
INT i2DArr[10,10]
INT i3DArr[10,10,10]
REAL rArr[10,10,10]
CHAR cArr[10,10,10]
E6POS PosArr[10,10,10]
E6POINT PointArr[10,10,10]
E6AXIS AXISArr[10,10,10]

6.24.2. Assign And Access Elements of an Array


 Description:
Assign or access an element value of array.
 Format:
Name[Index] = value
value = Name[Index]
 Format Description:
Name: name of variable
Index: The index of elements of array. The index of the first element of array is 1
 Example:
i2Darr[1] = 10
i2Darr[1,1] = 10
i3Darr[1,1,1] = 10
rArr[2,1,2] = 2.5
PointArr[3,6,3].x = 500

307
C05UE202-2006

6.24.3. Pass Array as Function Parameter


 Description:
User can pass array to subprogram or subfunction through parameter IN and
OUT, but user cannot transfer array by subfunction RETRUN.
 Example:
INT ARRAY_IN[10]
INT ARRAY_OUT[10]

PROG1(ARRAY_IN, ARRAY_OUT)

DEF PROG1(num_in[10]:IN, num_out[10]:OUT)


INT num_in[10]
INT num_out[10]
INT index
FOR index = 1 to 10 step 1
num_out[index] = num_in[index] + 1
ENDFOR
END

6.25. External Axis Command


6.25.1. EX_AX
 Description:
Enable/disable the connected external axis. Users can use this command to
enable the corresponding external axis to set and control it, or disable the
corresponding external axis to cancel its related functions.

 Format:
EX_AX[AXIS_NUM] = TRUE

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3

308
C05UE202-2006

6.25.2. EX_AX_ASYNC
 Description:
Set the external axis to be a synchronous axis or an asynchronous axis. You can
use this command to switch the motion mode of the external axis to perform
synchronous or asynchronous related control.

 Format:
EX_AX_ASYNC[AXIS_NUM] = TRUE

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3

6.25.3. EX_AX_SYNC_COUPLE
 Description:
When the external axis is set as the synchronous axis and the calibration has been
completed correctly, you can use this command to open/close the coupled control
function of the external axis.

 Format:
EX_AX_SYNC_COUPLE[AXIS_NUM] = TRUE

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3

6.25.4. EX_AX_SET_ACC
 Description:
Set the acceleration and deceleration time of the external axis, you can use this
command to modify the acceleration and deceleration of the specified external
axis.

 Format:
EX_AX_SET_ACC[AXIS_NUM] 100

309
C05UE202-2006

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3

6.25.5. EX_AX_SET_SPEED
 Description:
Set the speed of the specified external axis, the linear axis unit is mm / sec, and
the rotary axis unit is deg / sec

 Format:
EX_AX_SET_SPEED[AXIS_NUM] 100

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3

6.25.6. EX_AX_CT
 Description:
Perform the infinite rotation of the external axis at the specified infinite rotation
speed of the external axis (the external infinite rotation function must be enabled
first).

 Format:
EX_AX_CT[AXIS_NUM] VEL_RATIO

 Format Description
AXIS_NUM is the external axis number, the range is 1 ~ 3.
VEL_RATIO is the infinite rotation speed ratio, the range is -100 ~ 100, the sign
indicates the direction of rotation, enter 0 to stop the infinite rotation.

310
C05UE202-2006

6.25.7. ASYPTP
 Description:
When the external axis is set as an asynchronous axis, you can use this command
to control it execute point-to-point motion.

 Format:
ASYPTP{E1 60} CONT=100% Vel=100% Acc=50%
ASYPTP{E1 60, E2 100} CONT=100% Vel=100% Acc=50%

 Format Description
ASYPTP can input the position of E1 ~ E3, and set its smoothing, speed and
acceleration and deceleration settings.

6.25.8. PTP
 Description:
When the external axis is set as an asynchronous axis, you can use this command
to control it execute point-to-point motion.

 Format:
E6POINT P1{A1 50, E1 60}
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0]BASE[0]
PTP{A1 40, E1 50} CONT=100% Vel=100% Acc=50% TOOL[0]BASE[0]
PTP{X 100, E1 50} CONT=100% Vel=100% Acc=50% TOOL[0]BASE[0]

 Format Description
PTP instruction can increase the position of input E1 ~ E3.

6.25.9. LIN
 Description:
When the external axis is set as a synchronous axis, this command can be used to
control the synchronous linear motion of the robot and the external axis.

 Format:
E6POINT P1{A1 50, E1 60}

311
C05UE202-2006

LIN P1 CONT=100% Vel=2000mm/s Acc=50% TOOL[0]BASE[0]


LIN{A1 40, E1 50} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]BASE[0]
LIN{X 100, E1 50} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]BASE[0]

 Format Description
LIN instruction can increase the position of input E1 ~ E3.

6.25.10. CIRC
 Description:
When the external axis is set as the synchronous axis, this command can be used
to control the synchronous arc motion of the robot and the external axis.

 Format:
E6POINT P1{A1 50, E1 60}
E6POINT P2{X 100, E1 0}
CIRC P1 P2 CONT=100% Vel=2000mm/s Acc=50% TOOL[0]BASE[0]
CIRC{A1 50, E1 60} {X 100, E1 0}CONT=100% Vel=2000mm/s Acc=50%
TOOL[0]BASE[0]
CIRC{A1 50, E1 60} {X 100, E1 0} CONT=100% Vel=2000mm/s Acc=50%
TOOL[0]BASE[0]

 Format Description
CIRC instruction can increase the position of input E1 ~ E3.

6.26. Welding Command


6.26.1. WELD_START
 Description:
Welding start instruction, welding in accordance with the specified welding
procedures and conditions.

 Format:
WELD_START WP = procedure number WS= schedule number

312
C05UE202-2006

 Format Description
procedure number is the set welding procedure number, the range is 1 ~ 20
schedule number is the set welding condition number, the range is 1 ~ 32

6.26.2. WELD_END
 Description:
Welding end instruction, according to the specified welding procedures and
conditions for crater processing and end welding.

 Format:
WELD_END WP = procedure number WS= schedule number

 Format Description
procedure number is the set welding procedure number, the range is 1 ~ 20
schedule number is the set welding condition number, the range is 1 ~ 32

6.26.3. WEAVE
 Description:
According to the pre-set weaving conditions or directly specify the frequency,
amplitude, left stop and right stop conditions when executing weaving, the
command to start the weaving in the specified mode, the remaining settings will
be based on the settings of the pendulum welding setting interface.

 Format:
WEAVE pattern WS = schedule number
WEAVE pattern Freq = frequency Hz Amp= amplitude mm LD = left dwell sec
RD= right dwell sec

 Format Description
pattern is the weaving mode, you can input SINE, CIRCLE and L
schedule number is the number of the weaving condition, the range is 1 ~ 10
frequency is the weaving frequency
amplitude is the amplitude of weaving
left dwell is the left dwell time

313
C05UE202-2006

right dwell is the right dwell time

6.26.4. WEAVE_END
 Description:
End the current weaving motion.

 Format:
WEAVE_END

 Format Description
No parameters

7. Error Message

The error message with * symbol, on behalf of this error does not stop robot.

7.1. Robot System Software(01-XX-XX)

7.1.1. System Error Message(01-01-XX)

314
C05UE202-2006

Error code Error Message Reason Solution


System System Software
01-01-10 initialization failure initialization damaged or
failure lost
Motion library load Motion library
01-01-11
failure load failure 1.Check the
Motion library drive EtherCAT
01-01-12 Motion
initialization failure Motion library connection
library status.
Motion library initialization
damaged or 2.Please turn off
01-01-13 memory failure
lost the power and
initialization failure
then restart.
Motion library start Motion library
01-01-14 3.Please contact
failure start failure
the engineer
EtherCAT library EtherCAT
Software from
01-01-20 loading failure library loading
damaged manufacturer.
failure
EtherCAT
01-01-21 EtherCAT
disconnection EtherCAT
connection
EtherCAT anomalies
01-01-22 anomalies
initialization failure

Error code Error Message Reason Solution


EtherCAT line
01-01-23
crossing alarm
EtherCAT 1.Check the
EtherCAT none EtherCAT
01-01-24 anomalies drive EtherCAT
slave alarm connection
connection
EtherCAT can't anomalies status.
01-01-25
check slave 2.Please turn off
EtherCAT slave the power and
01-01-26
none response then restart.
EtherCAT cycle 3.Please contact
01-01-27
alarm the engineer
EtherCAT cycle from
01-01-28
jitter manufacturer.
EtherCAT cycle
01-01-29
counter error

315
C05UE202-2006

EtherCAT cycle EtherCAT EtherCAT


01-01-2A
watchdog error anomalies connection
EtherCAT INIT anomalies
01-01-2B
switching error
EtherCAT PREOP
01-01-2C
switching error
EtherCAT
01-01-2D SAFEOP switching
error
EtherCAT OP
01-01-2E
switching error
EtherCAT master
01-01-2F
none response
EtherCAT master
01-01-30
initialization error
Error code Error Message Reason Solution
EtherCAT busbar
01-01-31
scan error
EtherCAT frame
01-01-32
response error
EtherCAT frame
01-01-33
lost 1.Check the
EtherCAT master drive EtherCAT
EtherCAT connection
counter error of EtherCAT
01-01-34 anomalies status.
initialization connection
2.Please turn off
command anomalies
the power and
EtherCAT master
then restart.
response error of
01-01-35 3.Please contact
initialization the engineer
command from
EtherCAT slave manufacturer.
counter error of
01-01-36
initialization
command
EtherCAT slave
01-01-37
response error of

316
C05UE202-2006

initialization EtherCAT EtherCAT


command anomalies connection
EtherCAT mailbox anomalies
01-01-38
time out
EtherCAT mailbox
01-01-39
SDO cancel
EtherCAT mailbox
01-01-3A COE counter
receive error
EtherCAT mailbox
01-01-3B COE counter send
error
EtherCAT mailbox
01-01-3C
receive invalid data
EtherCAT master
01-01-3D
alarm

Error code Error Message Reason Solution


Axis 1 parameter If reinstall
01-01-40
setting fail software is
Axis 2 parameter required, please
01-01-41
setting fail Software contact engineer
System
Axis 3 parameter damaged or from the original
01-01-42 anomalies
setting fail lost equipment
Axis 4 parameter manufacturer.
01-01-43
setting fail
Axis 5 parameter
01-01-44
setting fail
Axis 6 parameter
01-01-45
setting fail If reinstall
Conveyor 1 software is
01-01-50
encoder initial fail required, please
Conveyor 2 contact engineer
01-01-51
encoder initial fail Software from the original
System
Conveyor 3 damaged or equipment
01-01-52 anomalies
encoder initial fail lost manufacturer.

317
C05UE202-2006

Conveyor 4
01-01-53
encoder initial fail
External parameter
01-01-54
initial fail
01-01-55 HRSS Loading fail
1. Please confirm
whether the data
is stored
1. The
correctly, and
HRSS is
avoid turning off
not turned
the HRSS in the
off
same way (the
properly,
HRSS is not
and the
turned off when
HRSS is
the program is
not turned
stopped, or the
HRSS last off when
HRSS last main power is
01-01-57 shutdown the
shutdown error turned off instead
abnormality program is
of turning off the
stopped.
controller power).
2. Directly
2. If the program
cut off the
has stopped and
main power
the main power is
instead of
not cut off
turning off
directly, please
the
contact the
controller.
engineer to check
and repair the
controller.
FBWF
FBWF
FBWF memory anti-write
memory User needs to
01-01-58 consumption memory is
consumption reboot
128MB full to 128
128MB
MB
FBWF memory FBWF
FBWF User needs to
01-01-59 consumption anti-write
memory reboot
512MB memory is

318
C05UE202-2006

consumption full to 512


512MB MB
FBWF file failed to FBWF file File Confirm that the
01-01-60
open failed to open damage file is damaged

7.1.2. Program Error(01-02-XX)

Error code Error Message Reason Solution


Program code Check robot
Program code Syntax
01-02-10 format language.
incorrectness error.
incorrect Ref 9.1.11
Try to repair the
corrupted file.
Files are Use backup file
Please confirm the Program file
01-02-11 damaged or or create new
program content is open failure.
lost. file.
correct before
execute.
Please export
the history
Program
Program file record and send
01-02-12 Program copy error file copy
copy error it back to
error
original factory
for analysis.

7.1.3. Motion Error(01-03-XX)

Error code Error Message Reason Solution


Axis 1 1. Reduce
Axis 1 following Motion
01-03-10 position over speed。
error too big speed too
deviation 2. Reduce load.
fast or
Axis 2 3. Reduce
Axis 2 following actual
01-03-11 position over acceleration.
error too big position
deviation

319
C05UE202-2006

Axis 3 exceeded
Axis 3 following
01-03-12 position over deviation
error too big
deviation
Axis 4
Axis 4 following
01-03-13 position over
error too big
deviation
Axis 5
Axis 5 following
01-03-14 position over
error too big
deviation
Axis 6
Axis 6 following
01-03-15 position over
error too big
deviation
Axis 1 Motion to
Axis 1 position
exceeded Axis 1 reach Axis 1 move
01-03-16 overlimit of
positive positive negative
positive
rotation limit limit
Axis 1 Motion to
Axis 1 position
exceeded Axis 1 reach Axis 1 move
01-03-17 overlimit of
negative negative positive
negative
rotation limit limit
Axis 2 Motion to
Axis 2 position
exceeded Axis 2 reach Axis 2 move
01-03-18 overlimit of
positive positive negative
positive
rotation limit limit
Axis 2 Motion to
Axis 2 position
exceeded Axis 2 reach Axis 2 move
01-03-19 overlimit of
negative negative positive
negative
rotation limit limit
Axis 3 Motion to
Axis 3 position
exceeded Axis 3 reach Axis 3 move
01-03-1A overlimit of
positive positive negative
positive
rotation limit limit
Axis 3 Motion to
Axis 3 position
exceeded Axis 3 reach Axis 3 move
01-03-1B overlimit of
negative negative positive
negative
rotation limit limit

320
C05UE202-2006

Axis 4 Motion to
Axis 4 position
exceeded Axis 4 reach Axis 4 move
01-03-1C overlimit of
positive positive negative
positive
rotation limit limit
Axis 4 Motion to
Axis 4 position
exceeded Axis 4 reach Axis 4 move
01-03-1D overlimit of
negative negative positive
negative
rotation limit limit
Axis 5 Motion to
Axis 5 position
exceeded Axis 5 reach Axis 5 move
01-03-1E overlimit of
positive positive negative
positive
rotation limit limit
Axis 5 Motion to
Axis 5 position
exceeded Axis 5 reach Axis 5 move
01-03-1F overlimit of
negative negative positive
negative
rotation limit limit
Axis 6 Motion to
Axis 6 position
exceeded Axis 6 reach Axis 6 move
01-03-20 overlimit of
positive positive negative
positive
rotation limit limit
Axis 6 Motion to
Axis 6 position
exceeded Axis 6 reach Axis 6 move
01-03-21 overlimit of
negative negative positive
negative
rotation limit limit

Error code Error Message Reason Solution


XY Motion to Clear error and
XY coordinate
coordinates XY move in
01-03-30 overlimit of
reached the coordinate opposite limit
software
limit limit direction
Shaft over Reverse Clear error and
01-03-31 Joint overspeed
speed solution to use PTP motion

321
C05UE202-2006

determine a
shaft speed
too fast.
Near wrist Near wrist
01-03-32 Wrist singularity
singular point singular point
Near Near Try to avoid the
Shoulder
01-03-33 shoulder shoulder singular point
singularity
singular point singular point of motion
Near elbow Near elbow
01-03-34 Elbow singularity
singular point singular point
Circle command 3 Circle
01-03-40 reference points on command on
the same line the same line
Unable to
calculate
Circle comm can't
01-03-41 center of
found center point
circle in two
Command Check CIRC
point space
setting error. description.
Circle
command
Circle comm can't parameter
01-03-42 calculate transpose error, unable
matrix to calculate
transpose
matrix
Synchronize
1. Please check
Synchronize output
if the
output command too connecting line
Synchronize output
01-03-50 command much, is correctly
queue overflow
buffer causing connected, and
overflow buffer turn off the
power and then
overflow
re-start.
Synchronize Synchronize 2. Please
output activate contact
Synchronize output
01-03-51 control output engineer from
overlimit
command command too the original
overlimit much

322
C05UE202-2006

equipment
manufacturer.
Motion
During command
Found motion Clear error and
compliance cannot be
command when stop sending
01-03-52 tuning, send performed
compliance motion
motion during
teaching command
command compliance
tuning.
Axis 1 happen
01-03-53
collision
Axis 2 happen
01-03-54
collision
1. Clear error
Axis 3 happen
01-03-55 and check if the
collision
action caused
Axis 4 happen
01-03-56 collision
collision
1. Collision
Axis 5 happen Robot happen
01-03-57 2. False 2. Please
collision collision
alarm contact
Axis 6 happen
01-03-58 engineer from
collision
the original
E1 Axis happen
01-03-59 equipment
collision
manufacturer.
E2 Axis happen
01-03-5A
collision
E3 Axis happen
01-03-5B
collision
1. Missing 1. Execute
data payload
Payload data
01-03-60 2. The data in estimation
processing error
The data is the file is again
abnormal incorrect 2. Please
Payload contact
1. Missing
01-03-61 identification file is engineer from
data
abnormal the original

323
C05UE202-2006

The identified 2. Open file equipment


01-03-62 parameter is error manufacturer.
abnormal

7.1.4. Operation Error(01-04-XX)


Error code Error Message Reason Solution
Axis 1
Read driver 1
absolute
01-04-10 encoder is
encoder
abnormality
position error
Axis 2
Read driver 2
absolute
01-04-11 encoder is
encoder
abnormality
position error
Axis 3
Read driver 3
absolute
01-04-12 encoder is
encoder Read axis Please confirm
abnormality
position error encoder whether the
Axis 4 under moving brake shaft is
Read driver 4
absolute status falling.
01-04-13 encoder is
encoder
abnormality
position error
Axis 5
Read driver 5
absolute
01-04-14 encoder is
encoder
abnormality
position error
Axis 6
Read driver 6
absolute
01-04-15 encoder is
encoder
abnormality
position error
Axis 1 driver
Write data to driver parameter
01-04-16
1 is abnormality write back
failed
Write data to driver Axis 2 driver
01-04-17
2 is abnormality parameter

324
C05UE202-2006

write back
failed Driver Check driver
Axis 3 driver connection is connection.
Write data to driver parameter abnormality
01-04-18
3 is abnormality write back
failed
Axis 4 driver
Write data to driver parameter
01-04-19
4 is abnormality write back
failed
Axis 5 driver
Write data to driver parameter
01-04-1A
5 is abnormality write back Driver Check driver
failed connection is connection.
Axis 6 driver abnormality
Write data to driver parameter
01-04-1B
6 is abnormality write back
failed

Error code Error Message Reason Solution


Clear driver 1 Clear Axis 1
encoder is driver
01-04-1C
abnormality encoder
failed
Clear driver 2 Clear Axis 2
encoder is driver 1.Driver
01-04-1D
abnormality encoder connect is 1.Check driver
failed abnormality. connected.
Clear driver 3 Clear Axis 3 2. The 2.Check driver
encoder is driver command is status.
01-04-1E
abnormality encoder forbidden
failed
Clear Axis 4
Clear driver 4
driver
01-04-1F encoder is
encoder
abnormality
failed

325
C05UE202-2006

Clear Axis 5
Clear driver 5
driver
01-04-20 encoder is
encoder
abnormality
failed
Clear Axis 6
Clear driver 6
driver
01-04-21 encoder is
encoder
abnormality
failed
Start position
01-04-30 declination is
abnormality
A1 declination is
01-04-31
abnormality .
A2 declination is
01-04-32
abnormality
A3 declination is The robot's
01-04-33 Please move to
abnormality position is
the origin and
A4 declination is different
01-04-34 Robot confirm that the
abnormality from when it
position angle is correct.
A5 declination is was last
01-04-35 declination Refer 5.8
abnormality powered off.
A6 declination is
01-04-36
abnormality

Error code Error Message Reason Solution


RSR
RSR(&NUM) no RSR file not
01-04-40 execution
file set Confirm that
file not set
the execution
PNS
PNS(&NUM) no PNS file not file is set.
01-04-41 execution
file set
file not set
ISR delay ISR delay
ISR delay stack 1.Please turn
01-04-50 buffer buffer
overflow off the power
overflow overflow
and then re-
Motion command Motion Motion
01-04-51 start.
queue overflow command command

326
C05UE202-2006

buffer too much, 2.If it is still


overflow causing unable to
buffer resolve, please
overflow contact
Jog engineer from
command the original
Jog command
too much, equipment
01-04-52 Jog queue overflow buffer
causing manufacturer.
overflow
buffer
overflow
Interpolation
Interpolation command
Interpolation buffer command too much,
01-04-53
overflow buffer causing
overflow buffer
overflow
Time Setting Inform user
* Time is
Modify Time is modified, time setting is
01-04-60 modified, will
Setting will not modified, will
not shutdown.
shutdown not shutdown
NTP Setting Inform user
*NTP is
Modify NTP is modified, NTP is
01-04-61 modified, will
Setting will not modified, will
not shutdown.
shutdown not shutdown
User
operates
After the user
infinite
turns on the
rotation in
infinite rotation
Infinite infinite
Infinite rotation is function in the
01-04-70 rotation is not rotation
not turned on. interface, the
turned on. function
user executes
interface,
the CT_A6
and executes
command.
the CT_A6
command.

7.1.5. IO & Communication(01-05-XX)


327
C05UE202-2006

Error code Error Message Reason Solution


1.TP destroy.
1.Change
2.TP
Teach Pendant TP connection TP.
01-05-10 connection
connection error error 2.Check
port is
connect port.
abnormal.
ROBOT IO Robot IO Confirm
01-05-20 Interference
connection error connection error RIO wire.
1.Robot IO
1. Change
destroy
ROBOT IO Robot IO Robot IO.
01-05-21 2.Robot IO
disconnection disconnection 2. Confirm
port is
RIO port.
abnormal.
Check
Network Network Network is
01-05-30 network
disconnection disconnection abnormal.
connection.
1.Check
network
connection
server.
2.Check
Network
Network connect Network network
01-05-31 server is
failure connect failure domain.
abnormal.
3.Check
connection
IP and
PORT
setting
Check
Server connection
Server opened Server opened
01-05-32 opened IP and
failure failure
failure PORT
setting
Sever
Sever Prevent
Server closed the automatically
01-05-33 connection sever
connection closed
closed automaticall
connection

328
C05UE202-2006

y disconnect
from client
Network port Network port Network port Check port
01-05-34
setting error setting error setting error setting.
Check sever
Network whether
Network client
Network client client interact with
01-05-35 disconnect time
disconnect time out disconnect client
out
time out disconnect
message
Fieldbus slot 1 Confirm
01-05-36
open failed The fieldbus whether the
PCI card is fieldbus PCI
Fieldbus slot 2 not installed card is
01-05-37
open failed correctly. installed
correctly.
Fieldbus slot 1 1. Check
1. The
01-05-38 communication whether the
fieldbus line
error connection
is not
line is
connected
normal.
properly.
2. Check
Fieldbus 2. The
whether the
connection failed connection
connection
parameter
Fieldbus slot 2 parameters
setting does
01-05-39 communication are set
not
error correctly.
correspond to
3. Check
the PLC.
whether the
3. The PLC is
PLC device
not operating
operates
normally.
normally.
Fieldbus slot 1 The fieldbus Confirm that
01-05-40 connection related files the fieldbus
timeout were not related files

329
C05UE202-2006

Fieldbus slot 2 imported are imported


01-05-41 connection correctly. correctly.
timeout

330
C05UE202-2006

7.1.6. Operator Error (01-06-XX)


Error code Error Message Reason Solution
Motion delay
Parameter
01-06-10 command Parameter is
cannot be set
abnormality not within the Check
Acceleration range to be parameter.
Parameter
01-06-11 setting command set
cannot be set
abnormality
PTP motion
PTP motion
01-06-12 command
failed 1.Command 1. Confirm the
abnormality
format error. command
Circle motion
CIRC motion 2.Unable to format.
01-06-13 command
failed give motion 2. Confirm the
abnormality
command motion function
Line motion
LIN motion instruction status。
01-06-14 command
failed
abnormality
Feedspeed setting
Parameter Parameter Check
01-06-15 command
cannot be set cannot be set. parameter.
abnormality
Re-design the
position of
point and the
The moving
action
Moving path path is out of
01-06-16 Path abnormality instruction, or
abnormality working
check if the
range.
setting of Tool
and Base has
any error.
Setting conveyor
01-06-17 tracking Check the
acceleration error Parameter Parameter out parameter
Setting conveyor setting error of the range setting is
01-06-18 pick acceleration correct.
error

331
C05UE202-2006

Enable smooth
01-06-19
motion error
Disable smooth
01-06-1A
motion error
Error code Error Message Reason Solution
Counter index
01-06-20
abnormality
Timer index
01-06-21
abnormality
Counter stop
01-06-22 number
abnormality
DI index
01-06-23
abnormality
DO index
01-06-24
abnormality
RI index
01-06-25 Index not
abnormality Confirm Index
within setting
RO index No.
01-06-26 range
abnormality
VI index Parameter
01-06-27
abnormality cannot be set
VO index
01-06-28
abnormality

SI index
01-06-29
abnormality

SO index
01-06-2A
abnormality
SR index
01-06-2B
abnormality
DI setting
01-06-30 DI can't be setting DI not set
unavailable
RI setting
01-06-31 RI can't be setting RI not set
unavailable
SI setting
01-06-32 SI can't be setting SI not set
unavailable

332
C05UE202-2006

Error code Error Message Reason Solution


Specific SO
Specific SO not
01-06-33 SO can't be setting setting not
Parameter set
available
cannot be set
SRR can't be SRR setting
01-06-34 SRR not set
setting not available
SRW value SRW value is Parameter Check setting
01-06-35
abnormality abnormal. error. command.
1. Set the
correct
Fieldbus 1. Parameter
Fieldbus Slot1 parameters.
01-06-36 Slot1 setting error.
abnormality 2. Confirm that
abnormality 2. Driver is
the driver
not installed.
installation is
3. Fieldbus
completed.
Fieldbus connection
Fieldbus Slot2 3Check the
01-06-37 Slot2 abnormal.
abnormality hardware
abnormality
wiring.

7.1.7. External Axis Error (01-07-XX)


Error code Error Message Reason Solution
E1 axis
motion
E1 axis command
E1 axis following
01-07-10 position over and actual 1. Reduce the
error overlimit
deviation position speed
exceeded
deviation 2. Reduce the
load weight
E2 axis
motion 3.Reduce
E2 axis command acceleration in
E2 axis following percentage
01-07-11 position over and actual
error overlimit
deviation position
exceeded
deviation

333
C05UE202-2006

E3 axis
motion
E3 axis command
E3 axis following
01-07-12 position over and actual
error overlimit
deviation position
exceeded
deviation

Error code Error Message Reason Solution


E1 axis
E1 axis position E1 axis move
exceeded Over the
01-07-13 overlimit of towards
positive positive limit.
positive negative
rotation limit
E1 axis
E1 axis position Over the E1 axis move
exceeded
01-07-14 overlimit of negative towards
negative
negative limit. positive
rotation limit
E2 axis
E2 axis position E2 axis move
exceeded Over the
01-07-15 overlimit of towards
positive positive limit.
positive negative
rotation limit
E2 axis
E2 axis position Over the E2 axis move
exceeded
01-07-16 overlimit of negative towards
negative
negative limit. positive
rotation limit
E3 axis
E3 axis position E3 axis move
exceeded Over the
01-07-17 overlimit of towards
positive positive limit.
positive negative
rotation limit
E3 axis
E3 axis position Over the E3 axis move
exceeded
01-07-18 overlimit of negative towards
negative
negative limit. positive
rotation limit
E1 axis 1. 1.Check Axis is
E1 axis clear driver clear Connection connected.
01-07-19
encoder error encoder with axis is 2.Check Axis
failed abnormal. status.

334
C05UE202-2006

E2 axis 2. Axis
E2 axis clear driver clear prohibits this
01-07-1A
encoder error encoder command.
failed
E3 axis
E3 axis clear driver clear
01-07-1B
encoder error encoder
failed

7.1.8. Conveyor Tracking Error(01-08-XX)


Error code Error Message Reason Solution
1.IP setting 1.Check IP
Camera connection error. setting.
01-08-10
failure Connection 2.PORT 2.Check Port
with the setting error. setting.
Camera connection vision system Confirm the
01-08-11 Vision
abnormality is failed. connection with
system no
Camera disconnect the vision
01-08-12 response.
fail system.
Pick command If the tracking
01-08-13
error function of
conveyor is
triggered by
Sensor, the
position of
point is
Execution
Point setting required to
instruction is
Place command error. enter into the
01-08-14 failed.
error instruction.
Please confirm
if the
information of
point position is
entered into the
instruction.

335
C05UE202-2006

Conveyor encoder Encoder clear Encoder clear Check the


01-08-15
clear error failed. failed. conveyor
Setting latch source Setting latch Setting latch wiring is
01-08-16
error source error failed correct
Check
Start
Start conveyor Conveyor conveyor
01-08-17 conveyor
command error setting failed setting is
failed
correct.

Error code Error Message Reason Solution


Read encoder count Read encoder Check encoder
01-08-18 Encoder fault
error error and wiring.
Contact an
Place engineer from
Clear place data Data clearing
01-08-19 clearing the original
error failed
failed equipment
manufacturer.
Unavailable
CNV_OBJECT
01-08-1A to set
can't be setting
parameters
Unavailable Unavailable
CNV_FULL can't Check Robot
01-08-1B to set to set
be setting Language.
parameters parameters
Unavailable
CNV_EMPTY
01-08-1C to set
can't be setting
parameters
Trigger Check the
Encoder latch
Encoder latch value sensor or trigger sensor
01-08-1E value
inconsistent encoder and the encoder
inconsistent
error. is normal.

7.1.9. User-Defined Error (01-09-XX)


Error code Error Message Reason Solution
User-defined error User-defined User-defined User-defined
01-09-10
1 error 1 error. error 1

336
C05UE202-2006

User-defined error User-defined User-defined


01-09-11
2 error 2 error 2
User-defined error User-defined User-defined
01-09-12
3 error 3 error 3
User-defined error User-defined User-defined
01-09-13
4 error 4 error 4
User-defined error User-defined User-defined
01-09-14
5 error 5 error 5
User-defined error User-defined User-defined
01-09-15
6 error 6 error 6
User-defined error User-defined User-defined
01-09-16
7 error 7 error 7
User-defined error User-defined User-defined
01-09-17
8 error 8 error 8
User-defined error User-defined User-defined
01-09-18
9 error 9 error 9
User-defined error User-defined User-defined
01-09-19
10 error 10 error 10

7.1.10. Authorization Error(01-0B-XX)


Error code Error Message Reason Solution
You have no
You have no
01-0B-10 license of
license of HRSDK 1. SDK is not
HRSDK
enabled.
You have no 1.With the
You have no 2. Function is
01-0B-11 license of original
license of Fieldbus not
Fieldbus purchase
authorized.
You have no You have no authorization.
01-0B-12 license of External license of 2. Check
Axis External Axis whether the
You have no You have no authorized
1. SDK is not
01-0B-13 license of External license of device is
enabled.
TCP External TCP connected
2. Function is
You have no normally.
You have no not
license of
01-0B-14 license of authorized.
Continuous
Continuous Turn
Turn

337
C05UE202-2006

7.1.11. Welding Function Error (01-0C-XX)


Error code Error Message Reason Solution
1. Check
whether the
The arc has not communication
been detected for is abnormal.
a period time after 2. Check
01-0C-10 Arc on error Arc on error
the arc start whether the wire
command was feeder feeds the
issued. wire correctly.
3. Restart the
welder
Welding related Confirm that the
equipment is not wire feeder, gas
connected cylinder, torch
Welding tool Welding tool
01-0C-11 properly, such as and other
not ready not ready
wire feeder, gas welding devices
cylinder, torch, are properly
etc. connected.
The welding torch Cut off the
electrode and the welding wire
01-0C-12 Wire sticked Wire sticked
workpiece are and restart
short-circuited. welding.
1. Check
whether the gas
cylinder is
Gas control connected
01-0C-13 No gas No gas device is properly.
abnormal. 2. Replace the
gas cylinder and
related control
devices.
Check whether
No cooling water
01-0C-14 No water No water the cooling
device
water device is

338
C05UE202-2006

properly
connected.
The adjustment
procedure moves
the welding
The welding torch torch to a
and the workpiece position where it
01-0C-15 Piece touched Piece touched
touched before does not touch
welding. the workpiece
before
performing
welding.
Clear the alarm
Safety limit
Safety limit no Safety limit no after turning on
01-0C-16 switch is not
active active the safety limit
turned on.
switch.
Check the
welding torch
Antishock Antishock The torch is mechanism and
01-0C-17
alarm alarm collided. confirm the TCP
position to clear
the alarm.
An arc is detected
Check whether
during the arc
the torch
extinguishing
01-0C-20 Arc detect Arc detect connection
phase, and the
configuration is
torch may leak
normal.
electricity.
The adjustment
procedure moves
The welding torch the welding
and the workpiece torch to a
01-0C-21 Touch sensed Touch sensed
touched before position where it
welding. does not touch
the workpiece
before

339
C05UE202-2006

performing
welding.
1. Check
whether the gas
cylinder is
Gas control connected
01-0C-22 Gas fault Gas fault device is properly.
abnormal. 2. Replace the
gas cylinder and
related control
devices.
1. Manually run
the wire feed
mechanism to
check whether
Wire feeder is
01-0C-23 Wire fault Wire fault the wire feed is
abnormal.
normal.
2. Change the
wire feeder
control device.
Welding water Please check the
01-0C-24 Water fault Water fault device does not welding water
function correctly device
Restart the
Abnormality in
welder after
01-0C-25 Inverter fault Inverter fault the power source
checking the
of the welder
power supply.
The welding torch Cut off the
electrode and the welding wire
01-0C-26 Wire stick Wire stick
workpiece are and restart
short-circuited. welding.
Confirm the
An error occurred DeviceNet
01-0C-27 DN fault DN fault in the DeviceNet connection and
I/O of the welder. restart the
welder.

340
C05UE202-2006

Confirm whether
The welding
the welding
Process select Process select parameters have
01-0C-29 parameters are
no ack no ack been set over
set in the correct
limit.
range.
Welding Confirm the
Weld Weld command is not DeviceNet
01-0C-30 command command waiting for the connection and
timeout timeout correct return restart the
signal welder.
Issued at the input Confirm the
signal of the status of the
01-0C-31 Torch collided Torch collided collision of the welding torch
welding torch and perform
connection TCP reset.
Confirm the
Not waiting for DeviceNet
Weld down Weld down
01-0C-32 the correct return connection and
slope error slope error
signal restart the
welder.

7.1.12. Windows Information


When the program is executed, if the program syntax is wrong, the following window
will appear

The above figure as an example, the message is divided into two main parts:
1. Error location: (2: 9), on behalf of 9th words on line 2 is wrong.
2. Error message: syntax error.
Error code Error Message Reason Solution
Command
spelling Check spelling
01-02-10 syntax error Syntax error
error. Wrong and spaces.
space.

341
C05UE202-2006

Declare
Variable not Variable not
01-02-10 ID not exist variable before
exist declared.
use.
Character
Use special Change
01-02-10 Unknown character cannot be
symbols. variable name.
recognized
Declare
Variable not Variable not
01-02-10 … is not declared variable before
declared declared.
use.
Value out of Modify value
01-02-10 Invalid value Invalid value range according to
instruction
Index of … is out Index is out Array index Modify array
01-02-10
of range of range out of range index
Change to the
01-02-10 Type should be … Type error Type error.
correct type.
Structure
Check the
Fail in handling member Struct
declaration of
01-02-10 STRUC member variable member not
structure
expression expression declared.
variables.
error
1.Assign data
Can not with wrong 1.Please check
01-02-10 string assign error
assign string data type to data type.
string.
1.copy data
String copy 1.Please check
01-02-10 string copy error which is not
error source of string.
string.
1.Casecad
Can not string with
can not plus string 1.Cast data to
01-02-10 cascade other data
with other data type string type.
string which is not
string.
1.Input
casting error: Input data parameter 1. Please check
01-02-10
wrong data type type error with wrong data type.
data type.

342
C05UE202-2006

1.Compare
data which is
Can not
can not compare not string. 1. Please check
01-02-10 compare
string 2.Compare data type.
string
two constant
value.
1.Input
Can not parameter 1. Please check
01-02-10 can not find string
search string with wrong data type.
data type.
1.Input
Can not get
parameter 1. Please check
01-02-10 can not get length length of
with wrong data type.
string
data type.
1.Pleas check
Can not copy 1.Copy string copy
01-02-10 can not copy string
string to constant. destination is
variable
1.Input
STRCPY pos 1.Please check
STRCPY pos and parameter
01-02-10 and length pos and length
length should be int with wrong
should be int is int
data type.
1.Please check
string out of 1. string out
01-02-10 string out of size length of string
size of size
is under 255.
string copy 1 string copy 1.Please Pos
string copy out of
01-02-10 out of out of and Length is
boundary
boundary boundary correct.
1.Please check
CREAD
CREAD string out 1.string length of
01-02-10 string out of
of size oversize receive string is
size
under 255
1. .Please check
CWRITE
CWRITE string out 1.string length of
01-02-10 string out of
of size oversize transfer string is
size
under 1000

343
C05UE202-2006

7.2. HIWIN Robot Controller(02-XX-XX)

7.2.1. Safety Input(02-01-XX)


Error code Error Message Reason Solution
Release the
Emergency
Emergency emergency
02-01-10 Emergency input stop signal
stop trigger. stop and clear
disconnect
the error.
Enable
Enable switch is
Enable switch Release enable
02-01-11 switch pressed to the
down switch.
down third
paragraph.

7.2.2. Hardware Error(02-02-XX)


Error code Error Message Reason Solution
1. Contact with
the engineer
1. Hardware
from the
abnormalities.
original
Do not 2. The
equipment
No motor brake receive emergency
02-02-11 manufacturer.
signal motor brake stop status is
2. Press
signal excluded
emergency
within 500
stop again,
milliseconds.
over 500
millisecond.

344
C05UE202-2006

7.3. Axis Amplifier(03-XX-XX)

7.3.1. Function Name and Number Description

Function No. Description


m: axis umber.
Axis number(m) 0m ex 03-01-21:axis 1 alarm,
03-02-21:axis 2 alarm, and so on.
n: external axis number
Ext axis number (n) En ex:03-E1-21-> external axis 1 alarm,
03-E2-21->external axis 2 alarm, and so on.

7.3.2. Driver Alert Number

Error code Error Message Reason Solution


1. Check the
1. Driver is servomotor main
abnormal. circuit
Current
2. Motor U, cable
exceeds the
03-0m(En)-21 overcurrent V, W is short connection.
specified
circuit. 2. Replace the
value
3. Motor is driver.
broken. 3. Replace the
motor.
Check the
Safety input Safety input
03-0m(En)-25 STO safety input
protection. signal.
signal status.
Check the
Safe torque off Safe torque Safety input
03-0m(En)-26 safety input
error off error signal.
signal status.
Check the
Safety input Safety input
03-0m(En)-27 Single STO safety input
protection. signal.
signal status.

Error code Error Message Reason Solution

345
C05UE202-2006

1.The
effective
torque 1. Change the
exceeds the motion plan, or
rated torque. reduce load.
Torque is too 2. The 2. Check that
03-0m(En)-41 overload
large. motor's hold the wiring and
brake is not the driver
released. voltage are
3. Power correct.
supply wiring
is incorrect
1.
1. Replace the
Insufficient
external
external
regenerative Regenerative regeneration
regeneration
03-0m(En)-43 resistor load rate is resistor
resistor
overload too large. capacity
capacity.
2. Replace
2. Amplifier
amplifier
failed.
The
servomotor
Exceeded
speed is Change
average
03-0m(En)-45 overspeed above the operating
rotational
maximum conditions.
speed
rotational
speed
1.
1. Change the
Regenerative
amplifier
power is too
installation
amplifier The amplifier large.
conditions.
03-0m(En)-51 thermal temperature 2. The
2. Check
abnormality is too high. surrounding
whether the
air
cooling fan is
temperature
running.
is too high.

346
C05UE202-2006

3. Built-in
Fan in
amplifier
Stopped.

Error code Error Message Reason Solution


1. Reduce the
power switch
1. Power
frequency.
switch
2-1. Check the
Anti-surge Anti-Surge frequency is
cooling fan is
03-0m(En)-52 resistor resistor too high.
running.
overheat overheated. 2. Ambient
2-2. Change the
temperature
amplifier
is too high.
installation
conditions.
Used within the
Dynamic
dynamic brake Dynamic allowable
brake action
03-0m(En)-53 resistor brake resistor operating
frequency is
overheat overheated. frequency
too high.
range
1. Confirm
drive cooling
mode is
1. Drive
normal.
environment
2. Confirm
is overheated.
Drive Drive electrical
2. Motor
03-0m(En)-58 temperature temperature control box is
overload.
overheat overheat in a ventilated
3. Motor
condition
speed too
3. Reduce the
fast.
load weight.
4. Reduce arm
speed.
1. The power 1. Measure the
Main circuit
03-0m(En)-61 overvoltage supply power
DC voltage is
exceeded the supply voltage

347
C05UE202-2006

excessively allowable 2. Confirm that


high. range. the moment of
2. The inertia
moment of ratio is within
inertia ratio the allowable
exceeded the range.
allowable
value.
1. Input
supply
voltage is
below the
allowable
Main circuit Set AC power
range.
DC voltage is supply voltage
03-0m(En)-62 undervoltage 2. The power
excessively within the
supply is
low. specified range.
unstable, or
was
influenced by
a lightning
surge.

Error code Error Message Reason Solution


1. Input supply
voltage is below
control The voltage the allowable 1. Set AC power
power of the range. supply voltage
03-0m(En)-71 source control 2. The power within the
voltage power is too supply is specified range.
shortage low. unstable, or was 2.
influenced by a
lightning surge.
control The control 1. Contact fault of
1. Re-insert the
circuit circuit connector or
03-0m(En)-72 connector and
voltage voltage is incorrect wiring
confirm that the
shortage insufficient for encoder

348
C05UE202-2006

cable. encoder is
2.The amplifier correctly wired.
internal circuit is 2.Replace
bad. amplifier.
1. Check the
1. Wrong
Encoder encoder cable.
connection.
encoder signal is 2. Check the
03-0m(En)-81 2. Connector off.
disconnect disconnecte power supply
3. Poor
d. voltage on the
connection
motor side.
1. Correct the
wiring around
the encoder by
separating the
1. Malfunction
encoder cable
caused by noise
encoder from the
Encoder interference.
communicat servomotor
03-0m(En)-84 Communica 2. Contact fault of
ion main circuit
tions Error connector or
abnormality cable or by
incorrect wiring
checking the
for encoder cable.
grounding and
other wiring.
2. Check the
encoder cable.

Error code Error Message Reason Solution


1. Check the
1. Wrong
encoder encoder cable.
Encoder connection.
initial 2. Check the
03-0m(En)-85 initial 2. Connector off.
error(5V power supply
error 3. Poor
abnormality) voltage on the
connection.
motor side.
1. Wrong
Encoder 1. Check the
connection.
encoder CS CS signal encoder cable.
03-0m(En)-87 2. Connector off.
abnormality disconnect 2. Check the
3. Poor
. power supply
connection.

349
C05UE202-2006

voltage on the
motor side.
1. Check the
1. The encoder
encoder
encoder cable
connector
multi-turn Encoder disconnected,
battery or the
03-0m(En)-A1 data error Backup and connected
connect or
(battery Error again.
contact status.
abnormality) 2. The battery
2. Measure the
voltage is low.
battery voltage.
Motor Modify motion
Servomoto acceleration condition,
encoder
03-0m(En)-A3 r speed is exceeds allowable increase
overspeed
too high. acceleration acceleration/dec
range. eleration time
Detected 1. Check noise
encoder
encoder in the cable
03-0m(En)-A5 single turn
single turn between the
error 1. Excessive noise
error SERVOPACK
to the encoder
and the host
cable.
controller.
Detected 2. The amplifier
encoder 2. Re-insert the
encoder internal circuit is
03-0m(En)-A6 multi-turn connector and
single turn bad.
error confirm that the
error
encoder is
correctly wired.

Error code Error Message Reason Solution


1. The
The surrounding air
Change motor
encoder amplifier temperature is too
03-0m(En)-A9 installation
overheat temperature high.
method.
is too high. 2. Motor is
overheated.
An encoder 1. Excessive noise
encoder 1. Check noise in
03-0m(En)-AB error was to the encoder
error the cable between
detected. cable.

350
C05UE202-2006

2. The amplifier 2. If the restart


internal circuit is cannot be solved,
bad. please replace the
motor.
The speed 1. Adjust the
of the motor servo parameters.
speed exceeds Overshoot too 2. Slow command
03-0m(En)-C1
overlimit 120% of the big. acceleration and
maximum deceleration
speed. mode.
1. Change the
1. Load inertia is load conditions,
too large. or replace a larger
Position
2. The brake is capacity motor.
position deviation
not released. 2. Check the
03-0m(En)-D1 error too exceeded
3. The position encoder cable.
big the set
command 3. Change the
value
frequency is too controller's
high. position
command.

Error code Error Message Reason Solution


The driver
EEPROM EEPROM
03-0m(En)-E1 internal circuit is Replace the
abnormality abnormality
bad. driver.
The CPU cannot
EEPROM EEPROM read the correct
03-0m(En)-E2 check is check is data from the Replace the
abnormality abnormality driver's built-in driver.
EEPROM.
The
amplifier Replace the
Motor not Use the wrong
03-0m(En)-EF does not correct driver or
matching driver or motor.
match the motor.
motor.
amplifier amplifier According to the
03-0m(En)-F3 amplifier error
error error driver brand,

351
C05UE202-2006

compare the
driver Error
code.
Motor
software Motor
reaches Reduce speed or
03-0m(En)-F4 thermal temperature is too
temperature reduce load.
reach limit high.
limit.
Motor
motor Check the motor
03-0m(En)-F5 cannot Motor disconnect.
disconnect cable.
connect.
amplifier amplifier Phase
03-0m(En)-F6 phase initial phase initial initialization
1. Replace
error error failed.
motor or driver.
Hall sensor Hall sensor
03-0m(En)-F7 Hall sensor error. 2. Check the
error error.
cable.
Hall phase Hall phase Hall phase check
03-0m(En)-F8
error error. error.

352
C05UE202-2006

Error code Error Message Reason Solution


The effective
* Overload Relax the
overload torque
03-0m(En)-F9 warning. Robot conditions of
warning exceeds the
will not stop use.
set torque.
The
temperature
*Amplifier around the
amplifier Reduce the
overheated amplifier is
03-0m(En)-FA overheating ambient
warning. Robot greater than
warning temperature.
will not stop. the preset
temperature
range.
* Regenerative
regenerated Regenerated Relax the
overload
03-0m(En)-FB overload resistance conditions of
warning. Robot
warning overload. use.
will not stop
1. Check if the
input power
supply has
momentary or
low voltage
status.
* Detecting Detected 2. Maybe the
detecting
power failure. control power internal circuit
03-0m(En)-FC power
Robot will not input voltage of the
failure
stop. is insufficient. amplifier is
abnormal. If
this alarm
occurs for a
long time,
replace an
amplifier.

353
C05UE202-2006

Error code Error Message Reason Solution


1. Check input
mains voltage is
within
specifications.
(Three-phase:
AC200~
230V+10,-
15% ,
50/60Hz±3Hz)
2. The inertia of
the load may be
* Main too large, reducing
Main power
voltage is the load inertia.
main circuit voltage
03-0m(En)-FD abnormal. 3. For regenerative
is abnormal exceeds DC
Robot will resistors, the
105V.
not stop. wiring may not be
correct or the
impedance does
not match the
cause of the
problem. Check
that the impedance
of the wiring or
external resistor
meets the
specifications in
this manual.
03-0m(En)-FE * The Measure the Replace the
battery battery battery voltage. battery.
insufficient voltage is
low.
03-0m(En)-FF The battery Battery is User should
battery voltage is empty replace with a new
empty empty. battery
immediately.

354
C05UE202-2006

7.3.3. DAC – Y Driver Alarm Code(Y-XXX)

Error code Error Message Reason Solution


Y-020 Parameters Servo unit is Data of 1. Please turn
and check abnormal internal off the power
abnormal. parameter of and restart.
SERVOPAC 2. Please
K is contact the
abnormal. engineer from
manufacturer.
Y-021 Parameters Servo unit is Data format 1. Please turn
format abnormal of internal off the power
abnormal. parameter of and restart.
SERVOPAC 2. Please
K is contact the
abnormal. engineer from
manufacturer.
Y-022 System and Servo unit is Data of 1. Please turn
calibration abnormal internal off the power
abnormal. parameter of and restart.
SERVOPAC 2. Please
K is contact the
abnormal. engineer from
manufacturer.
Y-030 Main loop Servo unit is Servo unit is 1. Please turn
detected abnormal abnormal. off the power
abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-040 Parameters Servo unit is Data of 1. Please turn
setting abnormal. internal off the power
abnormal. parameter of and restart.
SERVOPAC 2. Please
K is contact the
abnormal.

355
C05UE202-2006

engineer from
manufacturer.
Y-041 Division Parameter setting Parameter 1. Please turn
pulse output abnormal. setting is off the power
setting abnormal. and restart.
abnormal. 2. Please
contact the
engineer from
manufacturer.
Y-042 Parameters Parameter setting Parameter 1. Please turn
combination abnormal. setting is off the power
abnormal. abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-044 Semi/closed Parameter setting Parameter 1. Please turn
loop/ Full abnormal. setting is off the power
close loop abnormal. and restart.
parameters. 2. Please
contact the
engineer from
manufacturer.
Y-050 Combination Servo unit is Servo unit is 1. Please turn
error. abnormal. abnormal. off the power
and restart.
2. Please
contact the
engineer from
manufacturer.
Y-051 Product is Servo unit is Servo unit is 1. Please turn
not abnormal. abnormal. off the power
supported. and restart.
2. Please
contact the
engineer from
manufacturer.

356
C05UE202-2006

Y-0B0 Servo ON Servo unit is Servo unit is 1. Please turn


command is abnormal. abnormal. off the power
invalid. and restart.
2. Please
contact the
engineer from
manufacturer.

Error code Error Message Reason Solution


Y-100 Overcurrent Servo unit is Servo unit is 1. Please turn
detection abnormal. abnormal. off the power
and restart.
2. Please
contact the
engineer from
manufacturer.
Y-300 Abnormal Servo unit is Servo unit is 1. Please turn
regeneration abnormal. abnormal. off the power
and restart.
2. Please
contact the
engineer from
manufacturer.
Y-320 Regenerative Regeneration Regenerative 1. Please turn
overload overload alarm. resistor off the power
capacity is and restart.
insufficient 2. Review the
or it is in a operating
continuous conditions.
regeneration 3. Please
state. contact the
engineer from
manufacturer..
Y-330 Main circuit Servo unit is Servo unit is 1. Please turn
power abnormal. abnormal. off the power
wiring error. and restart.

357
C05UE202-2006

2. Please
contact the
engineer from
manufacturer.
Y-400 Overvoltage Servo unit is Servo unit is 1. Please turn
abnormal. abnormal. off the power
and restart.
2. Please
contact the
engineer from
manufacturer.
Y-410 Insufficient Servo unit is Servo unit is 1. Please turn
voltage abnormal. abnormal. off the power
and restart.
2. Please
contact the
engineer from
manufacturer.
Y-450 Main circuit Servo unit is Servo unit is 1. Please turn
capacitor abnormal. abnormal. off the power
overvoltage. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-510 Overspeed Motor speed is Command 1. Adjust the
above maximum input value is operating
speed. too high or conditions.
the servo unit 2. Please turn
is abnormal. off the power
and restart.
3. Please
contact the
engineer from
manufacturer.

358
C05UE202-2006

Y-511 Division Servo unit is Servo unit is 1. Please turn


pulse output abnormal. abnormal. off the power
overspeed. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-520 Vibration Abnormal Command 1. Adjust the
alarm vibration of input value is operating
motor speed is too high or conditions.
detected. the servo unit 2. Please turn
is abnormal. off the power
and restart.
3. Please
contact the
engineer from
manufacturer.

Error code Error Message Reason Solution


Y-521 Advanced The vibration was When the 1. Adjust the
auto-tune detected in the adjustment operating
alert. adjustment-free function is conditions.
function. executed, the 2. Please turn
motor off the power
vibrates and restart.
greatly. 3. Please
contact the
engineer from
manufacturer.
Y-710 Overload Exceeded the The motor 1. Adjust the
(moment) maximum runs beyond operating
Y-720 payload. the overload conditions.
(continuous) protection 2. Please turn
feature. off the power
and restart.
3. Please
contact the

359
C05UE202-2006

engineer from
manufacturer.
Y-730 DB The power The motor is 1. Do not
Y-731 overload. consumption of driven by an drive the
the detected DB is external motor by
too large. force or the external force.
servo unit is 2. Please turn
abnormal. off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
Y-740 The surge Main circuit is Servo unit is 1. Adjust the
current limit energized too abnormal. operating
resistor is high. conditions.
overloaded. 2. Please turn
off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
Y-7A0 Heat sink is The heat sink The ambient 1. Adjust the
overheated. temperature temperature operating
exceeds 100 °C. is too high or conditions.
the servo unit 2. Please turn
is abnormal. off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
Y-7AB Built-in fan The internal fan There is a 1. Remove
stopped. of the foreign foreign
SERVOPACK object objects.
stopsped. entering, or

360
C05UE202-2006

the servo unit 2. Please turn


is abnormal. off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
Y-810 Encoder The encoder data The power is 1. Make the
backup is abnormal. turned on for settings of the
alert. the first time, encoder.
or the servo 2. Please turn
unit is off the power
abnormal. and restart.
3. Please
contact the
engineer from
manufacturer.
Y-820 Encoder and Encoder and Servo unit is 1. Please turn
number number abnormal. off the power
alarm. verification and restart.
errors. 2. Please
contact the
engineer from
manufacturer.
Y-830 Encoder The battery The battery 1. Replace the
battery voltage of the voltage is battery.
alarm. absolute encoder insufficient 2. Please turn
is lower than the or the servo off the power
specified value. unit is and restart.
abnormal. 3. Please
contact the
engineer from
manufacturer.

361
C05UE202-2006

Error code Error Message Reason Solution


Y-840 Encoder The encoder is The servo 1. Please turn
data alert. malfunctioning. unit is off the power
abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-850 Encoder When the control The servo 1. Please turn
overspeed. power is turned unit is off the power
on, the encoder abnormal. and restart.
overspeed is 2. Please
detected. contact the
engineer from
manufacturer.
Y-860 The encoder The encoder The ambient 1. Adjust the
is exceeds the upper temperature ambient
overheated. temperature limit. is too high or temperature to
the servo unit below 40 °C.
is abnormal. 2. Please turn
off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
Y-B10 The speed When the servo is The servo 1. Please turn
command turned ON, the unit is off the power
A/D is speed command abnormal. and restart.
abnormal. input is 2. Please
incorrectly contact the
operated. engineer from
manufacturer.
Y-B11 The speed The speed The servo 1. Please turn
command command input is unit is off the power
A/D incorrectly abnormal. and restart.
conversion operated.

362
C05UE202-2006

data is 2. Please
abnormal. contact the
engineer from
manufacturer.
Y-B20 The torque When the servo is The servo 1. Please turn
command turned ON, the unit is off the power
A/D is torque command abnormal. and restart.
abnormal. input is 2. Please
incorrectly contact the
operated. engineer from
manufacturer.
Y-B31 Current U phase current The servo 1. Please turn
detection detection loop is unit is off the power
error 1 abnormal. abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-B32 Current V phase current The servo 1. Please turn
detection detection loop is unit is off the power
error 2 abnormal. abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.
Y-B33 Current The current The servo 1. Please turn
detection detection loop is unit is off the power
error 3 abnormal. abnormal. and restart.
2. Please
contact the
engineer from
manufacturer.

363
C05UE202-2006

Error code Error Message Reason Solution


Y-BF0 System alarm The servo unit is The servo 1. Please turn
Y-BF1 0~4 abnormal. unit is off the power
Y-BF2 abnormal. and restart.
Y-BF3 2. Please
Y-BF4 contact the
engineer from
manufacturer.
Detected out of When the servo The motor 1. Confirm
control. is turned ON, the wiring is that there is no
detected motor is incorrect or problem with
out of control. the servo the motor
unit is wiring.
abnormal. 2. Please turn
Y-C10
off the power
and restart.
3. Please
contact the
engineer from
manufacturer.
The clearing of The upper limit The servo 1. Please turn
encoder is of the number of unit is off the power
abnormal. revolutions abnormal. and restart.
Y-C80 setting is 2. Please
abnormally. contact the
engineer from
manufacturer.
The encoder The encoder is The servo 1. Please turn
communication malfunctioning. unit is off the power
is abnormal. abnormal. and restart.
Y-C90 2. Please
contact the
engineer from
manufacturer.
The encoder The encoder is The servo 1. Please turn
Y-C91 communication malfunctioning. unit is off the power
position data abnormal. and restart.

364
C05UE202-2006

acceleration is 2. Please
abnormal. contact the
engineer from
manufacturer.
The encoder The encoder is The servo 1. Please turn
communication malfunctioning. unit is off the power
timer is abnormal. and restart.
Y-C92 abnormal. 2. Please
contact the
engineer from
manufacturer.
The encoder The encoder is The servo 1. Please turn
parameters are malfunctioning. unit is off the power
abnormal. abnormal. and restart.
Y-CA0 2. Please
contact the
engineer from
manufacturer.
Encoder The encoder is The servo 1. Please turn
calibration malfunctioning. unit is off the power
returned abnormal. and restart.
Y-CB0 abnormal. 2. Please
contact the
engineer from
manufacturer.
The upper limit The encoder is The servo 1. Please turn
of the number malfunctioning. unit is off the power
of revolutions abnormal. and restart.
Y-CC0 is inconsistent. 2. Please
contact the
engineer from
manufacturer.
The position In the state of The position 1. Please turn
deviation is too servo ON, the command is off the power
Y-D00 large. position too fast, or and restart.
deviation exceeds the servo 2. Please
the upper limit. contact the

365
C05UE202-2006

unit is engineer from


abnormal. manufacturer.
The position When the servo The servo 1. Please turn
deviation is too is OFF and the unit is off the power
large when the position abnormal. and restart.
Y-D01 servo is turned deviation is too 2. Please
ON. large, the servo is contact the
directly turned engineer from
ON. manufacturer.
The positional In the The servo 1. Please turn
deviation accumulated unit is off the power
caused by the position abnormal. and restart.
speed limit at deviation state, 2. Please
servo ON is the servo is ON, contact the
too large. and the position engineer from
Y-D02 command is input manufacturer.
in this state, and
the position
deviation
excessive alarm
value is
exceeded.
The power When the main The three- 1. Confirm
cable is out of circuit power is phase power that there is no
phase. ON, the low supply problem with
voltage state of wiring is the power
one of the R, S, defective, or wiring.
and T phases the servo 2. Please turn
Y-F10
lasts for more unit is off the power
than 1 second. abnormal. and restart.
3. Please
contact the
engineer from
manufacturer.

366
C05UE202-2006

7.3.4. DAC – S Driver Alarm Code(S-XXXX)

Error code Error Message Reason Solution


Power supply Power supply Main circuit Check if the
overvoltage overvoltage AC voltage power supply
is out of voltage is
range. within the
specified
S-3110
range or
install an
external
regenerative
resistor.
Main power Main power One of the Check wiring
phase error phase error phase is or replace the
disconnecte drive.
S-3130 d from
three-phase
main power
supply.
Overvoltage Overvoltage Mains DC Replace the
overvoltage. drive.
Reduce the
power supply
S-3211 voltage to the
specified
range.
Reduce the
load rate.
Regenerative Regenerative Regenerativ Confirm that
resistor resistor overload. e resistance the operating
S-3212
overload. load is too conditions are
large. correct.
Main circuit Main circuit low Main circuit Check if the
low voltage. voltage. DC low power supply
S-3220
voltage. voltage is
within the

367
C05UE202-2006

specified
range.
Replace the
drive.
Drive Drive temperature Ambient Confirm that
temperature is abnormal. temperature the drive
error. is too high ambient
or the drive temperature
S-4110
is damaged. does not
exceed 55 ̊C.
Replace the
drive.
Anti-surge Anti-surge Drive Replace the
resistor resistor failure or drive.
overheating. overheating. ambient Confirm that
S-4210 temperature the ambient
is too high. temperature
does not
exceed 55 ̊C.
Control power Control power Undervoltag Replace the
supply low supply low e ±5V drive or
voltage 2. voltage 2. control Confirm
S-5113
switching external
power circuit..
supply.
Control power Control power Control Replace the
supply low supply low power drive
voltage. voltage. supply Check if the
voltage is power supply
S-5114
too low. voltage is
within the
specified
range.
Control power Control power Undervoltag Replace the
supply low supply low e ±12V drive or
S-5115
voltage 1. voltage 1. control
switching

368
C05UE202-2006

power Confirm
supply. external
circuit.
Abnormal Abnormal Drive Replace the
current current. damage or motor or
S-5210
detection. motor drive.
damage.
System error. System error. Setting Replace the
S-5220
mismatch. drive.
Main power Abnormal power Abnormal Confirm
supply supply. power wiring,
equipment supply, replace servo
error. over-current motor or
or drive.
S-5400
overheating Confirm that
of the servo the
module. environment
does not
exceed 55 ̊C.
Memory error. Memory error. CPU access Replace the
error of drive.
S-5510
CPU built-
in memory.
EEPROM EEPROM error Drive built- Replace the
error in drive.
S-5530
EEPROM
abnormal.
Initialization Initialization The Replace the
thread timeout. thread timeout. initializatio drive.
n thread Confirm that
was not the drive is
S-6010
completed properly
within the grounded.
initializatio
n time.

369
C05UE202-2006

EEPROM EEPROM CPU access Replace the


calibration calibration code error of drive.
S-6310 code error. error. CPU built-
in
EEPROM.
System System parameter System Replace the
S-6320 parameter error. parameter drive.
error. abnormal.
Motor Abnormal motor Motor Replace the
temperature temperature. damage, servo motor.
error. high Confirm that
ambient the ambient
S-7120 temperature temperature
, short does not
circuit. exceed 55 ̊C.
Confirmation
cable.
Speed Speed feedback Motor Confirm
feedback error. error. power cable wiring.
S-7122 disconnecti Replace the
on. drive or
motor.
Encoder Encoder Cable Confirm
initialization initialization break. wiring.
failed. failed. Check if the
encoder power
supply is
S-7300
higher than
4.75V
Replace the
motor or
drive.
Encoder Encoder Power Confirm
connector 1 is connector 1 is supply wiring.
S-7305 broken. broken. cable Check if the
disconnecti encoder power
on. supply is

370
C05UE202-2006

higher than
4.75V or
replace the
motor
Communicatio Communication Abnormal Check if the
n error. error. communicat communicatio
S-7510
ion. n format is
correct.
Link lost. Communication Communica Confirm that
disconnect. tion cable is the
damaged or communicatio
S-7520
not n cable is
connected. connected or
normal.
Overload Overload Motor load Reduce load
S-8311
is too large. or slow down.
STO safe STO safe torque STO input Confirm stop.
S-8312 torque off off abnormal. is abnormal.
abnormal.
Average Average Motor Reduce
continuous continuous speed speed operating
S-8400
speed overspeed. overspeed. speed.
overspeed.
Position Position Position Reduce the
command command error. command is amount of
S-8500 error. out of input
setting movement
range. command.
Position Position deviation Position Confirm
deviation is too is too large. deviation wiring.
large. exceeds the Confirm the
set value. power supply
S-8611
voltage.
Replace the
drive or
motor.

371
C05UE202-2006

Task thread Task thread error. CPU Replace the


S-8700 error. interrupt drive.
error.

372
C05UE202-2006

7.4. Electric gripper(04-XX-XX)

7.4.1. Hardware Error (04-01-XX)


Error code Error Message Reason Solution
Electric Electric gripper Electric Check that the
gripper data data return error. gripper 24V power
return error. connection supply is
failed, and no properly
data was connected.
returned. Check that the
USB cable is
properly
04-01-11
connected,
Check that the
serial port is
set correctly.
Refer to the
manual to
install the
gripper driver.
Number of Number of Exceeded the Modify the
gripper serial gripper serial connection connection
port exceeds port exceeds the port name port setting is
04-01-12
the upper limit. upper limit. limit. less than or
equal to
COM99.
Gripper Gripper Connection Re-plug the
hardware is not hardware is not port is USB cable
04-01-13
connected. connected. disconnected. and reconnect
it.
Gripper serial Gripper serial Gripper serial Close this
04-01-14 port are closed. port are closed. port is not serial port and
turned on. reconnect.
Gripper serial Gripper serial Unable to Re-plug the
04-01-15 port not port not achieve serial USB cable
available. available. port.

373
C05UE202-2006

and reconnect
it.
Replace the
USB cable.
Gripper Gripper Connection Re-plug the
reconnection reconnection port is USB cable
failed. failed. interrupt and and reconnect
04-01-16
an attempt to it.
reconnect Replace the
failed. USB cable.
Gripper serial Gripper serial When a Check if the
port is port is repeatedly duplicate gripper is
repeatedly connected. connection repeatedly
connected. port is connected.
04-01-17
detected, the
connection is
automatically
disconnected.

7.4.2. Operation Error (04-02-XX, 04-01-8X)


Error code Error Message Reason Solution
Gripper model Gripper model Gripper type Check that the
setting error. setting error. setting is gripper type
04-01-20
incorrect. setting is
correct.
Gripper id Gripper id error Setting This function is
error multiple currently
gripper, but unavailable.
04-01-21
some grippers
are not
connect.
Repeat gripper Repeat gripper Repeat the Wait for the
command. command. instructions in gripper Busy to
04-01-22 succession. end, and then
issue a new
order.

374
C05UE202-2006

Gripper Gripper position Gripper Check that the


position setting error. position gripper
setting error. setting is movement
04-01-23
greater than position input is
the total correct.
stroke.
Gripper
position
04-01-24
setting is less
than zero
Gripper speed Gripper speed Gripper Check if the
setting error. setting error. moving speed gripper moving
setting is speed input is
04-01-25
greater than correct.
the preset
range.
Gripper
moving speed
04-01-26 setting is less
than the preset
range.
Gripper Gripper position Gripper Check that the
position direction setting movement gripper
04-01-27 direction error. direction movement
setting error. setting is direction input is
incorrect. correct.
The gripping The gripping Gripping Check that the
displacement displacement displacement gripping
setting is setting is setting is displacement
04-01-28
incorrect. incorrect. greater than input is correct.
the range of
motion.
Gripping
displacement
04-01-29
setting is
smaller than

375
C05UE202-2006

the range of
motion.
Gripping Gripping speed Gripping Check that the
speed setting setting is speed is gripping speed
04-01-2A is incorrect. incorrect. greater than input is correct.
the preset
range.
Gripping
speed is
04-01-2B smaller than
the preset
range.
Gripping force Gripping force Gripping force Check that
04-01-2C setting is setting is is greater than gripping force
incorrect. incorrect. the preset input is correct.
range.
Gripping force
04-01-2D is smaller than
the preset
range.
Gripping Gripper failed to After the user This alarm is
failed. grip. turns on the used to detect if
grip detection the jaws are
function, the clamped to the
gripping action object. If you do
04-01-2E is performed not need to send
and the electric this detection
gripper detects alarm, you can
the unwound cancel this
object. function in the
setting interface.
Gripper is set Gripper is set Gripper Check if the
incorrectly incorrectly with exceeds the gripper moving
with respect to respect to the movable range distance and the
04-01-2F
the total total stroke. with respect to total gripping
stroke. the total displacement are
stroke. correct.

376
C05UE202-2006

Gripper is less
than the
04-01-80 movable range
relative to the
total stroke
Gripper speed Gripper speed Gripper Check that the
setting error. setting error. moving speed gripper moving
04-01-81 is less than the speed input is
gripping correct.
speed.

7.4.3. Electric Gripper Controller Alarm Signal Error (04-01-

3X)
Error code Error Message Reason Solution

04-01-30 Gripper reset Gripper reset Some Check that


error error workpiece there are no
have not been foreign objects
removed in the itinerary.
during the Modify the
route. finger design.
Finger design
interferes with
the stroke
04-01-31 Gripper Gripper position Obstacles in Check and
position error error the movement eliminate
of the gripper. obstacles in the
route.
04-01-32 Gripper Gripper Gripper Check that the
overtravel overtravel displacement gripper
setting is displacement
greater than input is
the range of correct.
motion.

377
C05UE202-2006

7.4.4. Electric Gripper Command Communication Timeout

(04-01-4X)
Error code Error Message Reason Solution
Gripper Gripper
04-01-41 connection connection
Check that the
timeout timeout
24V power
Gripper Gripper
supply is
firmware firmware
04-01-42 properly
communication communication
connected.
timeout timeout
Check that the
Gripper stop Gripper stop
04-01-43 Electric USB cable is
action timeout action timeout
gripper properly
Gripper reset Gripper reset
04-01-44 command connected,
timeout timeout
communication Check that the
Gripper Gripper
failed and data serial port is
04-01-45 movement movement
returned set correctly.
timeout timeout.
timeout. Refer to the
Gripping Gripping
04-01-46 manual to
timeout timeout
install the jaw
Gripper expert Gripper expert
driver.
04-01-47 mode action mode action
Replace the
timeout timeout
controller
Gripper state Gripper state
unit.
04-01-48 reading reading timeout
timeout

378
C05UE202-2006

8. Program Examples
8.1. Register

8.1.1. COUNTER Register


Program:
$C[1] = 10

Description:
The constant 10 is saved into COUNTER 1. After the program is closed, the number
of the variable definition still registered.

Hint:
There are 20 COUNTERs from 1 to 20. The saved number is integer. The storage
capacity is 32bit, which is -2147483648 ~ 2147483647.

8.1.2. TIMER Register


Program:
$T[1] = 0
WAIT SEC 0
$T_STOP[1] = FALSE
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
WAIT SEC 0
$T_STOP[1] = TRUE

Description:
Calculate the period when the robot moves from the original position to P0. After the
program is closed, the number of the variable definition still registered.

Parameter explanation:
Start counting when $T_STOP[n]=FALSE. And stop when $T_STOP[n]=TRUE.

Hint:
There are 20 TIMERs, from 1 to 20. $T[n] represents the TIMER n. Before starting
and ending $T_Stop, “WAIT SEC 0” command which can stop pre-read is necessary.
Every TIMER is 32bit, the display range is from -2147483648 ~ 2147483647(ms).

379
C05UE202-2006

8.2. Variable Type

8.2.1. REAL
Program:
REAL One
One = 1

Description:
The format is similar to the data type of the decimal data. This variable will disappear
after the program is closed.

Hint: The storage capacity is 32bit about 10-37~1038, effective to 6 digits after the
decimal point.

8.2.2. INT
Program:
INT Two = 2

Description:
Which is a format of the integer-type data, and will disappear after the program is
closed.

Hint: The storage capacity is 32bit, which are -2147483648 ~ 2147483647.

8.2.3. BOOL
Program:
BOOL K = TRUE

Description:
Which means “Boolean”, is a logically variable. Will disappear after the program is
closed.

Hint: Used to declare the variable represents TRUE or FALSE.

380
C05UE202-2006

8.2.4. CHAR
Program:
CHAR COLOR = 'R'

Description:
Which represents the character variable. Will disappear after the program is closed.

Hint: Used to declare the variable represents the specific characters.

8.2.5. E6POS Point


Program:
E6POS POINT = {X 0,Y 300,Z 200}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
Define POINT in Cartesian coordinate, and move the robot to POINT.

Hint:
If the parameter is not set, its value will not changed(A, B, C in this case). This point
doesn’t define E6AXIS(A1~A6) values.

8.2.6. E6AXIS Point


Program:
E6AXIS POINT = {A1 90}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Description:
Define POINT in the joint coordinate, and move the robot to POINT.

Hint:
Parameter A2、A3、A4 are not set, and will remain the original value. This point
doesn’t define E6POS(X, Y, Z, A, B, C) value.

381
C05UE202-2006

8.2.7. E6POINTPoint
Program:
E6POINT HOME = {Y 200,Z -1000,A 90}
PTP HOME CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
or you change the definition of HOME like this:
E6POINT HOME = {A1 90}
Description:
The first definition of HOME is in Cartesian coordinate, and then move the robot to
HOME. The second definition is in Joint coordinate.

Hint:
If there is parameter not defined, it will remain the current value.

8.3. Operator

8.3.1. Arithmetic Operator


Program:
INT a, b, e
REAL c, d, f
a= 3
b= 5
c= 0.6
d= 12.2
e= 10
f= 10.0
a= a*b ; a= 3*5= 15
b= b+d ; b= 5+12.2= 17.2 → round it: b= 17
c= c*d ; c= 0.6*12.2= 7.32
d= b+d ; d= 17+12.2= 29.2
e= e/2 ; e= 5
e= 10/4 ; e= 2(remove the decimal)
e= f/4 ; e= 2(remove the decimal)
f= f/4 ; f= 2.5

382
C05UE202-2006

Hint: If the format is INT and there are decimals after operation, decimals will be
removed. After INT and REAL are operated by “+”, “-“, or “*”, the result format will
be REAL.

8.3.2. Logic Operator


Logic Operator A AND B A OR B
A=TRUE B=TRUE TRUE TRUE
A=TRUE B=FALSE FALSE TRUE
A=FALSE B=TRUE FALSE TRUE
A=FALSE B=FALSE FALSE FALSE

8.3.3. Relation Operator


Relation A>B A >= B A<B A <= B A == B A != B
Operator
A = 2,B = 1 TRUE TRUE FALSE FALSE FALSE TRUE
A = 1,B = 1 FALSE TRUE FALSE TRUE TRUE FALSE
A = 1,B = 2 FALSE FALSE TRUE TRUE FALSE TRUE

383
C05UE202-2006

8.4. Input/Output

8.4.1. Digital Input


Program:
$DI[1] = TRUE
Parameter explanation:
The Digital Channel 1 inputs TRUE.

8.4.2. Digital Output


Program:
$DO[1] = TRUE
Parameter explanation:
The Digital Channel 1 outputs TRUE.

8.4.3. Robot Input


Program:
$RI[1] = TRUE
Parameter explanation:
The Channel 1 of Robot signal inputs TRUE.

8.4.4. Robot Output


Program:
$RO[1] = TRUE
Parameter explanation:
The Channel 1 of Robot signal outputs TRUE.

8.4.5. Valve Output


Program:
$VO [1] = TRUE
Parameter explanation:
The Channel 1 of Solenoid Valve outputs TRUE.

384
C05UE202-2006

8.5. Motion Function


The way to define the point can be:
1. Establish the point with the software frame.
2. Establish the point of E6POS or E6AXIS.
3. Define the point parameter directly. The coordinates not defined will remain the
same, for example, PTP {X 200}.
4. Define the joint angle directly, and the parameter not defined will be the current value,
like PTP {A1 90, A3 60}.

8.5.1. PTP
Point Definition 1
Program:
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
Only require the position of the starting point and the terminal point. There is no limit
for the middle process. TCP will be guided with the fastest trace of the robot to the
target point. P0 is additionally established for TCP except for the Home status. TCP
will move point-to-point from Home to P0.

Parameter explanation:
PTP ; name of point-to-point command, the shortest trace for the robot
P0 ; any point except for Home
CONT ; smooth extent
Vel ; moving velocity relative to maximum velocity
Acc ; moving acceleration relative to maximum acceleration
-------------------------------------------------------------------
Point Definition 2
Program:
E6POS POINT = {X 0,Y 300,Z 200}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Description:
Move to POINT.

Hint: The same way to establish points with E6AXIS.

385
C05UE202-2006

-------------------------------------------------------------------

Point Definition 3
Program:
PTP {X 100} CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description:
The TCP moves to this coordinate (refer to the base coordinate). The parameters not
defined will remain the same.
-------------------------------------------------------------------
Point Definition 4
Program:
PTP {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The A1 axis of TCP moves to +45° (refer to the base coordinate). For the axis not
defined, the angle will not change.

8.5.2. PTP_REL
Point Definition 1
Program:
PTP_REL {X 100 } CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The TCP moves to this coordinate (refer to the base coordinate). The coordinates not
defined will remain the same.
-------------------------------------------------------------------

Point Definition 2
Program:
PTP_REL {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The A1 axis of TCP moves at +45° relative to the original A1 axis (refer to the base
coordinate). For the axis not defined, the angle will not change.

386
C05UE202-2006

8.5.3. LIN
Point Definition 1
Program:
LIN P0 CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description:
P0 is additionally established for TCP except for the Home status. TCP will move
point-to-point from Home via P0 to P1. The robot will guide TCP to the target point
along the linear trace with the defined velocity.

Parameter explanation:
LIN ; name of point-to-point command, linear trace connecting two points
P0 ; any point except for Home
CONT ; smooth extent
Vel ; velocity moving on linear trace
Acc ; acceleration moving on linear trace

-------------------------------------------------------------------

Point Definition 2
Program:
E6POS POINT = {X 0,Y 368,Z 293}
LIN POINT CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description: move to POINT

Hint: Same method to establish points with E6AXIS

-------------------------------------------------------------------

Point Definition 3
Program:
LIN {X 100} CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

387
C05UE202-2006

Description:
The TCP moves to this coordinate (refer to the base coordinate). The coordinates not
defined will remain the same.

-------------------------------------------------------------------

Point Definition 4
Program:
LIN {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The A1 axis of TCP moves at +45° relative to the original A1 axis (refer to the base
coordinate). For the axis not defined, the angle will not change.

8.5.4. LIN_REL
Point Definition 1
Program:
LIN_REL {X 100 } CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The coordinates of TCP moves in relative to this coordinate (refer to the base
coordinate). For the direction not defined, the coordinates will not change.

-------------------------------------------------------------------

Point Definition 2
Program:
LIN_REL {A1 45} CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
The A1 axis of TCP moves at +45° relative to the original A1 axis (refer to the base
coordinate). For the axis not defined, the angle will not change.
Program:
LIN_REL {X 100 } CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

388
C05UE202-2006

8.5.5. LIN_REL_TOOL
Point Definition 1
Program:
LIN_REL_TOOL {X 100 } CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]

Description:
The TCP of the robot will move along the axis of the command(“X” in this case) by
increasing the value(“100” in this case).

-------------------------------------------------------------------

Point Definition 2
Program:
LIN_REL_TOOL {A 45} CONT=100% Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]

Description:
In this case, the TCP will rotate +45° along the X axis of the TCP coordinate. And the
command “B”(“C”) means to rotate along “Y”(“Z”) axis.

8.5.6. CIRC
Point Definition 1
Program:
CIRC P0 P1 CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description:
P0 and P1 are additionally established for TCP except for the Home status. TCP will
move with circular trace from Home via P0 to P1. The robot will guide TCP to the
target point along the circular trace with the defined velocity.

Parameter explanation:
CIRC ; name of point-to-point command, the starting point arrives the target point
via the auxiliary point along the circular trace
P0 ; any point except for Home as auxiliary point
P1 ; any point except for Home as target point
389
C05UE202-2006

CONT ; smooth extent


Vel ; velocity moving on circular trace
Acc ; acceleration moving on circular trace

Hint:
P0 and P1 should be established first.

-------------------------------------------------------------------

Point Definition 2
Program:
E6POS POINT1 = {X 0,Y 300,Z 200}
E6POS POINT2= {X 20,Y 320,Z 220}
CIRC POINT1 POINT2 CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description: Move to POINT2 via POINT1.

Hint: The points are established the same method as E6AXIS.

-------------------------------------------------------------------
Point Definition 3
Program:
CIRC {X 0, Y 450} {X -150, Y 300} CONT=100% Vel=2000mm/s Acc=50%
TOOL[0] BASE[0]
Description:
TCP based on the starting point as the original coordinate moves to the auxiliary point
and then arrives the destination point (refer to the base coordinates).
-------------------------------------------------------------------

Point Definition 4
Program:
CIRC {A1 5.0, A2 5.0, A3 5.0, A4 5.0} {A1 10.0, A2 10.0, A3 10.0, A4 10.0}
CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description:
TCP based on the starting point as the original coordinate moves to the auxiliary point
and then arrives at the destination point (refer to the base coordinates).

390
C05UE202-2006

8.5.7. CIRC_REL
Point Definition 1
Program:
CIRC_REL {X -150, Y 150} {X -150, Y -150} CONT=100% Vel=2000mm/s
Acc=50% TOOL[0] BASE[0]

Description:
TCP based on the starting point as the original coordinate moves to the auxiliary point
and then arrives the destination point (refer to the base coordinates).
-------------------------------------------------------------------

Point Definition 2
Program:
CIRC_REL {A1 5.0, A2 5.0, A3 5.0, A4 5.0} {A1 10.0, A2 10.0, A3 10.0, A4 10.0}
CONT=100% Vel=2000mm/s Acc=50% TOOL[0] BASE[0]

Description:
TCP based on the starting point as the original coordinate moves to the auxiliary point
and then arrives at the destination point (refer to the base coordinates).

8.5.8. SPLINE
Point Definition 1
Program:
E6POINT P1 ={ X 95 , Y 0 , Z -500 }
E6POINT P2 ={ X 94.63849632 , Y 3.922008424 , Z -500 }
…..
E6POINT P54 ={ X -8.279795561 , Y -44.82876141 , Z -500 }
E6POINT P55 ={ X 0 , Y -45 , Z -500 }
E6POINT P56 ={ X 8.279795561 , Y -44.82876141 , Z -500 }
…..
E6POINT P73 ={ X 95 , Y 0 , Z -500 }
SPLINE
SPL P1
SPL P2
…..

391
C05UE202-2006

SPL P54
SPL P55
SPL P56
…..
SPL P73
ENDSPLINE

Description:
Start from P1 point and move to P73 point with B-Spline curvilinear motion.

8.5.9. Array Accumulation


Program:
PTP P0 CONT=100% Vel=100% Acc=100% TOOL[0] BASE[1]
P0.A1 = P0.A1 + 10
PTP P0
P0.A1 = P0.A1 + 10
PTP P0

Description:
The A1 coordinate of P0 accumulates 10 degrees every time, and the other
coordinates will not change.

8.5.10. CT_A6
Program:
LIN P0 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
CT_A6 100
WHILE $C[1] <2
$C[1] = $C[1]+1
LIN P1 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
LIN P2 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
ENDWHILE
$C[1] = 0
CT_A6 -50
WHILE $C[2] <2
$C[2] = $C[2]+1
LIN P1 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]

392
C05UE202-2006

LIN P2 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]


ENDWHILE
$C[2] = 0
CT_A6 0
WAIT SEC 1
LIN P0 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]

Description:
The sixth axis of the robot first reciprocates between P1 and P2 at a speed of 100% in
the positive direction, and then reciprocates between P1 and P2 at a speed of 50% in
the negative direction, and then ends infinite rotation and returns to the P0 point.

8.5.11. BRAKE
Program:
LIN P0 FINE=1 Vel=3000mm/s Acc=100% TOOL[0] BASE[0]
LIN_REL {Z -200}
LOOP
IF $DI[1] == TRUE THEN
BRAKE
EXIT
ENDIF
ENDLOOP
LIN P1 FINE=1 Vel=3000mm/s Acc=100% TOOL[0] BASE[0]

Description:
The robot moves to P0, it moves 200mm down along Z axis. The sensor of DI[1] is
triggered on the way, the robot stop the motion and moves linearly from the stop point
to P1.

8.5.12. EXT_TCP
Front work:
1. At the external tool point, teach a Base coordinate system, and the origin of the
Base coordinate system is at the tool processing point.
2. Teaching starting point is at point P1 and ending point at P2

393
C05UE202-2006

Teach Base Starting Point Ending Point


Program:
EXT_TCP_START
LIN P1 FINE=1 Vel=1000mm/s Acc=100% TOOL[0] BASE[1]
LIN P2 FINE=1 Vel=1000mm/s Acc=100% TOOL[0] BASE[1]
EXT_TCP_END
Description:
After the robot moves to P1, it is processed (polished) along the straight line of the
workpiece and moved to P2. During the process, the workpiece remains in contact
with the tool. If EXT_TCP is not used, the workpiece and tool will only be in contact
at the start and end points

Using EXT_TCP

Not using EXT_TCP

394
C05UE202-2006

8.6. Control Function

8.6.1. IF
 Format 1 of IF
IF condition THEN
………………
ENDIF

Program:
INT n = 1
IF n > 0 THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF

Description:
Because the condition is true, TCP will move to P0.

Parameter description:
Condition; condition
Because the condition is true, the statement in IF will be executed.

 Format 2 of IF

IF condition THEN
………………
ELSE
………………
ENDIF

Program:
INT n = 0
IF n > 0 THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ELSE
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF

395
C05UE202-2006

Description:
Because the condition is false, TCP will execute ELSE and move to P0.
 Application for determining IF condition

IF ((TRUE) AND (TRUE)) THEN


………………
ENDIF

Program:
INT n, m
n=1
m=2
IF ((n == 1) AND (m ==2)) THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF

Description:
Because the condition is true, TCP will move to P0.

-------------------------------------------------------------------

IF ((TRUE) OR (FALSE)) THEN


………………
ENDIF

Program:
INT n,m
n =1
m =3
IF ((n == 1) OR (m == 2)) THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF

Description:
Because the condition is true, TCP will move to P0.

-------------------------------------------------------------------

396
C05UE202-2006

IF condition THEN
………………
ENDIF
Program:
IF $DI[1] == TRUE THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF

Description:
If DI[1] is true, the condition will be true. TCP will move to P0.

397
C05UE202-2006

8.6.2. FOR
 FOR TO STEP ENDFOR

FOR start TO last STEP increment


………………
ENDFOR
Program:

INT n
FOR n = 0 TO 2 STEP 1
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDFOR

Description:
TCP moves to and fro between P0 and P1 three times.

Parameter explanation:
start ; start
last ; condition
increment ; increment
After FOR is executed from the start to the condition, FOR will end.
If the STEP increment is omitted, the increment default is 1.
 FOR application

Program:
INT n
FOR n = 0 TO 20 STEP 10
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDFOR

Description:
TCP moves to and fro between P0 and P1 three times.

-------------------------------------------------------------------

398
C05UE202-2006

Program:
INT n
FOR n = 2 TO 0 STEP 1
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDFOR

Description:
TCP moves to and fro between P0 and P1 three times.

-------------------------------------------------------------------

Program:
INT n
FOR n = -1 TO 3 STEP 2
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDFOR

Description:
TCP moves to and fro between P0 and P1 three times.

8.6.3. LOOP
 LOOP ENDLOOP

LOOP
………………
ENDLOOP
Program:
LOOP
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDLOOP

Description:
TCP repeatedly moves to and fro between P0 and P1.

399
C05UE202-2006

Parameter explanation:
LOOP is an infinite loop.

 LOOP EXIT ENDLOOP

LOOP
………………
EXIT
………………

ENDLOOP

Program:
INT n =0
LOOP
IF n == 1 THEN
EXIT
ELSE
n=n+1
ENDIF
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDLOOP
Description:
TCP will move to P0.
Parameter explanation:
LOOP execute to EXIT and end LOOP.

8.6.4. WHILE
 WHILE ENDLOOP

WHILE condition
………………
ENDWHILE

Program:

400
C05UE202-2006

INT n = 2
WHILE n > 0
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n-1
ENDWHILE

Description:
TCP moves to and fro between P0 and P1 twice.

Parameter explanation:
condition ; condition
When the condition of WHILE is true, repeatedly execute the statement in WHILE
until the condition is false and ends.

 Application for determining WHILE condition

WHILE ((TRUE) AND (TRUE))


………………
ENDWHILE

Program:
INT n,m
n=1
m=2
WHILE ((n == 1) AND (m == 2))
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n+1
ENDWHILE
Description:
TCP moves to and fro between P0 and P1 once.
-------------------------------------------------------------------

WHILE ((TRUE) OR (FALSE))


………………
ENDWHILE

401
C05UE202-2006

Program:
INT n,m
n=1
m=2
WHILE ((n == 1) OR (m == 3))
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDWHILE

Description:
TCP moves to and fro between P0 and P1 once.

8.6.5. REPEAT
 REPEAT UNTIL

REPEAT
………………
UNTIL condition

Program:
INT n =0
REPEAT
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n+1
UNTIL n > 2

Description:
TCP will move to P0 and P1 as well as repeatedly execute twice.
Parameter explanation:
Condition ; condition
Repeatedly execute the statement in REPEAT until the condition is true, and end
REPEAT.
 Application for determining REPEAT condition

REPEAT
………………
UNTIL((FALSE) OR (TRUE))

402
C05UE202-2006

Program:
INT n =0
INT k =1
REPEAT
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n+1
UNTIL (k ==2) OR (n > 2)

Description:
TCP will move to P0 and P1 as well as repeatedly execute twice.
-------------------------------------------------------------------

REPEAT
………………
UNTIL((TRUE) AND (TRUE))

Program:
INT n =0
INT k =1
REPEAT
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n+1
UNTIL(k ==1) AND (n > 2)

Description:
TCP will move to P0 and P1 as well as repeatedly execute twice.

8.6.6. GOTO
IF condition THEN
GOTO LABEL1
ENDIF
IF condition THEN

403
C05UE202-2006

GOTO LABEL 2
ENDIF
IF condition THEN
GOTO LABEL 3
ENDIF

LABEL 1:
………………
LABEL 2:
………………
LABEL 3:
………………

Program:
INT n =0
LOOP
IF n == 0 THEN
GOTO STEP0
ENDIF
IF n == 1 THEN
GOTO STEP1
ENDIF
IF n == 2 THEN
GOTO STEP2
ENDIF

PRO:
n=n+1
ENDLOOP

STEP0:
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
GOTO PRO
STEP1:
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
GOTO PRO
STEP2:

404
C05UE202-2006

Description:
TCP moves from P0 to P1, and then ends LOOP.

Parameter explanation:
LABEL ; label
The label of GOTO corresponds to the following statement of the label. If the label
doesn't have the statement, it will end program. The specified label must be in the
current function, cross function cannot be applied.

8.6.7. SWITCH
 SWITCH without default
SWITCH number
………………
CASE number1
………………
CASE number2
………………

ENDSWITCH

Program:
INT n =0
LOOP
SWITCH n
CASE 0
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 1
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 2
EXIT
ENDSWITCH
n=n+1
ENDLOOP

Description:
TCP moves from P0 to P1, and then executes EXIT to end LOOP.

405
C05UE202-2006

Parameter explanation:
number ; argument
The argument of SWITCH corresponds to the statement of CASE.
When the argument of SWITCH doesn't correspond to CASE, it will directly
correspond to ENDSWITCH.
-------------------------------------------------------------------
 SWITCH with default

SWITCH number
………………
CASE number1
………………
CASE number2
………………
DEFAULT
EXIT
ENDSWITCH

Program:
INT n =0
LOOP
SWITCH n
CASE 0
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 1
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
DEFAULT
EXIT
ENDSWITCH
n=n+1
ENDLOOP

Description:
TCP moves from P0 to P1, and then executes EXIT to end LOOP.

Parameter explanation:
The argument of SWITCH corresponds to CASE. If there is no correspondence, the
statement of DEFAULT will be executed.

406
C05UE202-2006

When the argument of SWITCH doesn't correspond to CASE, the statement with
DEFAULT will jump to the statement of DEFAULT.
------------------------------------------------------------------

 SWITCH Extension 1

SWITCH number
………………
CASE number1, number3, number5
………………
CASE number2, number4
………………

DEFAULT
EXIT
ENDSWITCH

Program:
INT n =0
LOOP
SWITCH n
CASE 0,2,4
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 1,3
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 5
EXIT
ENDSWITCH
n=n+1
ENDLOOP

Description:
TCP moves to and fro between P0 and P1, moves to P0, and then executes EXIT to
end LOOP.

------------------------------------------------------------------

407
C05UE202-2006

 SWITCH Extension 2

SWITCH character
………………
CASE character1
………………
CASE character2
………………
DEFAULT
EXIT
ENDSWITCH

Program:
CHAR COLOR = 'R'
LOOP
SWITCH COLOR
CASE 'R'
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 'G'
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
DEFAULT
EXIT
ENDSWITCH
IF COLOR =='G' THEN
COLOR ='Y'
ENDIF
IF COLOR =='R' THEN
COLOR ='G'
ENDIF
ENDLOOP

Description:
TCP moves from P0 to P1, and then executes EXIT to end LOOP.

408
C05UE202-2006

8.6.8. WAIT
 WAIT SEC
Program:
WAIT SEC 3
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
After the program waits for three second, TCP will move to P0.

 WAIT INPUT

Program:
WAIT FOR $DI[1] == TRUE
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
When the program waits the Digital INPUT Channel 1 is TRUE, TCP will move to
P0.
-------------------------------------------------------------------
Program:
WAIT FOR $RI[1] == TRUE
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
When the program waits the INPUT Channel 1 for the robot is TRUE, TCP will move
to P0.

8.6.9. QUIT
QUIT:
LOOP
IF $DI[1] == TRUE THEN
QUIT
ENDIF
ENDLOOP
Description:
The program will be closed when executing “QUIT” command(when DI[1] == TRUE
in this case).

409
C05UE202-2006

8.7. Motion Parameter

8.7.1. CONT
Continue Trajectory
If the “CONT” command is called, the robot controller will consider the next motion
point, and will move in a smoother path. The path smooth level will depend on the
motion velocity and acceleration.
There are three kinds of CONT command: CONT, CONT = #%, CONT = #mm. Last
two kinds represent the fixed path, like CONT = 50% or CONT = 30mm.
 CONT
LIN P1 CONT
LIN P2 CONT
LIN P3 CONT
When execute the commands open, there will be the smooth path in “LIN P2 CONT”,
but there won’t move to P1 and P3(because they are the origin and destination).

Starting P2 Terminal point


point Corner radius

P3 P1
destination origin

CONT motion
 CONT = #%
LIN P1 CONT
LIN P2 CONT = 50%
LIN P3 CONT
As Figure 10.2 show:
The distance between P2, P3 is shorter than the one between P1, P2, which is called
the short length.
When execute the open program, the trajectory will start fairing when 50% short
length away before P2.

410
C05UE202-2006

Because the “CONT= # %” command will create a fixed path, so the velocity of
the robot may change.

P2
short length 50% Fairing Trajectory

P3
destination P1

origin

CONT = 50%

 CONT = #mm
LIN P1 CONT
LIN P2 CONT = 5mm
LIN P3 CONT
The path will start fairing when 5mm away before P2.

P2
5mm Fairing Path

P3

destination P1

origin

CONT = 5mm

Because the “CONT= # mm” command will create a fixed path, so the velocity
of the robot may change.

When using “CONT= # mm” command, it does not mean that the value specified
by the user will be exactly the same. However, the system will attempt at the
distance specified by the user.

411
C05UE202-2006

If there is “DO” command before the “CONT”, then the path won’t be smoothed.
Example:
LIN P1 CONT
LIN P2 CONT
$DO[1] = TRUE
LIN P3 CONT
Originally, the path moving to P2 should be faired, but in this case, the path won’t be
smoothed.

412
C05UE202-2006

8.7.2. FINE
Discontinuous Motion

Starting point Terminal point

Terminal point Starting point

FINE motion

“FINE” command make TCP arrive the point without fairing the path.
FINE has four kinds:
 FINE, pre-read the next command, not check the actual position.
 FINE = 0, pre-read the next command, not check the actual position.
 FINE = 1, not pre-read the next command, not check the actual position.
 FINE = 2, not pre-read the next command, check the actual position.

8.7.3. VEL
Vel=100%
Define the velocity. If the PTP motion is used, the expression is the percentage that
the maximum velocity can move. If this parameter is not entered, the default is 20%.

Vel=2000mm/s
Define the velocity. If the LINE and CIRC motions are used, the expression is mm/s.
If this parameter is not entered, the default is 250mm/s.

8.7.4. ACC
Acc=50%
Define the acceleration. The expression is the percentage of maximum acceleration.

413
C05UE202-2006

8.8. Definition of Structure

STRUC LABEL INT PARAMETER1, REAL PARAMETER2


DECL LABEL PART1 ,PART2, ……. , …….
PART1 = { PARAMETER1 10, PARAMETER2 500 }
PART2 = { PARAMETER1 20, PARAMETER2 100 }
………………
………………

Program:
STRUC CASTING_TYPE INT MASS, REAL VOLUME
DECL CASTING_TYPE PART1 ,PART2
PART1 = {MASS 10, VOLUME 500 }
PART2 = {MASS 20, VOLUME 100 }

Description:
For the different objects in the specific type, the different parameters can be assigned
in the same variable.

Parameter explanation:
STRUC LABEL ; define the type name
INT PARAMETER1 ; define the format of object parameter
REAL PARAMETER2 ; define the format of object parameter
PART1 ; define the object
PART2 ; define the object
Hint:
PART1. PARAMETER1 = K, which can obtain the parameter.

414
C05UE202-2006

8.9. Function & Subprogram

8.9.1. Definition & Using Method of Function

Function is a program code which allows the user to execute the specific task or
specific motion. User may write the frequently repeated program code in the function,
and may also decide to write the program code with any length in the function.
Usually, one function only performs one task.
The declaration of function tells the compiler with respect to the function name, post
back value and parameters.

Definition of Function:
DEFFCT return_type function_name ( parameter list )

statement body of the function


RETURN…

ENDFCT

The declaration of function includes the function header and function body. The
description of each part is shown as follows:
return_type: Data type returns from function.
function_name: Function name.
parameter list: Function parameters. User may deliver the parameters into the
function. The data type of parameter will refer to the data type and support point type
declared in the function field. If the parameter is input, then use “parameter: IN” for
indication, use as the input parameter, it will not affect the incoming variable even it
is modified in the function. If it is used as the output variable and modified in the
function, then use “parameter: OUT”. As the output variable, if it is modified in the
function, the originally incoming variable will also be changed accordingly. One
function may have no function parameters, and up to five (5) parameters as the
maximum.
statement body: Function body. If the function has parameter, then the user needs to
declare the type of parameter in order to undertake.

415
C05UE202-2006

Example of program 1:

INT iFUN
iFUN = FCT_1(2,3)
DEFFCT INT FCT_1(num1:IN,num2:IN)
INT num1
INT num2
RETURN num1+num2
ENDFCT

Description:
Declare one function named as FCT_1, income two (2) INT parameters i.e. num1 and
num2 respectively, and then post back after adding these two parameters.

Example of program 2:

E6POINT RE_E6,OUT_E6
INT iX
OUT_E6 = P1
RE_E6 = FCT_2(P0,OUT_E6)

DEFFCT E6POINT FCT_2(A:IN,B:OUT)


E6POINT A
E6POINT B
A.X = B.X
B.X = 100
PTP A
RETURN A
ENDFCT

iX = OUT_E6.X

Description:
Declare one function named as FCT_2, income one parameter of E6POINT and one
output parameter B of E6POINT, the function assigns the X value of B to X of A first,
and then configures X of B to 100, and then executes the point to point moving to A,
and finally post back A, and B is taken as output returning to the calling procedure.

416
C05UE202-2006

8.9.2. Definition & Using Method of Subprogram

The difference between the defined subprogram and function are: the subprogram has
no post back value and the declaration is different.

Definition of subprogram:
DEF subprogram_name ( parameter list )

statement body of the subprogram

END

The declaration of function includes the subprogram header and subprogram body.
Description of each part is shown as follows:
subprogram_name: Subprogram name.
parameter list: Subprogram parameter and up to five (5) parameters as the maximum.
statement body: Subprogram body.

Example of program 1:

INT iNUM
iNUM = 4
$C[4] = 0
PROG_1(3,iNUM)
$C[4] = iNUM

DEF PROG_1(num1:IN,num2:OUT)
INT num1
INT num2
num2= num1+num2
END

Description:
Declare one subprogram named as PROG_1, income one parameter num1 of INT and
one output parameter num2 of INT, and then add these two parameters, and assign to
num2 as the output.

417
C05UE202-2006

Example of program 2:

E6POINT E6_OUT_A,E6_OUT_B
E6_OUT_A = P0
E6_OUT_B = P1
PROG_2(E6_OUT_A,E6_OUT_B)

DEF PROG_2(A:OUT,B:OUT)
E6POINT A
E6POINT B
A.X = B.X
B.X = 100
PTP A
END

Description:
Declare one subprogram named as PROG_2, income two (2) output parameters of
E6POINT i.e. A and B respectively, the subprogram assigns X of B to X of A first,
and then configures X of B to 100, and then executes the pint to point moving A,
takes the modified A and B as the output returning to the calling procedure.

418
C05UE202-2006

8.10. External Function & Subprogram

8.10.1. Definition & Using Method of External

Function(EXTFCT)

Declare the external function which indicates that the user writes this function into a
separate independent file, and the name of this independent file shall be the same as
the function name, and call this function outside this independent file. The external
function locates on the first line of program code and must begin with the keyword of
DEFFCT, one file can only define one external function. If it desires to call the
external function, it will have to declare the external function at the calling program.
The declaration of external function must use the keyword of EXTFCT. After
declaration, it will be the same as the calling of general function.

Definition of declaration for external function:


EXTFCT return_type function_name ( parameter list)

Description of each part of external function is shown as follows:


return_type: Type of post back value, structure of supporting point position.
function_name: Function name.
parameter list: Function parameters. Please be aware that the declaration of function
parameter name (located in the procedure desired to call) must be consistent with the
definition (located at the procedure being called) and up to five (5) parameters as the
maximum, support the type of point position.

Example of program:

The program content of file named as FCT_1:


DEFFCT INT FCT_1 ( num1:IN,num2:IN)
INT num1
INT num2
RETURN num1+num2
ENDFCT
Content of external program:
EXTFCT INT FCT_1(num1:IN,num2:IN)
INT iNum

419
C05UE202-2006

iNum = 10
iNum = FCT_1(6,8)

Description:
In the program with the file name of FCT_1, declare one function named as FCT_1,
income two (2) parameters of INT i.e. num1 and num2 respectively, and then add these
two parameters, and post back to the calling procedure, in addition, in another external
file program, use EXTFCT to declare the external function of FCT_1, and then perform
the calling by using the function mode directly, please be aware that the calling of
external function can be up to eight (8) layers as the deepest, the compiler will report
error if exceeded.

8.10.2. Definition &Using Method of External

Subprogram(EXT)
Declare the external subprogram which indicates that the user writes this subprogram
into a separate independent file, and the name of this independent file shall be the
same as the subprogram name, and call this program outside this independent file.
The external subprogram locates on the first line of program code and must begin
with the keyword of DEF, one file can only define one external function. If it desires
to call the external subprogram, it will have to declare the external subprogram at the
calling program. The declaration of external subprogram must use the keyword of
EXT. After declaration, it will be the same as the calling of general subprogram.

Definition of declaration for external subprogram:


EXT subprogram_name ( parameter list )

Description of each part of external subprogram is shown as follows:


subprogram_name: Subprogram name.
parameter list: Subprogram parameters. The declaration of subprogram parameter
name (located in the procedure desired to call) must be consistent with the definition
(located at the procedure being called) and up to five (5) parameters as the maximum,
support the type of point position.

Example of program:

420
C05UE202-2006

The program content of file named as PROG_1:


DEF PROG_1 ( num1:IN,num2:OUT )
INT num1
INT num2
num2 = num1+num2
END

Content of external program:


EXT PROG_1( num1:IN,num2:OUT )
INT iNum

iNum = 7
PROG_1(4,iNum)

Description:
In the program with the file name of PROG_1, declare one function named as
PROG_1, income one (1) parameter num1 of INT and one output parameter num2 of
INT, and then add these two parameters, and assign to num2 as the output returning to
the calling procedure, in addition, in another external file program, use EXT to
declare the external function of PROG_1, and then perform the calling by using the
subprogram mode directly, please be aware that the calling of external subprogram
can be up to eight (8) layers as the deepest, the compiler will report error if exceeded.

421
C05UE202-2006

8.11. RS232 Configuration


Program:
INT HANDLE
INT NUM
REAL SERDATA
STRING SER_STR
COPEN ( SER , HANDLE)
LOOP
IF HANDLE > -1 THEN
CINQUIRE(HANDLE,NUM)
If NUM>0 THEN
CREAD (HANDLE, SER_STR, SERDATA)
ENDIF
CCLEAR (HANDLE)
SERDATA = SERDATA + 1
SER_STR = “RETURN:”
CWRITE (HANDLE, SER_STR, SERDATA)
ENDIF
WAIT SEC 0.3
ENDLOOP

Description:
Program writing and reading the number via RS232.

Parameter explanation:
SER ; RS232
HANDEL ; target folder
CWRITE (HANDLE, SERDATA) ; write the number of SERDATA into
HANDLE
CREAD (HANDLE, SERDATA) ; give the number of HANDLE to SERDATA
CCLEAR (HANDLE) ; clear the number of HANDLE
CINQUIRE(HANDLE,NUM) ; read the received quantity

422
C05UE202-2006

8.12. NET Configuration


Program:
INT HANDLE
INT NUM
REAL ETHDATA
STRING ETH_STR
COPEN ( ETH , HANDLE)
LOOP
IF HANDLE > -1 THEN
CINQUIRE(HANDLE,NUM)
If NUM>0 THEN
CREAD (HANDLE, ETH_STR, ETHDATA)
ENDIF
CCLEAR (HANDLE)
ETHDATA = ETHDATA + 1
ETH_STR = “RETURN:”
CWRITE (HANDLE, ETH_STR, ETHDATA)
ENDIF
WAIT SEC 0.3
ENDLOOP

Description:
Program writing and reading the number via network

Parameter explanation:
ETH ; Internet
HANDLE ; target folder
CWRITE (HANDLE, ETHDATR) ; write the number of ETHDATR into
HANDLE
CREAD (HANDLE, ETHDATR) ; give the number of HANDLE to ETHDATR
CCLEAR (HANDLE) ; clear the number of HANDLE
CINQUIRE(HANDLE,NUM)

423
C05UE202-2006

8.13. Conveyor Configuration

8.13.1. Pick Program(1)


ROBOT

Conveyor 1 CAMERA

Conveyor 2

P2

Pick Example 1
Program description:
This is a visual example.
The robot picks the object from the Conveyor 1 to place on the Conveyor 2. The
position is visually picked, and place P2 on the Conveyor 2.
Program:
CNV_START CNV=1 ; start pick&place
CNV_PICK_QUANTITY = 2 ; set the maximum quantity to pick object
WHILE CNV_FULL == FALSE ; go to loop when the quantity on the robot
doesn’t reach the upper limit..
CNV_PICK CNV=1 OBJ=1 $DO[1] Down=5.000mm FINE Vel=2000mm/s
Acc=50% TOOL[0] BASE[0] ; execute pick
ENDWHILE
WHILE CNV_EMPTY == FALSE ; go to loop when the quantity on the robot is
not empty.
CNV_PLACE $DO[1] P2 FINE Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
; execute place
ENDWHILE
CNV_END CNV=1 ; end pick&place

424
C05UE202-2006

8.13.2. Pick Program(2)


ROBOT

Conveyor 1 Sensor P1

P0
Conveyor 2

P2

Pick Example 2

Program description:
When the position to trigger a sensor is within the picking range, P can be directly set
as the pick and place position.
The robot picks and places the object from the Conveyor 1 to the Conveyor 2. When
the object is triggered by the sensor, the robot will move to P0 and pick, and then
move to P1 and finally place P2.
Program:
CNV_START CNV=1 ; start pick&place
CNV_PICK_QUANTITY = 2 ; set the maximum quantity to pick object
WHILE CNV_FULL == FALSE ; go to loop when the quantity on the robot
doesn’t reach the upper limit.
CNV_PICK CNV=1 $DO[1] P0 Down=5.000mm FINE Vel=2000mm/s Acc=50%
TOOL[0] BASE[0] ; execute pick
ENDWHILE
PTP P1 CONT Vel=100% Acc=50% TOOL[0] BASE[0] ; move to P1
WHILE CNV_EMPTY == FALSE ; go to loop when the quantity on the robot is
not empty.
CNV_PLACE CNV=2 $DO[1] P2 FINE Vel=2000mm/s Acc=50% TOOL[0]
BASE[0]
; execute place
ENDWHILE
CNV_END CNV=1 ; end pick&place

425
C05UE202-2006

8.13.3. Pick Program(3)

ROBOT

Sensor
Conveyor 1 P1

PICKPOINT
Conveyor 2

PLACEPOINT

Pick Example 3

Program description:
When the position to trigger a sensor is beyond the picking range, the command
E6POINT can be used to set the pick and place position.
(Before using the command E6POINT, please ensure the ToolBase coordinates have
been parallel with those for the conveyor. So, you just need to adjust X coordinate or
Y coordinate following P is adjusted).
The robot picks from the Conveyor 1 to the Conveyor 2, waits for the object to move
to PICKPOINT, and then place to PLACEPOINT after moving to P1.
This example will release two objects after they are simultaneously picked.

Program:
CNV_START CNV=1 ; start pick&place
CNV_PICK_QUANTITY = 2 ; set the maximum quantity to pick
object
E6POINT PICKPOINT = P0 ; set the pick point of E6POINT
PICKPOINT.X = PICKPOINT.X - 200
; If our ToolBase coordinate is parallel with the conveyor coordinate, X for
PICKPOINT will be needed.
; the coordinate position minus 200, no change for Y coordinate
E6POINT PLACEPOINT = P2 ; set place point for E6POINT
PLACEPOINT.X = PLACEPOINT.X – 50
; If our ToolBase coordinate is parallel with the conveyor coordinate, X for

426
C05UE202-2006

PLACEPOINT will need to minus 50 and there is no change for Y coordinate.


WHILE CNV_FULL == FALSE ; go to loop when the quantity on the
conveyor doesn’t reach the upper limit
CNV_PICK CNV=1 $DO[1] PICKPOINT Down=0.000mm FINE Vel=2000mm/s
Acc=50% TOOL[0] BASE[0] ; pick the first object
CNV_PICK CNV=1 $DO[2] PICKPOINT Down=0.000mm FINE Vel=2000mm/s
Acc=50% TOOL[0] BASE[0] ; pick the second object
ENDWHILE
PTP P1 CONT Vel=100% Acc=50% TOOL[0] BASE[0]
; move to P1
WHILE CNV_EMPTY == FALSE ; go to loop when the quantity on the
conveyor is not empty
CNV_PLACE CNV=2 $DO[1] PLACEPOINT FINE Vel=2000mm/s Acc=50%
TOOL[0] BASE[0] ; execute pick
ENDWHILE
CNV_END CNV=1 ; end pick&place

427
C05UE202-2006

8.14. DO switching on the path(SYN OUT)

8.14.1. Program Example 1 of SYN


Program:
LIN P1 FINE Vel=100% Acc=50% TOOL[0] BASE[0]
SYN $DO[1] = TRUE START DELAY = 50 ms
SYN $DO[2] = TRUE END DELAY = -50 ms
LIN P2 FINE Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
As shown in below, the command for SYN is given when moving from P1 to P2. P1
and P2 are not in the smooth circumstance. The range of START is from the position
of the accurate position for P1 to P2. The range for END is from P2 to P1; the
command for START Delay in SYN is given to 50ms, which executes the command
for DO[1]=True after the time elapses 50ms. The command for END Delay in SYN is
given to -50ms, which backwards 50ms from P2 to execute DO[2]=True.

Illustration of Example 1

428
C05UE202-2006

8.14.2. Program Example 2 of SYN


Program:
LIN P1 FINE Vel=100% Acc=50% TOOL[0] BASE[0]
SYN $DO[1] = TRUE START DELAY = 50 ms
SYN $DO[2] = TRUE END DELAY = -50 ms
LIN P2 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
Description:
As shown in below, the command for SYN is given when moving from P1 to P2. P2
is in the smooth circumstance. The range of START is from the position of the
smooth termination for P1 to the smooth start for P2. The range for END is from the
position of the smooth start for P2 to the smooth termination for P2; the command for
START Delay in SYN is given to 50ms, which executes the command for
DO[1]=True after the time elapses 50ms from the position of the smooth termination
for P1. The command for END Delay in SYN is given to -50ms, which executes the
command for DO[2]=True after the time elapses 50ms forward from the central point
of the Bezier curve in the smooth range of P2. For the description of CONT, please
see the Appendix at Chap.8.7.1.

Illustration of Example 2

429
C05UE202-2006

8.14.3. Program Example 3 of SYN


Program:
LIN P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
SYN $DO[1] = TRUE START DELAY = 50 ms
SYN $DO[2] = TRUE END DELAY = -50 ms
LIN P2 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
As shown in below, the command for SYN is given when moving from P1 to P2. P1
and P2 are in the smooth circumstance. The range of START is from the position of
the smooth termination for P1 to the smooth start for P2. The range for END is from
the position of the smooth start for P2 to the smooth termination for P2; the command
for START Delay in SYN is given to 50ms, which executes the command for
DO[1]=True after the time elapses 50ms from the position of the smooth termination
for P1. The command for END Delay in SYN is given to -50ms, which executes the
command for DO[2]=True after the time elapses 50ms forward from the central point
of the Bezier curve in the smooth range of P2. For the description of CONT, please
see the Appendix at Chap.8.7.1.

Illustration of Example 3

430
C05UE202-2006

8.14.4. Example 4 of SYN Program


Program:
LIN P1 FINE Vel=100% Acc=50% TOOL[0] BASE[0]
SYN $DO[1] = FALSE START PATH = 50 mm DELAY = -50 ms
LIN P2 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
LIN P3 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
LIN P4 FINE Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
As shown in below, the command for SYN is given when moving from P1 to P2. The
path is used, as well as P2 and P3 are in the smooth circumstance. The range of
START is from the position of the smooth start for P1 to P4; PATH=50mm and
DELAY = -50ms are in SYN, counting 50mm from the start of P1, moving to 50ms
and executing DO[1] = False; if P3 is the accurate position, the range of START is
from the smooth start of P1 to P3. For the description of CONT, please see the
Appendix at Chap.8.7.1.

Illustration of Example 4

431
C05UE202-2006

8.14.5. Example 5 of SYN Program


Program:
LIN P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
SYN $DO[1] = FALSE START PATH = 50 mm DELAY = -50 ms
LIN P2 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
LIN P3 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
LIN P4 FINE Vel=100% Acc=50% TOOL[0] BASE[0]

Description:
As shown in below, the command for SYN is given when moving from P1 to P2. The
path is used, as well as P1, P2 and P3 are in the smooth circumstance. The range of
START is from the position of the smooth start for P1 to P4; PATH=50mm and
DELAY = -50ms are in SYN, counting 50mm from the smooth start of P1, moving to
50ms and executing DO[1] = False; if P3 is the accurate position, the range of
START is from the smooth start of P1 to P3. For the description of CONT, please see
the Appendix at Chap.8.7.1.

Illustration of Example 5

432
C05UE202-2006

8.15. Electric Gripper


There is a sample program below. First of all, set the parameter “Wait Idle” to “ON”.
This sample will be using all commands of XEG (a kind of electric gripper), including
“pick”, “place”, and changing to expert mode to recognize different items by picking
status. Users can refer to this sample to develop their own programs.

;Initialize: move the robot to the original position, connect to the XEG, and reset the
XEG.
PTP P1 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
;try to connect to the XEG
EG_OPEN(X32)
;reset the XEG
EG_RESET
$C[1]=0

;The major part of the program: recognize two different objects by pick and place.
WHILE $C[1] <= 100
$C[1] = $C[1]+1
;move XEG to a specific position
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_MOVE(26.5,80)
PTP P6 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P3 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
;execute the picking command
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_GRIP(C,25,H,M)
;recognize the objects by the position and status of XEG
IF SelectObject(EG_GET_POS, EG_GET_STATUS) ==2 THEN
PTP P6 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P2 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
ENDIF
;move XEG to a known position

433
C05UE202-2006

IF EG_GET_STATUS <0 THEN


;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_MOVE(26.5,80)
PTP P7 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P8 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P9 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P4 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
;change to expert mode to move XEG to pick
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_EXPERT(C,3.5,60,20.5,20,50)
IF SelectObject(EG_GET_POS, EG_GET_STATUS) ==1 THEN
PTP P9 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P11 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P5 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
ENDIF
; move XEG to a known position
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_MOVE(26.5,80)
PTP P10 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P5 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
;pick
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_GRIP(C,25,H,M)
; recognize the objects by the position and status of XEG
IF SelectObject(EG_GET_POS, EG_GET_STATUS) ==1 THEN
PTP P10 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P8 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P4 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
ENDIF
; move XEG to a known position

434
C05UE202-2006

IF EG_GET_STATUS <0 THEN


;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_MOVE(26.5,80)
PTP P8 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P7 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P2 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
; change to expert mode to move XEG to pick
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_EXPERT(C,3.5,60,20.5,20,50)
; recognize the objects by the position and status of XEG
IF SelectObject(EG_GET_POS, EG_GET_STATUS) ==2 THEN
PTP P7 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P6 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P3 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
ENDIF
; move XEG to a known position
IF EG_GET_STATUS <0 THEN
;TO DO the handling commands if XEG gets errors
ENDIF
EG_RUN_MOVE(26.5,80)
PTP P6 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P1 FINE Vel=100% Acc=100% TOOL[0] BASE[0]
ENDWHILE
;disconnect from XEG
EG_CLOSE

;Subprogram: the function to recognize different objects


DEFFCT INT SelectObject(POSITION:IN,STATUS:IN)
REAL POSITION
INT STATUS
IF POSITION>=18.5 AND POSITION<=20.5 AND STATUS==2 THEN
RETURN 1
ELSE
IF POSITION>=3 AND POSITION<=4 AND STATUS==2 THEN

435
C05UE202-2006

RETURN 2
ELSE
RETURN 0
ENDIF
ENDIF
ENDFCT

8.16. External Axis


The following is an example program that uses external axis related commands. After
the external axis parameters are correctly set, the external axis can be enabled, the
axis mode can be switched, the infinite rotation function, and the synchronization
coupled motion control can be executed by the relevant commands.

; Enable external axis


EX_AX[1] =TRUE
EX_AX[2] =TRUE
EX_AX[3] =TRUE
; Specify the second axis as an asynchronous axis
EX_AX_ASYNC[2] =TRUE
; Move the arm and synchronize the external axis to the specified position
LIN P0 FINE=1 Vel=100mm/s Acc=100% TOOL[1] BASE[1]
; Move the asynchronous external axis to the specified position
ASYPTP{E2 90} FINE=1 Vel=100% Acc=100% TOOL[1] BASE[1]
; Open the synchronous external axis coupled function
EX_AX_SYNC_COUPLE[1] = TRUE
EX_AX_SYNC_COUPLE[3] = TRUE
; The second axis executes an infinite rotation with an asynchronous external axis
EX_AX_CT[2] 100
; Move the arm and synchronize the external axis to the specified position
LIN P1 FINE=1 Vel=100mm/s Acc=100% TOOL[1] BASE[1]

436
C05UE202-2006

8.17. Welding(Optional)
The following is an example program that uses welding and weaving related
commands. Welding is performed according to the welding procedure and welding
conditions set by the interface when starting the arc. The welding operation is
performed according to the set weaving parameters and welding speed. Welding
procedures and welding conditions are processed by arc pits and the welding is ended.
During the welding process, an error resume function is set. When an alarm occurs
between points P0 or a program is manually stopped, the original program can be
restarted and moved to At point P0, if an alarm occurs or a program is manually
stopped at point P1, the reset program named WELD_RESUME in the same directory
will be executed, then the arc will start and move to point P1.

; Execute welding according to welding procedure 1 and condition 1


WELD_START WP = 1 WS = 1
; Perform SINE-type swing welding according to swing welding condition 1
WEAVE SINE WS = 1
; Set resume label
RESUME_PROG
; Line motion, it will perform the above-mentioned weaving motion
LIN P0 CONT WELD_SPEED Acc=100% TOOL[0] BASE[0]
; Perform circular weaving according to weaving ing instructions and settings
WEAVE CIRCLE Freq = 1Hz Amp = 10mm LD = 0.30s RD = 0.30s
; Set the resume label and specify the reset program
RESUME_PROG = WELD_RESUME
; Line motion, it will perform the above-mentioned weaving motion
LIN P1 CONT WELD_SPEED Acc=100% TOOL[0] BASE[0]
; End weaving
WEAVE_END
; Perform crater processing according to welding procedure 1 and condition 1 to end
welding
WELD_END WP = 1 WS = 1
; Clear interrupt reset label
CLEAR_RESUME_PROG

8.18. Collision Detection

437
C05UE202-2006

There is a sample program below. Using command to enable/disable about collision


detection after setting parameters of payload correctly. During the execution, it can
detect whether a collision has occurred. If it is an expected collision, turn off collision
detection and turn it on again after the collision.

CD_START 80
;Turn on collision detection, and set the sensitivity to 80
SET_PAYLOAD[1]
LIN P1 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
LIN P2 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
CD_END
;When gripping an object, it is an expected collision, so turn off collision detection
LIN P3 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
$DO[1] = TRUE
SET_PAYLOAD[2]
CD_START 50
;Turn it on again, and set the sensitivity to 50
LIN P4 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]

8.19. Payload
There is a sample program below. Using command to change different payloads after
setting parameters of payload correctly.

SET_PAYLOAD[1]
;Setting payload 1, the weight is only TOOL self
LIN P1 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
LIN P2 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
$DO[1] = TRUE
;Gripping an object
SET_PAYLOAD[2]
;Setting payload 2, the weight is include TOOL and object
LIN P3 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]
LIN P4 FINE=1 Vel=100mm/s Acc=100% TOOL[0] BASE[0]

8.20. Interrupt
EXT TEST1()

438
C05UE202-2006

;--------------------------------Interrupt declaration----------------------------------------
INTERRUPT 1 WHEN $DI[1] == TRUE DO TEST1() ; If DI[1] is TRUE trigger
INTERRUPT 2 WHEN $DI[2] == TRUE DO TEST2() ; If DI[2] is TRUE trigger
INTERRUPT 3 WHEN $DI[3] == TRUE DO TEST3() ; If DI[3] is TRUE trigger
INTERRUPT 4 WHEN $DI[4] == TRUE DO TEST4() ; If DI[4] is TRUE trigger
INTERRUPT 5 WHEN $DI[5] == TRUE DO TEST5() ; If DI[5] is TRUE trigger
INTERRUPT 6 WHEN $DI[6] == TRUE DO TEST6() ; If DI[6] is TRUE trigger
INTERRUPT 7 WHEN $DI[7] == TRUE DO TEST7() ; If DI[7] is TRUE trigger
INTERRUPT 8 WHEN $DI[8] == TRUE DO TEST8() ; If DI[8] is TRUE trigger
;INTERRUPT ON 1 ; ENABLE INTERRUPT
;INTERRUPT ON 2; ENABLE INTERRUPT
;INTERRUPT ON 3; ENABLE INTERRUPT
;INTERRUPT ON 4; ENABLE INTERRUPT
;INTERRUPT ON 5; ENABLE INTERRUPT
;INTERRUPT ON 6; ENABLE INTERRUPT
;INTERRUPT ON 7; ENABLE INTERRUPT
;INTERRUPT ON 8; ENABLE INTERRUPT

INTERRUPT ON ALL
;INTERRUPT OFF ALL
;------------------------------------------Initialize------------------------------------------
$C[1] = 0
$C[2] = 0
$C[3] = 0
$C[4] = 0
$C[5] = 0
$C[6] = 0
$C[7] = 0
$C[8] = 0
;------------------------------------------Main Activity------------------------------------------
LOOP
PTP P0 CONT Vel=100% Acc=100% TOOL[0] BASE[0]
PTP P1 CONT Vel=100% Acc=100% TOOL[0] BASE[0]
ENDLOOP
;------------------------------------------------------------------------------------------------------

;----------------------------------------Interrupt subprogram------------------------------------

439
C05UE202-2006

DEF TEST2()
$C[2] = $C[2] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P3
PTP P10 Vel = 50% ; Recover robot position
END

DEF TEST3()
$C[3] = $C[3] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P4
PTP P10 Vel = 50% ; Recover robot position
END

DEF TEST4()
$C[4] = $C[4] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P5
PTP P10 Vel = 50% ; Recover robot position
END

DEF TEST5()
$C[5] = $C[5] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P6
PTP P10 Vel = 50% ; Recover robot position
END

DEF TEST6()
$C[6] = $C[6] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P7

440
C05UE202-2006

PTP P10 Vel = 50% ; Recover robot position


END

DEF TEST7()
$C[7] = $C[7] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P8
PTP P10 Vel = 50% ; Recover robot position
END

DEF TEST8()
$C[8] = $C[8] + 1 ;Record times of interrupt triggered
E6POINT P10
P10 = GETPOINT ; Record position
PTP P9
PTP P10 Vel = 50% ; Recover robot position
END

8.21. Array
E6POS P_ARR[3,3]
INT i,j
FOR i = 1 TO 3 STEP
FOR j = 1 TO 3 STEP
P_ARR[i,j].x = i * 50
P_ARR[i,j].y = 300-j*20
P_ARR[i,j].z = 250
ENDFOR
ENDFOR

441
C05UE202-2006

442
C05UE202-2006

9. Appendix
9.1. Software commands
Motion commands:
Commands Description
PTP Point to point motion
PTP_REL Point to point relative motion
LIN Linear motion
LIN_REL Linear relative motion
CIRC Circular motion
CIRC_REL Circular relative motion
SPLINE…SPL…ENDSPLINE B-Spline curvilinear motion

PTP&PTP_REL flowchart:

LIN&LIN_REL flowchart:

CIRC&CIRC_REL flowchart:

SPLINE Instructions:
SPLINE
SPL P1
…..
SPL P73

443
C05UE202-2006

ENDSPLINE
RS232 or EtherNet Commands:
Commands Description
COPEN Open RS232 or EtherNet
CCLOSE Close RS232 or EtherNet
CCLEAR Delete RS232 or EtherNet data
CREAD Read received data from RS232 or
EtherNet
CWRITE Write RS232 or EtherNet data
CINQUIRE Inquire RS232 or EtherNet package
numbers

Example:
INT HANDLE
INT NUM
REAL SERDATA
COPEN ( SER , HANDLE)
LOOP
IF HANDLE > -1 THEN
CINQUIRE(HANDLE,NUM)
If NUM>0 THEN
CREAD (HANDLE, SERDATA)
ENDIF
CCLEAR (HANDLE)
SERDATA = SERDATA + 1
CWRITE (HANDLE, SERDATA)
ENDIF
WAIT SEC 0.3
ENDLOOP
CCLOSE (HANDLE)

444
C05UE202-2006

Conveyor tracking commands:


Commands Description
CNV_START Startup the tracking procedure of conveyor, and
connect with the dispatching system/vision
CNV_END End the tracking of conveyor and connection of
dispatching system/vision
CNV_PICK Flying-pick to pick object
CNV_PLACE Flying-place to place object
CNV_SET_DELAY_TIME[#] Configure the ending time of tracking delay for
the flying-pick/flying-place
CNV_QUEUE_REMOVE[#] Remove the forefront queue of flying-pick/flying-
place temporary storage
CNV_PICK_ACC[#] Configure the acceleration time of tracking push-
down
CNV_EMPTY If the pick quantity is zero
CNV_FULL If the pick quantity is up to the upper limit
CNV_OBJECT The numbering of latest object picked currently
CNV_PICK_QUANTITY The maximum quantity able to pick
CNV_QUEUE_SIZE[#] The quantity of already sensed but not pick yet
CNV_TRIGGER_TIMES Configure the triggering times of sensor for
adding one working task
CNV_OFFSET_X X Offset value of flying-pick/flying-place
CNV_OFFSET_Y Y Offset value of flying-pick/flying-place
CNV_OFFSET_Z Z Offset value of flying-pick/flying-place
CNV_PLACE_BATCH Configure the maximum times for flying-place
CNV_OBJ_CNT_DIST[#] Position difference between the first object and
second object
CNV_RESET_ENC Clear the count value of external encoder
CNV_SPEED[#] Read the speed of specified conveyor

Example: Use vision to collaborate with flying-pick


CNV_START CNV=1 ;start pick & place
CNV_SET_DELAY_TIME[1] = 50 ; delay 50ms,and leave flying-pick/flying-
place
CNV_PICK_ACC[1] = 50 ; push-down acceleration of flying-pick is
50ms
CNV_PICK_QUANTITY = 2 ; set the maximum quantity to pick object

445
C05UE202-2006

WHILE CNV_FULL == FALSE ; go to loop when the quantity on the robot


doesn’t reach the upper limit
CNV_PICK CNV=1 OBJ=1 $DO[1] Down=5.000mm FINE Vel=2000mm/s
Acc=50% TOOL[0] BASE[0] ; execute pick
ENDWHILE
IF CNV_OBJECT == 1 THEN ; if the object numbering is 1
CNV_OFFSET_X = 10 ; configure X Offset value of flying-pick/flying-
place as 10
CNV_OFFSET_Y = 10 ; configure Y Offset value of flying-pick/flying-
place as 10
CNV_OFFSET_Z = 10 ; configure Z Offset value of flying-pick/flying-
place as 10
ENDIF
WHILE CNV_EMPTY == FALSE ; go to loop when the quantity on the
conveyor is not empty
CNV_PLACE $DO[1] P2 FINE Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
; execute place
ENDWHILE
CNV_END CNV=1 ; end pick & place

Example:Use sensor to collaborate with flying-pick


INT ISpeed
ISpeed = CNV_SPEED[1] ; read the speed of conveyor 1
CNV_START CNV=1 ; start pick & place
CNV_RESET_ENC ; clear the count value of external encoder
CNV_TRIGGER_TIMES = 1 ; sensor is triggered once, add working task
once
CNV_PLACE_BATCH = 1 ; allowable number of time for flying-place in
one working task is one time
CNV_PICK_QUANTITY = 2 ; set the maximum quantity to pick object
WHILE CNV_FULL == FALSE ; go to loop when the quantity on the robot
doesn’t reach the upper limit
CNV_PICK CNV=1 $DO[1] P0 Down=5.000mm FINE Vel=2000mm/s Acc=50%
TOOL[0] BASE[0] ; execute pick
ENDWHILE
IF CNV_OBJECT == 1 THEN ; if the object numbering is 1
CNV_QUEUE_REMOVE[1] ; remove the first queue
ENDIF

446
C05UE202-2006

PTP P1 CONT Vel=100% Acc=50% TOOL[0] BASE[0] ;move to P1


IF CNV_QUEUE_SIZE[1] > 1 THEN ; determine if the queue content is more than
1
IF CNV_OBJ_CNT_DIST[1] > 2600 THEN; determine if the difference value is
more than 2600 ea counts
WHILE CNV_EMPTY == FALSE ; go to loop when the quantity on the
conveyor is not empty
CNV_PLACE CNV=2 $DO[1] P2 FINE Vel=2000mm/s Acc=50% TOOL[0]
BASE[0] ;execute place
ENDWHILE
ENDIF
ENDIF
CNV_END CNV=1 ;end pick & place

447
C05UE202-2006

Register commands:
Commands Description
$C[#] Counter register
$DI[#] Digital input point register
$DO[#] Digital output point register
$PR[#] Robot input point register
$RI[#] Robot output point register
$RO[#] Timer register
$T[#] Start timer register
$T_STOP[#] Valve output register
$VO[#] Counter register

Example:
$C[1] = 0
$DO[1] = TRUE
WAIT FOR $DI[1] == TRUE
$RO[1] = TRUE
WAIT FOR $RI[1] == TRUE
$VO[1] = TRUE
$T_STOP[1] = TRUE
$T[1] = 0
PR Example 1:
$PR[1] = {A1 1 , A2 2 , A3 3 , A4 4 ,A5 5 , A6 6}
$PR[2] = {X 7 ,Y 8 , Z 9 , A 10 ,B 11 , C 12}
$PR[3] = {A1 1 , A2 2 , A3 3 , A4 4 ,A5 5 , A6 6, X 7 ,Y 8 , Z 9 , A 0,B 0, C 0}
PR Example 2:
E6POS A = {X 10 ,Y 10 ,Z 10 ,A 10 ,B 10 ,C 10}
E6AXIS B = {A1 20 , A2 20 , A3 20 , A4 50 ,A5 10 , A6 20}
E6POINT C = {A1 20 , A2 20 , A3 20 , A4 50 ,A5 10 , A6 20 ,X 10 ,Y 10 ,Z 10 ,A
10 ,B 10 ,C 10}
$PR[1] = A
$PR[2] = B
$PR[3] = C
PR Example 3:
$PR[1] = GETPOINT

448
C05UE202-2006

Variable types:
Commands Description
BOOL Boolean variable type
CHAR Character variable type
E6AXIS Angular variable value type
E6POINT Coordinates or angular variable type
E6POS Coordinates variable type
FRAME BASE or TOOL coordinate system
INT Integer variable type
REAL Real point variable type

Example:
BOOL K = TRUE
CHAR COLOR = 'R'
INT I = 0
REAL R = 0

FRAME:
FRAME POINT = {A1 90}

E6POS/E6AXIS:
E6POS POINT = {X 0,Y 300,Z 200}
E6AXIS POINT = {A1 90}
PTP POINT CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

E6POINT:
E6POINT HOME = {Y 200,Z -1000,A 90}
or
E6POINT HOME = {A1 90}
PTP HOME CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]

449
C05UE202-2006

Math Calculation:
Commands Description
ACOS Arc cosine(X)
ASIN Arc sine(X)
ATAN Arc tangent(X)
ATAN2 Arc tangent(X, Y)
COS Cosine(X)
SIN Sine(X)
TAN Tangent(X)

Example:
REAL TESTA
TESTA=ACOS(0)
TESTA=ASIN(0)
TESTA=ATAN(0)
TESTA=ATAN2(0,1)
TESTA=COS(0)
TESTA=SIN(0)
TESTA=TAN(0)

450
C05UE202-2006

Control function
Commands Description
FOR…ENDFOR For loop
GOTO Go to label position
IF…ENDIF IF statement
LOOP…ENDLOOP LOOP
REPEAT…UNTIL Repeat loop
SWITCH…ENDSWITCH Switch statement
WHILE…ENDWHILE While loop

Example:
FOR…ENDFOR:
INT n
FOR n = 0 TO 2 STEP 1
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDFOR
GOTO:
FOUND:
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
GOTO FOUND
IF…ENDIF:
INT n = 1
IF n > 0 THEN
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDIF
LOOP…ENDLOOP:
LOOP
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
ENDLOOP
REPEAT…UNTIL:
INT n =0
REPEAT
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n+1
UNTIL n > 2

451
C05UE202-2006

SWITCH…ENDSWITCH:
INT n =0
LOOP
SWITCH n
CASE 0
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 1
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
CASE 2
EXIT
ENDSWITCH
n=n+1
ENDLOOP
WHILE…ENDWHILE:
INT n = 2
WHILE n > 0
PTP P0 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
PTP P1 CONT=100% Vel=100% Acc=50% TOOL[0] BASE[0]
n=n-1
ENDWHILE

452
C05UE202-2006

Gripper commands:
Commands Description Example
EG_OPEN Connect with XEG series EG_OPEN(Type)
electric gripper
EG_CLOSE Disconnect current XEG EG_CLOSE
series electric gripper
connection
EG_RESET Reset XEG series electric EG_RESET
gripper
EG_GET_STATUS Get XEG series electric IF EG_GET_STATUS == 2 THEN
gripper status …
ENDIF
EG_RUN_MOVE Move XEG series electric EG_RUN_MOVE(10,20)
gripper
EG_RUN_GRIP Grip action of XEG series EG_RUN_GRIP(C,5,L,M)
electric gripper
EG_RUN_EXPERT Grip action and EG_RUN_EXPERT(C,10,20,5,10,100)
movement of XEG series
electric gripper
EG_GET_POS Get XEG series electric IF EG_GET_POS > 5.00 THEN
gripper position …
ENDIF

Other commands
Commands Description Example
ADDTOOL Add tool ADDTOOL ee
ADDOBJECT Add object ADDTOOL table P:500,200
C:200,50
SET_TOOL Set tool coordinate FRAME T_ONE
system T_ONE.X = 100
SET_TOOL 1
SET_TOOL T_ONE
SET_BASE Set base coordinate FRAME B_ONE
system B_ONE.Y = 100
SET_BASE 1
SET_BASE B_ONE

453
C05UE202-2006

SET_OVERRIDE_SPEE Set override speed ratio SET_OVERRIDE_SPEED 100


D
SET_SPEED Set line speed SET_ SPEED 2000
SET_ACC Set acceleration SET_ ACC 250
TRUE_PATH Open or close trajectory TRUE_PATH = TRUE
accuracy control
USER_ALARM Configure user alarm USER_ALARM[1]
SYN Synchronous switch O LIN P1 FINE Vel=100% Acc=50%
pint in motion path TOOL[0] BASE[0]
SYN $DO[1] = TRUE START
DELAY = 50 ms
SYN $DO[2] = TRUE END
DELAY = -50 ms
LIN P2 FINE Vel=100% Acc=50%
TOOL[0] BASE[0]
MOVEFLOOR Move floor position MOVEFLOOR 100
DEFFCT…ENDFCT Define subprogram PTP P0 CONT=100% Vel=100%
Acc=50% TOOL[0] BASE[0]
MY()
DEFFCT INT MY()
PTP P1 CONT=100% Vel=100%
Acc=50% TOOL[0] BASE[0]
RETURN 100
ENDFCT
GETPOINT Get coordinates or E6POINT E6TEST
angular value E6TEST = GETPOINT
AXISON Axis coordinates on AXISON
AXISOFF Axis coordinates off AXISOFF
GET_MOTION_STATU Get motion status INT Istatus
S Istatus = GET_MOTION_STATUS
WAIT SEC Wait second WAIT SEC 10
WAIT FOR $DI[#] Wait digital input WAIT FOR $DI[1] == TRUE
STRUC Define structure STRUC CASTING_TYPE INT
MASS, REAL VOLUME

454
Robot System Software-HRSS 3.3 (Original Instruction) User Manual
Publication Date:June 2020, first edition

1. HIWIN is a registered trademark of HIWIN Technologies Corp. For your protection, avoid buying
counterfeit products from unknown sources.
2. Actual products may differ from specifications and photos provided in this catalog. These differences
may be the result of various factors including product improvements.
3. HIWIN website for patented product directory: http://www.hiwin.tw/Products/Products_patents.aspx
4. HIWIN will not sell or export products or processes restricted under the "Foreign Trade Act" or
related regulations. Export of restricted products should be approved by proper authorities in
accordance with relevant laws and shall not be used to manufacture or develop nuclear, biochemical,
missiles or other weapons.

Copyright © HIWIN Technologies Corp.


Subsidiaries / Research Center

HIWIN GmbH HIWIN Schweiz GmbH HIWIN KOREA HIWIN TECHNOLOGIES CORP.
OFFENBURG, GERMANY JONA, SWITZERLAND SUWON‧CHANGWON, KOREA No. 7, Jingke Road,
www.hiwin.de www.hiwin.ch www.hiwin.kr Taichung Precision Machinery Park,
www.hiwin.eu [email protected] [email protected]
[email protected] Taichung 40852, Taiwan
Tel: +886-4-23594510
Fax: +886-4-23594420
www.hiwin.tw
HIWIN JAPAN HIWIN s.r.o. HIWIN CHINA [email protected]
KOBE‧TOKYO‧NAGOYA‧NAGANO‧ BRNO, CZECH REPUBLIC SUZHOU, CHINA
TOHOKU‧SHIZUOKA.HOKURIKU‧ www.hiwin.cz www.hiwin.cn
HIROSHIMA‧FUKUOKA‧KUMAMOTO, [email protected] [email protected]
JAPAN
www.hiwin.co.jp
[email protected]

HIWIN USA HIWIN SINGAPORE Mega-Fabs Motion Systems, Ltd.


CHICAGO, U.S.A. SINGAPORE HAIFA, ISRAEL
www.hiwin.com www.hiwin.sg www.mega-fabs.com
[email protected] [email protected] [email protected]

HIWIN Srl
BRUGHERIO, ITALY
www.hiwin.it
[email protected]

Copyright © HIWIN Technologies Corp.


The specifications in this catalog are subject to change without notification. ©2020 FORM C05UE202-2006 (PRINTED IN TAIWAN)

You might also like