Turin Robot User Manual

You might also like

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

TURIN

User Manual

V2023
Catalog
1 Safety ...................................................................................................................................................1
1.1 About Safety .............................................................................................................................1
1.2 Applicable Safety Standards .....................................................................................................2
1.3 Safety Terminology ...................................................................................................................3
1.3.1 Safety Signals In the Manual .........................................................................................3
1.3.2 Safety sign on the manipulator tag ...............................................................................3
1.3.3 Danger ...........................................................................................................................6
1.3.3.1 Danger - Make sure the main power is off! .......................................................6
1.3.3.2 Danger - moving the manipulator can have fatal consequences! ..................... 6
1.3.3.3 Danger- -A robot without a shaft brake may be dangerous! .............................7
1.3.4 Warning .........................................................................................................................7
1.3.4.1 Warning-This unit is susceptible to static electricity! ........................................7
1.3.5 What is an emergency stop? .........................................................................................7
1.3.6 What is a safe stop? ...................................................................................................... 8
1.3.7 What is safety protection? ............................................................................................8
1.3.8 How to use the Teach Pendant device safely? ..............................................................8
1.4 How to handle an emergency? ................................................................................................ 8
1.4.1 Stop the system .............................................................................................................8
1.4.2 Release the robot brake ..............................................................................................10
1.4.3 Fire fighting ................................................................................................................. 10
1.4.4 Recovery from the emergency stop state ...................................................................10
1.4.5 Return to the programming path ................................................................................11
1.5 Safety matters at work ...........................................................................................................12
1.5.1 Overview ..................................................................................................................... 12
1.5.2 Self-safety ................................................................................................................... 12
1.5.3 Disposal of Teach Pendant .......................................................................................... 12
1.5.4 Safety Tools ................................................................................................................. 13
1.5.5 Safety in manual mode ............................................................................................... 13
1.5.6 Security in automatic mode ........................................................................................14
2 Product composition .........................................................................................................................15
2.1 The Teaching Instrument ....................................................................................................... 15
2.1.1 Appearance of the Device ...........................................................................................15
2.1.2 Key function description ............................................................................................. 15
2.1.3 Teach Pendant of the interface layout ........................................................................16
2.2 TRC 3-A04 control cabinet ..................................................................................................... 16
2.2.1. Appearance of the control cabinet ............................................................................ 16
2.2.2 Adaptive Robot--STG030 .............................................................................................20
2.2.3Adaptive Robot--STG100 ............................................................................................. 21
2.2.4 Adaptive Robot--STH100 .............................................................................................21
2.2.5 Adaptive Robot--STW030 ........................................................................................... 23
2.2.6 Adaptive Robot--STW060 ........................................................................................... 24
2.3 TRC 3-A06 control cabinet ..................................................................................................... 25
2.3.1 Appearance of the control cabinet ............................................................................. 25
2.3.2 Adaptive Robot--STH200 .............................................................................................28
2.3.3 Adaptive Robot--STH500 .............................................................................................29
2.3.4 Adaptive Robot--TRB050 ............................................................................................ 30
2.3.5 Adaptive Robot--TKB060 .............................................................................................31
2.3.6 Adaptive Robot--TKB070 .............................................................................................32
2.3.7 Adaptive Robot--TKB1210 ...........................................................................................33
2.3.8 Adaptive Robot--TKB800 .............................................................................................34
2.4 TRC 5-B06 control cabinet ..................................................................................................... 35
2.4.1 Appearance of the control cabinet ............................................................................. 35
2.4.2 Adaptive Robot--TKB1400 ...........................................................................................39
2.4.3 Adaptive Robot--TKB1440 ...........................................................................................40
2.4.4 Adaptive Robot--TKB1900 ...........................................................................................41
2.4.5 Adaptive Robot--TKB2030 ...........................................................................................42
2.4.6 Adaptive Robot--TKB1600 ...........................................................................................43
2.4.7 Adaptive Robot--TKB2670 ...........................................................................................44
2.4.8 Adaptive Robot--TKB2690 ...........................................................................................45
2.4.9 Adaptive Robot--TKB6300 ...........................................................................................46
2.4.10 Adaptive Robot--TKB460 ...........................................................................................47
2.4.11 Adaptive Robot--TKB4600 ........................................................................................ 48
2.5 TRC 3-C06 control cabinet ......................................................................................................50
2.5.1 Appearance of the control cabinet ............................................................................. 50
2.5.2 Adaptive Robot--TKB5600 ...........................................................................................52
2.5.3 Adaptive Robot--TKB5700 ...........................................................................................53
2.5.4 Adaptive Robot--TKB6700 ...........................................................................................54
2.5.5 Adaptive Robot--TKB3670 ...........................................................................................55
2.5.6 Adaptive Robot--TKB5800 ...........................................................................................56
3. Basic knowledge of robotics ............................................................................................................ 57
3.1 Coordinate system of the robot .............................................................................................57
3.1.1 Right-hand coordinate system .................................................................................... 57
3.1.2 Euler angle definition ..................................................................................................57
3.1.3 Robotic reference frame ............................................................................................. 57
3.1.3.1 Base base frame ...............................................................................................57
3.1.3.2 User coordinate system ................................................................................... 58
3.1.4 Robot tool coordinates ............................................................................................... 59
3.1.5 Left and right hands of the Scara robot ...................................................................... 59
3.2 Zero point position of the robot ............................................................................................ 59
3.3 Singular point and working range space ................................................................................60
3.3.1 Singular point ..............................................................................................................60
3.3.2 Inaccessible zone of the robot ....................................................................................61
4. Robot debugging tools .....................................................................................................................62
4.1 Teach Pendant ........................................................................................................................62
4.1.1 Introduction of key function ....................................................................................... 62
4.2 Remote debugging tool ......................................................................................................... 63
4.2.1 Introduction of the TeachTool software ..................................................................... 63
4.2.1.1 Overview .......................................................................................................... 63
4.2.1.2 Function ........................................................................................................... 63
4.2.2 Download address and installation steps ................................................................... 63
5 Controller parameters .......................................................................................................................67
5.1 Basic setting ........................................................................................................................... 67
5.1.1 Cart param .................................................................................................................. 67
5.1.2 Joint param ................................................................................................................. 68
5.2 Introduction to the SW maintenance .................................................................................... 68
5.2.1 SW backup of the SW maintenance ........................................................................... 69
5.3 System setting ........................................................................................................................70
5.3.1 EtherCat ...................................................................................................................... 70
5.3.2 Kernel mode configuration ......................................................................................... 70
6 Software instructions ....................................................................................................................... 72
6.1 Variable operation ................................................................................................................. 72
6.1.1 Common variable type definition ............................................................................... 72
6.1.1.1 DIGITAL .............................................................................................................72
6.1.1.2 STRING ............................................................................................................. 72
6.1.1.3 POINT ............................................................................................................... 73
6.1.2 Implicitly declared variables. ...................................................................................... 73
6.1.3 Input / Output .............................................................................................................74
6.1.3.1 I/O control ........................................................................................................74
6.1.3.2 DA control ........................................................................................................ 75
6.1.4 Format description ......................................................................................................76
6.2 Movement instruction ........................................................................................................... 77
6.2.1 Common motor commands ........................................................................................78
6.2.1.1 Type of joint movement ...................................................................................78
6.2.1.2 Linear movement .............................................................................................79
6.2.1.3 Arc motion ....................................................................................................... 80
6.2.1.4 Full Circle Motion .............................................................................................81
6.2.1.5 Type of cooperative movement .......................................................................81
6.2.2 Logic instructions ........................................................................................................ 82
6.2.2.1 if...else(&&||) .................................................................................................. 83
6.2.2.2 While ................................................................................................................83
6.2.2.3 For .................................................................................................................... 83
6.2.2.4 Swtich ...............................................................................................................83
6.2.3 Coordinate instructions .............................................................................................. 84
6.2.3.1 Coordinate system instruction .........................................................................84
6.2.3.2 Point instruction .............................................................................................. 85
6.2.4 Procedure Control Instruction .................................................................................... 86
6.2.4.1 Trigger during motion ...................................................................................... 86
6.2.4.2 Movement pause and program stop ............................................................... 86
6.2.4.3 subsystem ........................................................................................................ 87
6.3 Common keywords and special functions ............................................................................. 88
6.3.1 DEFINE .........................................................................................................................88
6.3.2 PrintMsg ......................................................................................................................88
7. Basic operation function ..................................................................................................................89
7.1 Base point .............................................................................................................................. 89
7.2 Interference ........................................................................................................................... 90
7.3 Safe Area Setting ....................................................................................................................91
7.4 Safety door .............................................................................................................................92
7.5 Prog Start ............................................................................................................................... 92
7.6 Alarm ......................................................................................................................................94
7.7 IO group ................................................................................................................................. 95
8 Background program ........................................................................................................................ 98
8.1 Background functions of the robot ........................................................................................98
8.1.1 Background program .................................................................................................. 98
8.1.2 Commonly Used Background Function ...................................................................... 99
8.1.3 Background common program cases ....................................................................... 100
8.1.3.1 Catch the edge trigger of IO signal trigger .....................................................100
8.1.3.2 Background script to switch foreground programs ....................................... 100
8.1.3.3 Movement judgement of the robot .............................................................. 102
8.1.3.4 Reservation function in the background ....................................................... 103
8.1.4 The Background TCP communication ....................................................................... 105
8.1.4.1 Robot Ethernet setup .....................................................................................105
8.1.4.2 Server /Client ................................................................................................. 110
8.1.4.3 Case:Send and receive unknown coordinate points ..................................... 110
8.1.4.4 Send and receive int data .............................................................................. 114
8.1.4.5 Send and receive hex data .............................................................................115
9 Industrial fieldbus communication ................................................................................................. 117
9.1 Remote operation of the robot ........................................................................................... 117
9.1.1VNC Mapping the presentation device interface ...................................................... 117
9.2 ModbusTCP .......................................................................................................................... 117
9.3 MC protocol 3E frame format ..............................................................................................125
9.3 The FINS protocol .................................................................................................................135
9.4 EtherNetIP ............................................................................................................................143
9.4.1, the internal setting of the robot .............................................................................. 143
9.4.2 Hardware architecture ..............................................................................................144
9.4.3 Internal PLC settings ................................................................................................. 144
9.4.4 Communication examples ........................................................................................ 144
9.5 network instructions in Xml format .....................................................................................146
9.5.1 TCP / IP communication configuration ..................................................................... 146
9.5.2 IP address configuration and communication .......................................................... 146
9.5.3 Command package format ........................................................................................146
9.5.4 Command introduction .............................................................................................148
9.6 Class EtherCat communication ............................................................................................ 170
9.6.1 External Shaft ............................................................................................................170
9.6.1.1 Hardware configuration .................................................................................170
9.6.1.2 System configuration ..................................................................................... 171
9.6.1.3 External axis collaborative calibration ........................................................... 172
9.6.1.4 Cooperative calibration verification of external axes .................................... 174
10 Universal industry process package ..............................................................................................175
10.1 Pallet .................................................................................................................................. 175
10.1.1 typical palletizing application ................................................................................. 175
10.1.2 Pallet setting ........................................................................................................... 175
10.1.3 Program preparation .............................................................................................. 176
10.2 Visual ..................................................................................................................................180
10.2.1 visual basic setting .................................................................................................. 180
10.2.2 Parameter resolution .............................................................................................. 180
10.2.3. Explanation of process instruction ........................................................................ 181
10.2.4 Program instance .................................................................................................... 182
10.2.5 using the background prog ..................................................................................... 183
10.2.7 foreground program ............................................................................................... 186
10.3 tracking method ..............................................................................................................186
10.3.1 tracking the hardware settings ............................................................................... 186
10.3.2 Suggestions for installation .....................................................................................188
10.3.3 Description of the algorithm ...................................................................................189
10.3.4 Process Settings ...................................................................................................... 190
10.3.4.1Process settings ............................................................................................ 190
10.3.4.2 Tracking ........................................................................................................ 191
10.3.4.3 Disk track calibration ................................................................................... 192
10.3.5 Instructions resolution ............................................................................................193
10.3.6 Procedure cases ...................................................................................................... 198
10.4 Punch ................................................................................................................................. 200
10.4.1 General ....................................................................................................................200
10.4.1.1 Ctrl options .................................................................................................. 200
10.4.1.2 Display options .............................................................................................200
10.4.2 Online Settings ........................................................................................................202
10.4.2.1 Robot online setting .....................................................................................202
10.4.2.2 Punch online settings ...................................................................................203
10.4.2.3 Feeding mach online settings ...................................................................... 203
10.4.3 Operation ................................................................................................................ 204
10.4.3.1 Variable cylinder settings .............................................................................204
10.4.3.2 Fixture settings ............................................................................................ 204
10.4.3.3 Loadina pt cyclic shift ...................................................................................205
10.4.3.4 Unloading pt cyclic shift ...............................................................................206
10.4.4 Teach template ....................................................................................................... 208
10.4.4.1 Polints .......................................................................................................... 208
10.4.4.2 Path .............................................................................................................. 208
10.4.4.3 Template ...................................................................................................... 209
10.4.5 Reset ....................................................................................................................... 210
10.4.6 Other Settings ......................................................................................................... 210
10.4.6.1 Interference ................................................................................................. 210
11 Turin robot welding industry basic configuration .........................................................................213
11.1 Supported types of welding machine and communication ...............................................213
11.2 The Turin robot expands the external axis mode .............................................................. 216
11.3 welding overview ...............................................................................................................217
11.3.1 Setting of the welding process parameters ............................................................ 217
11.3.1.1 General .........................................................................................................217
11.3.1.2 Arc start ........................................................................................................219
11.3.1.3 Restart ..........................................................................................................221
11.3.1.4 Arc end .........................................................................................................223
11.3.1.5 Re-arcstart ....................................................................................................224
11.3.1.6 Scratch start ................................................................................................. 225
11.3.1.7 Wire stick ..................................................................................................... 226
11.3.1.8 V mapping ....................................................................................................227
11.3.1.9 A mapping ....................................................................................................229
11.3.1.10 Weaving ..................................................................................................... 230
11.3.1.11 Spot welding .............................................................................................. 231
11.3.1.12 Touching search ......................................................................................... 232
11.3.1.13 Arc track .....................................................................................................233
11.3.1.14 Laser search ............................................................................................... 236
11.3.1.15 Welding l0 def ............................................................................................238
11.4 Welding trajectory planning and programming ................................................................ 239
11.4.1 Robot motion mode ................................................................................................239
11.4.2 simple workpiece welding ...................................................................................... 239
11.4.3 Welding track of duplex stations or more stations .................................................240
11.4.4 welding instruction editing ..................................................................................... 241
11.4.4.1 Linear-line welding instruction .................................................................... 244
11.4.4.2 Arc welding instruction ................................................................................245
11.4.4.3 Vertical arc welding instructions ..................................................................247
11.4.4.4 Continuous-point welding command .......................................................... 248
11.4.4.5 Return welding instruction .......................................................................... 248
11.5 Laser tracking .....................................................................................................................249
11.5.1 The Turing robot teaching device page operation ..................................................249
11.5.1.1 The Turing robot system upgrade ................................................................249
11.5.1.2 Show ator key introduction ......................................................................... 252
11.5.2 Preparation before installation of the laser weld tracker .......................................254
11.5.2.1 Item preparation ..........................................................................................254
11.5.2.2 Software preparation ...................................................................................254
11.5.3Installation and wiring of the weld tracker ..............................................................254
11.5.3.1 The sensor is connected to the control cabinet .......................................... 254
11.5.3.2 Sensor installation ....................................................................................... 255
11.5.4 Laser weld tracker setup .........................................................................................255
11.5.4.1Laser Weld Tracker firmware version ........................................................... 255
11.5.4.2 Laser weld tracker firmware update ............................................................255
11.5.5 Configuration of communication parameters ........................................................ 256
11.5.5.1 Sensor communication settings ...................................................................256
11.5.5.2 Robotic communication settings ................................................................. 256
11.5.6 Calibrate ..................................................................................................................258
11.5.6.1Tool calibration ............................................................................................. 258
11.5.6.2 Monitoring of the laser tracking ..................................................................259
11.5.6.3 Laser calibration ...........................................................................................261
11.5.6.4 Laser verification ..........................................................................................263
11.5.7 Laser tracking instructions ......................................................................................264
11.5.7.1Laser tracking begins .................................................................................... 264
11.5.7.2 Laser tracker parameter settings ................................................................. 265
11.5.7.3 Real-time tracking program ......................................................................... 267
11.5.7.4 Single point search bit change posture ....................................................... 268
11.5.7.5 Two points to change posture ..................................................................... 269
11.5.7.6 Four points to find a position to change posture ........................................ 270
11.5.7.7 Commonly used instructions ....................................................................... 271
11.5.7.8 Common operation of laser location finding ...............................................272
1 Safety
1.1 About Safety
This chapter describes the safety principles and procedures for operating a robot or a robot
system.
This manual gives a comprehensive description of the composition and operation of Turin
industrial robots. Please be sure to read and fully understand the basis of the operation of the
robot.
The illustration in the maintenance manual removes the cover or safety cover for drawing for
details. When operating such parts, be sure to restore the cover or safety cover as specified, and
then run according to the instructions.
The drawings and photos in the manual are representative examples and may be different from
the purchased products.
The manual is sometimes modified due to product improvement, specification change, the fact
that the manual itself is easier to use and other appropriate reasons.
The company is not responsible for the customer's unauthorized modification of the product,
which is not within the scope of warranty.

1
1.2 Applicable Safety Standards
The manipulator system is designed to meet the following requirements:
Standard
Standard Explain
EN ISO 12100-1 Safety of machinery - Basic concepts,general principles for design - Part
1:Basic terminology,methodology
EN ISO 12100-2 Safety of machinery - Basic concepts,general principles for design - Part
2:Technical principles
EN ISO 13849-1 Safety of machinery,safety related parts of control systems - Part
1:General principles for design
EN ISO 13850 Safety of machinery - Emergency stop - Principles for design
EN ISO 10218-1 Robots for industrial environments - Part 1
EN ISO 9787 Manipulating industrial robots, coordinate systems, and action naming
EN ISO 9283 Manipulating industrial robots, performance standards, and associated
test methods
EN ISO 14644-1 Ergonomics of the thermal environment - Part 1
EN ISO 13732-1 EMC,Generic emission
(Optional 129-1)
EN 61000-6-2 EMC,Generic immunity
EN IEC 60974-1 Welding arc part-Part 1: Welding power supply
EN IEC 60204-10 Arc welding equipment - Part 10:EMC requirements
EN 60204-1 Safety of machinery - Electrical equipment of machines - Part 1 General
requirements
IEC 60529 Degrees of protection provided by enclosures(IP code)
European Standard
Standard Explain
EN 614-1 Safety of machinery - Ergonomic design principles - Part 1:Terminology
and general principles
EN 574 Safety of machinery - Two - hand control devices - Functional aspects -
Principles for design
EN 953 Safety of machinery - General requirements for the design and
construction of fixed and movable guards
Other Standards
Standard Explain
ANSI/RIA R15.06 Safety Requirements for Industrial Robots and Robot Systems
ANSI/UL 1740 Safety Standard for Robots and Robotic Equipment
(Optional 429-1)

2
1.3 Safety Terminology
1.3.1 Safety Signals In the Manual

Safety Signal Profile


This section will clearly state all dangerous that may arise when performing the work described
in this manual. Each hazard includes:
Title indicating the hazard grade (danger, warning or caution) and type of hazard.
Brief description of what happens when the operator / maintenance personnel do not
eliminate the danger.
Instructions on how to eliminate hazards to simplify work execution.
Danger Classes
The following below defines the icons defining the hazard levels used in this manual.
Sign Name Meaning
Danger Signal words used to indicate emergency dangerous
situations, if not avoided, result in serious injury.

Warn Signal words used to indicate potentially dangerous


situations that, if not avoided, may cause serious
injury.

Electric Shock Signal words used to indicate potentially dangerous


situations associated with electrical hazards and, if not
avoided, may have serious consequences.

Take Care Signal words used to indicate potentially dangerous


situations that, if not avoided, may result in minor
injuries.

Electrostatic Signal words used to indicate potentially dangerous


Discharge (ESD) conditions which, if not avoided, may cause serious
damage to the product.

Pay Attention Signal words used to indicate important facts and


situations.

1.3.2 Safety sign on the manipulator tag


Tag Profile
This section describes the safety marks used on the manipulator label.
Marks are used in combination on the labels, describing each specific warning. The description in
this section is a general description, and the labels may contain additional information such as
values.
Tags Type
Both the manipulator and the controller are labeled with several security and information labels

3
that contain important information about the product.
Sign on the Safety Label
Sign Explain
Warn!
If you do not follow the instructions, an accident may occur, which can
cause serious injury or significant damage to the product.

Take Care!
Without following the instructions, accidents that cause injury and
product damage may occur.

Prohibit!

Product Manuals

Before disassembly, please refer to the product manual.

Do Not Disassemble

Extended Rotation

Risk of overturning when loosening the bolts

Sign Explain
Squeeze
Risk of crush injury

4
Brake Release

High temperature danger, do not touch

It is prohibited to enter the working range of the robot when it is working

Brake Release Button

Ring

Lift the Robot

Stoppage of Machine

5
Sign Explain
Oil
If oil is not allowed, it can be used in combination with the prohibition
sign

Storage of Energy
Warning, this part contains energy.
Used in conjunction with the "Do Not Disassemble" sign.

Pressure
Warning, this part is compressed, usually contains additional text with
pressure level.

Turn off with a handle


Use the power switch on the controller.

1.3.3 Danger
1.3.3.1 Danger - Make sure the main power is off!
High-pressure operations can have fatal consequences. To avoid these consequences, be sure to do
the following before you work:
Close the master switch on the control cabinet:

Pic 1-1 Close the master switch on the control cabinet


1.3.3.2 Danger - moving the manipulator can have fatal consequences!
Moving the manipulator can damage the machine.
When running the manipulator, the robot may perform some unexpected or irregular movements.

6
Moreover, all movements produce large forces that endanger people or damage any equipment
within the operating range of the manipulator.
To avoid the above consequences, be sure to perform the following operations before the
Operation:
Be sure to install and connect the emergency stop device correctly before running.
Ensure that there is no personnel activity in the robot working range before pressing the start
button.
1.3.3.3 Danger- -A robot without a shaft brake may be dangerous!
The robot arm system is very heavy and can be dangerous if the brake is not connected, if it is
connected incorrectly, if it is damaged, or if any malfunction renders it inoperable.
To avoid the above consequences, be sure to perform the following operations before the
Operation:
If it is suspected that the brake can not be used properly, other methods should be used to ensure
the safety of the robot arm system before operation;
If you plan to disable the brake from the external power supply, please pay attention to the
following matters:

When the brake is disabled, never stand within the operating limits of the robot (unless
another method is used to support the arm system)!

Never stand under the robot axis under any circumstances!


1.3.4 Warning
1.3.4.1 Warning-This unit is susceptible to static electricity!
ESD (electrostatic discharge) is the conduction of static electricity between two objects with
different electrical potentials, which can be transmitted either by direct contact to or by induced
electric fields. When handling parts or containers of parts, ungrounded personnel may conduct a
large electrostatic charge. This discharge process may damage sensitive electronic equipment.
To avoid the above consequences, be sure to perform the following operations before the
Operation:
Use ESD protection mat: must be grounded by current limiting resistance;
Use antistatic table pad: it shall control static discharge and must be grounded.
1.3.5 What is an emergency stop?
Definition
The emergency stop is independent of all robot electrical controls and can stop all robot
movements. The emergency stop means that all the power supply connected to the robot is
disconnected, but the power supply on the servo motor is not disconnected, so the emergency stop
button must be released and the robot restarted.
Stop can be divided into
Runaway Stop, which stops the robot by cutting power to all servo motors;
Controllable stop, by sending a command to the servo motor to make the robot walk the current
path before stopping the power supply.

It can only be used for its specific purposes and established conditions.

Used to stop the equipment immediately in case of an emergency.

Should not be used for normal program stop as this may cause additional unnecessary wear
on the manipulator.

7
1.3.6 What is a safe stop?
Definition
Also called a protective stop, only disconnect the power supply of the manipulator motor. Just
reconnect the motor power supply to return to normal operation.

It can only be used for its specific purposes and under set conditions;

Should not be used for normal program stop and may cause additional unnecessary wear of the
manipulator.
Security stop type
safety stop description
Automatic mode Disconnect the automatic mode drive power supply
stop (AS) In manual mode, this input is inactive
Routine Stop (GS) Disconnect drive power in all operating modes
Higher-level stop Disconnect drive power in all operating modes
(SS) Dedicated to external devices

1.3.7 What is safety protection?


Definition
With the help of protective devices to keep workers away from hazards that cannot be reasonably
eliminated or completely eliminated by design.

It can only be used for its specific purposes and under set conditions;

Should not be used for normal program stop and may cause additional unnecessary wear of the
manipulator.
Security protection space
Protection range of the protection device.
Security protection mechanism
Contains many protective devices in series. When a protective device is started, the protective chain
is disconnected and the machine stops running.
1.3.8 How to use the Teach Pendant device safely?
The Dead Man Switch is located on the right side of the demonstrator and is only useful in the
teaching mode, and is divided into three positions: disconnect, press and repress. The servo motor
is not powered when disconnected or pressed (in case of no operation or emergency), and powered
when pressed.
To ensure safe use of the Teach Pendant, be sure to follow the following rules:
At any time, we must ensure that the actuating device can work normally;
In the process of programming and testing, the manipulator must be released as soon as possible
when it does not need to move;
When entering the robot workspace, the operator must carry the Teach Pendant with him to
prevent others from touching the Teach Pendant.
1.4 How to handle an emergency?
1.4.1 Stop the system
Press the emergency stop button immediately in the following situations:
When the robot is running, there are staff in the working area;
When endangering people and damaging equipment.

8
Emergency stop button

Pic 1-2 Emergency stop button on the Teach Pendant


Emergency stop button: the red button located in front of the control cabinet. It can also be set up
according to the user's needs.
SCARA control cabinet

Pic 1-3 Emergency stop button on SCARA control cabinet


control cabinet

9
Pic 1-4 Emergency stop button on control cabinet
Other emergency stop equipment
User and designer can place other emergency stop equipment in the appropriate position according
to the actual situation.
1.4.2 Release the robot brake
The robot brake shall be released manually when charged. When the controller power switch is
"on", the power supplies power even if the system is in emergency.
Battery powered
Use batteries to power the brake system.
Brake brake release button
Robots have different models and different button positions. Please refer to the details of the
different robots and remember the button position.

Pay Attention
Before releasing the brake brake, always consider:
How will the robotic arm move?
What is the impact on the winding piece?

Danger
Release of the brake may cause personnel injury or property damage. Do this only with caution if
necessary.
If necessary, use an overhead crane, forklift or other equipment to protect the robot arm;
Make sure that the robot is powered on;
Ensure that when the brake release, will not increase the damage of the wound workpiece;
Press the appropriate brake release button to release the brake brake.
1.4.3 Fire fighting
Pay Attention
In case of fire, please ensure that all personnel are evacuated safely before extinguishing the fire.
Priority should be given to the injured personnel.
The choice of fire extinguisher
Use a carbon dioxide fire extinguisher when the electrical equipment catches fire.
1.4.4 Recovery from the emergency stop state
This step is a simple but very important step. Ensure that the control system resumes operation only

10
after the danger is completely removed.
Reset the emergency stop button
Emergency stop can be released by turning or pulling the emergency stop button.
Recovery from the emergency stop state
Ensure that all hazards are eliminated;
Locate and reset the equipment causing an emergency stop state;
Rotate or remove the emergency stop button.
1.4.5 Return to the programming path
Cutting off the power supply of the robot motor easily leads to the loss of the robot programming
path. Emergency stop or safety stop may also cause path loss.
Allowed slip distance is configured by the system parameters. Differs by the mode of operation.
If the robot is not within the allowable distance set, the robot can be returned to the programming
path, or located to the next programming point in the path, and then the program automatically
continues to execute at the speed of editing in the program.

11
1.5 Safety matters at work
1.5.1 Overview
About the robot
The robot is of high quality and powerful. A pause or stop in motion can be dangerous. Even if the
movement trajectory can be predicted, the external signal has the potential to change the
operation, producing unexpected movements without any warning.
Be sure to follow all safety regulations when entering the protected spaces.
About this section
This section describes some of the most basic regulations that users need to follow. In practice,
should be specific problem specific analysis.
1.5.2 Self-safety
General Principles
If there are staff in the protection space, please operate the robot system manually.
When entering the protective space, please bring the Teach Pendant with you to control the robot
at any time.
Pay attention to the rotating or moving tools, and ensure that these tools have stopped moving
before approaching the robot.
Note the high-temperature surface of the workpiece and the robotic system. The motor
temperature is very high after running for a long time.
Pay attention to the fixture and make sure the workpiece is clamped properly. If the fixture is open,
the workpiece can fall off and endanger personal safety or cause damage to the equipment. If the
clamps are strong and not operated in the correct way, personal safety is also at risk.
Pay attention to the hydraulic and pneumatic systems and live components. Even if the power is cut
off, the residual power supply is also very dangerous.
Disconnect the Teach Pendant
Store the Teach Pendant safely after being disconnected from the robot unit or controller. In case of
danger, use the Teach Pendant to stop the robot.

Note: The Teach Pendant shall be stored in an appropriate manner to avoid being mistaken as
still connected to the controller.
Custom Teach Pendant connection
After the display is connected (except the supply cable and standard connector), the emergency
stop button must work properly.
If you use a custom connection, test the emergency stop button regularly.
1.5.3 Disposal of Teach Pendant
Disposal of Teach Pendant
The Teach Pendant is a high quality handheld terminal. To avoid the failure or damage caused by the
improper operation, please follow this instructions during the operation. The Teach Pendant is only
for the purposes specified in this manual.
Handling and cleaning
Handle with care. Do not break or malfunction by dropping, throwing or pounding on the
demonstrator;
When there is no need to use the teaching device, please place it in the corresponding position to
avoid falling;
Do not press the display cable;
Use the touch screen with a finger or touch pen, do not use sharp objects to avoid damage to the
touch screen;

12
Clean the touch screen regularly;
Do not use solvent, detergent or scrub sponge cleaner. Use a soft cloth dipped in a small amount of
water or a neutral detergent.
When there is no need to connect USB equipment, cover the USB port to avoid connection
interruption or failure;

Note: The Teach Pendant shall be stored in an appropriate manner to avoid being mistaken as
still connected to the controller.
Cable and power supply
Turn off the power supply before opening the Teach Pendant cable entry area. Otherwise, the
components may be damaged or have unknown signals;
Ensure that any personnel will not trip over the cable to avoid the equipment falling;
Avoid the extrusion of other objects to avoid damage to the cable;
Do not place the cable on sharp edges to damage the cable skin.
Waste Disposal
Compliance when disposing of electronic components! When replacing the components, please
dispose of the used components correctly.
The foreseeable abuse of the devices
Means prohibiting the enabled device to be stuck in the enabled position. The foreseeable abuse of
the devices must be strictly restricted.
When you release the enabled device and then press it again, make sure that the system is closed
before pressing again, otherwise you will receive an error message prompt.
1.5.4 Safety Tools
Security protection mechanism
The robot systems can be equipped with a wide variety of safety protection devices.
The controller has three independent safety protection mechanisms, respectively:
General Mode Safety Protection Stop (GS): always valid in any operating mode;
Automatic Mode security protection stop (AS): it is only valid when the system is in automatic
mode;
Master Security Stop (SS): always valid in any mode of operation.
Security monitoring
Emergency stop and safety protection mechanisms are monitored to stop the robot when the
controller detects any fault.
Limit the working scope of the robot
Can be restricted by a mechanical stop, a software function, or a combination of both.
1.5.5 Safety in manual mode
Brief Introduction
Teaching mode for programs to create, store, and test robot paths and locations.
Use the key switch to select the manual mode to effectively prevent accidental touch. In manual
mode, the robot is started by the enabling switch on the monitor, which is divided into three stages:
break, press and pressure. The robot motor can be started only when the enabling switch is pressed,
and the machine will not move when disconnected or stressed.
Service Speed
In the manual mode, the movement speed of the manual teaching robot can be set autonomously.
Top speed is 25% of the rated speed.

13
1.5.6 Security in automatic mode
Brief Introduction
The automatic mode is used to run the robotic programs in the production.
Effective safety and protection mechanism
In the automatic mode, the General Mode Safety Protection Stop (GS) mechanism, the Automatic
Mode security protection stop (AS) mechanism, and the Master Security Stop (SS) mechanism are
all active.
Processing process interference
Process interference can affect specific robotic cells and even entire system chains. The chain of
events may result in dangerous operations not being known when operating individual robot cells.
Therefore, the person performing all remedial actions must be familiar with the entire production
line.

14
2 Product composition
2.1 The Teaching Instrument
2.1.1 Appearance of the Device
The appearance of the Teach Pendant is 290 * 240 * 53 (mm), with 12 log keys, 4 program control
keys, 4 custom function keys, emergency stop switch, enabling switch, mode switch, the operating
temperature is-30℃~80℃.
The Teach Pendant is a human-computer interaction device. It can realize the operation robot
movement, complete the teaching programming, realize the system setting, fault diagnosis and
other operations. The front includes an emergency stop switch, a touch display, and touch buttons.
The enabling switch is on the right side of the Teach Pendant for the operator to hold during
operation.

Pic 2-1 The Teach Pendant


2.1.2 Key function description
key function
F1 Preset button.
F2
F3
F4
J1- Joint 1 moves in the negative direction or toward the X axis
J1+ Joint 1 moves in the positive direction or toward the X axis
J2- Joint 2 moves in the negative direction or toward the Y axis
J2+ Joint 2 moves in the positive direction or toward the Y axis
J3- Joint 3 moves in the negative direction or toward the Z axis
J3+ Joint 3 moves in the positive direction or toward the Z axis
J4- Joint 4 moves in the negative direction or toward the RX
J4+ Joint 4 moves in the positive direction or toward the RX
J5- Joint 5 moves in the negative direction or negatively toward the RY
key function
J5+ Joint 5 moves in the positive direction or toward the RY
J6- Joint 6 moves in the negative direction or toward the RZ
J6+ Joint 6 moves in the positive direction or toward the RZ
SA START (Start) button, automatic (reproduce) mode to start the execution

15
program;
Manual (teach) mode starts a single-step run
BK Return to zero button, press and hold the robot joint to zero, release the stop
movement
ST STOP (Stop) button, automatic (reproduce) mode stop program execution
FW Clear the drive alarm push button

2.1.3 Teach Pendant of the interface layout


The Teach Pendant uses an 8-inch TFT resolution 1024 * 768 LCD display.

Pic 2-2 Interface of the Teach Pendant


The interface layout is as follows:
The top of the interface from left to right are: coordinate system selection for manual operation,
tool coordinate selection, user coordinate selection, operation status, servo status, alarm status,
demonstration status and manual operation speed selection;
The second line is the main menu, including 8 main menu choices;
A program content display area on the left side of the center, showing the content of the programs
written and run;
The right side of the middle, from top to bottom, shows the joint real-time coordinate display value
and command position value respectively, and the lower half shows the IO status real-time display;
At the bottom is the operation button area under each menu;
Real-time status and alarm information display bar at the bottom.
2.2 TRC 3-A04 control cabinet
2.2.1. Appearance of the control cabinet
Adapter robot model: STG030, STG100, STH030, STH100, STW030, STW060
On the front panel of the control cabinet, there are a power switch, emergency stop switch,
automatic hand switch, door lock and various buttons / indicator lights. The monitor is placed

16
directly above the control cabinet, and there is an interconnection cable interface on the side of the
control cabinet.
Control cabinet appearance

Pic 2-3 TRC3-A04 Control cabinet appearance


External dimension diagram of the control cabinet

Pic 2-4 External dimension diagram of the TRC3-A04 control cabinet


Electric Installation Drawing
Electrical drawings are mainly divided into four parts: power supply, control system, servo and user
interface
Customer Interface:
The IO board has DB15, DB25 and DB9:
DB9 internal input is connected to the anti-collision switch signal, hand press signal, program stop
signal, etc. Without external power supply, directly use the fast plug internal power supply.

Note: The IO board does not use internal power supply, but uses external 24V power supply.

17
Pic 2-5 Electric Installation Drawing of Customer Interface

18
Pic 2-6 Electric Installation Drawing of Customer Interface

19
2.2.2 Adaptive Robot--STG030
Robot Ontology

Pic 2-7 The appearance of STG030


Parameter Diagram

Pic 2-8 Parameter diagram of STG030

20
2.2.3Adaptive Robot--STG100
Robot ontology

Pic 2-9 The appearance of STG100


Parameter diagram

Pic 2-10 Parameter diagram of STG100

2.2.4 Adaptive Robot--STH100


Robot ontology

21
Pic 2-11 The appearance of STH100
Parameter diagram

Pic 2-12 Parameter diagram of STH100

22
2.2.5 Adaptive Robot--STW030
Robot ontology

Pic 2-13 The appearance of STW030


Parameter diagram

Pic 2-14 Parameter diagram of STW030

23
2.2.6 Adaptive Robot--STW060
Robot ontology

Pic 2-15 The appearance of STW060


Parameter diagram

Pic 2-16 Parameter diagram of STW060

24
2.3 TRC 3-A06 control cabinet
2.3.1 Appearance of the control cabinet
Adaptation of the robot model: STH200, STH500, TRB050, YKB060, TKB070, TKB1210,
On the front panel of the control cabinet, there are a power switch, emergency stop switch,
automatic hand switch, door lock and various buttons / indicator lights. The monitor is placed
directly above the control cabinet, and there is an interconnection cable interface on the side of the
control cabinet.
Control cabinet appearance

Pic 2-17 TRC3-A06 Control cabinet appearance


External dimension diagram of the control cabinet

Pic 2-18 External dimension diagram of the TRC3-A06 control cabinet


Electric Installation Drawing
Electrical drawings are mainly divided into four parts: power supply, control system, servo and user

25
interface.
Customer Interface:
The IO board has DB15, DB25 and DB9:
DB9 internal input is connected to the anti-collision switch signal, hand press signal, program stop
signal, etc. Without external power supply, directly use the fast plug internal power supply. Note:
The IO board does not use internal power supply, but uses external 24V power supply.

Pic 2-19 Electric Installation Drawing of Customer Interface

26
Pic 2-20 Electric Installation Drawing of Customer Interface

Pic 2-21 Electric Installation Drawing of Customer Interface

27
2.3.2 Adaptive Robot--STH200
Robot ontology

Pic 2-22 The appearance of STH200


Parameter diagram

Pic 2-23 Parameter diagram of STH200

28
2.3.3 Adaptive Robot--STH500
Robot ontology

Pic 2-24 The appearance of STH500


Parameter diagram

Pic 2-25 Parameter diagram of STH500

29
2.3.4 Adaptive Robot--TRB050
Robot ontology

Pic 2-26 The appearance of TRB050


Parameter diagram

Pic 2-27 Parameter diagram of TRB050

30
2.3.5 Adaptive Robot--TKB060
Robot ontology

Pic 2-28 The appearance of TKB060


Parameter diagram

Pic 2-29 Parameter diagram of TKB060

31
2.3.6 Adaptive Robot--TKB070
Robot ontology

Pic 2-30 The appearance of TKB070


Parameter diagram

Pic 2-31 Parameter diagram of TKB070

32
2.3.7 Adaptive Robot--TKB1210
Robot ontology

Pic 2-32 The appearance of TKB1210


Parameter diagram

Pic 2-33 Parameter diagram of TKB1210

33
2.3.8 Adaptive Robot--TKB800
Robot ontology

Pic 2-34 The appearance of TKB800


Parameter diagram

Pic 2-35 Parameter diagram of TKB800

34
2.4 TRC 5-B06 control cabinet
2.4.1 Appearance of the control cabinet
TRC 5-B06 control cabinet is divided into two kinds: handling and welding, the appearance is not
different, the interior is slightly different.
Adapter for robot model:
Welding: TKB1400, TKB1440, TKB1900, TKB2030
Handling: TKB1600, TKB2670, TKB2690, TKB6300, TKB460, TKB4600
On the front panel of the control cabinet, there are a power switch, emergency stop switch,
automatic hand switch, door lock and various buttons / indicator lights. The monitor is placed
directly above the control cabinet, and there is an interconnection cable interface on the side of the
control cabinet.
Control cabinet appearance

Pic 2-36 TRC5-B06 Control cabinet appearance


External dimension diagram of the control cabinet

Pic 2-37 External dimension diagram of theTRC5-B06 control cabinet


Parameter List
Project configure
Processor Intel J316

35
Memory Capacity 4G DDR3
User Storage Space MSATA Solid state drive 60GB
Control Cabinet
Power switch, emergency stop button (optional hand / automatic switch
Switch Push Button switch, start button, stop button)
Control Cabinet
Power supply indicator lamp (optional operation indicator lamp, status
Indicator Light indicator lamp)
Number of Control Single machine 6 axis, another can expand 3 external axes, linkage and
Axes collaborative movement.(Single axis axis, XY rotation axis, walking axis)
IO Quantity Standard DI (digital input): 10 DO (digital output): 14
Optional DI (digital input): 18 DO (digital output): 10
Welding reserved DI (digital input): 8 DO (digital output): 10
AO (analog output): 2
Support for External Ethernet interface RJ 45 (TCP / IP; Modbus TCP); HDMI; USB
Communication and
Interface
Security Module Ensure that the robot stops quickly when the emergency stop is
associated and the robot is abnormal
Operator Schema Teaching, reproduction, remote
Programming Method Teaching reproduction, offline import, process editing
Motor Function Joint, straight line, circular arc, transformer linkage, coordination,
conveyor belt to follow
Code Repertory Motion, logic, craft, operation
Coordinated System Joint coordinates, world coordinates, tool coordinates, and user
coordinates
Abnormal Detection Emergency stop, servo, security maintenance, arc starting, user
Function coordinates, tool coordinates, etc
Levels of Protection IP65
Origin Function Absolute type: battery memory; zero-point calibration function
Cooling Heat exchangers
Source 220V AC

Electrical drawings (handling)


Electrical drawings are mainly divided into four parts: power supply, control system, servo and user
interface.
customer interface:
The OJ 1 port, IJ 2 port, and IJ 1 internal input port are available on the IO board:
The internal input is connected to the anti-collision switch signal, hand press signal, program stop
signal, etc., without external power supply, directly use the fast plug internal power supply. Note:
The IO board does not use internal power supply, but uses external 24V power supply.

36
Pic 2-38 Electric Installation Drawing of Customer Interface

Pic 2-39 Electric Installation Drawing of Customer Interface

37
Electrical Drawing (Welding)
Electrical drawings are mainly divided into four parts: power supply, control system, servo and user
interface.
customer interface:
The OJ 1 port, IJ 2 port, and IJ 1 internal input port are available on the IO board:
The internal input is connected to the anti-collision switch signal, hand press signal, program stop
signal, etc., without external power supply, directly use the fast plug internal power supply. Note:
The IO board does not use internal power supply, but uses external 24V power supply.

Pic 2-40 Electric Installation Drawing of Customer Interface

Pic 2-41 Electric Installation Drawing of Customer Interface

38
2.4.2 Adaptive Robot--TKB1400
Robot ontology

Pic 2-42 The appearance of TKB1400


Parameter diagram

Pic 2-43 Parameter diagram of TKB1400

39
2.4.3 Adaptive Robot--TKB1440
Robot ontology

Pic 2-44 The appearance of TKB1440


Parameter diagram

Pic 2-45 Parameter diagram of TKB1440

40
2.4.4 Adaptive Robot--TKB1900
Robot ontology

Pic 2-46 The appearance of TKB1900


Parameter diagram

Pic 2-47 Parameter diagram of TKB1900

41
2.4.5 Adaptive Robot--TKB2030
Robot ontology

Pic 2-48 The appearance of TKB2030


Parameter diagram

Pic 2-49 Parameter diagram of TKB2030

42
2.4.6 Adaptive Robot--TKB1600
Robot ontology

Pic 2-50 The appearance of TKB1600


Parameter diagram

Pic 2-51 Parameter diagram of TKB1600

43
2.4.7 Adaptive Robot--TKB2670
Robot ontology

Pic 2-52 The appearance of TKB2670


Parameter diagram

Pic 2-53 Parameter diagram of TKB2670

44
2.4.8 Adaptive Robot--TKB2690
Robot ontology

Pic 2-54 The appearance of TKB2690


Parameter diagram

Pic 2-55 Parameter diagram of TKB2690

45
2.4.9 Adaptive Robot--TKB6300
Robot ontology

Pic 2-56 The appearance of TKB6300


Parameter diagram

Pic 2-57 Parameter diagram of TKB6300

46
2.4.10 Adaptive Robot--TKB460
Robot ontology

Pic 2-58 The appearance of TKB460


Parameter diagram

Pic 2-59 Parameter diagram of TKB460

47
2.4.11 Adaptive Robot--TKB4600
Robot ontology

Pic 2-60 The appearance of TKB4600


Parameter diagram

48
Pic 2-61 Parameter diagram of TKB4600

49
2.5 TRC 3-C06 control cabinet
2.5.1 Appearance of the control cabinet
Adapter for robot model:
TKB5600、TKB5700、TKB6700、TKB3670、TKB5800
On the front panel of the control cabinet, there are a power switch, emergency stop switch,
automatic hand switch, door lock and various buttons / indicator lights. The monitor is placed
directly above the control cabinet, and there is an interconnection cable interface on the side of the
control cabinet.
Control cabinet appearance

Pic 2-62 TRC3-C06 Control cabinet appearance


External dimension diagram of the control cabinet

Pic 2-63 External dimension diagram of theTRC3-C06 control cabinet


electric installation drawing
Electrical drawings are mainly divided into four parts: power supply, control system, servo and user
interface.

50
customer interface:
The OJ 1 port, IJ 2 port, and IJ 1 internal input port are available on the IO board:
The internal input is connected to the anti-collision switch signal, hand press signal, program stop
signal, etc., without external power supply, directly use the fast plug internal power supply. Note:
The IO board does not use internal power supply, but uses external 24V power supply.

Pic 2-64 Electric Installation Drawing of Customer Interface

51
2.5.2 Adaptive Robot--TKB5600
Robot ontology

Pic 2-65 The appearance of TKB5600


Parameter diagram

Pic 2-66 Parameter diagram of TKB5600

52
2.5.3 Adaptive Robot--TKB5700
Robot ontology

Pic 2-67 The appearance of TKB5700


Parameter diagram

Pic 2-68 Parameter diagram of TKB5700

53
2.5.4 Adaptive Robot--TKB6700
Robot ontology

Pic 2-69 The appearance of TKB6700


Parameter diagram

Pic 2-70 Parameter diagram of TKB6700

54
2.5.5 Adaptive Robot--TKB3670
Robot ontology

Pic 2-71 The appearance of TKB3670


Parameter diagram

Pic 2-72 Parameter diagram of TKB3670

55
2.5.6 Adaptive Robot--TKB5800
Robot ontology

Pic 2-73 The appearance of TKB5800


Parameter diagram

Pic 2-74 Parameter diagram of TKB5800

56
3. Basic knowledge of robotics
3.1 Coordinate system of the robot
3.1.1 Right-hand coordinate system
The right hand coordinate system is one of the ways to specify a rectangular coordinate system in
space.In this coordinate system, the positive direction of the x-axis, y-axis and z-axis is specified as
follows: put the right hand in the position of the origin, so that the thumb, index finger and middle
finger form right angles to each other, point the thumb to the positive direction of the x-axis, and
point the index finger to the positive direction of the y-axis, the direction of the middle finger is the
positive direction of the z-axis.

Pic 3-1 Right-hand coordinate system


3.1.2 Euler angle definition
The TURIN controller attitude description uses Euler angle, including three attitude values: RX, RY
and RZ. The rotation order of the Euler angle is around the axis xy 'z''(numerically equivalent axis
Z-Y-X) with a range of ± 180 degrees (excluding ± 180).
3.1.3 Robotic reference frame
3.1.3.1 Base base frame

Pic 3-2 Base base frame


This coordinate system is the reference system for the robot to perform a linear motion.

57
Pic 3-3 Base coordinate system of reference
The terminal flange position of the manipulator is the mechanical interface coordinate system. The
rectangular coordinates in the teaching interface describe the translation and rotation between the
mechanical interface coordinate system and the seat coordinate system. The X-axis direction of the
seat coordinate system is set from the origin to the center of the working area of the manipulator,
the Z-axis is vertical seat, and the Y direction of the robot body follows the right hand coordinate
system.
3.1.3.2 User coordinate system

Pic 3-4 User coordinate system


The User coordinate system is also known as the artifact coordinate system. When the user wants
to change the reference frame of the end-actuator (base coordinate system), the user coordinate
system can be established. Now the attitude and orientation of the end actuator make mutual
reference to the user coordinate system.

58
3.1.4 Robot tool coordinates

Pic 3-5 robot tool coordinates


The tool coordinate system is a coordinate system with the end effector installed on the mechanical
interface as the reference system. The in O is the reference point (TCP) of the tool, the Z axis is
related to the tool, usually the pointing of the tool.
3.1.5 Left and right hands of the Scara robot

Pic 3-6 Left and right hands of the Scara robot


The manipulator is divided into left hand posture and right hand posture.
When working, its posture in a certain position should be as consistent as the posture of teaching.
Otherwise, a slight shift in position or movement in an unexpected path occurs.
3.2 Zero point position of the robot
The zero attitude of the robot is the attitude of 0 for the joint value of each axis. When the robot is
at zero, the attitude is shown in the figure below:

59
Pic 3-7 Zero Point
3.3 Singular point and working range space
3.3.1 Singular point
1. Wrist joint singularity
When the 4 axis and the 6 axis of the robot are in the same straight line (that is, the 5 axis is close to
0 degrees), the wrist singularity appears. When this happens, the rotation of the 4 axis cancels the 6
axis. May cause a rapid rotation of the axis.

Pic 3-8 Wrist joint singularity

Extend the singularity


This singularity occurs when the center of the wrist is in the same line as the rotation of the 2 axis
and the 3 axis.

Pic 3-9 Extend the singularity


The top is singular
When the intersection of the 4 axis, 5 axis and 6 axis of the robot is just above the 1 axis, the top
singularity will appear. In the state of the top singularity, the motion of the 1 and 4 axes of the robot
can cancel each other out. Can also cause a high-speed rotation of the joints.

60
Pic 3-10 The top is singular

3.3.2 Inaccessible zone of the robot


Unaccessible middle points: Although the start and target points of the operating arm are inside its
workspace, it is likely that some points in the line connecting these two points are not in the
workspace.

Pic 3-11 Inaccessible zone of the robot

61
4. Robot debugging tools
4.1 Teach Pendant
Teach Pendant is a human-computer interaction device. Through it, users can operate the robot to
make a movement and complete the teaching process programming, implementing the system
setting, fault diagnosis, etc. The front includes an emergency stop switch, a touch display, and touch
buttons. Dead man switch is on the right side of the display device for the operator to hold during
operation.
4.1.1 Introduction of key function

Pic 4-1 Teach Pendant


Key switch: switch manual (teaching mode, test) / automatic (reproduction mode, play) mode;
Emergency stop switch: often closed effectively, cut off when shooting, the robot switches to the
emergency stop mode;
Dead man switch: useful only in display mode in three gears, disconnected, press and heavy. When
disconnecting or overloading (no operation or emergency), the servo motor is not powered, when
pressing, the servo motor is charged;
Screen area: the display screen uses an 8-inch LCD screen, and the touch screen uses a resistance
touch screen;
Key panel: Common function buttons, shown in the following table:
key function
F1~F4 Custom features

J1-,J1+ One axis forward and reversal

J2-,J2+ Two-axis forward and reversal

62
J3-,J3+ Three-axis forward and reversal

J4-,J4+ Quad forward and reversal; around the X axis (Rx)


J5-,J5+ Five axis forward and reversal; around Y axis (Rx)
J6-,J6+ Six axis forward and reversal; around Z axis (Rx)
SA START (start) button, automatic (reproduce) mode;
Manual (teach) mode starts a single-step run
BK Return to zero button, press and hold the robot joint to
zero, release the stop movement
ST STOP (Stop) button, automatic (reproduce) mode stop
program execution
FW Clear the drive alarm push button
Chart 4-1 Key panel
4.2 Remote debugging tool
4.2.1 Introduction of the TeachTool software
4.2.1.1 Overview
TurinTeachTool Is an APP with the function of robot teaching device, which supports Windows,
Ubuntu, Android and other multi-platform installation. The software has the functions of program
writing, robot control, parameter configuration and state monitoring. It is the remote control
software of Turin robot.
TurinTeachTool It can connect to any Turin robot in the local area network, and the administrator
can also connect to the robot under the wide area network for remote real-time operation. The
software can synchronize the current posture of the robot to the display interface, and more easily
and safely manipulate the robot, getting rid of the traditional heavy teaching device and long
control lines.
4.2.1.2 Function
(1) Robot teaching;
(2) Edit motion instructions and process instructions;
(3) Modify the robot parameter configuration;
(4) Monitoring of the robot operation status and other information;
4.2.2 Download address and installation steps
Step1,download the TeachTool, https://project.turinrobot.com:2121/TurinTeachTool/stable/win64/,
click to download the corresponding version.

Pic 4-2 Step 1


Step 2, save the installation package to a custom folder.

63
Pic 4-3 Step 2
Step 3, open the installation package, and run, save to the target path, click [Next].

Pic 4-4 Step 3

Step 4: After selecting the Start menu folder, click [Next] to continue and click [Install] to complete
the installation.

64
Pic 4-5 Step 4-1

Pic 4-6 Step 4-2

65
Pic 4-7 Step 4-3

66
5 Controller parameters
5.1 Basic setting
5.1.1 Cart param
The spatial parameter is the limit on the end speed of the robot when the robot is running in the
Cartesian coordinate system.
When the Cartesian coordinate system runs, there is not only the translation, but also the
transformation of the posture, namely the RX / RY / RZ direction rotation. The trajectory is different
during the movement, and the participation degree of each joint is different, so the factory setting
value of the spatial parameter is relatively conservative to meet the safe operation under each
working condition. It can be adjusted as necessary in the actual operation. In linear motion planning,
the maximum speed of each joint is still constrained according to the maximum speed of the joint in
the joint parameters. For example, under a trajectory, an axis needs more than 3000rpm speed to
meet, and the controller will generate an alarm.

Pic 5-1 Cart param interface

67
5.1.2 Joint param

Pic 5-2 Joint param interface


Joint parameters mainly limit the range of motion and the maximum speed of each joint during the
operation of the robot. The value of parameters depends on the interval of the robot in space and
the driving performance of the motor. Other parameters in the interface, such as: pulse number,
deceleration ratio, joint steering, do not blindly modify.
Lead range and speed ratio conversion
The guide is the displacement of the axial rotation in mm (mm).
Reducation ratio =360° / guide.
The relationship of single coil pulse and joint speed
(Number of pulses / single ring pulse) / deceleration ratio = joint speed
5.2 Introduction to the SW maintenance
User files are mainly stored in the following folders:
Motion Front desk motion script
log Controller running log
configs Robot parameter profile
collection Acquisition of the running data
backprogram Backstage program script

68
Pic 5-3 File copy interface
5.2.1 SW backup of the SW maintenance
If you need to back up the software system, or there are operational problems need to be solved by
the manufacturer, generally need customers to provide some operation related parameters, the
following are some commonly used parameters backup.
Select the U disk and click what you to Backup, and start the backup. Backup will only pack the files
and will not delete the original system files.

Pic 5-4 SW backup interface

69
5.3 System setting
EtherCat The ENI file used in the interface shall correspond to the actual corresponding slave
network mode.
5.3.1 EtherCat

Pic 5-5 EtherCat interface


5.3.2 Kernel mode configuration
Kernel mode, after switching must restart the operating system to ensure the correct function.

Pic 5-6 Choose ENI file interface


Support ESI files in kernel mode This option is empty. When this option is empty, the system scans
the current master station topology, configure the slave SM (Synchronization Manager) and starts
the master station by reading the slave SII information. Two problems may arise with starting the
master station in this way:
For various reasons, we may encounter bus topology structure changes or SM configuration when
the slave SII information read is incomplete. The incorrect slave SM may be configured at this time.
The result of this situation is that the slave station cannot control or cannot enter the OP state,
which ultimately causes the bus to communicate normally.
If we are going to connect six drives to the bus, in fact only five drives are connected, in the absence
of ENI files, the system will scan and use the five drivers and start working, so there may be an
accident. Therefore, this option must not be left blank when the end customer produces.

pay attention to:

70
1. When running in non-kernel mode, the bus cannot communicate.
2. The ENI generated in the kernel mode cannot be used for the non-kernel mode master station,
and the ENI generated by EC-engineer is universal in both modes.

Pic 5-7 MAC interface


The network card address will specify which network card the system will use as the EtherCat
communication interface. The default value is 12 F, which represents the first card on the BUS bus.

pour:
In kernel mode, no longer need to modify the card address.

Pic 5-8 Drive interface


Kernel drive is the network card drive, according to the different network card to choose the
different drive,
among:
1.N31 uses INTEL I211 network card, you need to choose igb driver
2.N80 uses INTEL 8257 network card, need to choose e1000e driver.
3.Generic is a universal network card driver, which can be used by all network cards. This driver is
not a dedicated driver and has uncertain communication delay, so this option is only used during
testing.
Other network card drivers will be added later as needed.
Monitor the operation status of the main station in this mode, which only indicates the connection
status of the main station and is unrelated to the communication status of the main station.

71
6 Software instructions
6.1 Variable operation
6.1.1 Common variable type definition
6.1.1.1 DIGITAL
Digital is a float type variable, store 4 bytes.

Pic 6-1-1-1 digital


6.1.1.2 STRING
String Is a string-type variable that can be used to store the text.

Pic 6-1-1-2 String

72
6.1.1.3 POINT
Point is a coordinate point variable that is used to store the robot points.
6.1.2 Implicitly declared variables.
1. V variables
The V variable stores the float data. Through the variable operation, addition, subtraction,
multiplication, division and other operations. In practice, the V variable is often used to count and
store the coordinates.

Pic 6-1-2-1 V variable


2. S variables
The S variable stores the string data. Through the variable operation, addition, subtraction,
multiplication, division and other operations. In practice, the S variable is often used for text
sending.

Pic 6-1-2-2 S Variable


3. P variable

73
The P variable stores the coordinate point information in the column coordinate system and the
Cartesian coordinate system (joint coordinate system, Cartesian coordinate system). There are
generally two ways to use the program. The first directly calls the stored P point to perform the
movement, so that the program runs the same position many times. The second one stores the
current position at point P, then changes the coordinates of the P variable, and then calls it. In
practical use, it can be used to perform a relative offset or to obtain the absolute coordinates
through communication.
Case refer to the figure below.

Pic 6-1-2-3 Case


counter-example:

Pic 6-1-2-3 counter case

explanatory note:
1. The variable names should be consistent between the modified P variable, stored P variable and
the P variable performing motion.
2, modify the Cartesian coordinate to use the straight line instruction to execute the movement,
and vice versa.
6.1.3 Input / Output
6.1.3.1 I/O control
During the use of a robot, communication with external devices is done through IO signals. After
connecting the hardwired cables, users may need to check the current status of the IO. This can be
done by navigating to【Monitoring/Control】-【Input/Output】-【I/O Control】to view the current
IO status.
DI signals: DI signals are input signals, also known as digital input signals. They are used for the
controller to read the status of digital signals from external devices. Signals 00-05 are reserved for
system internal use, where 00 represents emergency stop state signal, 01 represents anti-collision
switch signal, 02 represents reproduce/autosignal, 03 represents hand-pressure activation signal, 04
represents program start signal, and 05 represents program stop signal.
DO signals: DO signals are output signals, also known as digital output signals. They are used for the
controller to output the control status of digital signals to external devices. Signals 00-01 are
reserved for system internal use, where 00 represents program run prompt, and 01 represents
program stop prompt.

74
Pic 6-1-3-1 IO control
6.1.3.2 DA control
In welding technology, analog communication is usually used with the welding machine, and DA
control is used. This is a voltage range from 0-10V, which is combined into a linear function using
the analog value given by the robot and the numerical value given by the welding machine.

Pic 6-1-3-2 DA control interface

75
6.1.4 Format description
Variable Types:
There are three variable types available in the control system: numerical variables (float type),
character variables (1024 bytes), and coordinate point variables (which can be used to store point in
space or joints without kinematic relation).
Variable Scope:
There are three types of variable scopes in the control system: system variables, global variables,
and file variables.
System variables: System variables are created and destroyed with the system start/stop. System
variables are usable across the whole system, which means they can be shared by motion scripts
and background programs. System variables are not affected when any program starts or stops, and
can only be changed by scripts or the network, like TCP server.
Global variables: Global variables are created and destroyed when the current script starts and
stops. Global variables can be shared in the current script, including sub-files. However, other places
like front-end and back-end, and network cannot access these variables.
File variables: Also called local variables, the life cycle of the file variables is consistent with that of
the global variables. However, file variables are not shared between the main file and sub-files.
Variable Definition:
Predefined system variables:
V0~V999: 1000 system numerical variables. Note that for convenience, V0, V00, V000 represent the
same variable, and so on. All system preset variables work like this. However, it is recommended to
use the V000 format for hand-coding to look neat.
S0~S999: 1000 system character variables.
P0~P999: 1000 system coordinate point variables.
Predefined file variables:
FV0~FV999: 1000 file numerical variables.
FS0~FS999: 1000 file character variables.
FP0~FP999: 1000 file coordinate point variables

Note: As it was said before, the scope of a file variable is a single file, even if the name is the
same, that is, each main file and each subfile have FV, FS, FP, etc. (3,000 variables), but it cannot be
shared between them. The same variables use the respective memory.
Variable monitoring
It can monitor the content of variables in the system in real time

76
Pic 6-1-1-4 Variable record interface
When the variable is set to automatically store on, the system continuously monitors the variables
used in the script. When the value of the variable changes, it will immediately be stored into the file,
so that the next time the script is launched, it will have access to the updated values..

6.2 Movement instruction


Motion commands typically record position data, motion types, and motion speeds. The position
data records the current position information of the robot, and the position information is recorded
at the same time as the motion command.
The motion type specifies the motion trajectory between the teach points during execution. The
robot generally supports three types of motion: joint motion (MOVJ), linear motion (MOVL), and arc
motion (MOVC).
To add a motion command, the driver needs to be enabled using the “enable” switch.

77
6.2.1 Common motor commands
6.2.1.1 Type of joint movement
Joint motion can also be understood as free motion, where only the endpoint is provided by the
user and the trajectory planner plans the way to reach it. Its characteristics are that it has the
fastest speed and the path is unknown. Therefore, this type of motion is generally used for spatial
points, and before running automatic programs, it must be checked at a low speed to observe
whether there is any interference with surrounding equipment based on the actual motion
trajectory of the robot.

Joint motion type is used when the robot does not need to move to the current teach point along a
specified path. The corresponding motion command for joint motion type is [Joint Motion] (English
instruction: MoveJ). Generally, for safety reasons, the joint motion type is used for the starting point
of a program.
The steps to add a [Joint Motion] command are as follows:
Click [Add Ins] -> [Motion Instruction] -> [Joint Motion], enter the related parameters such as speed,
acceleration, smoothness, tool, and user coordinate system, then click the [Create] button.

Pic 6-2-1-1 Create Move Ins

78
6.2.1.2 Linear movement
When the robot needs to move through the straight line path to the current teaching point, the
linear motion type is adopted.

The corresponding motion command for linear motion type is [Linear Motion] (English instruction:
MoveL). The starting point of linear motion is the teach point of the previous motion command, and
the end point is the teach point of the current instruction. During the linear motion, the robot’s
motion control point moves in a straight line, and the fixture posture changes automatically.
The steps to add a [Linear Motion] command are as follows. Use the endpoint of the previous
motion command as the starting point of the linear motion. Manually move the robot to the
endpoint of the linear motion. Click [Add Instruction] -> [Motion Instruction] -> [Linear Motion],
enter the relevant parameters such as speed, acceleration, smoothness, tool, and user coordinate
system, then click the [Create] button.

Pic 6-2-1-2 Create MoveL ins

79
6.2.1.3 Arc motion
Arc motion type is used when the robot needs to move to the current teach point along an arc path.
The corresponding motion command for arc motion type is [Arc Motion] (English instruction:
MoveC).
Three motion points are needed for arc motion. The first arc motion starting point is a non-arc
instruction, passing through the first point (auxiliary point) and reaching the second point
(endpoint). If multiple arc motions are connected, the endpoint of the previous arc motion is the
starting point of the next arc motion, and the second arc starting point is an arc instruction.

Pic 6-2-1-3 Arc motion


The steps to add a [Arc Motion] command are as follows:
Use the endpoint of the previous motion command as the starting point of the arc motion.
Manually move the robot to the auxiliary point of the arc motion.
Click [Add Instruction] -> [Motion Instruction] -> [Arc Motion].
Enter relevant parameters such as speed, acceleration, smoothness, tool, user coordinate system,
etc.
Click the [Create] button.

Pic 6-2-1-4 Create Arc ins


Continue to move the machine to the end of the arc, click [Add instruction] -> [Movement
command] -> [Arc motion] to set the parameters and create a new one. Such a complete arc
movement trajectory composed of two [arc motion] instructions is established.

80
6.2.1.4 Full Circle Motion
When the robot needs to perform a full circle motion, the whole circle motion type is used. The
corresponding motion command for whole circle motion type is [Full Circle Motion] (English
instruction: MoveFC).
Three motion points are required for the whole circle motion. The first whole circle motion starting
point is an auxiliary point, which is not a whole circle instruction. It passes through the first point (a
point on the whole circle), and then passes through the second point (another point on the whole
circle).

Pic 6-2-1-4 FCmotion


The action of adding the [Full Circle motion] instruction is shown below.
The end of the above movement command is the starting point of linear movement. When the
manual movement robot reaches the end of linear movement, click [Add Instruction] -> [Movement
Instruction] -> [Round movement], input the speed, acceleration, smoothness, tool, user coordinate
system and other related parameters, and click the [Create] button.
6.2.1.5 Type of cooperative movement
When the robot needs to perform coordinated operations with a positioner, the coordinated
motion type is used.

Pic 6-2-1-5 Positioner sync mode

81
6.2.2 Logic instructions
Logic instructions can perform logical operations and are essential to perform complex functions.

Pic 6-2-2 Logic Ins


Conditional Statements: In a conditional statement, one “if” corresponds to one condition. To
judge multiple states, use “ else if ” statements. Otherwise, the code won ’ t compile. When
another condition needs to be checked under a condition, a nested structure must be used to add
another conditional statement.
Loop Statements: A loop statement is followed by a condition. When the set condition is met, the
program repeatedly executes the contents of the loop body.
Wait Statements: This statement makes the program wait until the designated state is reached
before continuing to execute.
Jump Statements: This is an unconditional jump. Once the program executes the “ jump to ”
instruction, it will look for the corresponding label and continue running the program from there.
Program-related Operations: These are instructions related to program control.

82
6.2.2.1 if...else(&&||)

Pic 6-2-2-1 ifelse script


The conditional statement is a nested structure. When using a conditional statement, there must be
a conditional end, a conditional end and otherwise if it cannot be used alone.
Use character editing, "& &" for with, "| |" for or

6.2.2.2 While

Pic 6-2-2-2 While Script


In this example, (V0 < 9) is the loop condition expression, and the statements between “While”
and “EndWhile” are the loop body. As long as (V0 < 9) is satisfied, the contents of the loop body
will be repeatedly executed.
6.2.2.3 For

Pic 6-2-2-3 For script


In this case, DO 0 to DO 11 is completely set as 0.
6.2.2.4 Swtich
In this case, SWITCH (V1), when the value of V1 is corresponding to 1,2,3,4,5, will execute the
instruction in the corresponding case, if not satisfied, execute the instruction in default.

83
Pic 6-2-2-4 Switch ins
Similarly, the S variable can also be used in SWITCH. In this example, when S1 is the corresponding
instruction is not satisfied, then the instruction in default is executed.
6.2.3 Coordinate instructions
6.2.3.1 Coordinate system instruction
The coordinate system instruction can automatically modify the coordinate system information in
the program. By offsetting the coordinate system as a whole, the motion instructions based on that
coordinate system in the program can be offset. The amount of offset can be a constant or a
variable.

Pic 6-2-3-1-1 Coord system ins


Adding an offset to the tool coordinate system:

Pic 6-2-3-1-2 TCP


Adding an offset to the User coordinate system::

84
Pic 6-2-3-1-3 UCS
6.2.3.2 Point instruction
The coordinate point instruction reads and modifies the registers of the coordinate point variable. It
is often used when using machine vision to guide the robot hand. By using a communication-based
method, the coordinate information of the target point can be changed. Coordinate points are
stored in both the joint and rectangular coordinate systems. When modifying and calling them, it is
important to pay attention to the consistency of the coordinate system.

Pic 6-2-3-2 Point Ins

85
6.2.4 Procedure Control Instruction
6.2.4.1 Trigger during motion
These instructions are added before the motion instructions. They can perform corresponding
actions during the execution of motion instructions, such as outputting IO signals and modifying
variables.

Pic 6-2-4-1 Trigger during motion


6.2.4.2 Movement pause and program stop
The robot motion is paused and the robot can resume its motion by pressing the SAT (Start) button..

Pic 6-2-4-2-1 Movement Pause


After the whole program, the cursor automatically looks back on the line.

Pic 6-2-4-2-2 Movement Stop

86
6.2.4.3 subsystem
File interface

Pic 6-2-4-3-1 File Open interface


The controller program is based on txt text, and generally has the same priority.
call subroutine

Pic 6-2-4-3-2 Call sub program


Only when the "call subprogram" statement appears in the program, the system says that the
current program definition is the main program, and the primary and secondary program, into a
tree distribution.
Just interpret the subprogram as hidden paragraphs in use. Using it in this way can increase the
readability of the program.

After running, add the return instruction and return to the main program.

87
6.3 Common keywords and special functions
6.3.1 DEFINE
DEFINE Define an identifier to represent a constant. Use for example:

Pic-6-3-1 Define Demo


6.3.2 PrintMsg
PrintMsg is to format the output function, the main function is to write, print logs. The general call
format of PrintMsgis: PrintMsg (V1, S1).

Pic 6-3-2 PrintMsg Demo

88
7. Basic operation function
7.1 Base point

Pic 7-1 Base Point interface


1. Base index number: 1~10
2. Switch: on / off
3. Notes: Note for the current reference point
4. DO at base point: When the robot position reaches the reference point position, the IO output is
placed at a high level.
5. Detection method: the way to detect whether the robot is at the reference point. Respectively,
either the instruction position or the current position.
6. Move to base point DI: When the input IO is the rising edge, trigger the action of the robot to
return to the reference point.
7. Move type: There are joint motion, linear motion and command file three ways to return to the
reference point
8. File to move to base point: set the instruction file to return the reference point
9. Left offset: detect whether the floating (negative) left value of the robot is at the base point
10. Base point: the accurate value of the base point of the robot
11. Right offset: detect whether the floating (positive) right value of the robot is at the base point

explain:
1. On this page, you can use the SA key joint to run to the reference point, only if the reference
point must be turned on
2. Reference points can be used in the motion instruction interface. The prerequisite is that the

89
reference point must be turned on. When using a straight motion to the datum point, the user and
the tool must select 0.
7.2 Interference

1. Interference region number: 1~10


2. Interference switch: on / off
3. Priority: high / low, when the high priority is set, the interference area will become larger (joint
angle increases by 0.5 degrees, spatial position axis direction plus 10mm), this function ensures that
the high-priority robot will signal into the interference zone first.
4. Detection method: detect whether the robot is at the reference point. There is a command
location or a current location.
5. DO while entering: output low level when entering the area, otherwise output high level.
6. DO while ext dev entering: the movement stops when the external equipment enters the low
level, and when the external equipment enters the high level, the movement continues (Note: this
function is not suitable for the transformer).
7. Notes: Note for the current interference zone
8. Axis region: set the joint values for 6 starting points and 6 end points.
9. Vertex cubic region: set two vertices to form a cube space (the corrugated line is parallel to the
world coordinate XYZ axis).
10. Center cubic region: set a center point and three directions, left and right, up and down (the
world coordinate XYZ) are offset to form a cube interference zone.

90
7.3 Safe Area Setting

Pic 7-3 Safe Area Setting


The safe area uses the description in cartesian coordinate system to constrain the motion range of
the robot. After the function is Enabled, the robot can only move in the limited area, and beyond
the limit, the robot will indicate abnormal movement then report error.

91
7.4 Safety door

Pic 7-4 Safety Door


The safety door refers to the robot running in a closed space. The safety door is connected with the
robot IO signal. When the signal disappears, the robot will alarm and stop running.
7.5 Prog Start

Pic 7-5 Prog Start


External IO start program:
Figure setting, when the robot is in the automatic state, press the button or start the IO signal, the

92
program starts from the current line.
When the state is automatic but the program is not running, the controller captures the rising edge
of the DI0 and the cursor jumps to the first line. The cursor is in the first row, and the output state of
the DO0 is low.
Special case: the subprogram triggers the cursor to look back on the line, the normal is to return to
the first line of the main program. If you switch to manual mode, change the content of the
subroutine, and trigger the look back signal, you will return to the first line of the subroutine.
Attached wiring drawings:

93
7.6 Alarm

Pic 7-6 Alarm


Alarm input and output setting, once the manipulator alarm, its no. 8 output set a high level, the
external input robot no. 11 will clear the reset alarm.

94
7.7 IO group

Pic 7-7 IO Group interface


IO group refers to the conversion of a set of input or output IO signals Convert binary to Decimal,
then stored in the corresponding V variable.

95
Pic 7-7-1 IO Control interface

Pic 7-7-2 System variable


3 (10 max) in V0 corresponds input IO24~35:0000000000011 (2 max)
2457 (10 max) in V1 corresponds to output IO 12~23:100110011001 (2 max)

96
Attached wiring drawings as below:

97
8 Background program
8.1 Background functions of the robot
8.1.1 Background program
1. Background program: mon/ctrl-> background prog-> 10 groups of background programs can be
configured under the start-stop configuration.

Pic 8-1-1 Background Prog


Switch: The switch is the master switch that determines whether the background program thread is
enabled or not.

Motion program: The motion program can control the startup and shutdown status of the
background program. When a background program thread is set in the motion program, the system
starts the background program when the motion program runs, and stops the background program
when the motion program stops. That is, the background program and motion program start and
stop synchronously. When no motion program is set, the background program starts and stops with
the system.

Background program: Specifies the main background program that runs the background program
thread.

There are differences between the execution of the background program and the motion program.
The background program is repeatedly called by the system. For example, if there is a
self-increment instruction “V0 ++”, the instruction will only be incremented once when executed
as a motion program, while it will be constantly called and incremented in the background program.
Therefore, running “ V0 ++ ” in the background program is equivalent to executing
“ WHILE(1):V0++:ENDWHILE ” in the motion program. Of course, executing
“WHILE(1):V0++:ENDWHILE” in the background program is also allowed.

98
8.1.2 Commonly Used Background Function
int SocketServerInit(int)
Function: Initialize the network server,
Parameter 1: Port number.
Return value: successfully returned the server listening socket id.
Failed to return “-1”.
int SocketServerAccept(int)
Function: Listen for client connections
Parameter 1: socket id
Return value: successful execution returned to the client socket id, failed to return-1
int SocketClientInit(string,int)
Function: Connect to the server
Parameter 1: ip address
Parameter 2: Port number
Return value: successfully returned to the client socket id, failed to return to-1
void SocketClose(int)
Function: Turn off the socket
Parameter 1: socket id
Return value: No
int SocketWrite(int,string)
Function: Send the data
Parameter 1: socket id
Parameter 2: string, send length is string length, note no '\ 0'
Return value: successfully return send length, failure returned negative number.
int SocketWrite(int,string,int)
You can specify the length of the send, at the parameter 3
int SocketRead(int,string,int)
Function: Receiving the data
Parameter 1: socket id
Parameter 2: Storage buffer (string variable)
Parameter 3: read length, the current maximum 1024, give greater value does not help
Return value: successfully returned read length, failed to return 0 or negative number.
Note that this is a blocking function that always waits unless something goes wrong.
Suitable for receiving handshake messages.

99
int SocketReadLine(int,string,int)
Function: Read a single line of a string.
Parameter 1: socket id
Parameter 2: Storage buffer (string variable)
Parameter 3: timeout time
Return value: successfully return read length, failed, timeout return 0, network exception return
negative number
8.1.3 Background common program cases
The biggest difference between the foreground program and the background program is that the
foreground program can control the movement of the robot, while the background program cannot
execute the movement instructions. However, the background can be repeatedly called by the
system synchronization, for input and output control, logical judgment, communication program
synchronization control.
The front and rear desks are used together, that is, the program. The processing of complex logic is
essential. The following are several cases to introduce the background function.
8.1.3.1 Catch the edge trigger of IO signal trigger
Sometimes it is necessary to record the changes of an IO state at all times. Waiting in the
foreground program will delay the execution of other actions. So put the edge trigger into the
background for execution.

Pic 8-1-3-1 edge trigger demo


8.1.3.2 Background script to switch foreground programs
The following figure shows the background file for switching the foreground files
Line 3: output after the program is started, DI6 can be selected on site.
Line 4: DI open is 1, DI level is 0, thus 2 decimal number. The type is 2 decimal number, the 2
decimal of type 1 is 00001, namely DI15=0, DI14=0, DI13=0, DI12=0, DI11=1 (specific DI is set
according to the site requirements).
Line 14:Switching from the Background Program to the Foreground Program.

100
Pic 8-1-3-2 Switch Prog Demo

Pic 8-1-3-2-1 configuration

101
Pic 8-1-3-2-2 S variable monitor
8.1.3.3 Movement judgement of the robot
Normally, DO 0 and DO 1 indicate that the program is stopped and running. However, the program
operation does not mean that the robot body is in the action. Sometimes the workstation needs to
be moved as the standard.

Pic 8-1-3-3 Movement judgement Demo

102
8.1.3.4 Reservation function in the background

Pic 8-1-3-4-1 Reservation step1

Pix 8-1-3-4-2 Reservation Step2


Reservation Functionality: Link programs named 1.txt and 2.txt, switch start and stop functionality
through the two button boxes shown in the figure, and each button box corresponds to the control
of 1.txt and 2.txt respectively.

103
Crafts Reservation

Reservation Functionality: Link programs named 1.txt and 2.txt, switch start and stop functionality
through the two button boxes shown in the figure, and each button box corresponds to the control
of 1.txt and 2.txt respectively. Pressing the start button on the first button box will start 1.txt.
According to the reservation rules, when the start button corresponding to 1.txt is pressed, 2.txt will
enter the reservation waiting state, regardless of when its start button is pressed during the
execution of 1.txt. 2.txt will only begin execution after 1.txt has completed execution.
Once 1.txt starts execution, its start button will no longer be effective and pressing it multiple times
will not interrupt the execution process. The same applies to 2.txt, where its start button cannot
interrupt its execution process. In both cases, only the stop button can interrupt the process.
Otherwise, the process must be allowed to run until completion before continuing with the next
task.
The desired number of workpieces needs to be manually input. Once the desired number of
workpieces is input, the file will execute the specified number of workpieces. Multiple files can be
used in combination, for example, File 1 completes 10 items before launching File 2 to complete 5
items.

104
8.1.4 The Background TCP communication
The following instruction shows how to write the background TCP communication program.
8.1.4.1 Robot Ethernet setup
There are two methods for the IP configuration of the robot:
Robot operation interface configuration:
Select the Settings-> System Settings-> Eth Settings-> Wired, if you do not see the list, select the
following below, eventually a list of connection names appear, select the name of the connection.
The interface is as follows:

Pic 8-1-4-1 Eth Setting1


The IP of the robot is configured as 192.168.1.6, and the set interface is as follows:

Pic 8-1-4-2 Eth Setting2

Ubuntu System Modified IP address:

105
Select settings-> SW Maintenance-> Quit SW-> Close software, the interface is as follows:

Pic 8-1-4-3 Eth Setting3

Exit our controller system to the desktop, the upper right network icon of the single interface is as
follows:

Pic 8-1-4-4 Eth Setting4


If the network is not enabled, please enable the network first.

Pic 8-1-4-1 Eth Setting5

106
Select an Edit Connection:

Pic 8-1-4-6 Eth Setting6

edit IP:

Pic 8-1-4-7 Eth Setting7

Select the manual method , configure the IP as shown below, save it, and then restart the system.

After setting the IP, you can check the Ethernet status, as shown below:

107
Pic 8-1-4-8 Eth Setting8

108
Finally, IP test can be performed, with parameter setting-> system setting-> Ping

Pic 8-1-4-9 Eth Setting9

The IP address is set as the address of the destination IP, point start, the following interface appears,
indicating that the two sides are connected.

Pic 8-1-4-10 Eth Setting10

109
8.1.4.2 Server /Client
Background connection (robot as client)

Establish background connection (robot as server)

8.1.4.3 Case:Send and receive unknown coordinate points


Background script case (send photo command)

Note: Since the background program will be repeatedly executed by the system, the
“SocketWrite” function is only allowed to execute when data needs to be sent. Therefore, “V101”
is used as a control condition. Generally, the foreground program sets “V101=1”, and then the
background program sends data..

110
Background script case (received data)

Data is parsed to the S variable

Data parses to the V variable

Note: When data resolution, the format of the received content is inconsistent with the format
you want to resolve. Lack of a delimiter or an incorrect delimiter.

111
The foreground program schedules the background script.

Note: It should be used with the background script


V99 Determine the connection status, once the connection with the server Will jump out of
the loop
V101=1 The instruction can be repaired in the background file change it into the string that you
want to send
V12=-2 The foreground program is-2, and the background will be 1 after receiving the data,
and then jump out of the loop.
V100=1 Send to the current location of the robot

112
Background Script instance

113
8.1.4.4 Send and receive int data
Send the int type data

Receive the int-type data

114
8.1.4.5 Send and receive hex data
Background to send and receive the hex format data

115
116
9 Industrial fieldbus communication
9.1 Remote operation of the robot

9.1.1VNC Mapping the presentation device interface


There are many ways to connect between robots and remote devices, such as:
1. Robots and computers are connected directly through the Internet.
2. Connect the robot's network port to the router, and connect computers, ipad and other devices
to the robot through the router.
Just open the device's browser and enter the url address http: / / ip: 6080 / vnc.htmlip Address
Enter the IP address of the setting, such as: http: / / 192.168.1.6:6080 / vnc.html) Then you can see
the robot's interface.
9.2 ModbusTCP
Modbus The equipment can be divided into main station (pol) and slave station (slave). There is only
one main station, and there are multiple slave stations. The main station sends request frames to
each slave station, and the slave station gives a response. When using TCP communication, the main
station is client and actively establishes connection; the slave station is server and waiting for
connection. The Client terminal can connect multiple Server terminals to process the data. The
Server terminal forms the Server terminal according to the set IP + 502 port. Modbus / Tcp
communication is a master-slave communication composed of one Client terminal to multiple
Server.
Take the ModbusPoll's ModbusTcp communication as an example:
First, create the robot Ethernet, see the Ethernet setting above for details. Note: the IP of the robot
and the IP of the PLC host must be in one network segment.
Using modbus poll software, simulate sending and receiving data. Open the modbus poll software,
as shown in the figure below:

Pic9.2.1 modbus poll software


Select connection-> connect... (F3), as shown in the following figure:

117
Pic9.2.2 connect
You can select the Register later directly, as shown in the figure below:

Pic9.2.3 Register
Click to determine.
Set the connected IP and port number, as shown in the figure below:

Pic9.2.4 IP and port number


IP address, select the IP address of the input robot, port select 502, port number is fixed, not
allowed temporarily. Connection Select TCP / IP, after setting, click the ok button.
Select the Setup-> Read / Write Definition... at the top of the application, or click the arrow below:

118
Pic9.2.5 Interface
As shown in the figure below:

Pic9.2.6 Interface
Function: Select 01 Read Coils (0X).
Address: Set here is the starting address of the monitoring, and what we set here is 0
Quantity: Set the total number of monitored addresses, what we set here is 100.
Click ok, and the Settings are complete,
As shown in the figure below:

119
Pic9.2.7 Interface
100 io states.
How to set the status of a certain IO, such as setting the IO of the address 39, the specific IO
mapping, each version is different, specifically view the corresponding version of the IO mapping
table, here we set the status of 39 IO.

Pic9.2.8 Interface
Double-click on the address of 39, as shown below:

Pic9.2.9 Interface
If you want to set OFF for IO at address 39, set the value option to OFF, otherwise set the value
option to ON. After selection, select Send. The robot will also respond to the data, answer OK, as
shown in the figure below, the result will have the option bar with Response ok:

120
Pic9.2.10 Interface
Check if the IO status of the robot is correct.
Read input register address (only new version)
The read and write data area of the robot is V900-V999, and the corresponding hold register
address of modbusTCP is 0-199.
Select the function code 03 to read the robot coordinates, as shown in the following figure:

Pic9.2.11 Interface
The V variable of a robot occupies two registers, with high address in high data and low data in low
data. Example address 0 storage variable 16 bits lower address, address 1 storage variable 16 bits
higher address.
As shown in the figure below:

Pic9.2.12 Interface

121
This display is the tool coordinates that the robot currently performs.
Here are the steps to resolve the coordinate values, using addresses 4 and 5 as a set of examples:
Address 4, decimal is 30671 converted to 16 decimal is 0X77CF, address 5 is 10 decimal 17142,
converted to 16 decimal 0X42F6, so the stored data is 0X42F677CF, the floating point number
corresponding to this data is 123.234.
See the value of the robot V902 as shown in the figure below:

Pic9.2.13 V variable
The actual value is 123.234001, and the calculated 123.234 this is due to the float accuracy
relationship. Other coordinate values are also the same way.
Write register address
The read and write data area of the robot is V900-V999, and the corresponding hold register
address of modbusTCP is 0-199.
If we want to write the data into the robot variable through the modbus, we need to use the
modbus write register operation. We use the function code 16 Write Multiple Registers to write
data to the register, address 0-11, as shown in the figure below:

Pic9.2.14 Interface

122
Pic9.2.15 Interface
Double-click the address, you can write data to it, as shown in the figure below. Address 0 and
address 1 correspond to 1 set of data.

Pic9.2.16 Interface
The data is filled in similar to the above reads. For example, we want to deposit-1444.614 into the
V900 variable of the robot, and first convert the decimal-1444.614 into 16 decimal 0XC4B493A5.
Convert 160XC4B4 into 1050356 write address 1, and 160X93A5 into 1037797 write address 0, as

123
shown in the figure below:

In the writing process, it may not be written in, such as the following warning;

Pic9.2.17 Interface
Set the type of the input data shown in the following below:

Pic9.2.18 Interface
The final Display was modified to be a Unsigned.
Robot V variable

124
Pic9.2.19 V variable
The V900= -1444.613892 and the expected write-1444.614 gap is a float accuracy problem.
9.3 MC protocol 3E frame format
Based on the Mitsubishi 5U series PLC and the robot for MC protocol communication, the message
follows the 3E frame format.
The robot is the main station, active poll PLC.
V900-V903, robot-read-only. V900 corresponds to D7002 + D7003 of PLC, V901 to D7004 + D7005,
V902 to D7006 + D7007 and V903 to D7008 + D7009; PLC is stored in float type
V904-V907, the robot is written only. V904 corresponds to D2 + D3 of PLC, V905 corresponds to D4
+ D5, V906 corresponds to D6 + D7 and V907 corresponds to D8 + D9; PLC is extracted as float type
DI23-DI55, robot-read-only. D7000 + D7001 of PLC with two-word type
DO 00-D031, the robot writes only. D0 + D1 of PLC, with two-word type
The robot uploads the data
Deputy head of the message StrSet(UploadCmd, 7, 0x20)
StrSet(UploadCmd, 0, 0x50) StrSet(UploadCmd, 8, 0x00)
StrSet(UploadCmd, 1, 0x00) The CPU monitors the timer
Network number StrSet(UploadCmd, 9, 0x10)
StrSet(UploadCmd, 2, 0x00) StrSet(UploadCmd, 10, 0x00)
Programmable controller network number Instructions are written in batches
StrSet(UploadCmd, 3, 0xFF) StrSet(UploadCmd, 11, 0x01)
Request the target module I / O number StrSet(UploadCmd, 12, 0x14)
StrSet(UploadCmd, 4, 0xFF) Subdirectives
StrSet(UploadCmd, 5, 0x03) StrSet(UploadCmd, 13, 0x00)
Request the target module station number StrSet(UploadCmd, 14, 0x00)
StrSet(UploadCmd, 6, 0x00) Starting soft component address
Request data length StrSet(UploadCmd, 15, 0x00)

125
StrSet(UploadCmd, 16, 0x00) StrSet(UploadCmd, 22, IoOut_Var2)
StrSet(UploadCmd, 17, 0x00) StrSet(UploadCmd, 23, IoOut_Var3)
Soft component code D register StrSet(UploadCmd, 24, IoOut_Var4)
StrSet(UploadCmd, 18, 0xA8) Floating point number sent
Soft component points, the word is in units strsetfloat(UploadCmd,25,V904)
StrSet(UploadCmd, 19, 0x0A) strsetfloat(UploadCmd,29,V905)
StrSet(UploadCmd, 20, 0x00) strsetfloat(UploadCmd,33,V906)
Data on the number of soft elements strsetfloat(UploadCmd,37,V907)
StrSet(UploadCmd, 21, IoOut_Var1)

126
127
128
129
130
Robots to download the data
Deputy head of the message The CPU monitors the timer
StrSet(DownloadCmd, 0, 0x50) StrSet(DownloadCmd, 9, 0x10)
StrSet(DownloadCmd, 1, 0x00) StrSet(DownloadCmd, 10, 0x00)
Network number Instructions are written in batches
StrSet(DownloadCmd, 2, 0x00) StrSet(DownloadCmd, 11, 0x01)
Programmable controller network number StrSet(DownloadCmd, 12, 0x04)
StrSet(DownloadCmd, 3, 0xFF) Subdirectives
Request the target module I / O number StrSet(DownloadCmd, 13, 0x00)
StrSet(DownloadCmd, 4, 0xFF) StrSet(DownloadCmd, 14, 0x00)
StrSet(DownloadCmd, 5, 0x03) Starting soft component address
Request the target module station number StrSet(DownloadCmd, 15, 0x58)
StrSet(DownloadCmd, 6, 0x00) StrSet(DownloadCmd, 16, 0x1B)
Request data length StrSet(DownloadCmd, 17, 0x00)
StrSet(DownloadCmd, 7, 0x0C) Soft element code
StrSet(DownloadCmd, 8, 0x00) StrSet(DownloadCmd, 18, 0xA8)
Point number of soft components
StrSet(DownloadCmd, 19, 0x0A)
StrSet(DownloadCmd, 20, 0x00)

131
132
133
134
9.3 The FINS protocol
Background of the FINS protocol

135
136
137
138
139
140
141
142
9.4 EtherNetIP
9.4.1, the internal setting of the robot
1. The network port IP address of the robot is 192.168.1.3, subnet mask: 255.255.255.0, gateway:
192.168.1.0;
2. Open the Ethernet / IP switch and select the network card (view the network card name
connected in the Ethernet state);

Pic9.2.20 EtherNet/IP
3. The robot will power off and restart.

143
The FP-XH C40ET takes the Ethernet IP protocol communication as an example.

9.4.2 Hardware architecture


The PLC network port is directly connected to the Ethernet network port of the robot
PLC: The starting device
Robot: Target equipment

9.4.3 Internal PLC settings


1. New projects
2. Set up the Ethernet port of the PLC
IP address: 192.168.1.5; Subnet mask: 255.255.255.0; Gateway: 192.168.1.0
3. Click Ethernet / IP Settings, add the EDS file of the robot, log in, and set the IP address of the
device to the network port address of the robot.
4. Select Settings to turn off the automatic assignment function.
5. The image storage area of the allocated communication, where the input information is the
receiving area of PLC, the output information is the sending area of PLC, and the last setting is
saved.
6. After the setting, download the profile to the PLC and open the monitoring window.
Receiving area (WR 0-WR 3) (DT100-DT110), DT100-DT110 is the single precision real number,
including the WR 0-WR 3 monitoring robot DI0-DI23, DO 0-DO 11, DO 36-DO 63, and the time-real
coordinate position of DT100-DT110 monitoring robot (monitoring value divided by 1000). Send
area (DT50-DT52) (DT54-DT62), DT54-DT62 is the single precision real number, where the 64-bit
state of DT50-DT52 represents DI24-DI87 of the control robot, and DT54-DT62 assigns values to the
robot V900-V904 respectively.DT54 → V900 DT56 → V901 DT58 → V902 DT60 → V903
DT62 →V904
9.4.4 Communication examples
PLC order

Pic9.2.21 PLC Program


1. R20: The robot DO 8 triggers R20 after output, with Y0 output and self-locking delay of 1 second;
2. After a second delay, add the first position 1 of DT50, the DI24 is equal to 1, add the DT54 to 1,

144
and the numerical reaction is in V900;
3, and reset after two seconds.
Robot front ground program

Pic9.2.21 Robot front ground program


After the robot runs at three points, the DO 8 outputs 100MS, and the PLC terminal R20 sends the
signal to the robot DI24. After receiving the signal, the robot DI24 continues to jump to the first step
to repeat the operation program.

List9.2.22 Communication data format

145
9.5 network instructions in Xml format
9.5.1 TCP / IP communication configuration
The motion controller, as the function provider, will establish the TCP server and wait for a client
connection. The controller supports simultaneous access of multiple clients and send and receive
data. The total number of allowed connections is Linux the maximum number of network
connections allowed by a single process (currently 256). The motion controller handles all
connected clients simultaneously. The TCP server-side default port number is 8527. To use the
network command described below, check the Use Standard XML format item.

Pic9.2.23 TCP serve

9.5.2 IP address configuration and communication


For robot IP configuration, see Ethernet settings above.
Computer IP configuration, open the network and Internet Settings, click to change the adapter
option, right click the network to be modified, click the attributes, select the following IP address in
Internet IP version 4 (TCP / IPv4).

9.5.3 Command package format


One thing to be clear before introducing the command format. The motion controller was
developed under the Linux. The UTF-8 character set is used. Linux line change is not "\ r \ n", but "\
n", which needs special attention.
The network command package is an XML format language, such as:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>

146
<Cmd Name= "Command 1" CmdCont= "callback function pointer" Status= "status">
<Param parameter 1= "Value" Parameter 2= "value" />
<Data> Data </ Data>
</Cmd>
......
<Cmd Name= "Command n" CmdCont= "Pullback Function Pointer" Status= "Status">
<Param parameter 1= "Value" Parameter 2= "value" />
<Data> Data </ Data>
</Cmd>
</Bodys>
First behavior xml header, using the " Turin.Robot. V2.0 "As the version attribute value, it is not a
non-standard practice. If you use the libxml library to read and write xml, you can change it to" 1.0
".
Bodys The label carries all the command packets, and each Cmd label is a complete command. To
request multiple commands simultaneously, you can place all the requested commands into the
bodys label.
Introduction to the Cmd labels:
1, Name attribute description command name, such as Login for login, Logout for login.
2. The CmdCont attribute does not have practical significance. I suggest in this article that we
process the command for its storage client
The callback function or the callback class of the return package of. If this attribute is not required,
you can not use (deleted) it.
3. The Status attribute describes the status of the command. When the client sends Send, when the
client receives the receipt, it may be Recv or Error. Recv means that the command execution is
normal, and Error means that the command execution fails.
The Param label describes some parameters of this command, which are supported by each
command.

Note: In some commands, the parameter attribute returns the command execution result.
Like reading the profile item command.
The Data label has no attribute and only values. This label is generally used to access large data.
Binary data can be transferred to base64 transfer.

Note: CDATA transfer has not been verified.


The properties of an XML determine that every tag, attribute, or value of it can be removed. In this
controller system, no attributes can be written except for those that must exist, such as the Name
attribute of Cmd.
For items not configured, the default value for this attribute.
When familiar with the commands described in this article, we can use TCP to debug the validation
results.

147
9.5.4 Command introduction
LoopBack
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="LoopBack" CmdCont="0" Status="Send">
<Param currentMSecsSinceEpoch = "Time" sendTimes = "Number of communication" />
</Cmd>
</Bodys>
This is an unnecessary command that we can use as a heartbeat packet, calculate communication
delays, or record the number of contracts. The server receives this command and only returns the
Status property of its Cmd label to Recv.
1. The parameter attribute currentMSecsSinceEpoch is the current client system time.
2. The parameter attribute sendTimes is the number of times the client can add 1 for each client
package.
The server returns the package as follows:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="LoopBack" CmdCont="0" Status="Recv">
<Param currentMSecsSinceEpoch = "Time" sendTimes = "Number of newsletters" /> </ Cmd>
</Bodys>
We can calculate the packet delay by using the current system time minus the time recorded in the
currentMSecsSinceEpoch.sendTimes Show exactly which packet is being returned
pour:
1) It is recommended that this command be used in combination with other commands, especially
not alone.
2) In essence, the content in Cmd, Param and other labels is arbitrary.
Login
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Login" CmdCont="0" Status="Send">
<Param UserName = "User name" Password= "password" />
</Cmd>\n"
</Bodys>
Of all the network commands, some commands need to be logged in for use. Such as writing files,
etc. The Turin Network Command is a secondary development method, and we do not currently
intend to increase the difficulty of development here for our secondary development users. So as
long as you log in to any user, you can use all the commands. The four accounts we provide are for
limited end-users only.
The optional users of the parameter attribute UserName are operator, programmer, administrator,
developer.
The parameter property Password is the login password.

148
The command execution is returned as follows
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Login" CmdCont="0" Status="Recv">
<Param UserName = "User name" Password= "password" />
<Data>OK</Data>
</Cmd>\n"
</Bodys>
The packet is returned as follows
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Login" CmdCont="0" Status="Error">
<Param UserName = "User name" Password= "password" />
<Data> ERR: the account password is incorrect</Data>
</Cmd>\n"
</Bodys>
Logout
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Logout" CmdCont="0" Status="Send"/>
</Bodys>
Log out of the current account.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Logout" CmdCont="0" Status="Recv"/>
<Data>OK</Data>
</Bodys>
The command will not fail.
Account
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Account" CmdCont="0" Status="Send">
<Param UserName = "Username" OldPassword= "Old Password" NewPassword = "New Password"
/> </ Cmd>
</Bodys>
Modify the user password
1) The optional users of the parameter attribute UserName are operator, programmer, administrator,
and developer.
2) The parameter attribute OldPassword is the old password
3) The parameter attribute NewPassword was successfully returned for the new password:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>

149
<Bodys>
<Cmd Name="Account" CmdCont="0" Status="Recv">
<Param UserName = "User name" OldPassword= "Old Password" NewPassword = "New Password"
/> <Data> OK </ Data>
</Cmd>
</Bodys>
Failure to return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Account" CmdCont="0" Status="Error">
<Param UserName = "Username" OldPassword= "Old Password" NewPassword = "New Password"
/> <Data> ERR: the account password is incorrect </ Data>
perhaps
<Data>ERR:the account does not exist</Data>
</Cmd>
</Bodys>
Jog
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Jog" CmdCont="0" Status="Send">
<Param Mode = "click mode" Motion = "coordinate system" Operate= "start-stop" Axis = "axis
number" Speed= "percentage" Offset = "whether" TarPos= "position" />
</Cmd>
</Bodys>
1) The optional value of the parameter attribute Mode is 1 or 2. 1 represents planning using an
S-shaped velocity curve, and 2 represents planning using a trapezoidal velocity curve. If there is no
special requirement, it is recommended to use the mode 2;
2) The valid value of parameter attribute Motion is 1 to 5, and other values or no values are used
gui. Values in the ini. Value 1 is the joint instruction, 2 for the base coordinate direction, 3 for the
tool direction, 4 for the user direction, and 5 for the shimachine. If you do not understand, please
refer to the teaching mode function of the robot interface.
3) The value of the parameter attribute Axis depends on the Motion value,
When Motion is 1, the Axis value range is 1 to 9, representing the 1 to 9 axis;
When Motion is 2 / 3 / 4, Axis value range is 1 to 6, representing X, Y, Z, RX, RY, RZ and so on 6 axes;
For Motion 5, the Axis value ranges from 1 to 6,1 to 3 indicate non-cooperative point changer 1 to 3
axes, and 4 to 6 represent cooperative point changer 1 to 3 axes.
4) The value range of the parameter attribute Speed is 0 to 25, indicating the percentage of the
speed to the maximum speed when the point moves.
5) The optional value of the parameter attribute Offset is true or false, and the false value is
generally used.
6) The value range of the parameter attribute TarPos is a real number. When Offset is true, TarPos
represents an offset, otherwise TarPos represents an absolute value. When Motion is 1 or 5, the
maximum and minimum values of TarPos can refer to the maximum and minimum values of each

150
joint, and when TarPos is 2 / 3 / 4, TarPos does not need to give a value, because the maximum or
minimum value of TarPos cannot be calculated. When clicking, the robot moves to the wingspan
limit.
7) The optional value of the parameter attribute Operate is start and stop, indicating the start / stop
single axis, note that the start and stop start and stop Motion are described together with Axis.
Instead of starting and stopping all the axles. To stop all axes, use the MotionStop command;
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Jog" CmdCont="0" Status="Recv">
<Param Mode = "Spot mode" Motion = "Coordinate system" Operate= "Start-stop" Axis = "Size"
Speed= "Percent" Offset = "whether" TarPos= "Position" /> <Data> OK </ Data>
</Cmd>
</Bodys>
Failure to return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>

MotionStart
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="MotionStart" CmdCont="0" Status="Send">
<Param UseInThread = "whether" IsGcode = "whether" MainFileName = "primary program"
StartFileName = "subprogram" StartLine = "start" line "ExeLines =" execution line "ExeLoops ="
number of cycles " />
<Data> script content </ Data>
</Cmd>\n"
</Bodys>
Start the script
1) The optional value of the parameter attribute UseInThread is true or false. If there are no special
requirements, please use false;
2) The optional value of the parameter attribute IsGcode is true or false. This controller only
supports a small amount of G code, so please use false;
3) The parameter attribute MainFileName is the main program name started (do not have the suffix
name);
4) The parameter attribute StartFileName is the name of the startup child (not with the suffix name).
We cannot start the script directly in the subroutine, so the attribute value should be consistent
with the MainFileName attribute value for the first time. If you want to continue in the subroutine.
StartFileName Should be the subroutine name;
5) The parameter attribute StartLine is the starting line;
6) The parameter attribute ExeLines is the number of rows to be executed, given 1 for single step
and 0 for reproduction;
7) The parameter attribute ExeLoops is the number of times to be executed, usually 1, less than 0.

151
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="MotionStart" CmdCont="0" Status="Recv">
<Param UseInThread = "whether" IsGcode = "whether" MainFileName = "primary program"
StartFileName = "subprogram" StartLine = "start" line "ExeLines =" execution line "ExeLoops ="
number of cycles " />
<Data>OK</Data>
</Cmd>\n"
</Bodys>
Failure to return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="MotionStart" CmdCont="0" Status="Error">
<Param UseInThread = "whether" IsGcode = "whether" MainFileName = "primary program"
StartFileName = "subprogram" StartLine = "start" line "ExeLines =" execution line "ExeLoops ="
number of cycles " />
<Data> ERR: error prompt </ Data>
</Cmd>\n"
</Bodys>
<Cmd Name="Jog" CmdCont="0" Status="Error">
<Param Mode = "Point Action mode" Motion = "Coordinate system" Operate= "Start-stop" Axis =
"Axial" Size "Speed=" Percent "Offset =" whether "TarPos=" position " /> <Data> ERR: mode error </
Data>
</Cmd>
</Bodys>
In most cases, it is recommended that this command be used in conjunction with configuration files,
so some parameters can be omitted. The example format is as follows:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Jog" CmdCont="0" Status="Send">
<Param Mode = "Spot mode" Operate= "Start-stop" Axis = "shaft number" TarPos= "Position" /> </
Cmd>
</Bodys>
Note The Offset and TarPos properties are invalid when Mode is 1
MotionStop
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="MotionStop" CmdCont="0" Status="Send"/>
</Bodys>
Stop all motion movements
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>

152
<Bodys>
<Cmd Name="MotionStop" CmdCont="0" Status="Recv"/>
<Data>OK</Data>
</Bodys>
The command will not fail
ClearRobotError
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name=" ClearRobotError" CmdCont="0" Status="Send"/>
</Bodys>
Try to clear the system error. Including drive errors, controller errors, and bus errors.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name=" ClearRobotError" CmdCont="0" Status="Recv"/>
<Data>OK</Data>
</Bodys>
The command will not fail, but may not be able to clear the error.
ReadDir
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadDir" CmdCont="0" Status="Send">
<Param CWD = "Working path" Dir = "Relative path" Recursive= "Whether" Filter = "filter" Format =
"Output Format" Sorting= "Sort" Coding = "Base64" />
</Cmd>
</Bodys>
Go through the file / folder in the specified path
1) The optional values of the parameter attribute CWD (current work dir) are Abs, Motion,
Backprogram, Config,
Log,Bin;
Abs indicates that the working path is not specified
Motion Working path is / home / turin /.turin/motion
Backprogram Working path is / home / turin /.turin/backprogram
Config Working path is / home / assn /. Turin / configs / ethercat_x86 (practical version) or / home /
assn /. The turin / configs / simulation (analog version)
The Log working path is / home / turin /.turin/log
Bin working path is / us r/s are / turin / bin
2) The parameter attribute Dir specifies the relative path. In general, when CWD gives the non-Abs
value, this attribute should not give the value;
3) The parameter attribute Filter specifies the suffix name that needs to be traversed, and multiple
suffixes are separated by ",";
4) The parameter attribute Sorting specifies the collation, 0 indicates the name sorting, 1 represents

153
the modification time sorting, and 2 indicates the file size sorting. For other values, please refer to
the following macro definition;
enum SortFlag {Name= 0x00,
Time= 0x01,
Size=0x02,
Unsorted= 0x03,
SortByMask = 0x03,
DirsFirst= 0x04,
Reversed= 0x08,
IgnoreCase = 0x10,
DirsLast= 0x20,
LocaleAware = 0x40,
Type = 0x80,
NoSort = -1
};
5) Parameter attributes Format optional values have Full or Simple, Simple only lists file names, Full
also has file size, creation time and whether it is folder attributes. Please analyze the specific format
yourself when receiving the return package;
6) Parameter attribute Recursive The optional parameter is true or false. When Recursive is true,
the Format parameter is invalid, and the traversal result output format is a new format (different
from both Full and Simple of Format). Please analyze the specific format yourself when receiving
the return package;
7) Parameter attribute Coding The optional parameter is Base64. When Coding is Base64, the values
in all Data tags will be transferred to Base64 format.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadDir" CmdCont="0" Status="Recv">
<Param CWD = "Working Path" Dir = "Relative Path" Recursive= "Whether" Filter = "filter" Format =
"Output Format" Sorting = "Sort" Coding = "Base64" /> <Data> Content </ Data>
</Cmd>
</Bodys>
The command will not fail
ReadFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadFile" CmdCont="0" Status="Send">
<Param CWD = "Working path" FileName = "File name" Coding = "Base64" Offset = "Offset" MaxLen
= "Read length" />
</Cmd>
</Bodys>
Read the file
1) The optional values of the parameter attribute CWD (current work dir) are Abs, Motion,

154
Backprogram, Config, Log, Bin. For a specific introduction to the each value, please refer to the CWD
parameter properties in the ReadDir command;
2) Parameter attribute Coding The optional parameter is Base64. When Coding is Base64, all the
value content in the Data labels will be transferred to Base64 format;
3) Parameter attribute FileName specify the file name;
4) The parameter attribute Offset specifies the read position, and indicates the scratch read to 0;
5) The parameter attribute MaxLen specifies the number of read bytes, and 0 reads the entire file;

Note: When reading large files, they can be read in sections using the Offset and MaxLen
parameter properties.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadFile" CmdCont="0" Status="Recv">
<Param CWD = "Working path" FileName = "File name" Coding = "Base64" Offset = "Offset" MaxLen
= "Read length" and /> <Data> Content </ Data>
</Cmd>
</Bodys>
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadFile" CmdCont="0" Status="Error">
<Param CWD = "Working Path" FileName = "File Name" Coding = "Base64" Offset = "Offset" MaxLen
= "Read Length" /> <Data> Error Content </ Data>
</Cmd>
</Bodys>
WriteFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteFile" CmdCont="0" Status="Send">
<Param CWD = "Working path" FileName = "File name" Coding = "Base64" Append = "Yes"
LoadConfig = "Yes" /> </ Cmd>
</Bodys>
Write a file
1) The optional values of the parameter attribute CWD (current work dir) are Abs, Motion,
Backprogram, Config, Log, Bin. For a specific introduction to the each value, please refer to the CWD
parameter properties in the ReadDir command;
2) Parameter attribute Coding The optional parameter is Base64. When Coding is Base64, all the
value content in the Data labels will be transferred to Base64 format;
3) Parameter attribute FileName specify the file name;
4) Parameter attribute Append optional values have true and false. True represents additional write,
and false represents replace write;
5) The parameter attribute LoadConfig optional values have true and false. The true indicates

155
loading the profile to the controller system after writing. Generally, when writing configuration files,
they should be given to true, and other files should be given to false;
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteFile" CmdCont="0" Status="Recv">
<Param CWD = "Working path" FileName = "File name" Coding = "Base64" Append = "whether"
LoadConfig = "Yes" /> <Data> OK </ Data>
</Cmd>
</Bodys>
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteFile" CmdCont="0" Status="Error">
<Param CWD = "Working path" FileName = "File name" Coding = "Base64" Append = "whether"
LoadConfig = "whether" />
<Data> Error Content </ Data>
</Cmd>
</Bodys>
ReadConfigFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadConfigFile" CmdCont="0" Status="Send">
<Param FileName = "Profile name" Sec = "segment" Key= "key" />
</Cmd>
</Bodys>
Read the profile contents in the config (see ReadDir command) directory.
1) The parameter attribute FileName specifies the file name.
2) Parameter attribute Sec-specified segment
3) Parameter attribute Key specifies the key
Successful return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadConfigFile" CmdCont="0" Status="Recv">
<Param FileName = "Config file name" Sec = "segment" Key= "Key" Value= "value" />
<Data> Value </ Data>
</Cmd>
</Bodys>

pour:
1) Considering the forward compatibility, the read results are placed in both the Data label and the
parameter attribute Value.
2) When worthless, the value of the Data label and parameter attribute Value is empty.

156
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ReadConfigFile" CmdCont="0" Status="Error">
<Param FileName = "Profile name" Sec = "segment" Key= "key" />
<Data>ERR: File name is null</Data>
</Cmd>
</Bodys>
WriteConfigFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteConfigFile" CmdCont="0" Status="Send">
<Param FileName = "File name" Sec = "Segment" Key= "Key" Value= "value" />
</Cmd>
</Bodys>
Write the profile contents in the config (see ReadDir command) directory.
1) The parameter attribute FileName specifies the file name.
2) Parameter attribute Sec-specified segment
3) Parameter attribute Key specifies the key
4) The parameter attribute Value specifies the value
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteConfigFile" CmdCont="0" Status="Recv">
<Param FileName = "File name" Sec = "Segment" Key= "Key" Value= "value" />
<Data>OK</Data>
</Cmd>
</Bodys>
Failure to return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="WriteConfigFile" CmdCont="0" Status="Error">
<Param FileName = "File name" Sec = "Segment" Key= "Key" Value= "value" />
<Data>ERR: File name is null</Data>
</Cmd>
</Bodys>

GetGuiLog
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetGuiLog" CmdCont="0" Status="Send">
<Param Length = "The number of reads," />

157
</Cmd>
</Bodys>
Read the interface log information
1) The parameter attribute Length specifies the number of reads for this time
This command reads all the logs in the log pool in sequence. The Data label for this command
returns null values when no new logs are present in the log pool.

Note: Each client has a separate log pool, so there are no conflicts even when multiple clients
read logs at the same time.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetGuiLog" CmdCont="0" Status="Recv">
<Param Length = "The number of reads," />
<Data> Log Content </ Data>
</Cmd>
</Bodys>
The command will not fail
GetCurrAllPos
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetCurrAllPos" CmdCont="0" Status="Send">
<Param Tool = "Tool No." User = "User number" />
</Cmd>
</Bodys>
Read the position information of each coordinate system of the robot.
1) Parameter attribute Tool specifies the tool number and range from 0 to 10. Worvalue uses the
tool number currently in use
2) The parameter attribute User specifies the user number, taking the value range from 0 to 10.
Worvalue uses the user number currently in use
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetCurrAllPos" CmdCont="0" Status="Recv">
<Param Tool = "Actual Tool Number" User = "Actual User Number" /> <Data> Location Value </
Data>
</Cmd>
</Bodys>
The location value format is as follows:
Servo: Nine servo-encoder values, separated by a comma
Joint: Nine joints, separated by the commas
World: Nine untool space values, followed by X, Y, Z, RX, RY, RZ, joints 7 to 9, separated by a comma
Tool: Nine toolspace values, followed by: X, Y, Z, RX, RY, RZ, joints 7 to 9, separated by a comma

158
User: Nine user space values with tools, followed by: X, Y, Z, RX, RY, RZ, joints 7 to 9, separated by a
comma
The command will not fail
GetSystemRunningStatus
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetSystemRunningStatus" CmdCont="0" Status="Send"/>
</Bodys>
Read the robot running status information. This command has no parameters. The status data
returned is a bit complicated.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetSystemRunningStatus" CmdCont="0" Status="Recv"/>
<Data> System running status </ Data>
</Cmd>
</Bodys>
The system running status format is as follows
EffectiveServoConst: Number of effective servo / joint
ServoStatusWord: 916 decimal Ethercat status words, separated by a comma
ServoControlWord: 916 decimal Ethercat controls, separated by a comma
MotionControlMode: Motion controller mode,
ControlModeStatusTimes: Number of changes in the motor control state
MotionExecFileName: The text motion script file name that is currently running
MotionStatus: Movement status
MotionExecLine: The row currently being executed
MotionStatusTimes: Number of movement state changes
backProgState: 9 background program execution status, separated by a comma
The motion controller mode is defined as follows:
typedef enum task_control_mode{
tcm_null =0x0, //
tcm_motion_error = 0x1, // dyskinesia
tcm_call_back_error = 0x2, / / EtherCat bus communication is
abnormal
tcm_alarm = 0x4, / / Servo alarm
tcm_teach = 0x8, // teach
tcm_loop = 0x10, // reappear
tcm_enable = 0x20, / / Have enabling
tcm_emergency = 0x40, // jerk
tcm_safety_door_open = 0x80, / / Security door open
tcm_anti_collision =0x100, // collide
tcm_inactivated = 0x200, / / Activation failed
tcm_battery_low = 0x400 / / Low battery voltage

159
}task_control_mode;
Operating status is: error, stopped, stopping, running, jogging
The daemon execution status is defined as follows:
typedef enum {
BACKGROUND_PROGRAM_STATUS_ERROR = -1,
BACKGROUND_PROGRAM_STATUS_STOPED = 0
BACKGROUND_PROGRAM_STATUS_STOPING = 1
BACKGROUND_PROGRAM_STATUS_STARTING = 2
BACKGROUND_PROGRAM_STATUS_RUNING = 3
}background_program_status;
The command will not fail
Variable
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Variable" CmdCont="0" Status="Send">
<Param Comment = "Is" CWD = "working path" FileName = "file name" /> <Data> </ Data>
</Cmd>
</Bodys>
Read and write system and file variables
1) The optional values of the parameter attribute CWD (current work dir) are Abs, Motion,
Backprogram, Config, Log, Bin. For the specific introduction of each value, please refer to the CWD
parameter properties in the ReadDir command;
2) Parameter attribute FileName to specify the file name of the file variable;
3) The parameter attribute Comment optional parameters are true and false, and the true value
represents the read and write variable annotation information. CWD and FileName properties
without reading and writing system variables;
The operational system variables are V0 to V999 (real variable), S0 to S999 (1024-byte length
character variable), P0 to P999 (P point variable);
Operational file variables are FV 0 to FV999 (real variable), FS0 to FS999 (1024 byte length character
variable), FP0 to FP999 (P point variable);
1) Read a single V variable without annotation: "V0 \ nV 9". Return: "V0= value \ nV9= value";
2) Read multiple V variables without annotation: "FV 0-FV 9". Return: "FV 0 = value \ n FV 1 = value
\ n...... FV 9 = value";
3) Read an annotated single V variable: "V0 \ nV 9". Return: "V0= Value: Comment =" Annotation "\
nV9= value: Comment =" Annotation ""
4) Read multiple V variables with annotation: "FV 0-FV 9". Return "FV 0 = value: Comment ="
annotation "\ n FV 1 = value: Comment =" annotation "\ n...... FV 9 = value: Comment =" Annotation
"";
5) Read the individual S variable without annotation: "FS10 \ nFS 21". Return: "FS10=" Value "\ nFS
21 =" Value "";
6) Read multiple S variables without annotation: "S33-S29". Note: Order doesn't matter. Return:
"S29=" Value "\ nS 30 =" Value "\ n...... S33=" Value "";
7) Read the individual S variable with annotation: "FS10 \ nFS 21". Return: "FS10=" Value ":

160
Comment =" Note "\ nFS 21 =" Value ": Comment =" Comment "";
8) Read multiple S variables with annotation: "S33-S29". Return: "S29=" Value ": Comment ="
Annotation "\ nS 30 =" Value ": Comment =" Annotation "\ n...... S33=" Value ": Comment ="
Annotation "";
9) Read a single P variable without annotation: 'P13 \ nP 199'. Return: "P13=" Value "\ nP 199 ="
Value "";
10) Read multiple P variables without annotation: "FP16-FP18". Return: "FP16=" Value "\ nFP 17 ="
value "\ nFP 18 =" value "";
11) Read the individual P variable with annotation: "P122 \ nP 730". Return: "P122=" Value ":
Comment =" note "\ nP 730 =" Value ": Comment =" note ""
12) Read multiple P variables with annotation: "FP666-FP777". Returns "FP666=" Value ": Comment
=" Note "\ nFP667=" Value ": Comment =" Note "\ n...... FP777=" Value ": Comment =" Annotation"
P variable value format: "P001 =" J1= value J2= value J3= value J4= value J5= value J6= value J7=
value J8= value J9= value X= value Y= value Z= value RX = value RY = value RZ = value J7= value J8=
value J9= value T= value U= value "";
13) Write to a single V variable without comments: "V0= -9 \ nV 9 = 10.6". Return: no return value;
14) Write to multiple V variables without comments: "FV 0-FV 9 = 0". FV 0 to FV 9 is set to 0, return:
no return value;
15) Write a single V variable with comments: "V0= value: Comment =" comment "\ nV 9 = value:
Comment =" comment "". Return: no return value;
16) Write multiple V variables with notes: "FV 139-FV 129 = 16: Comment =" Pending "". Set FV129
to FV139 to 16 and note to pending. Return: no return value;
17) Write to a single S variable without a comment: "FS10=" value "\ nFS 21 =" value "". Return: no
return value;
18) Write multiple S variables without comments: "S44-S33=" "". Empty the S33 to S44 variables.
Return: no return value;
19) Write a single S variable with a note: "FS10=" Value ": Comment =" note "\ nFS 21 =" Value ":
Comment =" note "". Return: no return value;
20) Write multiple S variables with comments: "S180-S290=" ok ": Comment =" wait "". Set S180 to
S290 to ok and change notes to wait. Return: no return value;
21) Write to a single P variable without a comment: "P13=" value "\ Np 199 =" value "". Return: no
return value;
22) Write multiple P variables without comments: "FP16-FP18=" value ". Return: no return value;
23) Write a single P variable with comments: "P122=" value ": Comment =" comment "\ nP 730 ="
value ": Comment =" comment "". Return: no return value;
24) Write multiple P variables with comments: "FP666-FP777=" value ": Comment =" comment "".
Return: no return value;
P variable value format: "P001 =" J1= value J2= value J3= value J4= value J5= value J6= value J7=
value J8= value J9= value X= value Y= value Z= value RX = value RY = value RZ = value J7= value J8=
value J9= value T= value U= value"
25) Write the current position of the robot to the P variable: "FP666-FP777=" CurrentPosition ""

pour:
1) The write and read of multiple variables can be used together;

161
2) If there is no read or write, then the command will return OK;
3) If the writing format is wrong, the prompt for the line where the writing error appears is
returned.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Variable" CmdCont="0" Status="Recv">
<Param Comment = "Is" CWD = "working path" FileName = "filename"? /> <Data> Results </ Data>
</Cmd>
</Bodys>
The command will not fail
InputOutput
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="InputOutput" CmdCont="0" Status="Send">
<Param Comment = "whether" />
<Data> Input / Output </ Data>
</Cmd>
</Bodys>
Read and write the input / output devices
1) Parameter attribute Comment The optional parameters are true and false, and the true value
represents the annotation information of read and write input / output points.
Operational system input / output equipment points are:
DI0 to DI199 (IO input).
DO 0 to DO 199 (IO output).
AD0 to AD99 (analog input).
DA0 to DA99 (analog output).
The values of DI and DO are 1 and 1.
The value ranges for DA and AD are real numbers.
InputOutput The data format is basically the same as Variable. Here is an example:
DI18-DI39=1: Comment = "Note"
DI180-DI39=0
DO199-DO88
DI69
DO69
AD18-AD39=1.0: Comment = "Note"
DA99-DA88
AD18-AD39= -10.0: Comment = "Note"
DA99-DA88
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="InputOutput" CmdCont="0" Status="Recv">

162
<Param Comment = "whether" />
<Data> Results </ Data>
</Cmd>
</Bodys>

pour:
1) The writing and reading of multiple devices can be used together;
2) If there is no read or write, then the command will return OK;
3) If the writing format is wrong, the prompt of the line where the writing error appears will be
returned;
The command will not fail
IO
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="IO" CmdCont="0" Status="Send">
<Param Oper = "Read / write" Type = "for the input / output" />
<Data> IO Value </ Data>
</Cmd>
</Bodys>
Read and write IO devices, which can only operate the first 100 IO inputs and the first 100 IO
outputs
1) The optional values of the parameter attribute Type are InputOutput, Input and Output.
InputOutput Represents operational input IO and output IO, Input means only input IO, and Output
means only output IO.
2) Parameter attribute The optional parameters of Open include Get and Set. Get represents the
reading device and Set represents the writing device. A successful Set operation returns OK, and a
successful Go operation returns a continuous set of values. The format of the Get + InputOutput
operation results is as follows:
An array of 100 '0' or '1' \ n an array of '0' or '1' output status characters'
The Get + Input operation result format is as follows:
The input state character array composed of 100 '0' or '1', the Get + Output operation result format
is as follows:
'A hundred array of output status characters consisting of' 0 'or' 1 ''
Successful return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="IO" CmdCont="0" Status="Recv">
<Param Oper = "Read / write" Type = "for the input / output" />
<Data> Results </ Data>
</Cmd>
</Bodys>
The command will not fail.
BckprogramStart

163
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStart" CmdCont="0" Status="Send">
<Param Index = "background index" FileName = "start file name" Restart = "is" />
</Cmd>
</Bodys>
Start a daemon. Currently, there can be 9 background programs to run at the same time
1) The parameter attribute Index specifies the background index to operate, ranging from 1 to 9
2) The parameter attribute FileName specifies the background file name
3) The parameter attribute Restart optional value is true or false. The true stops before starting.
Successful return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStart" CmdCont="0" Status="Recv">
<Param Index = "background index" FileName= "start file name" Restart = "whether" /> <Data> OK
</ Data>
</Cmd>
</Bodys>
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStart" CmdCont="0" Status="Error">
<Param Index = "Background index" FileName = "Start file name" Restart = "whether" /> <Data> ERR:
Error prompt </ Data>
</Cmd>
</Bodys>
BackprogramStop
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStop" CmdCont="0" Status="Send">
<Param Index = "Background index" />
</Cmd>
</Bodys>
Stop the background program
1) The parameter attribute Index specifies the background index to operate, and the value range
from 1 to 9 returns successfully
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStop" CmdCont="0" Status="Recv">
<Param Index = "Background index" />
<Data>OK</Data>
</Cmd>

164
</Bodys>
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramStop" CmdCont="0" Status="Error">
<Param Index = "Background index" />
<Data>ERR: background program index number %d error</Data>
perhaps
<Data>ERR: background program stoping error</Data>
</Cmd>
</Bodys>
BackprogramLoadIniFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramLoadIniFile" CmdCont="0" Status="Send">
<Param Restart = "whether" />
</Cmd>
</Bodys>
Stop reloading the daemon profile. BackprogramStart And BackprogramStop can realize online start
and stop background programs, but can not permanently maintain the start and stop state. If you
want to permanently operate the daemon status, you need to configure the Backprogram. Only
with the ini file. Call this command to take effect when the configuration is complete.
The optional value for the parameter property Restart has a figure or false. True stops all programs
and then starts the corresponding background program based on the background configuration
information.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="BackprogramLoadIniFile" CmdCont="0" Status="Recv">
<Param Restart = "whether" />
<Data>OK</Data>
</Cmd>
</Bodys>
The command will not fail.

Note: When the Backprogram. After the ini is reconfigured, you can also restart the controller
software system for a new configuration.
GetBackprogramState
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetBackprogramState" CmdCont="0" Status="Send">
<Param StartIndex = "Start index" EndIndex = "End index" />

165
</Cmd>
</Bodys>
Read the daemon status
1) The parameter attribute StartIndex specifies the start index.
2) The parameter attribute EndIndex specifies the end index.
When the start and end indexes are the same value, get the index status only.
Successful return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetBackprogramState" CmdCont="0" Status="Recv">
<Param StartIndex = "Start index" EndIndex = "End index" />
<Data> Index n state \ n \ n index n + 1 state \ n \ n............ Index m state </ Data>
</Cmd>
</Bodys>
The index status format is as follows:
Index: Background Index Number (1 to 9)
Enable: Whether Enabled (0 or 1)
BackProgFileName: File name when starting the background
MotionFileName: Front ground file name
State: Execution status (error, stopped, stopping, starting, running)
Control: Control status (error, stopped, stopping, starting)
FileName: The file name being executed
Line: executing row
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetBackprogramState" CmdCont="0" Status="Error">
<Param StartIndex = "Start index" EndIndex = "End index" />
<Data>ERR: index error </Data>
</Cmd>
</Bodys>
GetMessageBoxContent
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="GetMessageBoxContent" CmdCont="0" Status="Send"/>
</Bodys>
Read the prompt information required to be immediately processed by the user. If you use the
MotionStart command and set the parameter attribute UseInThread to true, the system may
prompt you for some immediate user processing.
Such as: whether to continue to execute the script, whether to continue welding, etc.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>

166
<Cmd Name="GetMessageBoxContent" CmdCont="0" Status="Recv"/>
<Data> Content </ Data>
</Bodys>
The content format is as follows
Title: Tip title
Icon: Tip Type (NoIcon, Information, Warning, Critical, Question)
Message: Warning information
Button: Button 1 content, button 2 content, button 3 content
The command will not fail
SelectMessageBoxButton
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="SelectMessageBoxButton" CmdCont="0" Status="Send">
<Param Button = "Button content" />
</Cmd>
</Bodys>
Upload the results of the user processing the GetMessageBoxContent command.
1) Parameter attribute Button puts the contents of the button selected by the user.
Successful return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="SelectMessageBoxButton" CmdCont="0" Status="Recv">
<Param Button = "Button content" />
<Data>OK</Data>
</Cmd>
</Bodys>
Failure to return
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="SelectMessageBoxButton" CmdCont="0" Status="Error">
<Param Button = "Button content" />
<Data> ERR: Select Button is null</Data>
perhaps
<Data> ERR: Message box is not open</Data>
</Cmd>
</Bodys>
Halcmd
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Halcmd" CmdCont="0" Status="Send">
<Param Arg1 = "Parameter 1" Arg 2 = "Parameter 2" />
<Data> Operation content </ Data>

167
</Cmd>
</Bodys>
Call to the Halcmd function.
1) Parameter attribute Arg 1 optional value: show, setp and sets.
2) Parameter attribute Arg 2 optional value: When Arg 1 is show, Arg 2 optional has pin and sig,
otherwise please leave blank.
Operation content format is:
1) Read (show) "Pin" or "signal", and return to "Pin value" or "signal value";
2) Write the pin (setp) "pin value", no return value;
3) Write the signal (sets) "signal value", no return value

pour:
1) If only write is not read, the OK or error message is returned.
2) For the specific required pins or signal names, please contact the software engineer.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="Halcmd" CmdCont="0" Status="Recv">
<Param Arg1 = "Parameter 1" Arg 2 = "Parameter 2" />
<Data> Operation Results </ Data>
</Cmd>
</Bodys>
The command will not fail
ChangeRobotSystemStatus
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ChangeRobotSystemStatus" CmdCont="0" Status="Send">
<Param Status = "System status" />
/Cmd>
</Bodys>
Switch system status
1) The optional values of the parameter attribute Status are:
A) ShutdownRobot (turn off the controller software interface)
B) RebootRobot (restart the controller software interface)
C. c) ShutdownSystem (OS off)
D) RebootSystem (restart of the operating system)
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="ChangeRobotSystemStatus" CmdCont="0" Status="Recv">
<Param Status = "System status" />
<Data>OK</Data>
/Cmd>

168
</Bodys>
The command does not return a failure, but the system does not necessarily respond. When the
system does not sound and should the command, a log reminder is issued.
LoadFile
Employer format:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="LoadFile" CmdCont="0" Status="Send">
<Param FileName = "Fename" Coding= "Base64" />
<Data> File Content </ Data>
</Cmd>
</Bodys>
The notification robot interface loads the script file
1) The parameter attribute FileName specifies the file name to be loaded.
2) Parameter attribute Coding The optional parameter is Base64. When Coding is Base64, all the
values in the Data tags will be transferred to Base64 format.
When the value of the Data label is not empty, the system writes its contents to the file name
specified by the FileName.

Note: This is a secondary command that only notifies the interface to switch pending files.
Successful return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="LoadFile" CmdCont="0" Status="Recv">
<Param FileName = "Fename" Coding= "Base64" />
<Data>OK</Data>
</Cmd>
</Bodys>
Failure to return:
<?xml version="Turin.Robot.V2.0" encoding="UTF-8"?>
<Bodys>
<Cmd Name="LoadFile" CmdCont="0" Status="Error">
<Param FileName = "Fename" Coding= "Base64" />
<Data> ERR: error message </ Data>
</Cmd>
</Bodys>

169
9.6 Class EtherCat communication
9.6.1 External Shaft
The Turin external axis is mainly divided into: rotation axis and walking axis control. At present, up
to 3 external axes can be extended on the original 6 axis system. That is, the seventh axis axis 8 and
axis 9 are the external axis. Extended external axis such as using the Turin system seventh and
eighth nine axis, motor drive to need Turin standard or designated brand. Non-Turin specified brand
motor systems will not be enabled.
9.6.1.1 Hardware configuration
Control cabinet wiring diagram
Here we add 1 motor as our seventh axis as an example. Here is a picture of the seventh axis in our
control cabinet.(Add axis 8, axis 9, please copy)

Pic9.6.1 Wiring diagram of control cabinet


External axis wiring diagram
Servo driver: supply 220V power to the servo according to the corresponding servo brand, the zero
line N is directly taken from the X1 terminal row, the fire wire L is connected to the output position

170
of the fuse, and the grounding wire is uniformly connected to the grounding row.
Network cable: one end of the network cable is connected to the sixth axis output port from the
seventh axis input port (the crystal heads at both ends can correspond one by one).
Lock relay: the positive pole of the relay coil is connected to the 24V + negative pole on the X3
terminal row, servo IO lock 3 foot, the two common ends are connected with a line to the 24V
power supply on the X2 terminal row is positive and negative, the corresponding two often open
point connected to the motor BK + and BK-.
Fuse wiring definition: input terminal connected to fire wire L on the left of X1 terminal row, output
connected to servo driver power supply R.
9.6.1.2 System configuration
The system configuration includes the ENI file copy, the ENI file selection, and the joint parameter
setting. ENI, the file is the communication file of the TURIN system master station for each servo
and each slave of the board, so the changes in the number of servo and IPO CAN digital
communication board need to change the ENI file. The system can only be used.

Pic9.6.2 System configuration


Parameter settings —— System maintenance —— file copy —— select configsethercat_x86 in
the system file, and then open the suffix with the name corresponding to its hardware
configuration.xml document.

171
Pic9.6.3 Choose ENI file
Parameter setting —— System setting ——EtherCat —— Select ENI file —— Find the copy
success corresponding to the hardware. After xml file, click save to restart.
9.6.1.3 External axis collaborative calibration
Turin external axis cooperative calibration is divided into two types: rotating axis cooperative
calibration and walking axis cooperative calibration. The rotating axis is generally used for horizontal
rotation or vertical turnover; the walking axis is generally used for welding workpieces for a long
time, and the robot travel can not reach, but the robot is installed on the walking axis to moving.(No
setting and calibration are required when not coordinated)
The rotation axis is calibrcalibration

172
Pic9.3.4 Setting/Cali
Allow linkage: the linkage function of outer axis and robot body.
External axes 1 and 2 are combined: when two external axes are superimposed together.
Number of external axes: Select the number of external axes.
Calculated user coordinate system: refers to the three coordinate values recorded at the three
different angles of the recording transformer that coincide with the TCP of the robot tool
coordinates.(When recording these three coordinates, the robot should maintain the same attitude,
and the tool coordinate of the robot is TCP, and the accuracy should be less than 1mm)
7.1 When the seventh axis shifting machine is 0°, click the coordinate value record when the robot
TCP coincides with the fixed pin point on the shifting machine.
7.2 When the seventh axis transformer is 30 ° , when the robot TCP and the fixed thple point
coincide, click the coordinate value record on the transformer.
7.3 When the seventh axis transformer is 60 ° , when the robot TCP and the fixed thple point
coincide, click the coordinate value record on the transformer.
After the three coordinate points are recorded, click on the transformer to calculate, and then save
the point.(The eighth and ninth axes are the same ones.)
Cooperative calibration of the linear axis

173
Pic9.3.5 Setting/Cali
When calibration the walking axis, an auxiliary TCP tip (TCP error should be controlled within 1mm
as far as possible) should take three positions on the edge of a datum, and the three positions need
to be moved with the walking axis movement. After the coordinate value is recorded, the point
walking axis is successfully saved to obtain the results of the robot coordinate and the datum
parallel operation.
7.1 When the seventh axis is negative and the TCP of the robot coincides with the fixed thx point of
the reference surface.
7.2 When the walking axis of the seventh axis is the zero position and the robot TCP coincides with
the fixed thble point of the coordinate value of the reference surface.
7.3 When the seventh axis of the walking axis is positive and the TCP of the robot may stretch the
limit position coincides with the fixed thble point of the reference surface.
9.6.1.4 Cooperative calibration verification of external axes
When an auxiliary TCP tip for external axis calibration verification is required, the robot TCP is
aligned. At the auxiliary TCP tip as in the calibration, switch the coordinate system to the
transformer, switch the speed to 5%, verify the seven axes press J4-J4 +, and verify the eight and
nine axes press J5-J5 + and J6-J6 +. During the movement of point relocation, the robot body links
with the corresponding external axis and always follows the TCP point with the auxiliary TCP tip.

174
10 Universal industry process package
Turin Industrial Robot offers the following special process software packages for different
applications, including welding, palletizing, spraying and visual tracking. Turin will provide as many
process software packages as possible according to the practical application requirements.

10.1 Pallet
10.1.1 typical palletizing application
Tray: a user-defined robot worktop, usually flat.
Line: in a straight line parallel to the tray, vertical to the column.
Column: A straight line aligned to the working point in a plane parallel to the tray.
Layer: a plane where the robot needs to work and is parallel to the tray.
Serial number of the palletizing point: number the palletizing point according to the order of the
first and second column.

Pic10.1.1 palletizing

10.1.2 Pallet setting


Set palletizing parameters in [Crafts] -> [Pallet] -> [Pallet setting].
Set the correct number of rows, columns, and layers first
Set the coordinates of the origin to the position above, and then click "Copy from the current
position" to record the coordinates of the origin
Record the coordinates of three points in figure b, c, d successively (depending on the coordinates
of all three points, e. g., only one line, then c is not recorded; if there is only one layer, d is not
recorded)

175
Pic10.1.2 Pallet setting

10.1.3 Program preparation


Understanding of the palletizing stack:
The palletizing program looks complex, actually only need to understand two instructions, one is
"the palletizing initialization parameter * *", the other is "calculating the palletizing coordinate
assignment". The first instruction determines the call of the number stack process, which is the
preparation for the second instruction. In the second instruction, the corresponding coordinate will
be calculated according to the corresponding number of stacks.
When writing programs, you only need to flexibly use these V variables used to store the number
and coordinates of stacks to write various flexible stacks. Do not be bound by the sample program,
paltizing both rules and free.
Case 1 (single material picking point to palletizing):

176
Pic10.1.3 Program preparation-1

Pic10.1.4 Program preparation-2

177
Case 2 (stack to stack):

Pic10.1.5 Program preparation-3

178
Pic10.1.6 Program preparation-4

Pic10.1.7 Program preparation-5

179
10.2 Visual
10.2.1 visual basic setting
Visual process package needs to be connected to Ethernet, see above.

Pic10.2.1 Basic func

10.2.2 Parameter resolution


1. Network configuration serial number: The robot supports multiple groups of communication
configuration;
2. Network mode: the robot selects server TCP Server, and the robot selects client TCP Client;
3. Communication mode: blocking () non-blocking ()
Blocked communication mode, when establishing a connection, sending and receiving data, will
wait for the program to continue to execute. Timout time will produce timeout alarm;
Non-blocking communication mode, the program execution only execute the instruction
corresponding function, do not judge the execution result;
4. IP address: the IP address of the server connected when the robot is doing the client;
5. Package format: several case formats are provided to assist in the generation of "package format
regular";
6, the package format is regular: determines how the string is split. In general, the strings are split
with an English comma delimiter, such as TYPE, X, Y, RZ (2,13.56,44.67,20.33) for identifying OK,

180
0,0,0,0 at NG;
7. Field storage start S: After receiving the data, the whole data will be stored in the S variable, and
then split according to the completed regular expression. The split results are stored in turn in the S
variable for the other addresses. Here is the first address of the beginning of the storage, which
supports up to 10 fields.

10.2.3. Explanation of process instruction

Pic10.2.2 process instruction-1


1. Open the vision (the network configuration serial number set in the visual process package) and
establish a connection.
2. Send visual data parameter 01 Send "SGST01" (send a customized trigger command)
3, accept the visual coordinate point parameter 01 saved to P0. Receive the data with the.
4、StrToDig(S1,V1)。Data type conversion, string type data in S1 into real type and stored in V1.

Pic10.2.3 process instruction-2

181
10.2.4 Program instance

Pic10.2.4 Program instance-1

Pic10.2.5 Program instance-2

182
10.2.5 using the background prog
Background program configuration:
Mon/Ctrl->Background cfg->Start/Stop cfg,16 groups of background programs can be configured
under the start-stop configuration
The background program and the movement program are different in the execution, the
background program will be repeatedly called by the system. When the background program thread
sets the motion program, the system starts the background program when the motion program is
running. When the running program is not set, the background program will start and stop as the
system starts and stops.
Background scripts use more flexible, for special agreements or protocol communication, generally
use the background script execution.

Pic10.2.6 Background

183
184
185
10.2.7 foreground program

Note: It should be used with the background script


V99 Determine the connection status, once the connection to the server success will jump out of
the loop
V101=1 The instruction can be changed in the background file to change to the string that you want
to send
V12=-2 The foreground program is set to-2, after receiving the data, the background will set 1, and
then the loop.
V100=1 Send to the current location of the robot

10.3 tracking method


10.3.1 tracking the hardware settings
The following figure shows the physical diagram of the Turin encoder tracking hardware.

Pic10.3.1 Physical image


The following figure shows the wiring diagram between the acquisition cards of the Turin encoder.

186
Pic10.3.2 Wiring diagram
PWR: Power supply: 24VDC
XP1, XP2: Incremental encoder interface. Definition is shown above.

pay attention to:


To ensure that the code value signal collected by the controller is increasing, if the signal decreases,
the installation mode of the encoder can be changed or the position of the two lines A and B on the
acquisition card can be exchanged.
Connect the last EtherCat of the network cable control cabinet from the station to the acquisition
card T1 port, and take the acquisition card as the last slave station. When 1 encoder is used, the
encoder signal uses the XP1 interface.
The principle of encoder installation, first of all, ensures that the friction between the encoder and
the pipeline will not change, and the speed measured by the controller will remain positive and
does not change, not reverse, not 0.

187
Pic10.3.3 Encoder

10.3.2 Suggestions for installation


The following figure is the general installation method. Is the way the roller presses the conveyor
belt.

Pic10.3.4 Installation method-1


The following figure shows the connection with the drive shaft of the conveyor belt using the
coupling device

188
Pic10.3.5 Installation method-2
The following figure shows the installation mode of the conveyor belt speed is too low, and the
speed is calculated when the speed of the controller is often 0.

Pic10.3.6 Installation method-3

10.3.3 Description of the algorithm

Pic10.3.7 schematic diagram

189
Pic10.3.8 Process Settings

10.3.4 Process Settings


10.3.4.1Process settings

10.3.9 Process Settings-1


Trigger method
Choose different trigger methods according to your own needs. For example, receiving external IO
signal to start tracking, receiving network command to start tracking, etc. Using different trigger
methods, the trigger related parameters need to be set separately according to the requirements.
Trigger (DO) I / O
Set the trigger IO for the output.
Trigger signal
Set the trigger signal.
Trigger keyword
Set the trigger keyword when the network triggers.
Trigger distance

190
Set how much distance the conveyor moves for equal spacing trigger.
Input DI
Set up the input IO.
Detection signal
Set the input signal.
Store start pt P
This is mainly designed for the disk project, which is used in a disk with each different fixed point, to
set the coordinate of the first one of each tracking, from which P point is read to the tracking point.
Number of piece
The number of artifacts set for the addition of a disk is also the location of how many tracking
positions there are in a circle, and the program automatically reads the tracking point from the P
point.
Note: the range of storage points, not and other groups of network configuration number storage
point range repeated, otherwise it will cause two coverage, set in monitoring / control after P point
coordinates, don't change the coordinates of P point, otherwise will cause the position of the
tracking point, cause accidents such as tracking failure.
10.3.4.2 Tracking

Pic10.3.10 Process Settings-2


Enable track:
Set whether the tracking is enabled.
tracking method:
There are four ways to set up the tracking methods, including translation, disk (pure position), disk
(clamp to follow), and disk (pointing to follow).
Translation: It is used in the case of a linear conveyor belt.
Disk (pure position): It only changes the X and Y coordinates of the robot user, without adjusting the
attitude change.
Disk (clamp following): During the disk tracking, the robot adjusts the user's X, Y and RZ according to
the Angle of the disk rotation.
Disk (pointing to follow): When tracking the disk, the robot adjusts the user's X and Y according to
the Angle of the disk rotation, and also adjusts the attitude according to the RZ of the tool.
Select encoder:

191
Sets the encoder serial number for the connection. Dual encoders are supported.
User num for trac:
The tracking process is based on this user coordinate system. Whether the user coordinates are
properly established or not determines whether the tracking can be implemented. The user
coordinate X direction should be parallel to the conveyor belt flow direction, as the direction vector
of the tracking direction.
Pos:
Read the encoding value in real time.
Speed:
Display the encoder speed of the read in real time.
Resolution:
Resolution of the encoder, in pulse / mm. The ratio of the code value to the true displacement of
the conveyor belt is required.
Dir:
Set the direction of the encoder.
X - limit, X + limit:
Set the interval for the tracking range. The tracking algorithm is based on the user coordinates. The
X direction of the user is the direction that the conveyor belt moves in. The value entered is the X
value of the user coordinates.
If the time arc track tracking, the setting here is the Angle, the Angle setting range is 0- -720,
according to the tracking range set by the user, part of the disk or the whole disk tracking.
Tracking coefficient:
Set the speed of the tracking.
Sampling period (public):
Code value fluctuations during the acquisition period.
Sample gap (pubilc):
In-cycle code value fluctuations are shown.

10.3.4.3 Disk track calibration


In the disk tracking process, we need to calibrate the trajectory of the arc to be tracked, and the
simple translation tracking method does not need to set the disk tracking calibration.

Pic10.3.11 Process Settings-3


Rec:
When using disk tracking, you need to map the position of the disk. First select a reference point on
the path of the encoder installation and record in P1. The disk was then turned and the robot was
aligned again to the disk reference point and recorded in P2. Third, repeat the above operation and

192
record to P3.

Note: When using the disk recording, first do the robot's tool calibration.
Calc:
After recording at three points, click to calculate. The disk radius and the center point are calculated.
The actual position of the robot to the center of the disk is compared to the radius of the disk, and
the same means that the calibration result is correct.

Note: click on the calculation and save, need to check, to ensure that the robot make disk
tracking calibration is correct, select calibration users and calibration tool number, and then in the
robot teaching interface, the user coordinates to X for 0, Y for 0, look at the robot tool point in the
center of the circle, if in the center of the circle, said the calibration is successful, radius if the radius
of the coder acquisition position.
Save to User:
Select a user number, and the calculated result will exist in the corresponding user coordinate
system.

10.3.5 Instructions resolution

Pic10.3.12 instruct
1.Follow init

193
Pic10.3.13 Follow init
Initialize the trace parameter.
parameter:
Parameter: indicates the network configuration serial number set above.
2. Follow set point

Pic10.3.14 Follow set point


Set the tracking point.
parameter:
Parameter: indicates the network configuration serial number set above. Store the trace points in
the P variable for the program to call. The tracking point determines the position and posture of the
robot movement at the beginning of the tracking process in the program.
3.Follow is in space

194
Pic10.3.15 Follow is in space
Gets whether the artifact is within the trace range and include the result in the V variable.
parameter:
V variable: Whether the artifact is in the tracking range is obtained in the specified V variable.
The obtained values have 3 possibilities, 0,1,2.
0: Indicates that the artifact has not yet entered the tracking range.
1: It means that the artifact is within the tracking range.
2: It means that the artifact is outside the tracking range.
4. Follow start sync

Pic10.3.16 Follow start sync


Start to track, the robot performs this command, and the machine talent starts to track.
5.Follow stop sync

195
Pic10.3.17 Follow stop sync
End of tracking, the robot performs this command, and the robot begins to stop tracking.
6. Follow get state

Pic10.3.18 Follow get state


Get the state of the trace, present in the specified V variable.
parameter:
V variable: Whether the artifact is in the tracking range is obtained in the specified V variable.
The values obtained have five possible, -1,0,1,2,3.
-1: means the robot tracking is an error state.
0: It means that the robot is tracking in the empty state.
1: It means that the robot tracks in the accelerated state.
2: It means that the robot tracking state is being synchronized with the conveyor belt.
3: It means that the robot tracks in the deceleration state.

196
7. Follow get point

Pic10.3.19 Follow get point


Get trace points from the tracking queue, exist in the specified P variable.
Parameter: indicates the network configuration serial number set above.
P variable: The point that will be taken from the tracking queue, exists in the spatial coordinate
system of the specified P variable.
The main application is to use when the input I / O trigger point coordinates.
8. Follow update user

Pic10.3.20 Follow update user


Update the user coordinates dynamically, only modify the memory user coordinate value, and do
not change the text user coordinates, so the modified value cannot be seen in the user coordinates
of the interface of the coordinate system. Obtain the spatial coordinate value of P, update the
location of the current tracking point, and convert the coordinates of the P point from the user
coordinates tracked by the conveyor belt into a dynamic user number, with the specified user
number present.
parameter:
P variable: the original P point that changes the user coordinates
User: Select the updated user number.

197
9. Follow update point pos

Pic10.3.21 Follow update point pos


The real-time coordinates of the tracking point are included in the V variable. If the translation
tracking method is used, the V variable stores the tracking X user coordinates. If the disk tracking
mode exists, the V variable stores the tracking angle value.
parameter:
V variable: The resulting value that will be obtained, present in the V variable.
10. Set circle follow start pos

Pic10.3.22 Set circle follow start pos


Offset the tracking start point of the disk tracking parameter sequence.
parameter:
Parameter: indicates the network configuration serial number set above.
Offset: tracks the offset of the start point.

10.3.6 Procedure cases


The robot will move above the workpiece and follow the workpiece for 3 seconds.

198
Pic10.3.23 Procedure cases

199
10.4 Punch
10.4.1 General

Pic10.4.1 General
10.4.1.1 Ctrl options
Screen detec:
Can block the suction cup alarm, mainly used for debugging, automatic operation, please cancel the
shielding detection.
Path test:
After selection, the robot does not detect whether the punch signal meets the requirements, only
the trajectory.
Fixture 1 act
Switch button, each click, if the original suction cup is open, the original is closed, open.
Fixture 2 act
Switch button, each click, if the original suction cup is open, the original is closed, open.
10.4.1.2 Display options
Pick interference re
Shows whether the robot is in the feeding interference zone.
Place interferenc

200
Shows whether the robot is in the feeding interference zone.
Charging sign
Display the feeding signal status.
Punch E-stop
Show the state of the punch emergency stop signal.
Running peri
Displays the time the robot to run a full punch cycle.
Prestn mat st
Show whether there is any material in the previous station punch bed. If there is material in the
front station punch, but the stamping is not completed, it is also considered that the punch is not
material.
Product qual
Displays the production quantity of the current machine.
Reset
Zero up the production quantity.
Ctrl mode
asynchronous system.
Online mode
There are four modes of single machine, feeding, handling and unloading.
Cur stn mat st
There are three kinds of material conditions in this station, the punch without material, material to
be washed, material has been washed. This station is in the state, will send the to material signal.
Middle statior
Displays the current intermediate station name in four types.1. Discharge table.2. Gear, pneumatic
and oil press.3. Flip table.4. Air-Loop.
Tgt producti
Set the running output, and when the production quantity reaches the output set quantity, the
robot will automatically stop and display the prompt information.
E-stop reset
The robot presses the emergency stop, and needs to reset the robot, to make it continue to run
online.

201
10.4.2 Online Settings

Pic10.4.2 Online Settings


10.4.2.1 Robot online setting
Online stn:
This option is used to set in a punch line, the manipulator is in the line of which station, there are
"single machine", "feeding", "handling", "unloading" four situations.
Stand-alone: If the machine does not connect with other machines, it can be set to "stand-alone"
mode and leave the connection signal control of upper and lower stations and run independently.
Feed: for a production line, will have feeder as the beginning of the attachment, he and former
station communication, and only after interaction signal, note: when the manipulator in the
"feeding" mode, the program will automatically search for the next station, if the next station does
not exist or not in handling / feeding mode, produce " stamping template online communication
alarm. Please check the connection to the rear station."The alarm.
Handling: in the middle of the connection, the previous station can be the feeder or the porter, the
next station can be the handling machine or the feeder, if the front / rear station does not meet this
setting, the manipulator will report " stamping template online communication alarm. Please check
the connection to the rear station."Or" stamping template online communication alarm. Please
check the connection with the front station."The alarm.

4 Feed: at the end of the line, the previous station can be the feeder or a handling machine, if this

202
setting is not met, the manipulator will report " stamping template online communication alarm.
Please check the alarm with the front station.
10.4.2.2 Punch online settings
TDC
Show the state of the punch bed dead point.
Punch duration
Show the length of the punch punch.
Punch at cur stn
If no punch (gear / oil pressure / pneumatic) is selected in Intermediate Station Type, the
manipulator will send an alarm message ("Intermediate station type is selected wrong to
stamping").
Punch timeout
Robot stamping signal, the punch, the die will disappear accordingly, when stamping is completed,
the dead sensor will light up again, produce a rise along the signal, the overtime time is calculated
from the stamping signal, to the dead sensor again light up the time, if beyond this time, said the
punch in the execution of stamping fault, the manipulator will alarm and to stop the punch signal.
Reaction timeout
The timeout is the calculation of the time when the stamping signal disappears to the upper dead
point. If the time exceeds this time, it means that the punch does not act after receiving the
stamping signal, and the manipulator will alarm and send out the emergency stop punch signal.
Ahead reset time
For the oil press, the stamping signal needs to continue until the dead point is induced again, and
some oil presses need to be reset in advance, so this signal can be used to control the duration of
the stamping. When this value is set to 0, it means that the stamping signal is not reset in advance,
and when the value is set to a number greater than 0, it indicates that the stamping signal is reset
after the set time of advance reset time.
Mid stn type
You can set the intermediate station types, and there are four types.1. Discharge table.2. Gear,
pneumatic and oil press.3. Flip table.4. Air-Loop. Currently only the second type is valid.
Shortest punch time
Set the shortest stamping time. If the completion time of the punch stamping signal is shorter than
this setting, it means that the dead point on the stamping is triggered by mistake, and the robot
continues to wait for the dead point on the stamping.
10.4.2.3 Feeding mach online settings
Type of feeding signal
There are 3 types of feeding machine signals, including no detection, rising edge and constant
communication signal.
Rising edge: after giving the feeding signal, the manipulator only takes the material once, and it
must disconnect the feeding signal and then give it, and the manipulator can continue to take the
material.
Chang Communication signal: as long as there is a feeding signal, the manipulator will come over to
take the material

203
10.4.3 Operation

Pic10.4.3 Operation
10.4.3.1 Variable cylinder settings
Trig cond
The variable cylinder setting mainly needs to open a fixed IO port when the trigger conditions are
met.
Trigger delay
How long after the variable cylinder meets the trigger condition.
Reset type
Set up the reset mode of the variable cylinder signal.
test
IO for manual placement or reset of the variable cylinder.
10.4.3.2 Fixture settings
Fixture
You can select two sets of clips, where the first set of clips is enabled by default, and the user can
only select whether the second set of clips is enabled. Users can select the corresponding fixture
type according to the actual situation of the site. When selecting the "electromagnet" type fixture,
they usually need to conduct demagnetization operation: at this time, they can set "1 # auxiliary
selection" as "output", and then set "1 # axis auxiliary dot duration" for 0.5 seconds. The feedback

204
detection time is the longest time to detect whether the feedback signal of the fixture is qualified
after the fixture is opened.
Record the throwing point
When the feedback of the detection clamp is unqualified, it is necessary to exit the punch, and then
move to the throwing point, and the alarm.
Dwell time
Set the stop time from the robot movement to the throwing point.
Locate
First, the positioning button, button color programming green, and then press the teaching device
enabling button, hit the key to the teaching mode, press the SA button of the teaching device, the
robot will move to the position of the saved throwing point.
10.4.3.3 Loadina pt cyclic shift

Pic10.4.4 Loadina pt cyclic shift


Each shfit distance
It represents the offset distance of the robot each time when the cycle offset is enabled. Note that
the offset is in the positive direction of the Z-axis of the direct robot.
Total shift times
Sets the total number of cycle offsets
Enable
Enable feed point cycle offset

205
Start pt cla
Record the start point of the cycle offset of the pickup point.
Cur shift layer no:
Displays the number of offset layers for the current record.
Locate
First, the positioning button, button color programming green, and then press the teaching device
enabling button, hit the key to the teaching mode, press the SA button of the teaching device, the
robot will move to the location of the saving point.

Pic10.4.5 procedure
When using the feeding point cycle offset, be sure to set the E of I=2 to 1 and set the feeding point
cycle offset to enable, otherwise the program will not perform the feeding point offset and directly
move to the target location recorded by the change instruction.
10.4.3.4 Unloading pt cyclic shift
Each shfit distance
It represents the offset distance of the robot each time when the cycle offset is enabled. Note that
the offset is in the negative direction of the robot.
Total shift times
Sets the total number of cycle offsets
Enable
Enable feed point cycle offset

206
Start pt cla
Record the start point of the cycle offset of the pickup point.
Cur shift layer no
Displays the number of offset layers for the current record.
Locate
First, the positioning button, button color programming green, and then press the teaching device
enabling button, hit the key to the teaching mode, press the SA button of the teaching device, the
robot will move to the saved feeding point position.
Continuou:
This function is designed to deal with the stack after stack. If you do not tick, it will not enable
continuity, and when the offset is complete, it will stop running and a prompt is displayed. If the tick,
that is, enable continuous, as long as there is a continuous offset allowable signal, the manipulator
will always put the material, and after the top one will start from the first place.
Allow continuous shift
Display the current continuous offset signal.
For the feeding point cycle offset, always set the instruction E of I=6 to 1 and set the feeding point
cycle offset to enable, otherwise the program will not perform the feeding point offset and will
directly move to the target location recorded by the change instruction.
start using
The robot enables the continuous offset function when feeding.

207
10.4.4 Teach template

Pic10.4.6 Teach template


10.4.4.1 Polints
Current posn
Display the current position of the robot.
Target pos in ins:
The target location of the stamping movement track point is shown with 10 track points below.
Joint val
Displays the joint coordinates of the current position and the command position of the robot
World/Tool
Displays the rectangular coordinates of the current position and the command position of the robot
User val
Displays the user coordinates of the current position and the command position of the robot
10.4.4.2 Path
Other parameters show the speed, acceleration, smoothing, user, tool.

208
10.4.4.3 Template

Pic10.4.7 template
Record cur pt
Save the current point in the stamping profile.
Delete all pts
Delete all the saved trace points.
Gen file
Generate the stamping template file.

209
10.4.5 Reset

Pic10.4.7 Reset
When the robot is started or shut down, it needs to be reset again, and the reset needs to be
selected according to the actual situation.
No workpiece: if there is no workpiece in the punch connected to this robot, choose the punch
without material, and click OK to start the robot.
Has wp to punch: If there is a workpiece in the punch connected with the robot, but the workpiece
is not stamping, select the material and click OK to start the robot.
Has punched wp: if there is a workpiece in the punch connected with the robot and the workpiece
has been stamped, select the material has been flushed, and click OK to start the robot.

10.4.6 Other Settings


10.4.6.1 Interference
In the online setting, due to the area of mutual interference between the robots, in order to prevent
the robot impact, it is necessary to set the interference zone.
Material interference zone
In the standard template of stamping, it is generally necessary to take materials from the punch or
other areas, at this time, a safe area is set, to tell other machines to enter the area, other machines
do not enter the area, to prevent collision.
The setting interface of the charging interference zone is as follows:

210
Pic10.4.7 Material interference zone
The serial number 01 for interference is selected, the interference area switch is opened, and the
detection mode is used to select the feedback position. In the two IO boards, when the area output
IO is set to 28 and 3 IO, the area output IO is set to 15, and the vertex cube interference zone is set
the range of the right angle coordinate system of the robot in the feeding area.
Then save, the output IO is inside the interference zone, and the output IO is on when the robot is
outside the interference zone.
Filling interference zone
In the standard template of stamping, it is generally necessary to be placed inside the punch or in
other areas, then set a safe area, can tell other machines to enter this area, and other machines do
not enter the area temporarily, to prevent collision.
The setting interface of the charging interference zone is as follows:

211
Pic10.4.8 Filling interference zone
The serial number 02 for interference is selected, the interference zone switch is opened, and the
detection mode is selected. In two IO boards, when the area output IO is set to 21 and 3 IO, the
area output IO is set to 29, and the vertex cube interference zone is set to set the range of the
right-angle coordinate system of the robot in the feeding area.
Then save, the output IO is inside the interference zone, and the output IO is on when the robot is
outside the interference zone.

212
11 Turin robot welding industry basic configuration

Pic11.1.1 basic configuration

11.1 Supported types of welding machine and communication


At present, Turin Robot is equipped with two standard welding machines, which are respectively
Shandong Aotai Harmony and Shenzhen Magmitt. According to the communication mode, it is
divided into digital communication welding machine and analog communication welding machine.
According to the function can be divided into many items, such as low splash, single pulse, double
pulse, aluminum welding, carbon steel welding, stainless steel welding and so
on.

213
214
215
11.2 The Turin robot expands the external axis mode
The external axis is the robot function or robot workspace in addition to the robot body. The Turin
external axis is mainly divided into: rotation axis and walking axis control. At present, up to three
external axes can be extended on the original 6-axis system. That is, the seventh, eighth and ninth
axes are respectively.
Take the example of adding an external axis alone, namely, adding the seventh axis alone. One
seventh axis communication network cable, one seventh axle lock relay, one seventh axis driver, a
seventh axis motor, a connection cable between the seventh axis drive and a corresponding Eni file
(if the special PP \ PV mode of the external shaft, corresponding modifications should be made in
the Eni file). See the external axis section above for details.

Pic11.2.1 Outer shaft

216
11.3 welding overview
Welding function package is mainly divided into: arc induction, welding, arc receiving, welding
process abnormal treatment and other welding processes and
Pent arc, search, arc tracking, shimachine, coordination and other process control.
Welding process in addition to the arc, welding, arc and other basic welding process. There is the
arc, scratch the arc, and start. Abnormal handling process such as adhesive wire detection and
release. Let's start off with a quick description.

11.3.1 Setting of the welding process parameters


11.3.1.1 General
The global setting is mainly to set a mode of the welding robot welding machine without arc
induction robot test operation, which we call the welding test run and whether to bring
anti-collision welding gun protection and the choice of communication between the welding
machine and the robot.

Pic11.3.1 General
Welding sim
When the welding test is ON, the welding machine does not arc and the robot runs running track.
When the welding test run is OFF, when the robot runs again, the robot starts to weld.
Collision det

217
When using the anti-collision welding torch, the X1 anti-collision line should be set to ON. If the
welding torch strikes during manual instruction, the anti-collision sensor moves, and the system will
display the collision alarm. The anti-collision detection can be set to OFF to remove the alarm, and
the robot can be operated. After the welding torch leaves the collision point, it should be reset to
ON, and the anti-collision detection function is effective. Click Save after each change. The system
default setting button definition F4 is also the anti-collision alarm.
Arc start in teaching mode
When the arc is OFF in instruction mode, the robot will not; when the arc is ON in instruction mode,
when the robot is running manually to the arc command, the robot leads the arc and automatically
follows the path at the current speed until the arc is closed.
Welding machine ty
Analog welding machine refers to the welding machine and the robot control cabinet are controlled
by IO signal. Magmet digital refers to the Magmet welding machine and robot control cabinet
through CANOPEN digital communication. Otai digital refers to the Otai welding machine and the
robot control cabinet is through the CANOPEN digital communication.
Working mode of digital
When selecting the unification, the welding machine should be selected to the unity, and the
system will match the welding voltage according to the given current and the modified value of the
current filling. When selecting the separate mode, the given welding current and voltage need to be
set separately.

218
11.3.1.2 Arc start
The arc induction parameter is the process parameter of the welding machine from the arc
induction to, which also includes the current and voltage parameters in the welding process.

Pic11.3.2 Arc start-1

219
Pic11.3.2 Arc start-2
Param No.
Arc condition number (1 to 10).
Note: It can be annotated in both Chinese and English.
Flying arc start time
The robot tries to lead the arc just before reaching the welding point.
Gas preflow time
It is the protective gas time of tracheal inflation and pre-delivery to the workpiece. In the actual
processing, the front gas time in the arc induction rhythm and only the protective gas time
delivered to the workpiece will occupy the arc induction processing beat time.
Arc loss detect
Continuous time when the system detects the broken arc loss (successful arc introduction signal
loss).
Arc start duration
After sending the arc signal, wait for the delay time of the successful arc signal.
Arc start V
Is the voltage from the arc signal to the arc confirmation time.
Arc start C
It is the current from the arc induction signal to the arc induction confirmation time.
Motion arc start tim
The duration of the robot motion after obtaining the arc induction signal.
Static arc start time
The time that the robot remains stationary after obtaining the arc induction signal.

220
Running rise up
The robot gets the rise time from the arc induction voltage current to the welding voltage current
when the successful arc induction signal starts in motion.
Delayed feeding
How long after the robot arc induction delay to send wire, this function is mostly used for argon arc
welding.
Voltage
Voltage value given during the welding process.
Current
Given current value during welding.
Welding speed
The speed of the robot during the welding.
Sim speed
The speed of the robot's empty trajectory.
Re-Arcstart
Turn on or off the arc lead function.
Scratch start
Turn the scratch lead function on or off
Restart
Turn the reboot function on or off.
11.3.1.3 Restart
When the welding is interrupted due to the broken arc during the welding process. Need for
automatic robot processing or human-robot cooperation processing to solve the abnormal state.
We call the processing process a reboot.

221
Pic11.3.3 Restart
Param No.
Restart condition serial number (1 to 10).
Notes
This condition serial number can be annotated in both Chinese and English.
Restart mode
Only one case of the broken arc is considered. No longer start and to the arc point after the alarm
need not elaborate. The manual restarts almost follows the automatic reboot process. The
difference is that a manual startup requires the user to press the start button. Before the manual
start, the system allows the user to remove the torch instruction. At the manual start, the system
will automatically move back to the arc point and then start the process.
Restart times
Maximum number of rerepeats for abnormal arc break on the same weld.
Overlap dist
When restarting, the lap length of the overlapping welding.
Retreat speed
The speed on return during reinitiation.
Move to Start V
Return the welding voltage output value during restart.
Move to start C

222
Return ding current output value during restartup.
Re-Arcstart
Turn on or off the arc lead function.
Scratch start
Turn the scratch lead function on or off.
11.3.1.4 Arc end
At the end of the welding movement, the arc closing point is adjusted, which is generally used for
the high quality requirements of the welding joint, and will also affect the next arc induction.
Usually, the arc closing current and voltage will be smaller than the welding value.

Pic11.3.4 Arc end


Param No
Ararc condition number (1 to 10).
Notes
This sequence can be annotated in Chinese and English.
Running go down
The decrease time of the robot to the arc closing point from the welding voltage current to the arc
voltage current.(You can only set one thing compared with the stationary decline time and the arc
closing time)
Stopping go down
The drop time of the welding voltage current to the arc voltage current after the robot moves to the

223
arc point.(With only one set of the motion drop time and arc closing time)
Arc end time
The time that the robot lasts with the arc closing voltage and current after moving to the arc closing
point.(There can be only one set the movement drop time and stationary decline time)
Arc end V
The given voltage value during the arc closing after the welding movement.
Arc end C
The given current value after the welding movement.
Fire back time
Duration of burn back after the arc closing time.
Fire back V
Back back point voltage value.
Fire back C
Reback the given current value.
Wire back time
It is the time of welding wire withdrawal after arc extinguishing.
Gas postflow time
It is the time to protect the gas from the arc receiving point after arc extinguishing.
Wire stick det
Whether to detect the sticky wire.
11.3.1.5 Re-arcstart
Re arc induction is the first remedial measure after the failure of arc induction. When arc
introduction again, the arc induction point for a distance.

224
Pic11.3.5 Re-arcstart
Param No
Rearc condition number (1 to 10).
Notes
This arc condition can be annotated in both Chinese and English.
Re-arcstart times
The maximum number of repetitions after arc initiation failure.
Wire back time
Time for wire withdrawal after arc initiation failure.
Total back dist
After the arc failure, the robot retreats from the total moving distance.
Move speed
During the arc again, the robot returns to the starting point of the welding speed.
Back V
During rearc, the robot returns to the given value of the starting point of the welding.
Back C
During the arc induction, the robot returns to the current output of the starting point of the
welding.
11.3.1.6 Scratch start
The arc lead is the second remedial measure after the arc lead failure, and it is also the function of

225
continuing the arc lead action to try the arc lead welding again after the arc lead failure. When the
arc induction fails, the system will continue to use the current voltage parameter (or the scratch arc
induction parameter) for a distance, and if the arc signal is received during the movement, move
the arc introduction point.

Pic11.3.5 Scratch start


Param No.
Number number (1 to 10).
Notes
The serial number of the scratch lead arc condition can be annotated in both Chinese and English.
Distance
To scrape the lead arc, the maximum scraping distance forward.
Move speed
Forward / backward scraping movement speed when scraping lead arc.
Arc start V
When scraping the lead arc, the robot scratches the moving voltage given value.
Arc start C
When scraping the lead arc, the current of the robot is given.
11.3.1.7 Wire stick
When the arc is broken or when the arc occurs, it is necessary to burn the wire, that is, the adhesive
wire is removed.

226
Pic11.3.6 Wire stick
Param No.
Silk condition serial number (1 to 10).
Notes
The adhesive wire condition serial number can be annotated in both Chinese and English.
Wire stick det time
After the arc, check for the time.
Remove wire stick
On and off the wire detection function.
Process times
Maximum number of repeats of unwire treatment.
Process V
Given value of the welding voltage when removing the adhesive wire.
Process C
Given value of welding current for release of adhesive wire.
Process time
Duration of the given value of the welding voltage current during release.
11.3.1.8 V mapping
The voltage matching table is the analog voltage of the second set (0-10v) of the robot output and
the voltage matching table of the welding output of the welding machine, and also the second

227
analog voltage of the controller output (0-10v) matches the voltage display on the welder, so that
the output voltage value of the controller can be calculated according to the voltage during the
welding machine.
Voltage matching is divided into two modes: welding machine mode and unified mode. When the
respective modes are matched, the controller can output the corresponding voltage value by
clicking the actual voltage value displayed on the welder into the welder value of voltage 01-voltage
20 and click to save. When the unified mode is matched, the welding machine end shall be adjusted
to display the arc length correction value. Click the controller to output the corresponding voltage
value. At this time, the sum of the actual arc length correction voltage value displayed on the
welding machine plus the maximum value of the arc length correction. the voltage 01-voltage 20
can be added.

Pic11.3.7 V mapping
order number
The 20-gear voltage output serial number (01 to 20).
Output
Voltage value of (0-10v) output by the robot control cabinet.(Default second group)
Oper
Click effective, the robot will issue the corresponding output voltage value.
Machine
After the click takes effect, the welding machine voltmeter will display the welding machine voltage
value corresponding to the voltage issued by the robot.

228
11.3.1.9 A mapping
Current matching table is the robot output of the first group (0-10v) of the analog voltage and the
welding output current matching table, also is the controller of the first output analog voltage
(0-10v) with the current displayed on the welder, so that according to the welding current back
calculate the controller output current value.
When the current matches, you should first select the welding wire material, welding wire diameter
and gas type on the welding machine panel, and then click the controller to output the
corresponding voltage value. At this time, fill the actual current value displayed on the welding
machine into the welder value, input all the welding machine value of current 01-current 20 and
click to save it.

Pic11.3.8 A mapping
order number
20-gear current output serial number (01 to 20).
Output
Voltage value of (0-10v) output by the robot control cabinet.(Default first group)
Oper
Click effective, the robot will issue the corresponding output voltage value.
Machine
After the click takes effect, the welding machine current meter will display the welder current value
corresponding to the voltage issued by the robot.

229
11.3.1.10 Weaving
The pendulum arc setting is that in the welding process, the robot can swing the welding torch and
widen the weld, which can realize the special welding process requirements and optimize the weld
forming.

Pic11.3.9 Weaving
Arc serial number
No number of pendulum arc condition (1 to 10).
Notes
The order number of the pendulum arc conditions can be annotated in Both Chinese and English.
Method
Sinine / spiral pendulum.
Freq
Set the number of swings per second.
Amp1
Set the distance from the left swing of the weld.
Amp2
Set the distance to the right swing of the weld.
Left dwell
Sets the residence time when swinging to the left vertex.
Middle dwell

230
Sets the dwell time when swinging to the middle point.
Right dwell
Set the dwell time when swinging to the right vertex.
11.3.1.11 Spot welding
Spot welding process can realize the welding function in linear motion or curve motion.

Pic11.3.10 Spot welding


Spot param
Conditional serial number of the spot welding process (1 to 10).
Notes
Spot welding condition serial number can be annotated in both Chinese and English.
Arc start param
Serial number of the arc lead parameters used in the spot welding process.
Arc end param
Serial number of the arc collection parameters used in the spot welding process.
Dwell time
Welding duration of each point during spot welding.
Distance
Set the interval distance for each point.
Move speed
Set the movement speed for the interval distance for each point.

231
11.3.1.12 Touching search
The finding process is the finding detection between the robot and the welding machine with the
finding signal, which can correct the deviation of the welding trajectory caused by the workpiece
weld. In the search mode, the system supplies the nozzle or welding wire with low voltage power,
and the workpiece is grounded. When the robot moves along the search track, once the nozzle or
the wire contact with the workpiece, the contact signal will generated and the robot stops moving.
The path is corrected by using the deviation value between the current location and the
programmed location to obtain the true target location. The surface of the workpiece must be free
of rust, oxide layer, paint or other insulating coating, and must be cleaned and cut before
positioning. When using a water-cooled welding torch, distilled water or other non-conductive
coolant is recommended. Ppure water (such as saline mineral water) will reduce location sensitivity
or reduce search voltage. Please refer to the TURIN Robot Location Instructions for detailed use.

Pic11.3.11 Touching search


Search param
Conditional serial number of the search process (1 to 10).
Notes
Can be annotated in Chinese and English.
Search reference
When searching for the standard artifact, the first time should open the reference label and close
the label later.

232
Search mode
One-dimensional search refers to the offset of the artifact in the direction of only one of the
coordinates X, Y and Z.
Two-dimensional search refers to the offset of the artifact in the direction of two of the coordinates
of X, Y and Z.
3 d search refers to the offset of the artifact in the three coordinate directions of X, Y and Z.
One-dimensional plus rotation means that the workpiece is offset in one of the coordinate
directions X, Y, and Z and rotates around a certain coordinate direction.
2 D plus rotation means that the workpiece is offset in the two coordinate directions of X, Y, and Z
and rotates around a certain coordinate direction.
3 d plus rotation refers to the shift of the workpiece in its three coordinate directions: X, Y and Z,
and it rotates around a certain coordinate direction.
A 2 D circle refers to the offset in the direction of the circular piece X and Y.
Three-dimensional circle refers to the offset of the circular piece X, Y and Z.
Rot dir
Select the direction of the workpiece rotates around the user coordinate system X, Y and Z
according to the search mode.
Sync mode
In the welding process, whether it is necessary to weld together with the shimachine, then the
corresponding shaft number should be selected.
User coord
The ial number of the user coordinate system selected on rotation.
Max search dist
The maximum distance when moving from the starting point to the contact point of the workpiece
is greater than this value, and the system alarm.
Search speed
The speed of moving from the search start to the artifact search contact.
Auto return
The switch that automatically returns to the starting point of the search site after contacting the
workpiece.
Max return dist
The maximum distance that is automatically returned to the starting point of the location.
Return speed
The maximum speed that automatically returns to the location starting point after contacting the
artifact.
11.3.1.13 Arc track
Arc tracking process is the robot using welding process welding gun swing, real-time of welding
current signal sampling, according to the ends of the swing welding current deviation value and
trend, analysis of the horizontal and vertical path correction data, timely transmission to the robot
system, robot real-time correction trajectory, ensure to meet the requirements of stable welding.
Please refer to the TURIN Robot Arc Tracking Instructions for detailed use.

233
Pic11.3.12 Arc track-1

Pic11.3.13 Arc track-2


order number
Conditional serial number of the arc tracking process (1 to 10).
note
The condition serial number of the arc tracking process can be annotated in Both Chinese and
English.
type
Lateral pendulum arc refers to only the correction of the front and rear deviation of the weld,

234
horizontal swing arc and vertical refers to the correction of the high and low deviation.
start time
From this point (no pendulum arc is ms, pendulum arc is cycle) to eliminate the impact of arc on the
current. The parameter range is 0-10ms, and generally take the 3ms.
Sample period
The sampling period of the current starts from after the start time. The parameter range is 0-50ms,
generally 20ms.
Weave freq
Arc tracks the number of swings per second during welding.
Weave amp
The arc tracks the distance of the unilateral swing during the welding.
In filter const
Filtering the input current directly affects the transverse and longitudinal sampling reference
current. If the transverse deviation is too large or the longitudinal sampling current deviation from
the given value is too large, the input filter constant can be increased. The parameter range is
0-10ms, and generally take 5ms.
Out filter const
The output trace amplitude was filtered. The parameter range is 0-10ms, and generally take 5ms.
Current sample max bias
Each time the current is sampled, exceeding this value is adjusted to this value, with the parameter
range.
H ratio
The larger the K coefficient, the greater the adjustment amplitude. Improper setting will lead to
welding into a curve, and the parameter range is 0-5mm / A, and generally take 0.8 mm / A.
H sample window
The current change below the window is considered to be 0, do a dead area, no sampling, filter the
small current fluctuations, the parameter range is 0-1A, generally take 0.05A.
H base bias
Devases during normal welding are recorded here to compare deviations. The reference deviation is
obtained by sampling. When the corner weld is welded, the pendulum arc is more symmetrical and
the reference deviation is closer to zero ampere. Using the arc tracking sampling instruction will get
two data: transverse sampling reference deviation and longitudinal sampling reference deviation.
H single min bias
Only greater than this value will be corrected. For example, if the value is calculated 3mm, then the
compensation is 2mm. If the calculation is 0.8mm, then there is no compensation, and the
parameter range is 0-5mm, generally 1mm.
H single max bias
Any deviation greater than this value will be compensated according to the maximum deviation.
Improper setting will lead to welding into a curve, the parameter range is 0-5mm, generally 0.5 mm.
H toal max bias
The modifiable maximum deviation value, given the left and right maximum deviation, zero at the
starting point, the parameter range is 0-50mm, generally 20mm.
V factor
When both horizontal and longitudinal need compensation, the longitudinal influence factor can

235
correct the longitudinal compensation too fast, generally take 0.
V ratio
The larger the K coefficient, the greater the adjustment range, improper setting, will lead to welding
into a curve, dry elongation is too long or too short collision welding gun, the parameter range is
0-5mm / A, generally 0.8 mm / A.
V sample window
The current change below the window is considered to be 0, do a dead area, no sampling, filter the
small current fluctuations, the parameter range is 0-1A, generally take 0.05A.
V base current
The current value is recorded during normal welding, and the reference deviation is obtained by
sampling.
V max influence bias
When both transverse and longitudinal need to be compensated, the longitudinal influence factor is
corrected in a small range starting from this deviation, generally taking 0.
V single min bias
Only greater than this value will be corrected. For example, if the value is calculated 3mm, then the
compensation is 2mm. If the calculation is 0.8mm, then there is no compensation, and the
parameter range is 0-5mm, generally 1mm.
V single max bias
Any deviation greater than this value will be compensated according to the maximum deviation.
Improper setting will lead to welding into a curve, dry elongation is too long or too short bump
welding gun, parameter range 0-5mm, generally 0.5 mm.
V total bias
The modifiable maximum deviation value, given the left and right maximum deviation, zero at the
starting point, the parameter range is 0-50mm, generally 20mm.
11.3.1.14 Laser search
Laser positioning is the process of making a single measurement with a laser sensor and calculating
the position of the target point. Generally, when short welds or using laser tracking will interfere
with the fixture, the weld is corrected in the form of laser positioning.
Laser search no.
No number of laser location conditions (1 to 10).
note
Conditional serial number of the annotated arc tracking process in both Chinese and English
Search reference
When searching for the standard artifact, the first time should open the reference label and close
the label later.
Search type
Four-point square (two points in the X direction and Y direction of the workpiece) / three-point
circle (three times in the R direction in three different directions on the workpiece)
Base
For the points found when the base label is opened, the corresponding P variable is stored in order;
when the base label is closed, the corresponding P variable is stored and a P variable is selected for
offset or rotation.

236
Pic11.3.14 Laser search

237
11.3.1.15 Welding l0 def
Define the signal correspondence between the robot and the welder.

Pic11.3.15 Welding l0 def


Welding DO definition
The corresponding relationship between the output signal of the robot and the welding machine
signal during simulating communication.
Welding DI definition
The corresponding relationship between the input signal of the robot and the welding machine
signal during simulating communication.
Arc start sig
The welding machine starts welding the ignition signal, generally is the robot output 06.
Wire feeding sig
The welding machine begins to transport the signal of the welding wire, generally is the robot
output 07.
Outgassing sig
The welding machine begins to test the gas signal, usually the robot output 08.
Wire back sig
The signal of the welding machine to return the wire is generally the robot output 09.
Arc started sig
After the welder arcs successfully, it is generally the input signal 06.

238
Search sig
After the welding machine finds the position, the successful signal to the robot, which is generally
the input signal 10.
Wire stick sig
The signal of welding wire is generally input signal 11.

11.4 Welding trajectory planning and programming


11.4.1 Robot motion mode
The robot motion mode has point-to-point, straight line, circular arc, continuous trajectory planning,
trajectory tracking, etc.
Point-to-point motion is joint movement, and non-welded trajectory movement can be used.
Linear motion is the shortest trajectory between point to point, which is generally used in welding
trajectory, and can also be used for non-welding trajectory.
The arc motion generally takes three points, the starting point, the arc auxiliary point (midpoint),
the end point of the arc

11.4.2 simple workpiece welding


Whether the workpiece can be welded mainly depends on whether the welding torch can extend to
the weld and weld with the appropriate welding torch Angle.
The welding torch Angle directly determines the welding forming, so although some workpieces are
simple, there is no suitable welding gun Angle, and the welding quality is difficult to meet the
requirements.
When the straight line length is long or very short, the higher the welding process requirements, so
the simple workpiece is generally only a few welds, and the weld is on the outside of the workpiece.
The less the workpiece welding welds, the simpler the instruction programming is.
The difficulty of workpiece welding has a lot to do with the accuracy of cutting, material, welding
machine, gas protection, drawing requirements, weld shape and weld position. But in accordance
with the requirements of the drawings, welding out the appropriate weld.
There are has four points, point 1 is the safety point, point 2 is the welding starting point, point 3 is
the welding end point, and point 4 is the safety point.

Pic11.4.1 Simple workpiece welding-1


When multiple lines are welded, set a suitable starting point (point 1), the arc lead point is at point
2, the end point of the straight line of the first straight line is point 3, and point 3 is the starting

239
point of the second straight line, point 4 is the end point of the second straight line, and then close
the arc, lift the welding torch to point 5.
When more than two continuously welded straight or circular arc, the lead arc at point 2 may be
used.
When a straight or circular arc is not continuous, it is necessary to close the arc, then raise the
welding torch, and then continue welding to the next arc lead point. As the middle transition path
avoids fixtures and artifacts, a few appropriate transition points can be added.

Pic11.4.2 Simple workpiece welding-2

11.4.3 Welding track of duplex stations or more stations


Generally, in order to improve the production efficiency, the basic welding station will be increased,
common for two and three stations.
The more stations, the welding trajectory will increase, and the debugging will be relatively
complex.
Each station can weld the same product or a different product.
The distribution of products should follow the proximity of the single station and the manual
loading and unloading time, in order to improve the production efficiency, so the reasonable
distribution is also very important, and the welding time on both sides should be basically close.
The diameter of the welding wire will affect the thickness of the welding plate. When the duplex
station is welded at the same time, the specification of the welding wire can not be replaced during
welding, so the plate thickness should be close, the material should also be close, not
simultaneously welding aluminum and carbon steel, stainless steel and carbon steel, stainless steel
and aluminum or other alloys.

240
11.4.4 welding instruction editing
The general robot motion instructions do not perform other control instructions.
Welding motion is the addition of arc and arc or other instructions related to welding to the
ordinary motion trajectory.
Add lead arc to the corresponding position and add close arc after welding.

Pic11.4.3 Welding instructions-1


The welding track should follow the welding process, the robot motion range and the limit.

241
Pic11.4.4 Welding instructions-2
The welding parameters are set in the process welding process by using the appropriate serial
number.
Special welding process needs to be used with the corresponding welding instructions, such as
pendulum arc welding, continuous spot welding, back motion welding, etc.
The welding instruction process includes the welding routine instruction, swing instruction, spot
welding instruction and so on.
Welding command parameter serial number Select the corresponding welding process setting
condition serial number.

Pic11.4.5 Arc start

242
Pic11.4.5 Welding instructions-3

243
11.4.4.1 Linear-line welding instruction
Linear welding instruction: The diagram shows the programming diagram of a single straight line
welding instruction. When it is necessary to weld multiple continuous straight lines, the starting
point of the second straight line is the end point of the first straight line.

Pic11.4.6 Welding instructions-4

244
11.4.4.2 Arc welding instruction

Pic11.4.7 Welding instructions-5


The starting point of the arc is the arc point (line or joint instruction), the middle point of the arc
(also becomes the arc auxiliary point) is the first arc motion instruction after the arc instruction, and
the end point of the arc is the second arc movement. When it is necessary to weld the continuous
multiple arc, the end point of the first broken arc is the starting point of the second arc.
Two circular arc welding instructions, can complete the whole circle welding. The difference from
the whole round movement is the variable gun position.

245
Pic11.4.8 Welding instructions-6

246
11.4.4.3 Vertical arc welding instructions

Pic11.4.9 Welding instructions-7


Drop arc welding instruction: the swing arc welding has the swing arc start and the end of the swing
arc. The pendulum arc starts to be added after the arc induction instruction, and the pendulum arc
parameter can be selected, corresponding to the process of the pendulum arc setting parameter
01~09. The swing arc end is added before the arc. Ponic arc welding can be applied in linear welding
and arc welding. Note: When realizing the swing arc function, the welding wire should be
perpendicular to the welding forming surface.

247
11.4.4.4 Continuous-point welding command
In the linear weld or circular arc weld continuous welding point, the welding can be effect, the most
obvious welding effect in carbon steel.

Pic11.4.10 Welding instructions-8


11.4.4.5 Return welding instruction
Return welding has return start and return end. The turn-back start is added after the arc lead
command, and can set the forward and backward distances.

Pic11.4.10 Return welding instruction

248
Pic11.4.11 Welding instructions-9

11.5 Laser tracking


11.5.1 The Turing robot teaching device page operation
11.5.1.1 The Turing robot system upgrade
Upgrade the unit of the current version and angle of the frontline, because the software containing
the CRNT Control process package uses "degree" as the unit of angle representation, if the unit of
the previous version is "radians", it needs to be converted to "degree".
open the robot teaching mode, click [login] — — [system administrator login Settings] — —
[administrator login], password input [12345678], when login, there will be a prompt in the lower
left corner of the display device;

249
Pic11.5.1 Login
2. Prepare an empty U disk to update the software compression package (without decompression)
into the U disk root directory;
English system (location location)
3. Plug the U disk into the USB interface of the system main box (the upper layer of the double-layer
USB port);

Pic11.5.2 hardware interface


4, first determine the robot teach for [touch] teach mode, find [teach] - [parameter setting] -
[system maintenance] - [system upgrade] this time in the [memory] can select the U disk installation
package path, and select [package] and then click [update system] (system will automatically
restart), the process in the figure below;

250
Pic11.5.3 SW update
Enter the display [parameter setting] - [Help] - [About Software] to see if the current system version
is: V4.1.21.s1 or newer version.

251
11.5.1.2 Show ator key introduction

Pic11.5.4 Settings/Cali
F1-F4: the shortcut button setting

252
Pic11.5.5 Custom key
SA: START (start) button, automatic (reproduce) mode starts execution; manual (teach) mode starts
single step operation.
BK: Return to the zero button, press and hold the robot joint to the zero position.
ST: STOP (Stop) button, automatic (reproduce) mode stop program execution.
FW: Clear the drive alarm button

253
11.5.2 Preparation before installation of the laser weld tracker
11.5.2.1 Item preparation

project content

Laser weld tracker RBT-A/RBT-B/RBT-C

Weld tracker converter RBT-A/RBT-B/RBT-C

Robot control box CXZK-H2

Connecting cable (network Commissioning use


cable, control box power
cable, camera tail line)
computer Commissioning use

replacement tool Installation and use

11.5.2.2 Software preparation


Use: NDK_034V150_v25_newflashV1.hex version of laser weld tracker firmware.
Laser weld tracker upper machine: laser vision sensor display control software V68_18 and above.

11.5.3Installation and wiring of the weld tracker


11.5.3.1 The sensor is connected to the control cabinet
Equipment preparation: network cable (3 pieces)
The laser weld tracker is directly connected to the robot control cabinet.as shown in the figure:

Pic11.5.6 hardware

254
11.5.3.2 Sensor installation
The camera laser line is parallel to the robot tool coordinate Y direction.

Pic11.5.7 Laser installation position

11.5.4 Laser weld tracker setup


11.5.4.1Laser Weld Tracker firmware version
Use: Laser weld tracker firmware of NDK_034V150_v25_newflashV1.hex and above.
11.5.4.2 Laser weld tracker firmware update
Open the upper computer software [laser vision sensor display and control software V68_18.exe];
Click the [open file burn] button to find the program to burn: NDK_034V150_v25_newflashV1.hex,
select the file, click the open button, you will see the upper machine display "data conversion
completed";
Wait for a while to burn up, and the part of the upper machine frame will show the firing progress;
When [write completion] is displayed in the firing progress box, click the [Data Check] button, select
the file just burned according to the above steps, and observe whether the verification is displayed
in the dialog box of the upper machine;
When the verification is completed in the dialog box of the upper machine, and the firing is
successful, the laser weld tracker is powered off and then powered on;
the program burning is finished.

255
11.5.5 Configuration of communication parameters
11.5.5.1 Sensor communication settings
IP address: 192.168.2.3
Port number: 502
Manufacturer: MODBUS

Pic11.5.8 Laser software interface


11.5.5.2 Robotic communication settings
Robot user interface login administrator permission:
Robot IP Settings:
Click [Parameter Settings] on the display device interface;
Select [System Settings] in the parameter list;
Select [Ethernet Settings];
Add a wired connection;
Click [IPV 4], select manual and set the IP address to: 192.168.2.5, the subnet mask is set to:
255.255.255.0, and the gateway is set to: 192.168.2.1, click to save.

256
Pic11.5.9 Eth setting

Then check whether the setting is correct in the [Ethernet state];


[Network server] is set to 8527, [using standard XML format] is open state;
[PING] interface into the camera IP192.168.2.3, you can click [start] to see whether ping pass;
In [monitoring / control] [laser tracking] [monitoring and modification]; with the communication
status connection, the laser communication status indicator will change from red to green to
indicate the successful communication, as shown in the figure below

257
Pic11.5.10 Mon/Edit

11.5.6 Calibrate
11.5.6.1Tool calibration

Pic11.5.11 6-point method-1


The tool tip is aligned with the relatively static reference point, and it swings in posture.
The first four points can swing as much as possible, the fifth point calibrates the Z direction, and the
sixth point calibrates the X direction.
After recording the point point, calculate and save.

258
Pic11.5.12 6-point method-2
Note: If the calibration TCP error is very large (> 4mm), the robot calibration method can be used to
calibrate the TCP.
The camera laser line is parallel to the Y direction of the X.
11.5.6.2 Monitoring of the laser tracking
Before using the laser, please confirm that the robot and the laser communication are normal, and
we can control the relevant state of the laser through the robot's [monitoring / control] -> [laser
tracking] -> [monitoring] and modification]. As shown in the figure below:

259
Pic11.5.13 Mon/Edit
Laser communication protocol
Here is the laser communication protocol, different lasers generally have different communication
protocols, please choose the corresponding communication protocol and brand according to the
laser used now.
Connect status
Red circles indicate disconnection from the laser communication, and green circles indicate normal
communication with the laser. Connect: Click the robot to actively connect the laser. Disconnected:
The robot actively disconnects from the laser device.
Connection: Click the robot to actively connecting the laser.
Disconnected: The robot actively disconnects from the laser device.
Laser
Red circles indicate the laser off, and green circles indicate the laser on.
Open: The robot actively opens the laser.
Off: The robot actively turns off the laser
tracker
Red circles indicate closed laser vision, and green circles indicate open laser vision.
Tracker mode
Current laser-tracking mode.
Tracker X offset

260
Displays the value of the X offset for the current laser.
Tracker Y offset
Displays the value of the Y offset of the current laser.
Tracker Z offset
Shplays the value of the Z offset of the current laser.
Tracking signal delay
The time difference between the current position and the received position of the laser, in unit:
milliseconds.
Save
After the parameter are set, point save is required to take effect.
11.5.6.3 Laser calibration
The laser tracker needs to be calibrated with the robot before performing the laser tracking. Open
the laser tracker calibration interface [coordinate system] -> [laser tracking] -> [Settings and
calibration] The calibration interface is shown in the figure below:

Pic11.5.14 Settings/Cali
Horizontal track
When the open representation program is running, start the lateral tracking.
Vertical track
When the representation program is running, start longitudinal tracking.

261
Point information
A total of 15 points, the first point robot welding torch point to the welding point. From the second
point to the eighth point, keep the attitude of the robot unchanged, moving only the XYZ of the
robot. The first point is to align the laser line with the weld point. The image from the second to the
eighth point (the intersection of the laser line and the green line) is displayed on the upper
computer as the fourth quadrant, the third quadrant, the second quadrant, the first quadrant, the
second quadrant, the right half of the fourth quadrant, and the image is located in the center just
above the reference line. From point 9 to point 15, change the attitude of the robot arbitrarily. All
the axis of the robot is to align the laser line to the weld point. Point record and save the robot
point point information.
record
Record the current robot point to the point information. Select the point to be recorded first, and
then record the point point first.
calculate
After all the points are recorded, they can be calculated
Laser tracking serial number
We can save a total of 10 different sets of laser data, you can choose different laser serial numbers.
Seam point
After the laser calibration, it is necessary to verify whether the calibration is accurate.
scan point
After the laser calibration, it is necessary to verify whether the calibration is accurate. The point was
recorded by scanning the laser to the weld point.
calibrate
The location of the scanning point is calculated through the saved laser tracking calculation results
to obtain the point position verification coordinates. It is necessary to compare the difference
between the point position verification coordinates and the weld point position recording
coordinates. The coordinates of the first 3 (X, Y, Z) need to be compared, and the difference within
0.5mm is a better calibration result.
Save
Save the settings of the current interface, after the calibration calculation, must save.

262
Pic11.5.15 Laser interface
Note: 15 points, first point calculation, then point save, and then point verification! Check whether
the laser communicates during the camera calibration.
The recorded points are within the range of the sensor field of view, and the larger the distribution
range, the more accurate;
11.5.6.4 Laser verification
After the calibration ends, you need to verify that the calibration result is correct. First move the
robot to the weld spot, and then click the weld spot to record the current robot tool coordinates to
the weld spot record. Then align the laser line at the weld point, wait for the laser data to be correct,
and then click the scanning point, and the robot tool coordinates will be saved at the scanning point
to record. Finally, click calculation, the robot point verification will update the calculated
coordinates. Point point verification is the coordinates we calculated based on the previous
calibration results. It is necessary to record the coordinates of point verification and weld point, and
conduct difference verification. Comparing the XYZ of point record and verification. If it is within
0.5mm, it is the normal calibration result.

263
Pic11.5.15 Check points

11.5.7 Laser tracking instructions


11.5.7.1Laser tracking begins

Pic11.5.16 Welding
Laser tracking begins and the tracking track is followed.
Parameter 1: Laser tracking number, call the corresponding laser calibration number.
Parameter 2: lateral compensation coefficient, lateral compensation coefficient during tracking. The
larger the compensation coefficient, the larger the robot tracking range of robot, but the greater the
robot jitter will follow.
Parameter 3: longitudinal compensation coefficient, which coefficient during tracking. The larger
the compensation coefficient, the larger the robot tracking range of robot, but the greater the robot
jitter will follow.

264
Parameter 4: lateral offset, tracking quantitative lateral offset.
Parameter 5:longitudinal offset, longitudinal offset of reinforcement quantification during tracking.

Pic11.5.17 WasltFullStart
11.5.7.2 Laser tracker parameter settings

Pic11.5.18 tracker parameter settings


You can set the tracker parameter setting directly, and you can call the laser parameter to set the
state of the laser.

265
Parameter 1: choose laser, laser vision, laser, laser vision and call laser parameters.
Parameter 2: Turn on and off the related status, or set the call parameter value.

Pic11.5.19 WaltParaeterSet

Set up the end of the laser tracking.

Pic11.5.19 WaltEnd

266
11.5.7.3 Real-time tracking program

Pic11.5.20 tracking program


Note: The compensation coefficient is small, and the tracking speed is slow.

267
11.5.7.4 Single point search bit change posture

Pic11.5.20 Single point search bit change posture

268
11.5.7.5 Two points to change posture

Pic11.5.21 Two points to change posture

269
11.5.7.6 Four points to find a position to change posture

Pic11.5.22 Four points to find a position to change posture-1

Pic11.5.23 Four points to find a position to change posture-2

270
11.5.7.7 Commonly used instructions
Add instructions- -> coordinate point -> coordinate point plus offset

Pic11.5.24 coordinate point


Add instructions- - -> coordinate point- - - -> coordinate point modification

Pic11.5.25 coordinate point modification


Add instructions- - -> coordinate point- - -> coordinate point read

Pic11.5.26 coordinate point read

271
11.5.7.8 Common operation of laser location finding
For example: laser search point combination, determine the deviation direction can be through the
above instructions to teach the site.

272

You might also like