3HAC050979 AM Spot Options RW 6-En
3HAC050979 AM Spot Options RW 6-En
Application manual
Spot options
Trace back information:
Workspace R18-1 version a11
Checked in 2018-03-25
Skribenta version 5.2.025
Application manual
Spot options
RobotWare 6.07
Table of contents
Overview of this manual ................................................................................................................... 9
Product documentation .................................................................................................................... 12
Safety ................................................................................................................................................ 14
2 Configuration 21
2.1 Spot process configuration ................................................................................. 21
2.1.1 The type Spot System .............................................................................. 23
2.1.2 The type Spot Error Handling .................................................................... 25
2.1.3 The type Spot Equipments ........................................................................ 26
2.1.4 The type Spot Weld Equipment .................................................................. 27
2.1.5 The type Spot Gun Equipment ................................................................... 31
2.1.6 The type Spot Media Equipment ................................................................ 37
2.1.7 The type Spot SoftWare Equalizing ............................................................. 39
2.1.8 The type Spot GUI ................................................................................... 41
2.2 Spot I/O configuration ........................................................................................ 42
2.2.1 Spot I/O configuration for single gun system ................................................ 43
2.2.2 Spot I/O configuration multiple guns system ................................................. 47
2.2.3 Spot I/O configuration for MultiMove / MultiProcess systems ........................... 51
2.3 Spot Weld timer configuration options ................................................................... 55
2.3.1 782-1 Bosch DeviceNet AC and 782-7 Bosch DeviceNet MFDC ........................ 55
2.3.2 782-11 Bosch PROFINET MFDC ................................................................ 59
3 Programming 63
3.1 Quick start for servo gun .................................................................................... 64
3.2 Spot weld instructions and data ........................................................................... 65
3.3 Testing spot weld instructions in simulated mode .................................................... 72
3.4 Gun control ...................................................................................................... 73
3.5 Manual actions ................................................................................................. 74
3.6 Process sequence and error handling ................................................................... 76
3.7 Weld process timing .......................................................................................... 88
3.8 Miscellaneous information .................................................................................. 91
3.8.1 Jogging the robot after unintentional servo gun disconnection ......................... 91
3.8.2 Tip dressing for servo guns ....................................................................... 92
3.8.3 Pneumatic spot welding gun and gripper ..................................................... 93
3.9 Supervision task SW_SUP .................................................................................. 94
4 RAPID references 95
4.1 Instructions ...................................................................................................... 95
4.1.1 SpotL/SpotJ - The basic spot welding instructions ......................................... 95
4.1.2 SpotML/SpotMJ - Spot welding with multiple guns ......................................... 100
4.1.3 SetForce - Close and Open a gun with desired force and time ......................... 104
4.1.4 CalibL/CalibJ - Calibrate a servo gun during robot movement .......................... 108
4.1.5 Calibrate - Calibrate a servo gun ................................................................ 114
4.1.6 MeasureWearL - Measure current electrode wear and recalculate the TCP ........ 118
4.1.7 ReCalcTCP - Calculate current electrode wear and recalculate the TCP ............ 126
4.1.8 IndGunMove - Activates independent mode for a servo gun ............................ 130
4.1.9 IndGunMoveReset - Resets servo gun from independent mode ....................... 132
4.1.10 OpenHighLift/CloseHighLift - Control the position of a pneumatic gun ............... 133
4.2 Data types ....................................................................................................... 135
4.2.1 gundata - Equipment specific weld data ....................................................... 135
9.3.3 How to change the number of guns equipments to be used ............................. 252
9.3.4 How to define max/min values for data components ...................................... 254
9.3.5 How to change the Spot data types ............................................................. 255
9.3.6 How to add functionality in the process sequence ......................................... 256
9.3.7 How to use spot data programmed in the weld timer ...................................... 258
9.3.8 How to set the number of automatic rewelds after weld error ........................... 260
9.3.9 How to package and install the result from the customizing ............................. 261
Index 263
Usage
This manual should be used during installation and configuration of the RobotWare
option Spot.
Prerequisites
The reader should have the required knowledge of:
• IRC5 programming and usage
• System parameter configuration
• Mechanical installation work
• Electrical installation work
• System parameters and be used to editing these, either via RobotStudio or
via cfg-files
References
References Document ID
Operating manual - IRC5 with FlexPendant 3HAC050941-001
Operating manual - RobotStudio 3HAC032104-001
Product manual - IRC5 3HAC021313-001
Product specification - Controller IRC5 with FlexPendant 3HAC041344-001
Technical reference manual - System parameters 3HAC050948-001
Technical reference manual - RAPID Instructions, Functions 3HAC050917-001
and Data types
Technical reference manual - RAPID overview 3HAC050947-001
Application manual - Additional axes and stand alone con- 3HAC051016-001
troller
Application manual - Servo Gun Setup 3HAC065014-001
References Document ID
Application manual - SoftMove 3HAC050977-001
Application manual - RobotWare Add-Ins 3HAC051193-001
Application manual - DeviceNet Master/Slave 3HAC050992-001
Application manual - PROFINET Controller/Device 3HAC050969-001
Revisions
Revision Description
- Released with RobotWare 6.0.
A Released with RobotWare 6.01.
A Released with RobotWare 6.01.
• Updated the path to the template files, see 782-11 Bosch PROFINET
MFDC on page 59.
B Released with RobotWare 6.02.
• Possibility to configure supervision task SW_SUP, Supervision task
SW_SUP on page 94.
• Added possibility to use sensor search in MeasureWearL, see Meas-
ureWearL - Measure current electrode wear and recalculate the TCP
on page 118.
• Added possibility to perform a test weld in the CalibL and CalibJ instruc-
tions, see CalibL/CalibJ - Calibrate a servo gun during robot movement
on page 108.
• Added possibility to use dual forces in the SetForce instruction, see
SetForce - Close and Open a gun with desired force and time on page 104
• Added support for Spot in a MultiProcess configuration on 2 robots.
C Released with RobotWare 6.03.
• Changed template I/O naming for MultiGun and MultiMove configura-
tions, see Spot I/O configuration on page 42.
D Released with RobotWare 6.04.
• Changed template gun names in the SWUSER modules, see gundata
- Equipment specific weld data on page 135.
• Improved information on how to define TCP, see How to define the TCP
on page 171.
• Improved handling of independent gun mode in SetForce, see SetForce
- Close and Open a gun with desired force and time on page 104.
• Improved gun force gravity compensation, see Servo gun force gravity
compensation on page 204
• General improvements.
E Released with RobotWare 6.05.
• Added possibility to handle tip change and tip wear supervision errors
in the MeasureWearL and ReCalcTCP instructions in the user defined
error handling.
• Added supervision of force calibration status of used gun, and also a
possibility to create a default force table in the ManualForceCalib
and ManualServiceCalib service routines.
F Released with RobotWare 6.06.
• Limitations regarding servo tool change has been updated.
• Water flow supervision information improved.
• Added possibility to configure gun deflection parameters via system
parameters.
Revision Description
G Released with RobotWare 6.07.
• References to the new manual Application manual - Servo Gun Setup,
that replace the old Application manual - Servo Gun Tuning.
• Added possibility to configure gun force unit, see The type Spot System
on page 23
• Misc. information improvements.
Product documentation
Categories for user documentation from ABB Robotics
The user documentation from ABB Robotics is divided into a number of categories.
This listing is based on the type of information in the documents, regardless of
whether the products are standard or optional.
All documents can be found via myABB Business Portal, www.myportal.abb.com.
Product manuals
Manipulators, controllers, DressPack/SpotPack, and most other hardware is
delivered with a Product manual that generally contains:
• Safety information.
• Installation and commissioning (descriptions of mechanical installation or
electrical connections).
• Maintenance (descriptions of all required preventive maintenance procedures
including intervals and expected life time of parts).
• Repair (descriptions of all recommended repair procedures including spare
parts).
• Calibration.
• Decommissioning.
• Reference information (safety standards, unit conversions, screw joints, lists
of tools).
• Spare parts list with corresponding figures (or references to separate spare
parts lists).
• Circuit diagrams (or references to circuit diagrams).
Application manuals
Specific applications (for example software or hardware options) are described in
Application manuals. An application manual can describe one or several
applications.
An application manual generally contains information about:
• The purpose of the application (what it does and when it is useful).
• What is included (for example cables, I/O boards, RAPID instructions, system
parameters, software).
• How to install included or required hardware.
• How to use the application.
• Examples of how to use the application.
Operating manuals
The operating manuals describe hands-on handling of the products. The manuals
are aimed at those having first-hand operational contact with the product, that is
production cell operators, programmers, and troubleshooters.
Safety
Safety of personnel
When working inside the robot controller it is necessary to be aware of
voltage-related risks.
A danger of high voltage is associated with the following parts:
• Devices inside the controller, for example I/O devices, can be supplied with
power from an external source.
• The mains supply/mains switch.
• The power unit.
• The power supply unit for the computer system (230 VAC).
• The rectifier unit (400-480 VAC and 700 VDC). Capacitors!
• The drive unit (700 VDC).
• The service outlets (115/230 VAC).
• The power supply unit for tools, or special power supply units for the
machining process.
• The external voltage connected to the controller remains live even when the
robot is disconnected from the mains.
• Additional connections.
Therefore, it is important that all safety regulations are followed when doing
mechanical and electrical installation work.
Safety regulations
Before beginning mechanical and/or electrical installations, ensure you are familiar
with the safety regulations described in Operating manual - General safety
information 1 .
1 This manual contains all safety instructions from the product manuals for the manipulators and the controllers.
Note
Some functionality may not be available from one software version to another,
e.g 5.15 vs 6.0.
Spot options
Robot controller
RobotWare
User Gun1
modules
xx1200000682
Spot features
The Spot option package contains the following features:
• Fast and accurate positioning using the unique QuickMove and TrueMove
concept.
• Gun pre-closing, gun closing will be synchronized with robot reaching the
weld position to save cycle time.
• Support for mechanical gun equalizing systems.
• Software equalizing functions (if the Spot Servo Equalizing configuration is
installed).
• Constant or variable tip force during welding for servo guns.
• Detect missing or improper plates for servo guns.
• Reverse execution with gun control
• Gun calibration functions for servo guns.
• Manual actions for welding and gun control.
• Welding with up to four guns at the same time.
• Several simulation possibilities for test purposes.
Process tasks
The spot welding process will be controlled by separate internal hidden semi static
tasks, which will run independently from the motion task.
The robot movements, the spot welding process and the continuous supervision
will be handled in different independent tasks. This means that if for example the
program execution and thus the robot movements is stopped, then the welding
and supervision will continue until they come to a well defined process stop.
For example, the welding process will carry on and finish the weld and open the
gun, although the program has been stopped during the weld phase.
The tasks running the spot weld processes are hidden and will not be visible on
the FlexPendant or in RobotStudio. Only the motion task and the default supervision
task are visible.
Introduction
Both the robot movement and the control of the spot weld equipment are embedded
in the basic spot weld instructions SpotL and SpotJ. These are used for sequential
welding and are available in all spot welding options. If there is a need to weld with
several guns simultaneously then the instructions SpotML or SpotMJ are availble
for that purpose. See RAPID references on page 95.
• Each spot welding process is specified by:
• spotdata: spot weld process data. See spotdata - Spot weld data on page 140.
• gundata: spot weld equipment data. See gundata - Equipment specific weld
data on page 135.
• The system module SWUSRM: Process data and RAPID routines for data
transfer between user code and kernel code. See SWUSRM on page 164.
• The system module SWUSER: RAPID routines for customization of the
process behavior, checking the additional external equipments etc. See
SWUSER on page 158.
• System parameters: the I/O signal configuration and the manipulator
configuration. See Configuration on page 21 and Installation and service on
page 202.
• See Operating manual - IRC5 with FlexPendant and Technical reference
manual - System parameters.
Spot instructions
Both the robot movement and the control of the spot weld equipment are embedded
in the basic spot weld instructions SpotL and SpotJ. These are used for sequential
welding and are available in all spot welding options. If welding with several guns
simultaneously then SpotML or SpotMJ has to be used.
Instruction Used to
SpotL Control the motion, gun closure/opening and the welding process.
Move the TCP along a linear path and perform a spot welding at the
end position.
SpotJ Control the motion, gun closure/opening and the welding process.
Move the TCP along a non-linear path and perform a spot welding
at the end position.
SpotML Control the motion, gun closure/opening and 1 - 4 welding processes.
Move the TCP along a linear path and perform spot welding with 1
- 4 gun equipments at the end position. Only available if MultiGun
Configuration is installed.
SpotMJ Control the motion, gun closure/opening and 1 - 4 welding processes.
Move the TCP along a non-linear path and perform spot welding
with 1 - 4 gun equipments at the end position. Only available if
MultiGun Configuration is installed.
IndGunMove Set the servo gun in independent mode and thereafter move the
gun to a specific independent position.
IndGunMoveReset Reset the independent mode for servo gun.
Instruction Used to
SetForce Close the gun a predefined time then open the gun.
OpenHighLift Open the pneumatic gun to the highlift position (large gap).
CloseHighLift Close the pneumatic gun to the work stroke position (small gap).
CalibL Calibrate the servo gun during linear movement to the programmed
position.
CalibJ Calibrate the servo gun during non-linear movement to the pro-
grammed position.
Calibrate Calibrate the servo gun in current position without movement.
STTune Tune motion parameters for the servo gun.
STTuneReset Reset tuned motion parameters for the servo gun.
MeasureWearL Measure the tip wear and recalculates the TCP. Only available if
Spot Servo Equalizing is installed.
ReCalcTCP Calculates the tip wear and recalculates the TCP. Only available if
Spot Servo Equalizing is installed.
2 Configuration
2.1 Spot process configuration
Introduction
This chapter describes the process configuration options that are available for the
Spot options, and information about the signals and parameters that are used.
The parameters that are used for the Spot options are configured in the system
parameters. From the ABB menu on the FlexPendant:
1 Tap Control Panel.
2 Tap Configuration.
3 Tap Topics and select Process.
The Process configuration can also be accessed from RobotStudio.
The Spot option can be configured for different equipment setups, but the default
setup for a basic Spot configuration is for one gun equipment.
Not used equipments can also be removed completely if not needed, in the Spot
Equipments type.
Configuration types
Configuration files
Note
Configuration files and backups shall not be loaded into systems running an
older RobotWare version than in which they were created.
Configuration files and backups are not guaranteed to be compatible between
major releases of RobotWare and may need to be migrated after a RobotWare
upgrade.
Description
The top level of configuration parameters for RobotWare Spot is Spot System. The
settings of Spot System is valid for the whole robot system.
xx1400002066
Parameters
The following parameters are used to define the system settings in RobotWare
Spot.
Note
Note
Note
Min force time 1 s num The minimum allowed gun force time in Set-
Force. (0-2 s)
Max force 10 s num The maximum allowed gun force time in
time SetForce. (0-15 s)
Max simula- 10 s num The maximum allowed simulation time if
tion time simulated weld mode. (0-15 s)
Max plate 40 mm num The maximum allowed plate thickness in the
thickness system. (0-100 mm)
Max plate tol- 1 mm num The maximum allowed plate tolerance in the
erance system. (0-10 mm)
Min allowed 10 kg num The minimum allowed tool weight when run-
tool weight ning spot instructions. (0.5-800 kg)
No. of force 2 num The number of force calibration measure-
calibration ments in the ManualForceCalib service
measure- routine. (2-10)
ments
Sensor thick- 10 mm num The thickness of the force sensor used when
ness for force performing a force calibration with the
calibration ManualForceCalib service routine. (0-50 mm)
Squeeze time 2 s num The squeeze time when when performing a
for force calib- force calibration with the ManualForceCalib
ration service routine. (1-10 s)
Motion task SWUS- string The name of the user module running in the
user module RM.SYS motion task only.
name
All task user SWUSER.SYS string The name of the user module running in all
module name tasks.
Spot user HOME:/Spot string The location and file path of the spot user
modules file modules. Used when saving user data in the
path calibration and measurement routines, e.g
CalibL, MeasureWearL etc.
Use Spot spotequip- string The name of the used spot equipment(s)
Equipment1 - ment1 used in the system. Max number of spot
10 equipments are 10.
Description
The Spot Error Handling contains parameters for the global error handling settings.
Parameters
The following parameters and signals are used to define the error handling in
RobotWare Spot.
Parameter Default value Data type Note
Name spot_error_hand- string The name of the error handling in-
ling stance.
Number of auto- no reweld num Automatic reweld: Number of auto-
matic rewelds matic tries to reweld after weld
complete timeout, 0-3 are possible
to configure.
Show 'skip' but- No bool Show skip button in the error dia-
ton in auto mode logs on the TPU in automatic oprat-
ing mode, Yes/No.
Show 'skip' but- Yes bool Show skip button in the error dia-
ton in manual logs on the TPU in manual oprating
mode mode, Yes/No.
Show 'ignore' No bool Show ignore button in the error dia-
button in auto logs on the TPU in automatic oprat-
mode ing mode, Yes/No.
Show 'ignore' Yes bool Show ignore button in the error dia-
button in manual logs on the TPU in manual oprating
mode mode, Yes/No.
Error dialog ack. skip_proc signaldi The digital input signal that may in-
for 'Skip' terrupt the operator dialog, connec-
ted to the 'Skip' button.
Error dialog ack. reweld_proc signaldi The digital input signal that may in-
for 'Retry' terrupt the operator dialog, connec-
ted to the 'Retry' button.
Error dialog ack. ext_override signaldi The digital input signal that may in-
for 'Skip' or terrupt the operator dialog, connec-
'Retry' ted to the 'Skip' and 'Retry' button.
User defined er- No bool User defined error handling. The
ror handling error handling routine
SwErrorRecover in SWUSER is
called instead of the built in error
handling if this parameter is set to
Yes.
Description
The Spot Equipments defines the number of spot equipments defined in the system.
Max number of instances are 10.
Parameters
The following parameters and signals are used to define the equipments in
RobotWare Spot.
Note
Description
The Spot Weld Equiment contains parameters for the connected weld equipment(s).
This instance can be multiplied.
Parameters
The following parameters and signals are used to define the weld equipments in
RobotWare Spot and signals visible in the Spot GUI.
Parameter Default value Data type Note
Name weldtimer1 string The name of the weld timer in-
stance.
Weld process doStartWeld signaldo Used to configure the weld start
start [DO] signal for the timer. Signal will be
set when gun is closed and the ro-
bot is in position.
This signal is required.
Weld process diWeldComplete signaldi Used to configure the weld com-
complete [DI] plete signal for the timer. Signal will
be set by the timer when the current
weld is ready.
This signal is required.
Weld timeout 2s num The max time waiting for the weld
process complete signal, after this
time the error handling is activated.
(0-10 s)
Note
Note
Note
Note
Description
The Spot Gun Equipment contains parameters for the connected gun equipment(s).
This instance can be multiplied.
Parameters
The following parameters and signals are used to define the gun equipments in
RobotWare Spot and signals visible in the Spot GUI.
Note
Note
Note
Gun force normal Deactivated num Reference gun force when move-
orientation able gun arm is working with grav-
ity.
This parameter can be set from the
ManualForceCalib service
routine.
Example: Applied gun force 5000N
normal gun orientation, measured
force 5000N.
Deactivated (-1) = Not used.
Note
Note
Note
Description
The Spot Media Equipment contains parameters for the connected media
equipment(s). This instance can be multiplied.
Parameters
The following parameters and signals are used to define the media equipment
settings in RobotWare Spot and signals visible in the Spot GUI.
Parameter Default value Data type Note
Name mediapanel1 string The name of the media panel in-
stance.
Water flow diWaterFlow1Ok signaldi Used to configure the water flow
sensor1 sensor1 in the media panel. Signal
will be checked during the spot
process and from the supervision
task if configured.
If no signal name is specified here,
no check will be done.
Water flow diWaterFlow2Ok signaldi Used to configure the water flow
sensor2 sensor2 in the media panel. Signal
will be checked during the spot
process and from the supervision
task if configured.
If no signal name is specified here,
no check will be done.
Water sensor 2s num Used to configure the water flow
flow timeout timeout. If no water flow is detected
by the water flow sensors within the
specified time an operator error
dialog will take focus. (0-10 s)
Continuous water No = FALSE bool Used to configure the continuous
supervision water supervision in the SW_SUP
task.
If set to Yes, the SW_SUP task will
supervise the water flow continu-
ously if the system is in motors on
state, if an error is detected the ro-
bot movement will stop.
Note
Air flow sensor diAirOk signaldi Used to configure the air flow signal
in the media panel. Signal will be
checked during the spot process.
If no signal name is specified here,
no check will be done.
Note
Note
Description
The Spot Equalizing contains parameters for global software equalizing settings.
Parameters
The following parameters are used to define the software equalizing settings in
RobotWare Spot.
Parameter Default value Data type Note
Name spot_equalizing string The name of the software equalizing
instance.
MeasureWearL 5 mm/s num Search speed during tip measure-
search speed ment in the MeasureWearLinstruc-
tion, (between 1 - 5 mm/s)
MeasureWearL 100 N num Contact force (in N) during tip
TouchUp force measurement in the MeasureWearL
instruction, (typically between 50 -
150N).
-1 will deactivate this parameter and
use the override parameter in the
Spot Gun Equipment instance
instead.
MeasureWearL 10 mm num Maximal distance from programmed
movein distance point to search for reference surface
in the MeasureWearL instruction.
Max allowed re- 15 mm num Maximum allowed release distance.
lease distance (0-20 mm)
Max allowed de- 15 mm num Maximum allowed deflection dis-
flection value tance. (0-20 mm)
Min allowed 0.1 mm num Minimum allowed touch up step. (0-
TouchUp step 1 mm)
Max allowed 10 mm num Maximum allowed touch up step. (1-
TouchUp step 15 mm)
SoftMove offset 3 mm num Offset distance from the nominal
distance plate position when using SMEQ
(between 1 - 5 mm).
Note
Note
Description
The Spot GUI contains parameters for the spot gui settings.
Parameters
The following parameters are used to define the spot gui settings in RobotWare
Spot.
Parameter Default value Data type Note
Name spot_gui string The name of the spot gui instance.
Show Spot GUI No bool Used to define i the spot gui should
at startup be started automatically at system
startup, Yes/No.
Spot system type servo string Used to define the system type in
in Manual Ac- the Manual Action view, pneumat-
tions ic/servo/combined.
Show simdata in No bool Used to define if the simdata should
Process Data be visible in Process Data view.
Show forcedata Yes bool Used to define if the forcedata
in Process data should be visible in the Process
Data view.
Introduction
This chapter describes the different predefined I/O configurations that are available
for the Spot options, and information about the use of the signals.
The Spot package can be configured for different equipment setups. The default
I/O configurations should be seen as default templates, and the physical
connections and names can be changed freely and signals not in use can be
connected to simulated devices.
The signals used are configured in the system parameters. From the ABB menu
on the FlexPendant:
1 Tap Control Panel.
2 Tap Configuration.
3 Tap Topics and select I/O.
The I/O configuration can also be accessed from RobotStudio.
Note
The used signals names are also used in the process configuration. If the names
are changed, the corresponding names in the process configuration must be
changed also. For more information, see Spot process configuration on page 21.
Introduction
If a basic configuration is selected when building a spot welding system, the system
will be prepared with signals for one spot welding equipment on simulated I/O. It
is then easy to adapt the configuration to the surrounding equipment, e.g weld
timer, media panel etc.
Default configuration
The I/O configuration is prepared for one weld equipment. A set of customized
user modules are also installed if this configuration is selected.
The signals are connected to LOCAL devices by default, and can be changed to
any unit type if needed, for example PROFINET, DeviceNet, and so on.
Note
Note
For some timers this signal must be set after a new pro-
gram number is set in goWeldProgram in order for the
timer to set the corresponding inputs giGunForce, giPlat-
eThickness, and giPlateTolerance.
diProgSelectValid input This signal can be used as handshaking to let spot know
that a valid program has been read by the timer and to
continue the execution and read the timer input groups,
force, thickness, etc.
Note
giGunForce input group Gun force from weld timer if tip_force in spotdata is
-1.
giPlateThickness input group Plate thickness from weld timer if plate_thickness in
spotdata is -1.
giPlateTolerance input group Plate tolerance from weld timer if plate_tolerance in
spotdata is -1.
giTimerStatus input group Weld timer status code.
Other signals
Cross-connected signals
Note
ext_override skip_proc AND Reset signal. Can be used to reset the operator
reweld_proc error dialog on the FlexPendant when an error
occurs.
See Other signals on page 49.
Limitations
This configuration is only availible for single robot Spot systems, not in MultiProcess
systems with more than one Spot robot.
Introduction
If a multiple gun configuration is selected when building a spot welding system,
the system will be prepared with signals for four spot welding equipments on
simulated I/O's. It is then easy to adapt the configuration to the surrounding
equipment, e.g weld timers, media panels etc.
Default configuration
The I/O configuration is prepared for four weld equipments. A set of customized
user modules are also installed if this configuration is selected.
The signals are connected to LOCAL devices by default, and can be changed to
any unit type if needed, for example PROFINET, DeviceNet, and so on.
Note
Note
Signal names for gun equipment 2 are the same as for gun 1 but with the ending
G2, e.g. doStartWeldG2.
Note
For some timers this signal must be set after a new pro-
gram number is set in goWeldProgram in order for the
timer to set the corresponding inputs giGunForce, giPlat-
eThickness, and giPlateTolerance.
diProgSelectValid input This signal can be used as handshaking to let spot know
that a valid program has been read by the timer and to
continue the execution and read the timer input groups,
force, thickness, etc.
Note
giGunForce input group Gun force from weld timer if tip_force in spotdata is
-1.
giPlateThickness input group Plate thickness from weld timer if plate_thickness in
spotdata is -1.
giPlateTolerance input group Plate tolerance from weld timer if plate_tolerance in
spotdata is -1.
giTimerStatus input group Weld timer status code.
Other signals
Cross-connected signals
ext_override skip_proc AND Reset signal. Can be used to reset the oper-
reweld_proc ator error dialog on the FlexPendant when
an error occurs.
See Other signals on page 49.
Limitations
This configuration alternative can not be used together with the option 634-1
MultiProcess, not in MultiMove systems with more than one Spot robot.
Introduction
If a Spot MultiMove and MultiProcess configuration for more than one robot is
selected when building a spot welding system, the system will be prepared with
signals for two spot welding equipments on simulated I/O's, one equipment per
robot. It is then easy to adapt the configuration to the surrounding equipment, e.g
weld timer, media panel etc.
Default configuration
The I/O configuration is prepared for two weld equipments. A set of customized
user modules are also installed if this configuration is selected.
The signals are connected to LOCAL devices by default, and can be changed to
any unit type if needed, for example PROFINET, DeviceNet, and so on.
Note
Note
Signal names for gun equipment 2 are the same as for gun 1 but with the ending
G2, e.g. doStartWeldG2.
Note
For some timers this signal must be set after a new pro-
gram number is set in goWeldProgram in order for the
timer to set the corresponding inputs giGunForce, giPlat-
eThickness, and giPlateTolerance.
diProgSelectValid input This signal can be used as handshaking to let spot know
that a valid program has been read by the timer and to
continue the execution and read the timer input groups,
force, thickness, etc.
Note
giGunForce input group Gun force from weld timer if tip_force in spotdata is
-1.
giPlateThickness input group Plate thickness from weld timer if plate_thickness in
spotdata is -1.
giPlateTolerance input group Plate tolerance from weld timer if plate_tolerance in
spotdata is -1.
giTimerStatus input group Weld timer status code.
Other signals
Cross-connected signals
ext_override skip_proc AND Reset signal. Can be used to reset the oper-
reweld_proc ator error dialog on the FlexPendant when
an error occurs.
See Other signals on page 49.
Introduction
If either of the additional spot weld timer options 782-1 Bosch DeviceNet AC or
782-7 Bosch DeviceNet MFDC are selected when building a spot welding system,
the system will be prepared with signals for one spot welding equipment.
Default configuration
The default configuration is for one spot welding equipment. A set of customized
user modules are also installed if this option is selected.
Note
Note
This option requires the option DeviceNet, see Application manual - DeviceNet
Master/Slave.
Note
diProgSelectValid input This signal is used as handshaking to let spot know that
a valid program has been read by the timer and to contin-
ue the execution.
Note
For this timer type the valid program selection is not im-
plemented, but the signal is used by spot. If this signal is
not set, a program valid timeout will occur during execu-
tion.
Valid program = 1, Not valid = 0
diProgComplete input Signal used to let the robot know that a new program has
been selected. Will be set just after the doNewProgram
has been set.
Note
giGunForce input group Gun force from weld timer if tip_force in spotdata is
-1.
giPlateThickness input group Plate thickness from weld timer if plate_thickness in
spotdata is -1.
giPlateTolerance input group Plate tolerance from weld timer if plate_tolerance in
spotdata is -1.
giTimerStatus input group Weld timer status code.
Other signals
Cross-connected signals
ext_override skip_proc AND Reset signal. Can be used to reset the oper-
reweld_proc ator error dialog on the FlexPendant when
an error occur.
See Other signals on page 49.
diProgSelectValid diProgComplete Valid program selection signal, signal used
to check if a valid weld program is selected
in the timer.
Limitations
This configuration is only availible for single robot Spot systems, not in MultiProcess
systems with more than one Spot robot.
Introduction
If the additional spot weld timer option 782-11 Bosch PROFINET MFDC is selected
when building a spot welding system, the system will be prepared with signals for
one spot welding equipment.
Default configuration
The default configuration is for one spot welding equipment. A set of customized
user modules are also installed if this option is selected.
Note
Note
This option requires the option PROFINET Master and Slave, see Application
manual - PROFINET Controller/Device.
Tip
Note
diProgSelectValid input This signal can be used as handshaking to let spot know
that a valid program has been read by the timer.
Note
giGunForce input group Gun force from weld timer if tip_force in spotdata is
-1.
giPlateThickness input group Plate thickness from weld timer if plate_thickness in
spotdata is -1.
Other signals
Cross-connected signals
ext_override skip_proc AND Reset signal. Can be used to reset the oper-
reweld_proc ator error dialog on the FlexPendant when
an error occur.
See Other signals on page 49.
Limitations
This configuration is only availible for single robot Spot systems, not in MultiProcess
systems with more than one Spot robot.
3 Programming
Introduction to programming
This chapter describes the basic functions and steps to take when creating, testing,
and running spot weld programs with the Spot options.
It is assumed that a servo gun is installed and tuned at this stage. If not, see Servo
gun motion control on page 195, and Application manual - Servo Gun Setup.
en1200000250
MoveL
SpotL
MoveJ p6
p1 p2
p3 p5
p4
Direction of movement
xx1200000245
spot10 curr_gundata{1}
prog_num = 10 gun_name = "SGUN_1"
tip_force = 2000 weld_counter = 112
plate_thickness = 1.6 max_nof_welds = 1000
plate_tolerance = 0.5 curr_tip_wear = 5.2
max_tip_wear = 8
spot20
prog_num = 20
tip_force = 3000
plate_thickness = 3
plate_tolerance = 0
MoveL
SpotL
MoveJ p6
p1 p2
p3 p5
p4
Direction of movement
xx1200000245
spot10 curr_gundata{}
prog_num = 10 gun_name = "PNEU_G1"
tip_force = 2 weld_counter = 112
spot20 max_nof_welds = 1000
prog_num = 20
tip_force = 3
Arguments as in the
L = Linear
MoveL instruction
J = Joint
en1200000251
is set to 3000N. No thickness supervion. The robtarget p5 will be welded with just
gun 2 also with weld program 20.
MoveL
SpotML
MoveJ p6
p1 p2
p3 p5
p4
Direction of movement
xx1200000241
spot10 curr_gundata{1}
prog_num = 10 gun_name = "SGUN_1"
tip_force = 2000 weld_counter = 112
plate_thickness = 1.6 max_nof_welds = 1000
plate_tolerance = 0.5 curr_tip_wear = 5.2
max_tip_wear = 8
spot20 curr_gundata{2}
prog_num = 20 gun_name = "SGUN_2"
tip_force = 3000 weld_counter = 345
plate_thickness = 3 max_nof_welds = 1000
plate_tolerance = 0 curr_tip_wear = 3.4
max_tip_wear = 11
parameter can be ignore or removed. See How to change the Spot data types on
page 255.
MoveL
SpotML
MoveJ p6
p1 p2
p3 p5
p4
Direction of movement
xx1200000241
spot10 curr_gundata{1}
prog_num = 10 gun_name = "PNEU_G1"
tip_force = 2 weld_counter = 112
max_nof_welds = 1000
spot20 curr_gundata{2}
prog_num = 20 gun_name = "PNEU_G2"
tip_force = 3 weld_counter = 215
max_nof_welds = 1000
en1200000246
en1200000243
Simulation modes
To prevent the spot welding process executing during programming and testing,
it is possible to run the program in different simulation modes. For more information
about simulation modes see Simulation modes on page 80.
Tip
The fastest way to change the simulation mode is to use the FlexPendant
Interface, see Simulation Main View on page 217.
Preclosing of gun
The spot welding instructions have a built-in preclosing of the weld guns, that is
when approaching the position the guns will start to close in advance to save time.
For more information about gun control, see Gun closing and pre closing time on
page 77.
Software equalizing
The spot welding instructions SpotL and SpotJ also has functions that make it
possible to use spot welding guns without mechanical equalizing systems. These
functions are available if the configuration Spot Servo Equalizing is selected. For
more information see Software Equalizing on page 169.
Service routines
Some useful service routines are predefined to be used for manual actions during
programming and test.
• From the Spot GUI application, select RobotWare Spot and Manual Actions.
• From the Program Editor, tap Debug, and then tap Call Service Routine
en1200000242
Tip
It is also possible to access and run the service routines from the FlexPendant
interface, see Manual Actions on page 226
Note
If several guns are used then a dialog will appear asking for the gun number of the
gun to be handled.
Process sequence
This section describes the internal process sequence when a SpotL/J or a
SpotML/MJ instruction is executed:
1 Data definition user routines are executed. (eg. DefineSpotData)
2 The weld program number is set. (eg. goWeldProgram)
3 The new program selection signal is set, if configured.
4 The robot and gun starts to move towards the programmed position.
5 The process will check and wait for the program valid signal from the weld
controller, if configured.
6 The new program selection signal is reset, if configured (doNewProgram).
7 If valid program selection (diProgSelectValid), the process will read the weld
controller groups if configured, (eg. giGunForce).
8 The new program selection signal is reset, if configured (doNewProgram).
9 User routine UpdateSpotData is executed.
10 User routine SwInitUserIO is executed.
11 User routine SwPrepare is executed.
12 User routine SwCloseGun is executed (pneumatic guns).
13 The gun will start to close before the position is reached (unless argument
\InPos is used), according to the predefined gun pre closing time.
14 The equalizing signal is set according to the predefined pre equalizing time.
(eg. doEqualize).
15 User routine SwPreWeld is executed when the weld position is reached.
(Preweld supervision.)
16 The plate thickness is checked. (Servo guns only). The requested gun force
is established if OK.
17 The start signal to the weld controller is set. (eg. doStartWeld).
18 The weld controller performs the weld, and can change the gun force during
the weld sequence if configured (eg. new value on giGunForce).
19 When the weld complete signal from the weld controller is received, (eg.
diWeldComplete) the start signal will be reset and the gun will start to open
and the equalizing signal will be reset.
20 User routine SwOpenGun is executed (pneumatic guns).
21 User routine SwPostWeld is executed.
22 The instruction is ready.
Gun equalizing
When approaching the position a signal is activated to be used for the gun
equalizing. The signal is deactivated after the weld process before the next robot
motion is released.
The gun pre equalizing time, Gun pre equalizing time, is defined for each
used gun in Spot Gun Equipment process data. See The type Spot Gun
Equipment on page 31.
Note
The gun pre equalizing time in Spot Gun Equipment process data, Gun pre
equalizing time, is not used when SoftWare equalizing is used. For more
information see Software Equalizing on page 169.
Note
The data Gun pre closing time is not used if Software Equalizing is active,
see Software Equalizing on page 169.
Note
The pre closing can be disabled by using the \InPos argument in the instruction.
Note
If the pre closing time is set to high it can lead to a longer cycle time if close
positions are programmed, because the gun movement will synchronize with
the robot.
Note
If the optional data \SMEQ is used in the SpotL/J instruction the robot will be set
into a soft state during the gun closing, for more information see SoftMove
Equalizing on page 185.
Note
If using gun open position less than 10mm for servo guns, there may be problems
with sporadic "internal servo tool" errors. The reason for this is probably a too
hard tuned or a very fast gun.
Welding
When the welding position is reached the gun starts to build up the gun force and
the user hook SwPreWeld is executed, see Process hooks on page 160.
The plate thickness is checked (Servo guns only). The weld start signal is set as
soon as SwPreWeld is ready and the requested gun force is reached. After ordering
weld, the system waits for weld complete from the weld equipment. If configured
it is also possible to change the gun force before the weld complete is set. See
How to use spot data programmed in the weld timer on page 258.
For pneumatic guns the start signal is set as soon as the robot has reached the
weld position and a number of supervisions have been acknowledged. The start
signal is high during the entire welding period. It is reset either after weld complete
or after a predefined timeout time elapsed.
Gun opening
The gun starts to open to the programmed position after the weld process is
finished. At the same time the user hook SwOpenGun is executed. When the gun
is opened enough and SwOpenGun is ready then the movement is released and
the robot movement is started.
The gun is also opened to the programmed position after a weld error or in other
error situations.
For pneumatic guns the gun opens to a small or large stroke after the welding has
finished, depending on the parameter \OpenHLift. The opening is supervised in
such a way that the gun open signal is expected.
Note
The gun opening gap must be large enough that the tips are free from the plates
when welding.
So therefore, the software will compensate for the release distance that is used,
and the plate thickness, as the opening position is the same as the tips closed
with plates + release distance.
Example:
If release_dist is 10mm, the moving tip will open to 10mm even if you modify the
position with the gun closed on the plate surface.
A simple recommendation is to have approximately the same distance from the
plate to the movable electrode as the release_dist that has been configured.
For more information about the SoftWare Equalizing functionality, see Software
Equalizing on page 169.
2 If the step forward button is pressed again, current instruction will be skipped.
If start button is pressed the current instruction will be welded.
Note
To perform a weld in this position, the start button must be pressed. Program
execution will stop after the current instruction is ready. To restart the program
normally, the start button must be pressed again.
Backward
The motion is performed backwards to the programmed position with gun control,
but the gun is not closed in the weld position and no weld process is activated.
(Servo guns only).
For pneumatic guns the gun is set to work or highlift stroke depending on position
of the \OpenHLift switch. The motion is performed backwards.
The gun is set to work or highlift stroke depending on the position of the
\CloseHLift switch.
Simulation modes
All active simulation modes are defined in curr_simdata in SWUSER. See simdata
- Simulation data on page 146.
Note
Program valid check and reading of timer input groups will still be done in this
mode, tip force, plate thickness etc.
Error handling
The following error situations can occur:
• Instruction parameter supervision
• Supervision of valid program selection (If configured)
• Supervision in the beginning of the movement
• Gun closure supervision
• Detection of missing or improper plates (Servo guns only)
• Supervision before weld start
• Weld error
• Supervision after welding
• Gun opening supervision
Note
For more information, see Spot Weld timer configuration options on page 55
xx1200000217
Ignore Close the gun again but without thickness detection and continue the execution.
Retry Start the interrupted process from the beginning.
If the error is of the type improper geometry there is a possibility to do a retry with
a higher force on the gun and complete the current weld, that is. when the plates
are not properly fixed together.
xx1200000216
Note
The accuracy of the thickness supervision is highly dependent of good gun tuning
and correct mechanical data, e.g. Transmission Gear Ratio.
Weld error
A weld error occurs either if the weld_fault signal is set during the weld process
or if the weld complete signal from the weld timer has not been set in a certain
time, Weld timeout in the process configuration. See The type Spot Weld
Equipment on page 27.
SpotL/J and SpotML/MJ can be configured to automatically reweld a certain
number of times before the error is displayed and the execution stops, waiting for
a manual action.
• The gun opens.
• The signal process_error for current gun is set. The program stops.
• An error message is displayed in a dialog box with retry possibilities.
• The error message and the current robtarget name is logged.
xx1200000215
Note
Skip and Reweld error recovery can also be activated by using the digital inputs
skip_proc and reweld_proc, see Other signals on page 49.
Note
If the spot system is built with an additional Bosch weld timer option there will
be more information in the operator dialog about the reason for the error, for
example, hardware fault in the weld timer etc.
Tip
Example
Default example if weld error occurs.
xx1200000214
Software Equalizing
When the software equalizing functions are activated the execution of the SpotL/J
instructions is influenced in different ways:
• The movement to the programmed position will be different.
• The gun preclose function is handled automatically.
• The \Inpos switch will not affect the program execution.
Note
The software equalizing functions are not implemented for the SpotML/MJ
instructions.
For more information, see Software Equalizing on page 169.
Internally in the Spot software an input group will monitored during the weld, and
if the value on the input group changes, the gun force will change immediately to
a lower or higher force.
For more information, see How to use spot data programmed in the weld timer on
page 258 and Servo gun force calibration on page 203.
Note
Note that the force calibration procedure is very important if multiple forces has
to be used. The gun position at each force will be stored in the motion parameters
when running this routine. For more information see Servo gun force calibration
on page 203.
Customizing
The Spot package gives the user plenty of scope for customizing the Spot
functionality, see Customizing RobotWare-Spot on page 247.
However the main subject of the SpotL/J and SpotML/MJ instructions description
is the default setup.
en1200000238
Note
The value of this parameter (Post-synchronization Time) can affect the cycle
time of the program negatively if for example two welding points are programmed
at the same position. To minimize this risk the value can be increased. See
Application manual - Additional axes and stand alone controller.
en1200000239
Note
If Soft Equalizing is activated the Spot Gun Equipment process data parameters
Gun pre closing time and Gun pre equalizing time are not used. The
preclosing of the gun is in this case handled automatically, see Software
Equalizing on page 169.
Note
The value of this parameter (Post-synchronization Time) can affect the cycle
time of the program negatively if for example two welding points are programmed
at the same position. To minimize this risk the value can be increased. See
Application manual - Additional axes and stand alone controller.
en1200000237
Note
2 In the RAPID code, create the necessary control routines, and include SetGO
instructions that sets the group output to the program number to the
corresponding program in the weld timer.
Note
The gX_new_prog signal must be on at all times for the air pressure valve
to follow immediately a new program number.
Description
In spot options, there is a separate semistatic monitoring task that runs in the
background, SW_SUP. This task is selected by default when building a spot system
in Installation Manager and can be deselected if a supervision task is not needed,
e.g. if the supervision is handled by external equipment.
The SW_SUP task is handling the built in water supervision. There are some different
configuration possibilities regarding the behaviour of the water supervision, see
The type Spot Media Equipment on page 37.
In the SWUSER module there is a routine that is called from SW_SUP task,
SupervisionInit, here it is possible to add custom functionality / monitoring to
be run independently of program execution in motion task. No default functionality,
Supervision task hook on page 163.
4 RAPID references
4.1 Instructions
Descriptions
SpotL and SpotJ are used in spot welding when welding with one gun or several
guns in sequence. The instructions are used to control the complete welding
sequences, that is, the motion, gun closure/opening, and the welding process.
SpotL moves the TCP linearly to the weld position and then activates the weld
process. SpotJ moves the TCP non-linearly to the weld position before the weld
process is activated.
This instruction can only be used in the Main task or, if in a MultiMove system, in
Motion tasks.
Example
SpotL p100, vmax, gun1, spot10, tool1;
This is the only instruction needed to implement a complete welding operation with
one gun equipment.
• The TCP for tool1 is moved on a linear path to the position p100 with the
speed given in vmax.
• The weld position is always a stop position since the welding is always
performed while the robot is standing still.
• The gun is closed in advance when the robot is moved I .
• The weld process is started and supervised until finished and the gun is
reopened.
• The parameter spot10 is a data of type spotdata containing spot weld specific
parameters for the spot in p100, for example desired weld timer program
number and gun pressure.
• The parameter gun1 is a num corresponding to the used gun equipment. All
gun equipment used are defined in the gundata array curr_gundata located
in SWUSER.SYS module, see SWUSER on page 158.
I May differ depending on configuration.
Arguments
SpotL ToPoint Speed GunNo [\GunD] Spot [\InPos] [\OpenHLift] [\CloseHLift]
[\QuickRelease] [\SMEQ] Tool [\WObj] [\TLoad]
SpotJ ToPoint Speed GunNo [\GunD] Spot [\InPos] [\OpenHLift] [\CloseHLift]
[\QuickRelease] [\SMEQ] Tool [\WObj] [\TLoad]
ToPoint
Data type: robtarget
The destination point of the robot and additional axes. It is defined as a named
position or stored directly in the instruction (marked with an * in the instruction).
Speed
Data type: speeddata
The speed data that applies to movements. Speed data defines the velocity for the
tool center point, the tool reorientation and additional axes.
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module, see SWUSER on page 158.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
Spot
Data type: spotdata
Spot specific data for the weld process, weld program number, gun force etc, see
spotdata - Spot weld data on page 140
[\InPos]
Data type: switch
The optional argument \InPos inhibits the preclosing of the gun. The gun is closed
first when the robot has reached the end position. This argument will increase the
execution time but is useful in narrow situations.This switch will not affect the
execution when software equalizing is active.
[\OpenHLift]
Data type: switch
The optional argument \OpenHLift will set the gun to its large gap after the weld.
If the argument is omitted the gun opens to its small gap (work stroke). If the
instruction is executed backwards the gun opens to the large position before the
motion. (Only valid for pneumatic guns).
[\CloseHLift]
Data type: switch
The optional argument \CloseHLift will set the gun to its small gap (work stroke)
before closing the gun. If the instruction is executed backwards the gun opens to
the large position after the motion. (Only valid for pneumatic guns).
[\QuickRelease]
Data type: switch
The optional argument \QuickRelease will skip the release movement after the
weld if software equalizing is activated. Can be used to save cycle time.
[\SMEQ]
Data type: smeqdata (SoftMove Equalizing data)
If the optional data \SMEQ is used the robot will be set into a soft state in the tool
z direction during the approach movement to the position.
This method can be used as a complement to the standard software equalizing
method if the tolerances of the parts to be welded are less exact.
For more information see SoftMove Equalizing on page 185
Note
The SoftMove functionality is only avalible if the options Spot Servo Equalizing
(635-6) and SoftMove (885-1) are installed together.
Tool
Data type: tooldata
The tool in use when the robot moves. The tool center point is the point moved to
the specified destination position, and should be the position for the electrode tips
when the gun is closed.
[\WObj]
Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction
is related.
This argument can be omitted, and if it is, the position is related to the world
coordinate system. If, on the other hand, a stationary TCP or coordinated additional
axes are used, this argument must be specified in order to perform a linear
movement relative to the work object.
[\TLoad]
Data type: loaddata
The \TLoad argument describes the total load used in the movement. The total
load is the tool load together with the payload that the tool is carrying. If the \TLoad
argument is used, then the loaddata in the current tooldata is not considered.
If the \TLoad argument is set to load0, then the \TLoad argument is not considered
and the loaddata in the current tooldata is used instead. For a complete description
of the \TLoad argument, see MoveL.
Communication
SpotL/J instructions communicates with the surrounding weld equipment using
digital signals.
The default I/O setup is located on local I/O devices unless a specific SpotPack
option is selected.
For a complete description of the I/O configuration, see Spot I/O configuration on
page 42 or Spot Weld timer configuration options on page 55.
Program execution
For a complete description of the program execution sequence and error handling
in the SpotL/J instruction, see Process sequence and error handling on page 76.
Limitations
Note
It is not possible use independent gun mode when Software Equalizing is active.
This will cause an error message. For more information, see IndGunMove -
Activates independent mode for a servo gun on page 130.
Note
Note
Syntax
SpotL or SpotJ
[ ToPoint ':=' ] < expression (IN) of robtarget > ','
[ Speed ':=' ] < expression (IN) of speeddata > ','
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ] ','
[ Spot ':='] < persistent (PERS) of spotdata >
[ '\' InPos ]
[ '\' OpenHLift ]
[ '\' CloseHLift ]
[ '\' QuickRelease ]
[ '\' SMEQ ':='] < persistent(PERS) of smeqdata > ] ','
[ Tool ':=' ] < persistent (PERS) of tooldata > ]
[ '\' WObj ':=' ] < persistent (PERS) of wobjdata > ]
[ '\' TLoad ':=' ] < persistent (PERS) of loaddata > ] ';'
Related information
Described in:
Definition of velocity, speeddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of zone data, zonedata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of tool, tooldata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of work objects, wobjdata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Described in:
MoveL Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of load data, loaddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of spot data, spotdata spotdata - Spot weld data on page 140
Definition of gun data, gundata gundata - Equipment specific weld data on
page 135
SpotML/MJ SpotML/SpotMJ - Spot welding with multiple
guns on page 100
Overview Spot options Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
I/O configuration Spot I/O configuration on page 42
Servo gun introduction Servo gun motion control on page 195
Servo gun motion parameters Application manual - Additional axes and
stand alone controller
Motion in general Technical reference manual - RAPID overview
Software Equalizing Software Equalizing on page 169
SoftMove Equalizing SoftMove Equalizing on page 185
Description
SpotML and SpotMJ can be used in spot welding if welding with several guns at
the same time is desired. For servo guns it is possible to use two guns
simultaneously and for pneumatic guns it is possible to use four guns at the same
time. The instructions are used to control the complete welding sequences that is.
the motion, gun closure/opening and the welding processes.
• SpotML moves the TCP linearly to the weld position and then activates the
gun equipments.
• SpotMJ moves the TCP non-linearly to the weld position before the gun
equipment are activated.
These instructions can only be used in the Main task or, if in a MultiMove system,
in Motion tasks.
Example
SpotML p100, vmax \G1:=spot10 \G2:=spot20, tool1;
This is the only instruction needed to implement a complete welding operation with
two gun equipment.
• The TCP for tool1 is moved on a linear path to the position p100 with the
speed given in vmax. The weld position is always a stop position since the
welding is always performed while the robot is standing still. The guns are
closed in advance when the robot is moved. The weld processes are started
and supervised until finished and the guns are reopened.
• The optional arguments G1 and G2 will activate gun equipment 1 and gun
equipment 2. The parameter spot10 is a spotdata containing weld parameters
for the welding with gun equipment 1, for example desired weld timer program
number and gun pressure. The parameter spot20 contains weld parameters
for the welding with gun equipment 2.
All gun equipment used are defined in the gundata array curr_gundata in
SWUSER.SYS module, see SWUSER on page 158.
Arguments
SpotML ToPoint Speed [\G1] [\G2] [\G3] [\G4] [\Gun1] [\Gun2] [\Gun3] [\Gun4]
[\InPos] [\OpenHLift] [\CloseHLift] Tool [\WObj] [\TLoad]
SpotMJ ToPoint Speed [\G1] [\G2] [\G3] [\G4] [\Gun1] [\Gun2] [\Gun3] [\Gun4]
[\InPos] [\OpenHLift] [\CloseHLift] Tool [\WObj] [\TLoad]
ToPoint
Data type: robtarget
The destination point of the robot and additional axes. It is defined as a named
position or stored directly in the instruction (marked with an * in the instruction).
This name will be stored in the log if a error occurs during the welding.
Speed
Data type: speeddata
The speed data that applies to movements. Speed data defines the velocity for the
tool center point, the tool reorientation and additional axes.
[G1] - [G4]
Data type: spotdata for gun equipment 1 - 4
Spot data with the spot specific data associated with the weld with gun equipment
1 - 4, see spotdata - Spot weld data on page 140 and gundata - Equipment specific
weld data on page 135.
[\Gun1] - [\Gun4]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
[\InPos]
Data type: switch
The optional argument \InPos inhibits the preclosing of the guns. The guns are
closed first when the robot has reached the end position. This argument will
increase the execution time but is useful in narrow situations.
[\OpenHLift]
Data type: switch
The optional argument \OpenHLift will set the guns to its large gap after the weld.
If the argument is omitted the guns opens to its small gap (work stroke). If the
instruction is executed backwards the guns opens to the large position before the
motion. (Only valid for pneumatic guns).
[\CloseHLift]
Data type: switch
The optional argument \CloseHLift will set the guns to its small gap (work stroke)
before closing the guns. If the instruction is executed backwards the guns opens
to the large position after the motion. (Only valid for pneumatic guns).
Tool
Data type: tooldata
The tool in use when the robot moves. The tool center point is the point moved to
the specified destination position, and should be the position for the electrode tips
when the gun is closed.
[\WObj]
Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction
is related.
This argument can be omitted, and if it is, the position is related to the world
coordinate system. If, on the other hand, a stationary TCP or coordinated additional
axes are used, this argument must be specified in order to perform a linear
movement relative to the work object.
[\TLoad]
Data type: loaddata
The \TLoad argument describes the total load used in the movement. The total
load is the tool load together with the payload that the tool is carrying. If the \TLoad
argument is used, then the loaddata in the current tooldata is not considered.
If the \TLoad argument is set to load0, then the \TLoad argument is not considered
and the loaddata in the current tooldata is used instead. For a complete description
of the \TLoad argument, see MoveL.
Communication
SpotML/MJ instructions communicates with the weld equipment using digital
signals. The default I/O setup is located on local I/O devices.
For a complete description of the I/O configuration, see Spot I/O configuration on
page 42
Program execution
For a complete description of the program execution sequence and error handling
in the SpotML/MJ instruction, see Process sequence and error handling on page 76.
Limitations
This instruction will not be installed if a Weld Timer Configuration option is selected
when building a spot system in RobotStudio. In this case only a minimal installation
of spot will be done with predefined signals for one weld equipment only.
Note
Note
Syntax
SpotML or SpotMJ
[ ToPoint ':=' ] < expression (IN) of robtarget > ','
[ Speed ':=' ] < expression (IN) of speeddata > ','
[ '\' G1 ':=' < persistent (PERS) of spotdata > ]
[ '\' G2 ':=' < persistent (PERS) of spotdata > ]
[ '\' G3 ':=' < persistent (PERS) of spotdata > ]
[ '\' G4 ':=' < persistent (PERS) of spotdata > ]
[ '\' Gun1 ':=' < persistent (PERS) of gundata > ]
[ '\' Gun2 ':=' < persistent (PERS) of gundata > ]
[ '\' Gun3 ':=' < persistent (PERS) of gundata > ]
Related information
Described in:
Definition of velocity, speeddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of zone data, zonedata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of tool, tooldata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of work objects, wobjdata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
MoveL Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of load data, loaddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of spot data, spotdata spotdata - Spot weld data on page 140
Definition of gun data, gundata gundata - Equipment specific weld data on
page 135
SpotL/J SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
Overview Spot options Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
I/O configuration Spot I/O configuration on page 42
Servo gun introduction Servo gun motion control on page 195
Servo gun motion parameters Application manual - Additional axes and
stand alone controller
Motion in general Technical reference manual - RAPID overview
4.1.3 SetForce - Close and Open a gun with desired force and time
Description
SetForce is used in spot welding to close the gun and apply a predefined force
during a desired time without activating a weld process. The gun will open again
after the elapsed time or when a digital input signal is set. This instruction can for
example be used for tip dressing.
Example
SetForce gun1, force10;
Forcedata force10 contains the parameters for the SetForce action, for example
desired tip force and force time.
The parameter gun1 is a num corresponding to the used gun equipment. All gun
equipment used are defined in the gundata array curr_gundata located in
SWUSER.SYS module. See SWUSER on page 158.
Arguments
SetForce GunNo [\GunD] Force [\RetThickness] [\PrePos] [\CloseSpeed]
[\OpenHLift] [\CloseHLift]
GunNo
Data type: num
Used gun number. Corresponding to the element number in the gundata array
curr_gundata in the SWUSER.SYS module. See SWUSER on page 158.
[\GunD]
Data type: gundata
Optional parameter. Used gun equipment data for the process, see gundata -
Equipment specific weld data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
Force
Data type: forcedata
The forcedata with the force parameters. See forcedata - Spot gun force data on
page 143.
[\RetThickness]
(returned thickness)
Data type: num
Optional parameter. The achieved thickness [mm] (servo guns only).
[\IndPos]
(independent pre-position)
Data type: num
Optional parameter. The desired independent pre-position when the specified gun
speed should be used [mm]. (servo guns only).
Continues on next page
104 Application manual - Spot options
3HAC050979-001 Revision: G
© Copyright 2004-2018 ABB. All rights reserved.
4 RAPID references
4.1.3 SetForce - Close and Open a gun with desired force and time
Continued
[\GunSpeed]
(gun speed)
Data type: num
Optional parameter. The desired gun speed that shall be used from the specified
independent pre-position [%]. (servo guns only). This parameter can be used to
get a better performance when e.g tip dressing by reducing the gun speed.
If an independent pre-position is not used the gun speed will be reduced from the
actual start position.
[\OpenHLift]
Data type: switch
The optional argument \OpenHLift will set the gun to its large gap after the
instuction. If the argument is omitted the gun opens to its small gap (work stroke).
If the instruction is executed backwards the gun opens to the large position before
the motion. (Only valid for pneumatic guns).
[\CloseHLift]
Data type: switch
The optional argument \CloseHLift will set the gun to its small gap (work stroke)
before closing the gun. If the instruction is executed backwards the gun opens to
the large position. (Only valid for pneumatic guns).
Program execution
Internal sequence when a SetForce instruction is executed:
1 The gun is closed to the specified thickness in the used forcedata. If
pre-position is used \IndPos, gun will be set to independent mode internally,
and the closing speed will be reduced from the independent position
according to the specified value in \GunSpeed.
2 The plate thickness is checked (servo guns only).
3 The requested gun force is established.
4 Wait until the desired force time elapsed or the force complete signal is
activated.
5 If configured, the second gun force in curr_forcedata is established, see
forcedata - Spot gun force data on page 143.
6 If configured, wait until the second force time has elapsed or the force
complete signal is activated.
7 The gun is opened to the previous position. If an independent pre-position
is used, the opening speed will be reduced to the independent position
according to the specified value in \GunSpeed and the independent mode
will be reset.
The force complete signal for each used gun is predefined in the I/O configuration.
For a complete description of the I/O configuration, see Spot I/O configuration on
page 42.
Error handling
Instruction parameter supervision
The error occurs when SetForce is called with faulty parameters. The program
stops.
The parameter must be changed. When the program is restarted the current
instruction is restarted from the beginning.
xx1200000217
Ignore Close the gun again but without thickness detection and continue the execution.
Retry Retry the SetForce instruction.
Skip If the error is of the type improper geometry there is a possibility to do a retry with
a higher force on the gun and complete the current weld, that is. when the plates
are not properly fixed together.
Only available in manual mode.
xx1200000216
Note
The accuracy of the thickness supervision is highly dependent of good gun tuning
and correct mechanical data, e.g. Transmission Gear Ratio.
Limitations
If the \IndPos argument is used the gun will be set to an independent position. If
the instruction is aborted and the program pointer is moved, or an error occur while
the independent mode is active, the independent mode will be cleared depending
on if the system is in motors on state or not. If motors off state independent mode
will be cleared at the next start or restart.
Independent mode will cleared in the following situations:
Stop / QStop / Start / ReStart or program pointer moved:
• If motors on state: Independent mode will be cleared.
• If motors off state: Independent mode will not be cleared.
For more information about independent gun mode, see IndGunMove - Activates
independent mode for a servo gun on page 130 and IndGunMoveReset - Resets
servo gun from independent mode on page 132.
Syntax
SetForce
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ] ','
[ Force ':='] < persistent (PERS) of forcedata >
[ '\' RetThickness ':=' < variable or persistent(INOUT) of num
> ]
[ '\' IndPos ':=' < expression (IN) of num > ]
[ '\' GunSpeed ':=' < expression (IN) of num > ]
[ '\' OpenHLift ]
[ '\' CloseHLift ] ';'
Description
CalibL/J is used in spot welding to calibrate the distance between the gun tips
for servo guns. This is necessary after tip change or tool change and it is
recommended after welding of a number of spots or performing a tip dress. Calibrate
will also update the tip wear data in the used gundata. The calibration is done
during a robot movement to a programmed position.
NB: The gun performs two non-synchronized close/open movements during the
calibration.
If the option Spot Servo Equalizing is installed there are additional error
handling included for lost tips when a TipChg calibration is done and supervision
of the tip wear when a Tip-Wear calibration is done.
Example
CalibL p400, v500, gun1\ TipWear, fine, tool1;
• The gun gun1 is calibrated for TipWear during the linear movement to p400.
• The parameter gun1 is a num corresponding to the used gun equipment. All
gun equipment used are defined in the gundata array curr_gundata in
SWUSER. See SWUSER on page 158.
• The data curr_tip_wear in curr_gundata will be automatically updated.
For more information about tip management, see Tip management on page 200.
Arguments
CalibL ToPoint Speed GunNo [\GunD] [\TipChg] | [\ToolChg] | [\TipWear]
[\RetTipWear] [\RetPosAdj] [\PrePos] [\TWeld], Zone Tool [\WObj] [\TLoad]
CalibJ ToPoint Speed GunNo [\GunD] [\TipChg] | [\ToolChg] | [\TipWear]
[\RetTipWear] [\RetPosAdj] [\PrePos] [\TWeld], Zone Tool [\WObj] [\TLoad]
ToPoint
Data type: robtarget
The destination point of the robot and additional axes. It is defined as a named
position or stored directly in the instruction (marked with an * in the instruction).
A movement of the gun tip position can not be programmed. This will cause an
error message.
Speed
Data type: speeddata
The speed data that applies to movements. Speed data defines the velocity for the
tool center point, the tool reorientation and additional axes.
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module. See SWUSER on page 158.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
[\TipChg]
(tip change calibration)
Data type: switch
Calibration type. This calibration type is used after tip change.
The gun will close and open two times. The first close movement will be slow to
find the unknown contact position. The total tip wear is reset to zero.
If the option Spot Servo Equalizing is selected the difference since last
calibration will be supervised. If the difference since the last calibration exceeds
the supervision value in the Tip change supervision value an error will be
raised. See The type Spot Gun Equipment on page 31.
For more information about tip management, see Tip management on page 200,
Tip wear compensation on page 180, MeasureWearL - Measure current electrode
wear and recalculate the TCP on page 118 or the ReCalcTCP - Calculate current
electrode wear and recalculate the TCP on page 126.
[\ToolChg]
(tool change calibration)
Data type: switch
Calibration type. This calibration type is used after tool change.
The gun will close and open two times. The first close movement will be slow to
find the unknown contact position. The total tip wear will remain unchanged.
[\TipWear]
(tip wear calibration)
Data type: switch
Calibration type. This calibration type is used to update the tip wear and adjust the
contact position after tip dress or after welding a number of spots.
The gun will close and open fast two times. The total tip wear is updated.
If the option Spot Servo Equalizing is selected the difference since last
calibration will be supervised. If the difference since the last calibration exceeds
the supervision value in the Tip wear supervision value an error will be
raised. See The type Spot Gun Equipment on page 31.
For more information about tip management, see Tip management on page 200,
Tip wear compensation on page 180, MeasureWearL - Measure current electrode
wear and recalculate the TCP on page 118 or the ReCalcTCP - Calculate current
electrode wear and recalculate the TCP on page 126.
[\RetTipWear]
Data type: num
The achieved tip wear [mm].
[\RetPosAdj]
Data type: num
The positional adjustment since the last calibration [mm].
[\PrePos]
(pre position)
Data type: num
The position to move with high speed to before search for contact position with
slower speed is started [mm].
[\TWeld]
(test weld)
Data type: spotdata
If selected, a weld with the specified parameters will be performed after the
calibration and during the robot movement.
A weld can be done after tip dressing to check the tips, and to save cycle time the
test weld argument can be used instead of adding an extra SpotL instruction after
the calibration.
Zone
Data type: zonedata
Zone data for the movement. Zone data describes the size of the generated corner
path.
Tool
Data type: tooldata
The tool in use when the robot moves. The tool center point is the point moved to
the specified destination position, and should be the position for the electrode tips
when the gun is closed.
[\WObj]
Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction
is related.
This argument can be omitted, and if it is, the position is related to the world
coordinate system. If, on the other hand, a stationary TCP or coordinated additional
axes are used, this argument must be specified in order to perform a linear
movement relative to the work object.
[\TLoad]
Data type: loaddata
The \TLoad argument describes the total load used in the movement. The total
load is the tool load together with the payload that the tool is carrying. If the \TLoad
argument is used, then the loaddata in the current tooldata is not considered.
If the \TLoad argument is set to load0, then the \TLoad argument is not considered
and the loaddata in the current tooldata is used instead. For a complete description
of the \TLoad argument, see MoveL.
Program execution
Internal sequence when a CalibL/J instruction is executed:
• The robot starts the movement to the destination position.
• The gun will close and open two times during the robot movement. Different
tip speeds depending on selected calibration type.
• If the \TWeld is selected a test weld with the specified data will be done.
• The gun is opened to the previous position.
• For certain calibration types: curr_tip_wear in the array curr_gundata
in SWUSER is updated and saved.
Positional adjustment
The optional argument RetPosAdj can be used to detect if for example the tips
are lost after a tip change. The parameter will hold the value of the positional
adjustment since the last calibration. The value can be negative or positive.
If the option Spot Servo Equalizing is selected this value will be used to
calculate the difference since last calibration and supervise the tips when calibrating.
Error handling
Instruction parameter supervision
The error occurs when CalibL/J is called with faulty parameters or if no calibration
type switch is programmed. The program stops with error text.
The parameter must be changed. When the program is restarted the current
instruction is restarted from the beginning.
Limitations
Note
Note
Syntax
CalibL or CalibJ
[ ToPoint ':=' ] < expression (IN) of robtarget > ','
[ Speed ':=' ] < expression (IN) of speeddata > ','
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ]
[ \TipChg] | [\ToolChg] | [\TipWear]
[ '\' RetTipWear ':=' < variable or persistent(INOUT) of num >
]
[ '\' RetPosAdj ':=' < variable or persistent(INOUT) of num > ]
[ '\' PrePos ':=' < variable or persistent(IN) of num > ]
[ '\' TWeld ':=' < persistent(IN) of spotdata > ] ','
[ Zone ':=' ] < expression (IN) of zoneddata > ] ','
[ Tool ':=' ] < persistent (PERS) of tooldata > ]
[ '\' WObj ':=' < persistent (PERS) of wobjdata > ]
[ '\' TLoad':=' ] < persistent (PERS) of loaddata > ] ';'
Related information
Described in:
Definition of velocity, speeddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of zone data, zonedata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of tool, tooldata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of work objects, wobjdata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
MoveL Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of load data, loaddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Overview Spot options Introduction to RobotWare Spot on page 15
Servo gun introduction Servo gun motion control on page 195
Calibration without movement Servo gun motion control on page 195
Software Equalizing Software Equalizing on page 169
Setup data for Software Equalizing The type Spot SoftWare Equalizing on
page 39
Description
Calibrate is used in spot welding to calibrate the distance between the gun tips
for servo guns. This is necessary after tip change or tool change and it is
recommended after welding of a number of spots or performing a tip dress.
Calibrate will also update the tip wear data in the used gundata. NB The gun
performs two non-synchronized close/open movements during the calibration. The
open distance after the calibration is finish will be the same as before the calibration
started.
If the option Spot Servo Equalizing is installed there are additional error
handling included for lost tips when a TipChg calibration is done and supervision
of the tip wear when a Tip-Wear calibration is done.
Example
Calibrate gun1\ TipChange;
• The gun gun1 is calibrated after TipChange.
• The parameter gun1 is a num corresponding to the used gun equipment. All
gun equipment used are defined in the gundata array curr_gundata in
SWUSER.
• The data curr_tip_wear in curr_gundata will be automatically set to
zero.
For more information about tip management, see Tip management on page 200.
Arguments
Calibrate GunNo [\GunD] [\TipChg] | [\ToolChg] | [\TipWear] [\RetTipWear] |
[\RetPosAdj] | [\PrePos]
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module . See SWUSER on
page 158.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
[\TipChg]
Data type: switch
Calibration type. This calibration type is used after tip change.
The gun will close and open two times. The first close movement will be slow to
find the unknown contact position. The total tip wear is reset to zero.
If the option Spot Servo Equalizing is selected the difference since last
calibration will be supervised. If the difference since the last calibration exceeds
the supervision value in the Tip change supervision value an error will be
raised. See The type Spot Gun Equipment on page 31.
For more information about tip management, see Tip management on page 200,
Tip wear compensation on page 180, MeasureWearL - Measure current electrode
wear and recalculate the TCP on page 118 or the ReCalcTCP - Calculate current
electrode wear and recalculate the TCP on page 126.
[\ToolChg]
Data type: switch
Calibration type. This calibration type is used after tool change.
The gun will close and open two times. The first close movement will be slow to
find the unknown contact position. The total tip wear will remain unchanged.
[\TipWear]
Data type: switch
Calibration type. This calibration type is used to update the tip wear and adjust the
contact position after tip dress or after welding a number of spots.
The gun will close and open fast two times. The total tip wear is updated.
If the option Spot Servo Equalizing is selected the difference since last
calibration will be supervised. If the difference since the last calibration exceeds
the supervision value in the Tip wear supervision value an error will be
raised. See The type Spot Gun Equipment on page 31.
For more information about tip management, see Tip management on page 200,
Tip wear compensation on page 180, MeasureWearL - Measure current electrode
wear and recalculate the TCP on page 118 or the ReCalcTCP - Calculate current
electrode wear and recalculate the TCP on page 126.
[\RetTipWear]
Data type: num
The achieved tip wear [mm].
[\RetPosAdj]
Data type: num
The positional adjustment since the last calibration [mm].
[\PrePos]
Data type: num
The position to move with high speed to before search for contact position with
slower speed is started [mm].
Program execution
Internal sequence when a Calibrate instruction is executed:
• The gun will close and open two times during the robot movement. Different
tip speeds depending on selected calibration type.
Positional adjustment
The optional argument RetPosAdj can be used to detect if for example the tips
are lost after a tip change. The parameter will hold the value of the positional
adjustment since the last calibration. The value can be negative or positive.
If the option Spot Servo Equalizing is selected this value will be used to
calculate the difference since last calibration and supervise the tips when calibrating.
Error handling
Instruction parameter supervision
The error occurs when Calibrate is called with faulty parameters or if no
calibration type switch is programmed. The program stops with error text.
The parameter must be changed. When the program is restarted the current
instruction is restarted from the beginning.
Syntax
Calibrate
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ]
[ \TipChg]
| [\ToolChg]
| [\TipWear]
[ '\' RetTipWear ':=' < variable or persistent(INOUT) of num >
]
[ '\' RetPosAdj ':=' < variable or persistent(INOUT) of num > ]
[ '\' PrePos ':=' < variable or persistent(IN) of num > ] ';'
Related information
Described in:
Overview Spot Servo Introduction to RobotWare Spot on page 15
Servo gun introduction Servo gun motion control on page 195
Calibration with movement Servo gun motion control on page 195
Software Equalizing Software Equalizing on page 169
Setup data for Software Equalizing The type Spot SoftWare Equalizing on
page 39
4.1.6 MeasureWearL - Measure current electrode wear and recalculate the TCP
Description
MeasureWearL is used in spot welding to measure current electrode wear for the
tip on the fixed electrode. This can be done with or without external measurement
equipment, and without manual interaction. The TCP is automatically recalculated
after the measurement. The instruction also updates tip wear data in the used
gundata.
When the gun is held by the robot the gun performs a search movement during
the measurement. The gun is moving in the z-direction, in the tool coordinate
system, until the fixed electrode touches a fixed reference plate or a sensor of
some sort, e.g. BullsEye.
This instruction can be used also for stationary guns. In this case the robot moves
the gripper and the work object until a reference position on the gripper is touching
the tip on the fixed electrode.
This instruction is only available if the Spot Servo Equalizing configuration
is installed.
Example
In this example the gun is held by the robot. The principles are the same also when
stationary guns are used.
xx1200000206
Measurement preparation
The measurement instruction is executed with a reference tip with an accurate
TCP (tooldata in this example: ref_tool1). This reference measurement has to
be done before the tip wear measuring is performed the first time. Also each time
when the TCP for this gun is changed for some reason or if the reference plate or
sensor is dislocated for some reason.
Running the instruction Calibrate\TipChg after the MeasureWearL will also
reset the total wear of the tips curr_tip_wear in curr_gundata and check the
difference since the last calibration.
Continues on next page
118 Application manual - Spot options
3HAC050979-001 Revision: G
© Copyright 2004-2018 ABB. All rights reserved.
4 RAPID references
4.1.6 MeasureWearL - Measure current electrode wear and recalculate the TCP
Continued
Tip
When the instruction with the optional argument TipChange is executed, similar
movements as above are performed and the tip wear of the fixed electrode is
measured. The TCP in the used tooldata tool1 is then recalculated and the data
curr_wear_fix in curr_gundata is automatically updated. This is the same
functionality as after tip wear above. Only some extra error handling is done
internally.
Running the instruction Calibrate\TipChg after the MeasureWearL will also
reset the total wear of the tips curr_tip_wear in curr_gundata and check the
difference since the last calibration. See SWUSER on page 158
Note
It is important that p2 is the same position in all cases above. If this position is
modified a new reference or reference changed measurement has to be done.
Tip
Arguments
MeasureWearL ToPoint Speed GunNo [\GunD] [\Reference] | [\TipWear] |
[\TipChange] | [\RefChange] [\SSearch], Tool [\WObj] [\TLoad]
ToPoint
Data type: robtarget
The destination point for the robot and additional axes. This position should be a
point close to the reference position, see figure in the example above. If this position
is modified a new reference measurement has to be done.
Speed
Data type: speeddata
The speed data that applies to movements. Speed data defines the velocity for the
tool center point, the tool reorientation and additional axes.
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module. See SWUSER on page 158.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
[\Reference]
(reference measurement)
Data type: switch
Measurement type. This calibration type is used for the reference measurement
with a reference tip with a well known TCP.
This measurement has to be done before the tip wear measuring is done the first
time and each time when the TCP for this gun (with the reference tip mounted) is
changed. It has also to be done if the reference plate (or reference position when
a stationary gun is used) is dislocated of any reason.
If the reference plate is moved the switch \RefChange can be used instead.
Fore more information abot tip management, see Tip wear compensation on
page 180.
[\TipWear]
(tip wear measurement)
Data type: switch
Measurement type. This measurement type is used when it is time to compensate
for current tip wear, probably after each tip dressing. The data curr_wear_fix
in curr_gundata will be automatically updated and the TCP in the used tooldata
is recalculated.
For more information about tip management, see Tip management on page 200 and
Tip wear compensation on page 180.
[\TipChange]
(tip change measurement)
Data type: switch
Measurement type. This measurement type is used in the first measurement after
tip change. The data curr_wear_fix in curr_gundata will be automatically
updated and the TCP in the used tooldata is recalculated.
For more information about tip management, see Tip management on page 200 and
Tip wear compensation on page 180.
[\RefChange]
(reference changed measurement)
Data type: switch
Measurement type. This calibration type is used if the reference plate (or reference
position when a stationary gun is used) is dislocated of any reason.
The reference tool tw_ref_tool in SWUSER module will not be updated if this
calibration type is used.
[\SSearch]
(signal/sensor search)
Data type: switch
Measurement method. If this switch is used, the search will be done against a
sensor signal instead of a fixed reference surface.
The required I/O signal that should be used is defined in the process configuration,
see The type Spot Gun Equipment on page 31.
Tool
Data type: tooldata
The tool in use when the robot moves. The tool center point (TCP) is the point
moved to the specified destination position, and should for a spot weld gun be the
position on the tip of the fixed electrode.
Note
The TCP is automatically recalculated and changed when the optional argument
\TipWear or \TipChange is used.
[\WObj]
Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction
is related.
This argument can be omitted, and if it is, the position is related to the world
coordinate system. If, on the other hand, a stationary gun is used, this argument
must be specified in order to perform a linear movement relative to the work object.
[\TLoad]
Data type: loaddata
The \TLoad argument describes the total load used in the movement. The total
load is the tool load together with the payload that the tool is carrying. If the \TLoad
argument is used, then the loaddata in the current tooldata is not considered.
If the \TLoad argument is set to load0, then the \TLoad argument is not considered
and the loaddata in the current tooldata is used instead. For a complete description
of the TLoad argument, see MoveL.
Program execution
Internal sequence when a MeasureWearL instruction is executed:
1 The robot starts the movement to the destination position.
2 When the destination position is reached the search movements to the
reference position or sensor is started.
3 If using the reference position search method the fixed tip will touch the
reference position with a predefined pressure, this force can be modified by
changing the setup data MeasureWearL TouchUp force in the process
configuration. See The type Spot SoftWare Equalizing on page 39.
4 If the optional argument \Reference is used: Some reference data is stored
in the user module swuser.sys, tw_ref_tool and tw_ref_dist.
5 If the optional argument \TipWear or \TipChange is used: The TCP in the
used tooldata is recalculated and the data curr_wear_fix in curr_gundata
is updated.
Error handling
Following error situations are handled:
• If the search distance after tip wear measurement or measurement after tip
change differs a lot from expected (for example missed tip). It is possible to
change the tip change and tip wear supervision limit values, see The type
Spot Gun Equipment on page 31.
• If the search sequence is interrupted by for example a Stop or Emergency
Stop then the search sequence is automatically restarted from the beginning
at program restart.
Limitations
About how to place the fixed reference plate:
The reference plate can be mounted in an optional position in the work range, but
it is necessary to orient the tool in the measuring position in that way that an
additional torque is generated on at least one of the robot motors when the robot
is touching the reference position, preferably axis 4 to 6.
Note
When using the reference plate search method there are occasions when the
MeasureWearL is less suitable, for example very large guns and/or when an
acceptable touchup position is not possible to reach for some reason (poor
position). Then the ReCalcTCP method should be used instead.
Note
When using the sensor search method (\SSearch) a fast I/O response is critical
for a good performance. A slow or inconsistent I/O response can give poor
accuracy.
Note
Syntax
MeasureWearL
[ ToPoint ':=' ] < expression (IN) of robtarget > ','
[ Speed ':=' ] < expression (IN) of speeddata > ','
[ GunNo ':=' ] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ]
[ \Reference] | [\TipWear] | [\TipChange] | [\RefChange]
[ '\' SSearch ] ','
[ Tool ':=' ] < persistent (PERS) of tooldata > ]
[ '\' WObj ':=' < persistent (PERS) of wobjdata > ]
[ '\' TLoad':=' ] < persistent (PERS) of loaddata > ] ';'
Related information
Described in:
Definition of velocity, speeddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of tool, tooldata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of work objects, wobjdata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
MoveL Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Definition of load data, loaddata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Overview Spot options Introduction to RobotWare Spot on page 15
System module SWUSER SWUSER on page 158
Definition of gundata gundata - Equipment specific weld data on
page 135
Described in:
Software Equalizing The type Spot SoftWare Equalizing on
page 39
4.1.7 ReCalcTCP - Calculate current electrode wear and recalculate the TCP
Description
ReCalcTCP is used in spot welding to calculate current electrode wear for the tip
on the fixed electrode and then recalculate the used TCP to compensate for current
tip wear. The calculation is based on stored information about the total tip wear
and about the expected tip wear ratio, the wear of the fixed tip related to the total
tip wear. The instruction also updates tip wear data in the used gundata.
This instruction can be used also for stationary guns.
This instruction is only available if the Spot Servo Equalizing option is installed.
Example
In this example the gun can be hold by the robot or stationary. The principles are
the same also when stationary guns are used.
Preparation
First the expected relation between the tip wear of the fixed tip and the total tip
wear must be established, the data Tip wear ratio, fixed vs total wear
in the process configuration must be set to a relevant value. For example 50, the
wear of the fixed tip is 50% of the total wear. See The type Spot Gun Equipment
on page 31.
This instruction has to be executed with the \Reference switch activated before
it is used for tip wear compensation the first time. This also has to be done when
the TCP for this gun, with new tips mounted, is changed for some reason. The TCP
in the tooldata parameter, ref_tool1 in this example, has to be valid for gun1
with new tips with the same size mounted.
ReCalcTCP gun1\Reference,ref_tool1;
tool1 := ref_tool1;
! tool1 is then used during the production.
When the ReCalcTCP instruction with the optional argument \Reference is
executed some reference data (the tooldata ref_tool1) is stored internally in
the user module swuser.sys. See Data on page 159.
The parameter gun1 is a num corresponding to the used gun equipment. All gun
equipment used are defined in the gundata array curr_gundata located in the
SWUSER module.
curr_tip_wear and in gundata and the Tip wear ratio, fixed vs total
wear in the process configuration is used for the calculations. See The type Spot
Gun Equipment on page 31.
Arguments
ReCalcTCP GunNo [\GunD] [\Reference] | [\TipWear] | [\TipChange] Tool
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module. See SWUSER on page 158.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
[\Reference]
Data type: switch
This switch is used for preparation of the calculations.This preparation has to be
done before the tip wear compensation is done the first time and also each time
the TCP for this gun (with new tips mounted) is changed.
The TCP in tooldata has to be valid for a gun with new tips mounted.
Fore more information abot tip managemant, see Tip wear compensation on
page 180.
[\TipWear]
Data type: switch
This switch is used when it is time to compensate for current tip wear, probably
after the gun calibration after each tip dressing. The data curr_wear_fix in
curr_gundata will be automatically updated and the TCP in the used tooldata is
recalculated. See Additional components for Spot Servo Equalizing on page 136.
For more information about tip management, see Tip management on page 200 and
Tip wear compensation on page 180.
[\TipChange]
Data type: switch
This switch is used when the instruction is executed after tip change. The data
curr_wear_fix in curr_gundata is cleared and the TCP in the used tooldata
is set to the value valid for new tips. See Additional components for Spot Servo
Equalizing on page 136.
For more information about tip management, see Tip management on page 200 and
Tip wear compensation on page 180.
Tool
Data type: tooldata
Tooldata for the used gun. The tool center point (TCP) should for a spot weld gun
be the tip position for the fixed electrode tip.
Note
Program execution
Internal sequence when a ReCalcTCP instruction is executed:
• If the optional argument \Reference is used: Some reference data is stored
internally.
• If the optional argument \TipWear is used: The TCP in the used tooldata is
recalculated and the data curr_wear_fix in curr_gundata is updated.
• If the optional argument \TipChange is used: The TCP in the used tooldata
is set to a value valid for new tips and the data curr_wear_fix in
curr_gundata is cleared.
Error handling
Following error situations are handled:
• If the calculated tip wear differ a lot from expected (for example missed tip
or wrong sized tip). It is possible to change the tip wear supervision limit
value if needed, see The type Spot Gun Equipment on page 31.
Syntax
ReCalcTCP
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ]
[ \Reference] | [\TipWear] | [\TipChange]
[ Tool ':=' (PERS) of tooldata > ';'
Related information
Described in:
Definition of gun data, gundata gundata - Equipment specific weld data on
page 135
Described in:
Overview Spot options Introduction to RobotWare Spot on page 15
System module SWUSER SWUSER on page 158
Software Equalizing The type Spot SoftWare Equalizing on
page 39
Description
IndGunMove (Independent Gun Movement) is used to set the gun in independent
mode and thereafter move the gun to a specified independent position. The gun
will stay in independent mode until the instruction IndGunMoveReset is executed.
During independent mode, the control of the servo gun is separated from the robot.
The gun can be closed, opened, calibrated or moved to a new independent position,
but it will not follow coordinated robot movements.
It is also possible to set the gun in independent mode from a background task
while the robot in the main task can continue with for example move instructions.
For more information of how to set the gun in independent mode, see Technical
reference manual - RAPID Instructions, Functions and Data types.
Example
PROC tipdress()
! Note that the gun will move to current robtarget position, if
already in independent mode.
IndGunMoveReset gun1;
.......
.......
.......
IndGunMove gun1, 30;
......
SetForce gun1, force10;
......
IndGunMoveReset gun1;
ENDPROC
Independent mode is activated and the gun is moved to an independent position
(30 mm). During independent mode the instruction SetForce is executed, without
interfering with robot motion. The instruction IndGunMoveReset will take the gun
out of independent mode and move the gun to current robtarget position.
xx1200000207
The position p1 depends on the position of the gun given in the robtarget just
performed by the robot.
Arguments
IndGunMove GunNo [\GunD] GunPos
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module. See SWUSER on page 158
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
GunPos
Data type: num
The position (stroke) of the servo gun in mm.
Program execution
The instruction activates independent mode and moves the gun from the
coordinated position to a specified independent position. During the independent
mode the gun may be closed, opened, calibrated or moved to a new independent
position without interfering with robot motion.
Program restart during independent mode will always start with a regain movement
to the current independent position.
The gun will recover independent mode after a system restart. Moving the program
pointer will NOT reset independent mode. When the program is started, no regain
movement will occur but the gun will return to independent mode after the first gun
closing or calibration.
Limitations
It is not possible to use this instruction is used in combination with spot instructions
when Spot Servo Equalizing is activated.
Syntax
IndGunMove
[ GunNo ':=' <expression (IN) of num> ]
[ '\' GunD ':='] < persistent(PERS) of gundata > ] ','
[ GunPos ':=' <expression (IN) of num> ] ';'
Related information
Described in:
SetForce SetForce - Close and Open a gun with de-
sired force and time on page 104
STIndGun Technical reference manual - RAPID Instruc-
tions, Functions and Data types
Description
IndGunMoveReset (Independent Gun Movement Reset) is used to reset the gun
from independent mode and thereafter move the gun to current robtarget position.
Example
IndGunMoveReset gun1;
Arguments
IndGunMoveReset GunNo [\GunD]
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata located in the SWUSER.SYS module. The gun was previously
set independent with the instruction IndGunMove.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
Program execution
The instruction will reset the gun from independent mode and move the gun to
current robtarget position. During this movement the coordinated speed of the gun
must be zero, otherwise an error will occur. The coordinated speed will be zero if
the robot is standing still or if the current robot movement includes a "zero
movement" of the gun.
Syntax
IndGunMove
[ GunNo ':=' <expression (IN) of num> ]
[ '\' GunD ':='] < persistent(PERS) of gundata > ] ';'
Related information
Described in:
Definition of gundata gundata - Equipment specific weld data on
page 135
Description
OpenHighLift is used in spot welding to open a pneumatic gun to the highlift
position (large gap).
CloseHighLift is used in spot welding to close a pneumatic gun to the work
stroke position (small gap).
Example
OpenHighLift, gun1;
• The gun gun1 is opened to the highlift position.
CloseHighLift, gun1;
• The gun gun1 is closed to the work stroke position.
The parameter gun1 is a num corresponding to the used gun equipment. All gun
equipment used are defined in the gundata array curr_gundata in SWUSER.
Arguments
OpenHighLift GunNo [\GunD]
CloseHighLift GunNo [\GunD]
GunNo
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata
array curr_gundata in SWUSER.
[\GunD]
Data type: gundata
Used gun equipment data for the process, see gundata - Equipment specific weld
data on page 135.
Can be used if external gundata is required. If used the external gundata will be
temporary stored in the curr_gundata array during the process.
Program execution
Internal sequence when a OpenHighLift instruction is executed:
• The inhibit_close is simulated.
• The user routine SwInitUserIO is executed.
• The user routine SwOpenGun is executed and the gun is opened to the highlift
position.
Internal sequence when a CloseHighLift instruction is executed:
• The inhibit_close is simulated.
• The user routine SwInitUserIO is executed.
• The user routine SwCloseGun is executed and the gun is closed to the work
stroke position.
Error handling
No error handling.
Syntax
OpenHighLift or CloseHighLift
[ GunNo ':='] < expression (IN) of num >
[ '\' GunD ':='] < persistent(PERS) of gundata > ] ';'
Related information
Described in:
Overview Spot Servo Introduction to RobotWare Spot on page 15
Description
Gundata is used to define spot weld equipment specific data, to control the gun
in an optimal way in the weld process when the spot instructions are used. Each
gundata defines one gun equipment.
Note
The gundata structure and order of parameters differs between different spot
options.
Gundata has the following default structure when servo guns are used:
• Gun name
• Weld counter and a max value.
• Current tip wear and a max value.
• Specific parameters for the Software Equalizing functions. (Only if Spot Servo
Equalizing is installed.)
Gundata has the following default structure when pneumatic guns are used:
• Gun name
• Weld counter and a max value.
Components
gun_name
(gun name)
Data type: string
The name of the mechanical unit used for the servo gun. This name must be
identical with the name of the mechanical unit defined in the motion servo gun
parameters.
Normally the gun name will be updated automatically at startup. A service routine
is available to search the system for servo guns and update the gun name,
ManualGunSearch, see Manual actions on page 74.
weld_counter
(weld counter)
Data type: num
Counter for the number of welds done with this gun. The counter is automatically
incremented after process is ready. Use of this data is optional. Zero set shall be
handled by the user program.
max_nof_welds
(max number of welds)
Data type: num
curr_tip_wear
(current tip wear)
Data type: num
Current tip wear [mm]. This data is automatically updated after each gun calibration.
Use of this data is optional. (Servo guns only).
max_tip_wear
(max tip wear)
Data type: num
Max allowed tip wear before tip exchange [mm]. Use of this data is optional. (Servo
guns only).
wear_moveable
(current tip wear for the moveable tip)
Data type: num
Current tip wear for the moveable gun electrode tip [mm]. This data is automatically
updated when CalibL/J and Calibrate is used.
release_dist
(release distance)
Data type: num
The release distance [mm] when the robot is moving between weld positions during
normal program execution and during Weld position Touch Up.
deflection_dist_z
(deflection distance in z-direction)
Data type: num
TCP deviation [mm] in z-direction caused of gun arm deflection when the gun is
closed with the force specified in deflection_force. This data is used for the
deflection compensation movement of the robot. Default value 0 mm.
Note
This parameter can also be configured via system parameters, see System
Parameters, Topic Motion and Type SG Process, Technical reference
manual - System parameters.
In this case this parameter has to be removed, see How to change the Spot data
types on page 255.
deflection_dist_x
(deflection distance in x-direction)
Data type: num
TCP deviation [mm] in x-direction caused of gun arm deflection when the gun is
closed with the force specified in deflection_force. This data is used for the
deflection compensation of the robot. Default value 0mm.
This value can be both positive and negative depending on which direction the
deflection compensation shall be performed.
Example: If the gun bends outwards 2mm (positive x), this value should be set to
2mm.
Note
This parameter can also be configured via system parameters, see System
Parameters, Topic Motion and Type SG Process, Technical reference
manual - System parameters.
In this case this parameter has to be removed, see How to change the Spot data
types on page 255.
deflection_force
(deflection force)
Data type: num
Applied force [N] corresponding to the TCP deviation deflection_dist_
parameters caused of gun arm deflection. This data is used for the deflection
compensation.
Note
This parameter can also be configured via system parameters, see System
Parameters, Topic Motion and Type SG Process, Technical reference
manual - System parameters.
In this case this parameter has to be removed, see How to change the Spot data
types on page 255.
deflection_time
(deflection time)
Data type: num
The time for the gun to build up the gun force [s]. This data is used for the deflection
compensation. If no data information exists, use the default value (0.1 s).
Note
This parameter can also be configured via system parameters, see System
Parameters, Topic Motion and Type SG Process, Technical reference
manual - System parameters.
In this case this parameter has to be removed, see How to change the Spot data
types on page 255.
Default structure
For servo guns if Spot Servo is installed:
<dataobject of gundata>
<gun_name of num>
<weld_counter of num>
<max_nof_welds of num>
<curr_tip_wear of num>
<max_tip_wear of num>
For servo guns if Spot Servo Equalizing is installed:
<dataobject of gundata>
<gun_name of num>
<weld_counter of num>
<max_nof_welds of num>
<curr_tip_wear of num>
<max_tip_wear of num>
<curr_wear_fix of num>
<wear_moveable of num>
<release_dist of num>
<deflection_dist_z of num>
<deflection_dist_x of num>
<deflection_force of num>
<deflection_time of num>
For pneumatic guns:
<dataobject of gundata>
<gun_name of num>
<weld_counter of num>
<max_nof_welds of num>
Predefined data
For servo guns if Spot Servo is installed:
PERS gundata curr_gundata{4} :=
[["SGUN_1", 0, 1000, 0, 10],
["NOT USED", 0, 1000, 0, 10],
["NOT USED", 0, 1000, 0, 10],
Note
The size of the gundata array may depend on the selected spot configuration,
for a single gun configuration the size of the array will be only one instance.
Customizing
The Spot package provides opportunities for the user to customize the functionality
to adapt to different types of spot weld equipment and user defined standards. For
this data type it is possible to delete components if they are not used. It is also
possible to give the components own user defined names.
However, the main subject of this description is the default setup.
See Customizing RobotWare-Spot on page 247.
Related information
Described in:
SpotL/SpotJ SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
Overview Spot options Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
Definition of spot data, spotdata Technical reference manual - RAPID Instruc-
tions, Functions and Data types
System module SWUSER SWUSER on page 158
Description
Spotdata is used to define the parameters that control the weld equipment when
welding a certain spot.
Spotdata is used by the SpotL/J and SpotML/J instructions and contains data
which controls the welding of one spot.
Spotdata has the following default structure when servo guns are used:
• Program number for the program in the weld timer to be used.
• Desired gun tip force.
• Expected total plate thickness.
Only valid for servo guns.
• Allowed variation when checking the plate thickness.
Only valid for servo guns.
Tip
Components
prog_no
(program number)
Data type: dnum
Defines the internal program in the weld timer to be used for the welding. This
data will set an output group signal when a spot instruction is run.
Permitted values: 0 - to the size of the I/O group for the equipment.
Absolute max is the size of dnum, 4294967295 - 32bit.
tip_force
(gun tip force)
Data type: num
Defines the desired gun tip force. [Default - Newton], unit type can be changed via
configuration, see The type Spot System on page 23
Permitted values: -1, to the defined max gun force, see The type Spot Gun
Equipment on page 31
-1 will disable this parameter, and external timer data will be used instead, see
How to use spot data programmed in the weld timer on page 258.
If pneumatic gun is used, this value controls a group output, see The type Spot
Gun Equipment on page 31
plate_thickness
(plate thickness)
Data type: num
Defines the expected total plate thickness. [mm].
Permitted values: -1, to the defined max plate thickness, see The type Spot System
on page 23.
-1 will disable this parameter, and external timer data will be used instead, see
How to use spot data programmed in the weld timer on page 258.
Note
plate_tolerance
(plate tolerance)
Data type: num
Defines the allowed variation when checking the plate thickness [mm]
If the value is 0 the thickness check is deactivated.
Permitted values: -1, to the defined max plate tolerance, see The type Spot System
on page 23.
-1 will disable this parameter, and external timer data will be used instead, see
How to use spot data programmed in the weld timer on page 258.
Note
Predefined data
Servo guns:
PERS spotdata spot1 := [1, 1000, 0, 0];
Pneumatic guns:
PERS spotdata spot1 := [1, 1];
Defined in module SWUSRM.
Spot1 is used as default in the first programmed Spot instruction and has following
default data:
• The program number 1 in the weld controller shall be used.
• Desired gun tip force = 1000 N. (Gun pressure level 1 for pneumatic guns).
• Expected total plate thickness = 0 mm. (Servo guns).
• Allowed variation in the thickness = 0 (thickness check is deactivated) (Servo
guns).
Servo guns:
PERS spotdata
curr_spotdata{4} := [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0 ]];
Pneumatic guns:
PERS spotdata curr_spotdata{4} := [[0,0],[0,0],[0,0],[0,0]];
Defined in module SWUSER.
curr_spotdata is an array with active or latest used spotdata parameters for
each defined gun. This parameters are automatically updated by the kernel when
spot instructions are executed. This spotdata are used for reweld situations and
if welding is manually activated (see Manual actions on page 74)
Customizing
The Spot package provides opportunities for the user to customize the functionality
to adapt to different types of spot weld equipment and user defined standards. For
this data type it is possible to delete components if they are not used. It is also
possible to give the components own user defined names.
However, the main subject of this description is the default setup.
See How to change the Spot data types on page 255.
Default structure
For servo guns:
<dataobject of spotdata>
<prog_no of dnum>
<tip_force of num>
<plate_thickness of num>
<plate_tolerance of num>
For pneumatic guns:
<dataobject of spotdata>
<prog_no of dnum>
<tip_force of num>
Related information
Described in:
SpotL/J SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
Overview Spot options Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
Definition of gun data, gundata gundata - Equipment specific weld data on
page 135
System module SWUSER SWUSER on page 158
Description
Forcedata is used to define the parameters for control of the spot weld gun when
it is closed without welding, e.g. when tip dressing.
Forcedata is used when a SetForce instruction is run, or from certain manual
actions.
It has the following default structure when servo guns are used:
• Desired gun tip force.
• Desired force time.
• Expected total plate thickness. (Only valid for servo guns.)
Allowed variation when checking the plate thickness. (Only valid for servo guns.)
Components
tip_force
(gun tip force)
Data type: num
Defines the desired gun tip force [Default - Newton], unit type can be changed via
configuration, see The type Spot System on page 23
If pneumatic gun is used, this value controls a group output, see The type Spot
Gun Equipment on page 31
force_time
(gun force time)
Data type: num
Defines the desired gun force time [s].
plate_thickness
Data type: num
Defines the expected total plate thickness [mm].
Note
plate_tolerance
(plate tolerance)
Data type: num
Defines the allowed variation when checking the plate thickness [mm].
If the value is 0 the thickness check is deactivated.
Note
\tip_force2
(optional second gun tip force)
Data type: num
Defines the second gun tip force [Default - N]. This data can be used when a second
gun force is required. See SwSetIntForceData - Set the internal forcedata on
page 153.
\force_time2
(optional second gun force time)
Data type: num
Defines the second gun force time [s]. This data can be used when a second force
time is required. See SwSetIntForceData - Set the internal forcedata on page 153
Predefined data
Servo guns:
PERS forcedata force1 := [1000, 1, 0, 0];
Pneumatic guns:
PERS forcedata force1 := [1, 1];
Defined in module SWUSRM.
force1 is used as default in the first programmed SetForce instruction and has
following default data:
• Desired gun tip force = 1000 N.
(Gun pressure 1 for pneumatic gun)
• Desired force time = 1 s.
• Expected total plate thickness = 0 mm.
(Servo gun)
• Allowed variation in the thickness = 0 (thickness check is deactivated)
(Servo gun)
Servo guns:
PERS forcedata curr_forcedata{2} := [[0,0,0,0],[0,0,0,0]];
Pneumatic guns:
PERS forcedata curr_forcedata{2} := [[0,0],[0,0]];
Defined in module SWUSER.
curr_forcedata is an array with active or latest used forcedata parameters for
each defined gun. This parameters are automatically updated by the kernel when
a SetForce instruction is executed. The parameters are used when gun closure
is manually activated, see Manual actions on page 74.
Customizing
The Spot package provides opportunities for the user to customize the functionality
to adapt to different types of spot weld equipment and user defined standards. For
this data type it is possible to delete components if they are not used. It is also
possible to give the components own user defined names.
However, the main subject of this description is the default setup. See Customizing
RobotWare-Spot on page 247.
Default structure
For servo guns:
<dataobject of forcedata>
<tip_force of num>
<force_time of num>
<plate_thickness of num>
<plate_tolerance of num>
For pneumatic guns:
<dataobject of forcedata>
<tip_force of num>
<force_time of num>
Related information
Described in:
SetForce SetForce - Close and Open a gun with de-
sired force and time on page 104
Overview Spot options Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
Definition of spot data, spotdata spotdata - Spot weld data on page 140
System module SWUSER SWUSER on page 158
Description
Simdata is used to define the parameters that control the different simulation
modes used when testing spot weld programs.
Simdata has the following default structure when servo guns are used:
• Desired simulation type.
• Desired simulation time.
• If testing is performed with/without gun closure.
• If testing is performed with/without plates. (Only valid for servo guns).
Components
sim_type
(simulation type)
Data type: num
Desired simulation type. Permitted values:
0 All simulations are deactivated. (Weld mode)
1 Simulation of the weld is performed in the robot controller. (No start signal
to weld controller). Program valid check is done and timer input groups are
checked if configured.
2 Simulation of the weld is performed in the weld controller with no current.
The signal enable_current is reset.
3 Weld position Touch Up mode. Only available if Spot Servo Equalizing is
installed.
sim_time
(simulation time)
Data type: num
Defines the desired simulation time [s] when simulation of the weld is performed
in the robot controller (sim_type = 1).
inhib_close
(inhib close)
Data type: bool
Testing without closing the guns. Only relevant if sim_type = 1 or 2.
no_plates
(no plates)
Data type: bool
Testing without plates. Only relevant if sim_type = 1 or 2. If this mode is set,
the robot and gun will move to the nominal positions. The plate thickness
supervision, SoftMove Equalizing will be disabled to be able to run a cycle without
parts. (Only valid for servo guns).
Predefined data
Servo guns:
PERS simdata data curr_simdata := [0, 0.5, FALSE, FALSE];
Pneumatic guns:
PERS simdata data curr_simdata := [0, 0.5, FALSE];
Defined in module SWUSER.
curr_simdata is holding all active simulation data. This data influences all used
weld equipment when SpotL/J or SpotML/J instructions are executed. The user
has to change this data to activate a simulation mode. All simulations are
deactivated if sim_type = 0 (default).
Customizing
The Spot package provides opportunities for the user to customize the functionality
to adapt to different types of spot weld equipment and user defined standards. For
this data type it is possible to delete components if they are not used. It is also
possible to give the components own user defined names. However, the main
subject of this description is the default setup.
See Customizing RobotWare-Spot on page 247.
Default structure
For servo guns:
<dataobject of simdata>
<sim_type of num>
<sim_time of num>
<inhib_close of bool>
<no_plates of bool>
For pneumatic guns:
<dataobject of simdata>
<sim_type of num>
<sim_time of num>
<inhib_close of bool>
Related information
Described in:
SpotL SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
SpotML SpotML/SpotMJ - Spot welding with multiple
guns on page 100
Overview Spot & Spot Servo Introduction to RobotWare Spot on page 15
Customizing possibilities Customizing RobotWare-Spot on page 247
System module SWUSER SWUSER on page 158
Description
smeqdata is used to define the parameters used to control the SoftMove function
that can be used when welding a certain spot. This data has to be used by the
SpotL/J instructions if SoftMove equalizing is required.
smeqdata has the following structure:
• Desired smeq_type of the robot for the specific position.
• Desired force_offset friction compensation for the specific position.
Components
smeq_type
(SoftMove type of the robot)
Data type: smeqtype (alias num)
Defines what SoftMove type that shall be used in the specific position, there are 2
types possible, no gun deflection mode(0), standard mode(1).
0 - No gun deflection mode: During the final robot movement to the position and
closing of the gun the robot will be set into soft state using the specified
force_offset value during the complete weld cycle.
1 - Standard mode: During the final robot movement to the position and closing
of the gun the robot will be set into soft state using the specified force_offset
value, during the weld cycle the robot will be stiff and gun arm deflection will be
used.
force_offset
(friction compensation)
Data type: num
Defines the desired force in Newton, corresponding to the static friction of the robot
in the soft z direction and the force needed to achieve a small movement to the
plate. This value must be set for each position the first time the program is executed.
If the force value is too low it will be difficult for the robot to reach the position, and
if the force value is too high the robot may damage the plate. Possible values for
this parameter are in between 0.1 and 2000 N. The friction compensation needed
will be measured for each SpotL/J instruction if the initial value is zero, see Friction
compensation procedure on page 191.
Note
The force_offset should be seen as friction force and force applied to the
plates.
Example: 100N is identified in the friction compensation procedure.
To be sure that robot will move to the plate the force_offset can be set to
130N. If the friction is constant during the movement it will be 30N applied on
the plate.
Example
Program example with and without SoftMove Equalizing functionality:
PERS smeqdata smeq10:=[1,150];
PERS smeqdata smeq11:=[1,170];
PROC main()
MoveJ P10, v1000, z50, tool1;
SpotL P20, vmax, gun1, spot11, tool1;
SpotL P30, vmax, gun1, spot12 \SMEQ:=smeq10, tool1;
SpotL P40, vmax, gun1, spot13 \SMEQ:=smeq11, tool1;
SpotL P50, vmax, gun1, spot14, tool1;
ENDPROC
Default structure
<dataobject of smeqdata>
<smeq_type of smeqtype>
<force_offset of num>
Related information
Described in:
SpotL/J SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
SoftMove Equalizing SoftMove Equalizing on page 185
SoftMove Application manual - SoftMove
Description
SwGetCurrTargetName can be used in the user routines to retrieve the current
robtarget name for each spot instruction.
Example
A basic example of the function SwGetCurrTargetName used in the SwPrepare
hook is illustrated below.
PROC main()
SpotL p100, vmax, gun1, spot10, tool1;
ENDPROC
PROC SwPrepare(num GunNum, string ErrText)
VAR string tmp_str;
tmp_str := SwGetCurrTargetName();
TPWrite "Current robtarget name - "+tmp_str;
ENDPROC
1 The robot executes a SpotL instruction to the position p100.
2 In the SwPrepare user hook the function SwGetCurrTargetName is called.
3 The TPWrite instruction will write "p100" on the FlexPendant.
Return value
Data type: string
If a spot instruction has been executed prior to this, the robtarget name will be
returned, otherwise an empty string will be returned.
Syntax
SwGetCurrTargetName '(' ')'
A function with a return value of the data type string.
Description
SwGetCurrSpotName can be used in the user routines to retrieve the current
spotdata name for each spot instruction.
Example
A basic example of the function SwGetCurrSpotName used in the SwPrepare
hook is illustrated below.
PROC main()
SpotL p100, vmax, gun1, spot10, tool1;
ENDPROC
PROC SwPrepare(num GunNum, string ErrText)
VAR string tmp_str;
tmp_str := SwGetCurrSpotName();
TPWrite "Current spotdata name - "+tmp_str;
ENDPROC
1 The robot executes a SpotL instruction to the position p100.
2 In the SwPrepare user hook the function SwGetCurrSpotName are called.
3 The TPWrite instruction will write "spot10" on the FlexPendant.
Return value
Data type: string
If a spot instruction has been executed prior to this, the spotdata name will be
returned, otherwise an empty string will be returned.
Syntax
SwGetCurrSpotName '(' ')'
A function with a return value of the data type string.
Description
The SwSetIntSpotData routine is used to transfer user spotdata components
to internally used spotdata components.
Example
An example of the function SwSetIntSpotData used in the DefineSpotData
routine is illustrated below.
PROC DefineSpotData(spotdata Spot, num GunNum)
SwSetIntSpotData GunNum \ProgNo:=Spot.prog_no
\TipForce:=Spot.tip_force;
ENDPROC
1 The robot executes a SpotL instruction and calls the SwSetIntSpotData
routine.
2 The internally used spotdata parameters are updated and used during the
process.
Syntax
[ GunNum ':=' ] < expression (IN) of num >
[ '\' ProgNo ':=' ] < expression (IN) of dnum >
[ '\' TipForce ':='] < expression (IN) of num > ]
[ '\' PlateThickness ':='] < expression (IN) of num > ]
[ '\' PlateTolerance ':=' ] < expression (IN) of num > ]';'
Description
The SwSetIntForceData routine is used to transfer user forcedata components
to internally used forcedata components.
Example
An example of the function SwSetIntForceData used in the DefineForceData
routine is illustrated below.
PROC DefineForceData(forcedata Force, num GunNum)
SwSetIntForceData GunNum \TipForce:=Force.tip_force
\ForceTime:=Force.force_time
\PlateThickness:=Force.plate_thickness
\PlateTolerance:=Force.plate_tolerance;
ENDPROC
Example of the function SwSetIntForceData routine with optional force data
parameters is illustrated below.
PROC DefineForceData(forcedata Force, num GunNum)
SwSetIntForceData GunNum \TipForce:=Force.tip_force
\ForceTime:=Force.force_time
\PlateThickness:=Force.plate_thickness
\PlateTolerance:=Force.plate_tolerance
\TipForce2:=Force.tip_force2
\ForceTime2:=Force.force_time2;
ENDPROC
1 The robot executes a SetForce instruction and calls the
SwSetIntForceData routine.
2 The internally used forcedata parameters are updated and used during
the process.
Syntax
[ GunNum ':=' ] < expression (IN) of num >
[ '\' TipForce ':='] < expression (IN) of num > ]
[ '\' ForceTime ':=' ] < expression (IN) of num > ]
[ '\' PlateThickness ':='] < expression (IN) of num > ]
[ '\' PlateTolerance ':=' ] < expression (IN) of num > ]
[ '\' TipForce2 ':='] < expression (IN) of num > ]
[ '\' ForceTime2 ':=' ] < expression (IN) of num > ]';'
Description
The SwSetIntGunData routine is used to transfer user gundata components to
internally used gundata components.
Example
An example of the function SwSetIntGunData used in the DefineGunData routine
is illustrated below.
PROC DefineGunData()
SwSetIntGunData GunNum \GunName:=curr_gundata{GunNum}.gun_name
\TotalTipWear:=curr_gundata{GunNum}.curr_tip_wear;
ENDPROC
1 The robot executes a SpotL instruction and calls the SwSetIntGunData
routine.
2 The internally used gundata parameters are updated and used during the
process.
Syntax
[ GunNum ':=' ] < expression (IN) of num >
[ '\' GunName ':=' ] < expression (IN) of string >
[ '\' CurrWearFix ':='] < expression (IN) of num > ]
[ '\' CurrWearMov ':='] < expression (IN) of num > ]
[ '\' TotalTipWear ':=' ] < expression (IN) of num > ]
[ '\' MaxTipWear ':=' ] < expression (IN) of num > ]
[ '\' ReleaseDist ':=' ] < expression (IN) of num > ]
[ '\' DeflectionDistZ ':=' ] < expression (IN) of num > ]
[ '\' DeflectionDistX ':=' ] < expression (IN) of num > ]
[ '\' DeflectionForce ':=' ] < expression (IN) of num > ]
[ '\' DeflectionTime ':=' ] < expression (IN) of num > ] ';'
Description
The SwSetIntSimData routine is used to transfer user simdata components to
internally used simdata components.
Example
An example of the function SwSetIntSimData used in the DefineSimData routine
is illustrated below.
PROC DefineSimData()
SwSetIntSimData \SimType:=curr_simdata.sim_type
\SimTime:=curr_simdata.sim_time
\InhibGunClose:=curr_simdata.inhib_close;
ENDPROC
1 The robot executes a SpotL instruction and calls the SwSetIntSimData
routine.
2 The internally used simdata parameters are updated and used during the
process.
Syntax
[ '\' SimType ':='] < expression (IN) of num > ]
[ '\' SimTime ':=' ] < expression (IN) of num >
[ '\' InhibGunClose ':='] < expression (IN) of bool > ]
[ '\' PlatesCheck ':=' ] < expression (IN) of bool > ]';'
4.3.7 SwGetCalibData - Get the latest total tip wear and position adjustment
Description
SwGetCalibData can be used to retrieve the current total tip wear and positional
adjustment for the specified gun after a CalibL/J or Calibrate instruction has
been run.
Example
A basic example of the routine SwGetCalibData is illustrated below.
PROC MyProc()
VAR num curr_tip_wear;
VAR num curr_pos_adj;
CalibL p10, vmax, gun1\TipChg, z50, tool1;
SwGetCalibData \CurrTipWear:=curr_tip_wear
\CurrPosAdj:=curr_pos_adj;
ENDPROC
• The robot executes a CalibL instruction to the position p10.
• The instruction SwGetCalibData are called.
• The curr_tip_wear and curr_pos_adj variables are assigned with the
return values from the CalibL instruction.
Syntax
[ GunNum ':=' ] < expression (IN) of num > ]
[ '\' CurrTipWear ':='] < expression (INOUT) of num > ]
[ '\' CurrPosAdj ':=' ] < expression (INOUT) of num > ]';'
4.3.8 SwGetFixTipData - Get the latest fixed tip wear and position adjustment
Description
SwGetFixTipData can be used to retrieve the current fixed tip wear and positional
adjustment for the specified gun after a MeasureWearL or ReCalcTCP instruction
has been run..
Example
A basic example of the routine SwGetFixTipData is illustrated below.
PROC MyProc()
VAR num curr_tip_wear;
VAR num curr_pos_adj;
ReCalcTCP gun1\TipWear, tool1;
SwGetFixTipData \CurrTipWear:=curr_tip_wear
\CurrPosAdj:=curr_pos_adj;
ENDPROC
• The robot executes a ReCalTCP instruction.
• The instruction SwGetFixTipData is called.
• The curr_tip_wear and curr_pos_adj variables are assigned with the
return values from the ReCalTCP instruction.
Syntax
[ GunNum ':=' ] < expression (IN) of num > ]
[ '\' CurrTipWear ':='] < expression (INOUT) of num > ]
[ '\' CurrPosAdj ':=' ] < expression (INOUT) of num > ]';'
4.4.1 SWUSER
Description
The SWUSER user module is configured to run in all tasks in the system, and
contains the spot data definitions, and routines that can be used to shape the
behavior of the process, e.g add additional supervisions in the process sequence
if needed.
In normal cases there is no need to change this module. he default functionality
should be good enough in most cases. But if the default data types has to be
modified and/or additional logic has to be added in the process sequence this
module needs to be changed.
It contains process routines (hooks) (for example SwPreWeld and SwPostWeld),
and it also contains a supervision task routine where custom
functionality/supervision can be added if needed.
The process routines has no default functionality, but can easily be changed to fit
different environment/equipment in case the default process behavior is not suitable,
for example, add supervision in the process sequence.
Note
Note
After changing any routines in SWUSER, the following steps must be taken
before there is an effect on the application:
• Save SWUSER. The old one is overwritten.
• Generate a Reset Rapid restart to affect all tasks.
Data definitions
The following global data records are predefined.
Record data Description Default value
forcedata Definition of force data num tip_force;
num force_time;
num plate_thickness;
num plate_tolerance;
simdata Definition of simulation data num sim_type;
num sim_time;
bool inhib_close;
bool no_plates;
Note
Some of the parameters in gundata only concerns servo guns and Software
Equalizing and depends on the selected configuration.
Data
The names are predefined and used internally when Spot instructions are used.
They must therefore not be deleted or renamed.
Global data
The following global data are predefined:
Name Declaration Description
curr_gundata{4} PERS gundata Current gun specific data for gun equipment
1 to 4.
curr_spotdata{4} PERS spotdata Current or latest used spot data for gun
equipment 1 to 4. Is automatically updated
from the instruction before the first process
hook is called. This data is used when the
manual action ManualSpot is activated.
curr_forcedata{4} PERS forcedata Current or latest used forcedata for gun
equipment 1 to 4. Is automatically updated
when the SetForce instruction are run. Is
also used when manual actions are activated
(ManualGunControl and
(ManualSetForce.
curr_simdata PERS simdata Current parameters for simulation. These
parameters have influence on all used
equipment.
tw_ref_dist{4, 2} PERS num Distance to the reference surface for the ref-
erence fixed tip. See Tip measurement se-
quence on page 181.
(This only concerns Spot servo equalizing)
Process hooks
The following predefined routines are installed with the application. They are called
from the kernel during the process. These routines has no default functionality but
can easily be modified to fit specific equipment's.
Parameters description for the process hooks:
• num GunNum: Gun equipment number.
• INOUT ErrText: Error message. If an error text is returned in this parameter
it will generate an error dialog with possibilities for the operator to decide
what to do. If ErrText = "Retry" is returned from some of the hooks then no
interaction with the operator will be performed. The process is restarted from
the beginning.
Note
Note
PROC SwErrorRecover(num GunNum, string ErrType, string ErrText, \num CurrThickness INOUT num
Status)
This routine will be called instead of the built-in error handling from the motion
task if the process configuration data User defined error handling is set to
Yes. When using this routine it is possible to customize the error dialogs on the
FlexPendant when an error has occurred. No means that standard built-in error
recovery is used. See Spot Error Handling dataThe type Spot Error Handling on
page 25.
Parameter Description
GunNum Current gun number
Parameter Description
ErrType Type of error that occurred. Possible cases
are:
• SW_PREPARE_ERR: prepare error.
Error reported in the prepare sequence
or by the SwPrepare routine.
• SW_CLOSE_GUN_ERR: close gun
error. Error reported in the close gun
sequence or by the SwCloseGun
routine.
• SW_PRE_WELD_ERR: preweld super-
vision error. Error reported in the
preweld sequence or by the
SwPreWeld routine.
• SW_WELD_ERR: weld error timeout.
• SW_WELD_TEST_ERR: weld test error
timeout. Error if test weld error in the
CalibL or CalibJ instructions.
• SW_OPEN_GUN_ERR: open gun er-
ror. Error reported in the open gun
sequence or by the SwOpenGun
routine.
• SW_POST_WELD_ERR: postweld su-
pervision error. Error reported in the
post weld sequence or by the
SwPostWeld routine.
• SW_TIP_POS_ERR: tip position error.
Only for servo guns.
• SW_PROG_VALID_ERR: program
valid timeout.
• SW_WATER_SUP_ERR: water flow
timeout. Water flow error reported by
the SW_SUP task if the continuous wa-
ter supervision is activated. See The
type Spot Media Equipment on
page 37
• SW_MEAS_TIP_CHANGE_ERR: Tip
change supervision error in the
MeasureWearL instruction.
• SW_MEAS_TIP_WEAR_ERR: Tip wear
supervision error in the
MeasureWearL instruction.
• SW_RECAL_TIP_WEAR_ERR: Tip
wear supervision error in the
ReCalcTCP instruction.
Note
The return values of this function defines how the Spot options shall resume after
this error. There are three possible return values:
Return value Description
SW_RETRY The weld process is started from the begin-
ning after weld error and after errors reported
by:
• SwPrepare
• SwCloseGun
• SwPreWeld
SW_SKIP The current spot weld process is abandoned
and cleaned up.
SW_IGNORE The current tip position error is ignored and
the weld is executed again without plate
thickness supervision. (Only for servo guns.)
Note
PROC SupervisionInit()
There is no default functionality.
Related information
Described in:
Customizing possibilities Customizing RobotWare-Spot on page 247
4.4.2 SWUSRM
Description
The SWUSRM user module is configured to run in all motion tasks in the system,
and contains some default Spot related data. It also contains routines for data
transfer (for example DefineSpotData, used to copy user defined spotdata to
internally used spotdata.
In normal cases there is no need to change this module. The default functionality
should be good enough in most cases. But if the default data types are changed
there may be a need to modify this module also.
Note
Note
After changing any routines in SWUSRM, the following steps must be taken
before there is an affect on the application:
• Save SWUSRM. The old one is overwritten.
• Generate a Reset Rapid restart to affect all tasks
Note
If data is moved from this module the Spot MMI application might not work
properly!
Default data
The following default data are predefined.
Name Description Default value
gun1, 4 Gun number used in the spot 1 to 4
instruction, gun index number
in curr_gundata.
spot1 Default spotdata when pro- prog_no - 1
gramming the spot instruc- tip_force - 1000 N
tions on the FlexPendant.
plate_thickness 0 mm
plate_tolerance - 0 mm
Tip
Note
The optional \UserGunData parameter will be used if the optional \GunD argument
is used in the spot instructions. See SpotL/SpotJ - The basic spot welding
instructions on page 95
IF Present (UserGunData) THEN
curr_gundata{GunNum} := UserGunData;
ENDIF
Note
The optional \UserGunData parameter will be used if the optional \GunD argument
is used in the spot instructions. See SpotL/SpotJ - The basic spot welding
instructions on page 95
IF Present (UserGunData) THEN
UserGunData := curr_gundata{GunNum};
ENDIF
These routines have a default functionality but can easily be changed. The routines
cannot be deleted since they are called from internal modules.
PROC DefineGunData()
This routine is executed in the beginning of all Spot shell routines, SwStart or
SwReStart. Transfer user gun data to internal gun data, that is curr_gundata.
See SwSetIntGunData - Set the internal gundata on page 154.
PROC DefineSimData()
This routine is executed in the beginning of all Spot shell routines. Transfer user
simdata to internal simdata, that is curr_simdata. See SwSetIntSimData - Set
the internal simdata on page 155.
PROC UpdateCalibData(num TotalTipWear, num WearMoveable, num GunNum \switch ToolChg | switch
TipChg | switch TipWear | switch FineCalib)
This routine updates the current tipwear parameters in curr_gundata. It is
executed at the end of each CalibL/J and Calibrate instruction.
Note
Note
Event routines
The following predefined event routines are installed with the application. These
routines have no default functionality but can easily be changed. If not needed
they can be removed.
PROC SwPowerOn()
This routine is called when the robot is restarted (warm started) or by power on.
There is no default functionality.
PROC SwStart()
This routine is called when execution is started from the beginning of the program.
There is no default functionality.
PROC SwReStart()
This routine is called when execution is started from the position where it was
stopped.
There is no default functionality.
PROC SwStop()
This routine is called when the program is stopped.
There is no default functionality.
PROC SwQStop()
This routine is called when the robot is quick stopped (E-stop).
There is no default functionality.
4.4.3
5 Software Equalizing
5.1 Introduction to Software Equalizing
Introduction
This chapter describes the Software Equalizing functions. These functions makes
it possible to use spot welding guns without mechanical equalizing systems. The
functions are available if the option Spot Servo Equalizing is installed.
Available functions
The Software Equalizing functions are a number of functions intended to handle
these issues for the user. However, it is not always necessary to use all functions.
It depends on desired accuracy, sheet stiffness, gun properties as type, size and
stiffness and so on.
The following Equalizing functions are available:
• Weld position Touch Up.
• Release of the fixed gun arm.
• Gun arm Deflection Compensation.
• Tip Wear Measurement and Compensation.
• SoftMove Equalizing
It is possible to use guns with mechanical equalizing and guns using Software
Equalizing in the same user program. The equalizing type is determined in the
process data Use SoftWare equalizing located in Spot Gun Equipment.
For more information, see gundata - Equipment specific weld data on page 135.
Recommendations
When guns without mechanical equalizing systems are used it is very important
to have good accuracy when the TCP is defined and when the weld positions are
taught.
It is also important to handle the tip wear and recalculate the TCP regularly and
also to release the fixed gun arm from the sheet when the gun is moved between
weld positions. For most guns it is also necessary to handle the gun arm deflection
during the weld.
Note
When using Software equalizing it is important to have good control of the part
tolerances and the tip wear of the electrodes. This functionality can only tolerate
variations up to approximately 1-2 mm.
Note
When using SoftMove equalizing functionality the tolerances can be a bit bigger
than with Software equalizing only, up to 4-5 mm.
Limitations
• The functions Gun Arm Release and Deflection Compensation are only
availible when SpotL/SpotJ instructions are used, not for the SpotML/SpotMJ
instructions.
• The gun pre closing time is not used when software equalizing is active. In
this case the pre closing is handled automatically during the movement from
the release distance to the weld position.
• For some special configurations an acceptable touch up position can be hard
to reach with the MeasureWearL instruction. If that is the case, ReCalcTcp
instruction can be used as an alternative method.
• It is not possible to run SpotL/SpotJ instructions with software equalizing
active if independent mode is activated.
• It is only possible to run spot instructions in semi coordinated mode.
• When using only gun arm deflection compensation it is important to have
good control of the tolerances of the parts, and the wear of the electrodes.
This functionality can only tolerate variations up to approximately 1-2 mm.
(If the tolerances of the parts are inferior, then the Soft Move Equalizing
method can be used at the locations where it is needed.)
Note
Software Equalizing does not work for the SpotML and SpotMJ instructions.
en1200000236
en1200000235
Note
It is very important to define the z-direction correctly in the tool coordinate system
since all automatically search movements and compensations will be done in
the z-direction.
en1200000234
The weld position should be teached in the position where the fixed electrode is
touching the sheet during the weld process. See the graphic above.
Note
Introduction
This is a support function used in manual mode to get a faster and easier way to
adjust the programmed weld positions. During the touch up it is possible to change
the fixed gun tip in the z-direction and it is also possible to change the position for
the movable gun arm.
Normally a touch up has to be done at least once in the beginning after manual or
offline programming of the weld positions.
en1200000232
This release movement can be skipped to save cycle time if the optional
switch \QuickRelease is selected in the SpotL or SpotJ instruction.
See gundata - Equipment specific weld data on page 135 and SpotL/SpotJ -
The basic spot welding instructions on page 95.
8 When all weld positions are checked, set simtype = 0 to disconnect the
Touch Up mode.
See gundata - Equipment specific weld data on page 135.
Description
This function is used to get an automatic release of the fixed gun arm from the
sheet, when the gun is moved between the weld positions during normal program
execution.
en1200000231
Note
Note
To get a good synchronization between the release movement and the gun
opening when software equalizing is used, the gun is always held in the closed
state 40 ms extra after weld complete. To save cycle time, the programmed cool
time after weld in the weld controller can be reduced this amount of time (2
periods).
Gun opening
The gun opening gap must be large enough that the tips are free from the plates
when welding.
So therefore, the software will compensate for the release distance that is used,
and the plate thickness, as the opening position is the same as the tips closed with
plates + release_dist.
Example:
If release_dist is 10mm, the moving tip will open to 10mm even if you modify the
position with the gun closed on the plate surface.
A simple recommendation is to have approximately the same distance from the
plate to the movable electrode as the release_dist that has been configured.
For more information about the release_dist parameter, see Additional components
for Spot Servo Equalizing on page 136.
Introduction
Most weld guns deflects more or less depending on the stiffness of the gun arms
when the gun is closed with force. In these cases there is a need to compensate
for the fixed gun arm bending with an extra robot movement to minimize the risk
of deformation on the sheets. The deflection compensation can be done in the tool
z and x-direction.
With this function the gun arm deflection is automatically compensated with an
extra robot movement when the gun is closed and the gun force is applied. See
graphic below.
xx1200000230
A Sheets
B Robot flange
C Gun arm deflection
D Robot compensation movement
The graphic shows gun arm deflection in both z and x-directions, and robot
compensation movement in the opposite directions. If the gun bends outwards
(positive x), the robot will move in the opposite direction.
en1200000229
Data
Data for the correlation between the gun force and the arm deflection is user defined
data, predefined for each used gun: deflection_dist_z, deflection_dist_x,
deflection_force and deflection_time, see gundata - Equipment specific
weld data on page 135. This data is normally found in the data sheet for the used
gun.
Then, during program execution of SpotL/J instructions, there is an added robot
movement, activated at the same time as the gun force is established, to
compensate for the gun arm deflection, see graphics above.
The actual gun arm deflection is calculated from the force value (tip_force) in
current spotdata. Deflection calculation in SpotL/SpotJ instruction.
deflection := spotdata.tip_force * gundata.deflection_dist /
gundata.deflection_force;
A movement in the opposite direction is performed after the weld, when the gun
is opened. This movement is combined with the release movement.
This function is disabled if the deflection distance parameters are set to zero, or
if the Spot Gun Equipment, Use SoftWare equalizing setup data is not
activated.
Tip
Introduction
When guns without mechanical equalizing systems are used, it is important to
handle the tip wear, especially the tip wear on the fixed tip, since this tip is
controlling the weld position. Therefore the tip wear has to be regularly compensated
during production. There are two methods available for the compensation.
Method 1
MeasureWearL, the tip wear for the fixed tip is measured and the tip wear is then
compensated in current used tooldata.
Method 2
ReCalcTcp, the tip wear of the fixed tip is calculated based on stored information
about the total tip wear and the expected relation between the tip wear of the fixed
tip and the total tip wear. The tip wear is then compensated in current used
tooldata. This method can be used as an alternative if method 1 is not suitable.
en1200000228
gun tip is calculated. Currently used TCP value is automatically recalculated and
tip wear data for the fixed tip in gundata is automatically updated.
Note
This movement of 10mm has to take care of the wear of the tips that could be
for example 20mm, it means that the total gun opening should take care of the
10mm position, the plate thickness and the total wear of the tips.
When using this method the gun calibration instructions (Calibrate or CalibL/J)
has to be executed after MeasureWearL since the moveable tip wear will be
calculated based on the result of the measurement.
The reference plate can be mounted in an optional position in the work range,
preferably on the tip dresser stand. But it is necessary to orient the tool in the
measuring position in that way that an additional torque is generated on at least
one of the robot motors when the robot is touching the fixed plate, preferably axis
4 to 6.
It is possible to verify if the selected measuring position or gun orientation is good
enough by using a service routine; ManualCheckMeasPos. Just run the service
routine when the robot is in the selected position and you will get status information
on the display.
CurrTipWear RetPosAdj
Calib* ... \TipWear 0 Difference to the last calibration of the gun.
Normally last call with \TipWear. Total differ-
ence between the new and the old (worn)
tips.
Calib* ... \TipChg Total wear of both tips Difference to the last calibration of the gun.
Calib* ... \ToolChg Total wear of both tips Difference to the last calibration of the gun.
MeasureWearL .. 0 Difference between the actual and the tip
\TipChg used for the reference measurement.
MeasureWearL .. 0 Measured reference distance.
\Reference
See MeasureWearL - Measure current electrode wear and recalculate the TCP on
page 118.
Note
For some special configurations the MeasureWearL is less suitable, for example
very large guns and/or when an acceptable touch up position is not possible to
reach for some reason. Then the ReCalcTcp method should be used instead.
For more information about how to define the stationary tool coordinate system,
see Operating manual - IRC5 with FlexPendant.
en1200000227
All Software Equalizing functions are working in a similar way as when the robot
is holding the gun. But the tip wear measurement has to be arranged a little different,
since it is not possible to use a fix reference plate in this case. To be able to use
the same principles for the measurement and the MeasureWearL instruction, it
has to be done as described in following items:
en1200000226
• Select or create a relatively stable position on the robot held gripper. It shall
be possible for the robot to move this point to the fixed gun tip. see an
example in the figure above.
• As in the normal case, code sequences with the measuring instructions
included have to be prepared in the user program to be used for the reference
measurement and for the tip wear measurement.
• We recommend programming the gun calibration instructions in the same
code sequences, directly after the tip wear measurement. See Calibrate -
Calibrate a servo gun on page 114 and CalibL/CalibJ - Calibrate a servo gun
during robot movement on page 108.
Introduction
This section describes the SoftMove Equalizing method which can be used as a
complement to the standard software equalizing method if there is a need to
compensate for programming errors, for example if the plates are not located in
the nominal position.
When a spot instruction with SoftMove activated is run, the robot will move to the
programmed and nominal position, and set the robot into soft state using SoftMove
in the tool z-direction during the last part of the movement into the position.
This method can be used together with the standard software equalizing
functionality, that is, gun arm deflection compensation.
Prerequisites
SoftMove Equalizing is available for the SpotL and SpotJ instructions, and it is
only available if the RobotWare options Spot Servo Equalizing (635-6) and SoftMove
(885-1) are installed together.
Recommendations
When using SoftMove Equalizing it is important that the tool data (tooldata) is
defined correctly, especially the mass. Errors in the load definition will be interpreted
as external forces, which in turn can cause the robot to move. Hence, an incorrect
definition can cause unwanted robot movements.
Some general tips when using SoftMove Equalizing:
• Verify that the load definition of the tool is correct.
• Avoid singular robot orientations.
• The robot axis configuration will affect the softmove performance, there are
configurations where performance can be poor.
• A gun configuration that allows axis 5 movement gives better performance
in general (Avoid gun configurations when z-axis of the gun is in linearity
with axis 6 of the robot).
• The clamping distances cannot be too far apart, as there must be some
resistance for the robot to react on.
Note
When using SoftMove equalizing functionality the part tolerances can be higher
than with Software equalizing only, up to 4-5 mm.
For more information about SoftMove, see Application manual - SoftMove.
Limitations
The following limitations apply when using SoftMove Equalizing:
• The same limitations as for Software Equalizing also applies for SoftMove
equalizing.
Note
Note
For safety reasons the position supervision limits in x, y, and z directions has
been limited. These values can be changed in the motion parameter configuration
if needed, for example type Motion type CSS and Max pos error in z. Default
configuration is x = 10 mm, y = 10 mm, and z = 10 mm.
Note
SoftMove Equalizing is only implemented for the SpotL and SpotJ instructions
and does not work for the SpotML and SpotMJ instructions.
Note
This function allows the tolerances of the parts to vary a bit more compared to
using only standard software equalizing, but it should be noted that the cycle
time will be longer than without, 200-700 ms per spot depending on the current
settings and the actual plate position.
WARNING
When using SoftMove Equalizing it is very important that the load definition of
the tool is defined correctly.
Function overview
SoftMove equalizing is activated by selecting an optional switch in the SpotL and
SpotJ instructions, see SpotL/SpotJ - The basic spot welding instructions on
page 95.
When a spot instruction with SoftMove activated is run, the robot will move to the
programmed and nominal position, but during the last part of the movement into
the position the robot will be set into soft state in the tool z-direction. When the
gun has closed, the soft mode will be deactivated if SoftMove type is set to 1, and
the deflection compensation will be activated as normal during the welding process
if configured. If SoftMove type is set to 0, SoftMove will be activated during the
compete weld cycle and no gun deflection compensation will be performed, see
smeqdata - SoftMove Equalizing data on page 148.
The SoftMove equalizing method can be more forgiving regarding programming
errors than only using the standard software equalizing method. For example, if
the plates are not located exactly in the nominal position but some millimeters
away, up to 4-5 mm.
Note
Programming
An optional parameter must be activated in the spot instructions to be able to use
the SoftMove Equalizing functionality (\SMEQ). The parameter is an on/off switch
for the SoftMove functionality, that is, if the parameter is not used, then the normal
software equalizing functionality will be used for that position, see programming
example below.
The optional parameter \SMEQ of type smeqdata has data components for
SoftMove, specific for each position. smeqdata has the following structure:
• Desired smeq_type (SoftMove type) used in the specific position.
• Measured force_offset (friction compensation and force applied on the
plates) for the specific position.
The parameter smeq_type defines what SoftMove type that shall be used in the
specific position. There are 2 types; no gun deflection mode (0) and standard mode
(1).
The parameter force_offset is needed to compensate for the robot's static
friction in a specific position and to achieve a small movement to the plates. The
value must be set for each position for the first time the program is executed, see
Friction compensation procedure on page 191.
Note
The force_offset should be seen as friction force and force applied to the
plates.
Example: 100N is identified in the friction compensation procedure.
To be sure that robot will move to the plate the force_offset can be set to
130N. If the friction is constant during the movement it will be 30N applied on
the plate.
Note
It may be possible to use the same force_offset value for several positions.
For more information about this data type, see smeqdata - SoftMove Equalizing
data on page 148.
Example
This program example uses SpotL instructions with and without SoftMove
Equalizing functionality. Instructions at targets P20 and P40 will be executed with
only software equalizing activated while instruction at P30 is executed with SoftMove
Equalizing because of tolerance issues in that position.
PERS smeqdata smeq1:=[1,150]
PROC main()
MoveJ P10, v1000, z50, tool1;
SpotL P20, vmax, gun1, spot11, tool1;
SpotL P30, vmax, gun1, spot12\SMEQ:=smeq1, tool1;
SpotL P40, vmax, gun1, spot14, tool1;
ENDPROC
Execution
No gun deflection mode (SoftMove type 0)
When a spot instruction is executed with the \SMEQ data set, the robot will move
to the programmed and nominal position, at the same time as the gun starts to
close. During the movement and closing of the gun the robot will be set into soft
state with the specified force offset activated, according to the used data to
overcome the friction of the robot.
When the gun has closed the position is considered to be "found" and the weld
will be performed from that new position. After the weld process is completed the
gun will start to open and SoftMove will be deactivated, see figure below.
Note
en1200000225
Note
This method is a bit slower compared to the no gun deflection mode because
the process waits for the gun closing before the process is started and performs
arm deflection compensation during the weld. This method is suitable for guns
with relatively big arm deflection values.
en1200000225
en1200000223
en1200000222
Redo Returns to the previous screen with the possibility to tune the force offset needed
again.
OK Updates the current smeqdata with the measured value.
Note
The force_offset should be seen as friction force and force applied to the
plates.
Example: 100N is identified in the friction compensation procedure.
To be sure that robot will move to the plate the force_offset can be set to
130N. If the friction is constant during the movement it will be 30N applied on
the plate.
Note
Note
When tuning the friction compensation in a certain position the value is usually
good enough, but the acheived value may need to be manually tuned to get
better performance. If the measured value is higher than ~300 N there may also
be a need to manually modify the measured value.
Note
Related information
Described in
Manual actions Manual actions on page 74
Process configuration Spot process configuration on page 21
MeasureWearL MeasureWearL - Measure current electrode
wear and recalculate the TCP on page 118
ReCalcTcp ReCalcTCP - Calculate current electrode
wear and recalculate the TCP on page 126
Customizing Customizing RobotWare-Spot on page 247
SpotL/SpotJ SpotL/SpotJ - The basic spot welding instruc-
tions on page 95
SoftMove Equalizing data smeqdata - SoftMove Equalizing data on
page 148
SoftMove Application manual - SoftMove
Additional axes
The robot controller has functionality to control additional axes configured as servo
guns (other types of supported additional axes are track motion, positioners,
conveyors etc.). All servo guns are handled as separate mechanical units. This
means that before a servo gun may be moved, the mechanical unit to which it
belongs must be activated. Several servo guns may be active at the same time.
Hardware overview
Servo gun axes are controlled by the drive module. Internal drive units are mounted
inside a standard drive module (for example for an IRB 6700 with one servo gun
or for an IRB 6700 with two stationary servo guns).
References
Introduction
The motion functionality described in this section is common for servo guns and
most other types of additional axes. The description is however adapted for servo
guns.
Jogging
The position of the gun arm can be jogged with the joystick (see Operating
manual - IRC5 with FlexPendant). The distance between the two tips is displayed
in the jogging window, expressed in mm. An out of range supervision will stop the
movement if the gun is reaching max stroke or min stroke. Min stroke is normally
zero or a small negative value (gun tips closed to contact with each other).
• p10.extax.eax_f is the position of the additional axis with logical axis 12.
Logical axis is a system parameter defined for each axis (RobotStudio: Configuration
Editor, Motion, Joint). The robot itself uses logical axes 1-6 and additional axes
use 7-12. The user can change the logical axis number to fit the application. Only
axes with unique logical axis numbers may be activated at the same time.
For a servo gun, the position is defined as the opening distance of the tips in mm.
The value 9E+09 is defined for axes that are not activated.
Introduction
The motion functionality described in this section is only valid for servo gun axes.
Welding
A gun closing is done when performing a weld. The applied force may be taken
from the weld timer or from a RAPID data (spotdata). See spotdata - Spot weld
data on page 140.
During force build up, the thickness of the plates will be measured. The welding
is started when the force is reached but only if the measured plate thickness is
approved. When the weld is ready, the gun is immediately opened to the pre-close
to position.
In the Spot Servo options, the closing, opening, thickness measurement, weld start
and opening is integrated in the SpotL/J and SpotML/MJ instructions. See
SpotL/SpotJ - The basic spot welding instructions on page 95 and SpotML/SpotMJ
- Spot welding with multiple guns on page 100.
Introduction
The tip management functionality will find and calibrate the contact position of the
gun tips automatically. It will also update and monitor the total tip wear of the gun
tips. The total tip wear for each gun is stored in a RAPID data (see gundata -
Equipment specific weld data on page 135). The tips are calibrated with special
RAPID instructions. Typically, two gun closings will be performed during a
calibration. The calibration may be done when the robot is standing still, see
Calibrate - Calibrate a servo gun on page 114, or during a robot movement, see
CalibL/CalibJ - Calibrate a servo gun during robot movement on page 108.
Three different types of calibrations are supported: tip wear, tip change and tool
change. All three will calibrate the contact position of the tips. The total tip wear
will however be updated differently by these methods.
Note
If software equalizing is used there are other methods available for the tip wear
compensation. See Software Equalizing on page 169.
Note
This method must only be used to make small positional adjustments (< 3 mm)
caused by tip wear / tip dressing
The method should always be used after reconnecting a gun since the activation
will restore the latest known position of the gun, and that position may be different
from the actual gun arm position; the gun arm may have been moved when
disconnected. This calibration method will handle big positional adjustments of
the gun.
en1200000249
Tip
If a backup is available, restore the backup instead, then the complete system
will be ready for production after restart.
en1200000585
Action Note
1 Run the service routine ManualForceCalib, Change the max allowed force for the
select 'Setup'. gun, the of number of calibrations and the
sensor thickness to be used during the
calibration.
2 Then select 'Run'. This will perform the calib- Follow the instructions in the routine.
rations.
Action Note
3 Ready.
Note
The first time this routine is run and if working from a servo gun template file, a
default force table with 2 forces based on the entered max force will be created.
Follow the instructions in the routine.
Note
For the force change functionality to work correctly, the gun positions are stored
in the SG_PROCESS table when performing a force calibration, squeeze_pos1
- 10. It is really important for the gun force accuracy and performance that this
procedure is done properly.
It is also very important that the gun forces used during production later on is in
the range of the force calibration table in order to get a acceptable accuracy of
the force. See Multiple gun forces during welding on page 86.
Note
If a gun service / repair has been made, the force calibration should be done
again to ensure the performance is the same as before.
In the Program Editor, Tap Debug and then tap Call Service Routine. This routine
can also be run from the Spot FlexPendant interface.
en1200000585
Action Note
1 Run the service routine ManualForceCalib, Change the force calibration setup data,
select 'Setup'. i.e. the sensor thickness and the max
force to be used during the setup.
WARNING
If using the automatic method the robot will first move to sync position, and then
start move axis 5 in-between 0 and 90° and/or 0 to -90°. Make sure that the robot
can move freely without crashing into objects around it.
Note
The actual force will not be compensated with 100% accuracy, but the deviation
from ordered gun force will be less than without compensation.
In the Program Editor, tap Debug and then tap Call Service Routine. This routine
can also be run from the Spot FlexPendant interface.
en1200000247
2 Run the service routine ManualServiceCalib If the gun is considered to be force calib-
option 2. rated, the gun will move fast to the selec-
Follow the instructions in the routine. ted pre-position and then close slowly
until tip contact is detected, since the zero
position is unknown. Otherwise a warning
dialog will be displayed with a question
whether the gun has been force calibrated
or not. Answering Yes will perform the
service calibration anyway, No will end
the routine.
Note
Note
Note
The first time this routine is run and if working from a servo gun template file, a
default force table with 2 forces based on the entered max force will be created.
Follow the instructions in the routine.
Note
It will not be possible to run any Spot instructions until a gun init calibration has
been done.
WARNING
If the force calibration procedure has not been done properly, the servo gun can
be damaged, please make sure that the servo gun is force calibrated and tuned
and that the force calibration values are correct, see Application manual - Servo
Gun Setup.
en1200000586
Note
The spare gun must have same parameter names as the original gun, otherwise
the installation will just add the new gun, keeping the old gun in parallel. Eg
SGUN_1.
Description
A stationary servo gun is mounted on the floor and the robot is holding the work
piece. The only difference when using a stationary servo gun is that the robot tool
(RAPID tooldata) should be defined as stationary (robhold = false), and the used
work objects as robot held.
Description
It is possible to change servo gun during production. The functionality is realized
as the option Servo Tool Change. There is no software limitation in how to combine
different kinds of servo guns (for example brands, sizes or motors) with a tool
changer.
The used servo guns share the same drive unit, and the same node on the
measurement board. They are activated as different mechanical units, but of course
never at the same time. They may use the same or different logical axis.
Prerequisites
Changing gun requires a deactivation of the operating gun and then unplugging
its motor cables. The motor cables are plugged in to the next gun, and this gun is
activated and ready to run. The plug-in mechanism requires a mechanical tool
changer interface to the guns. One individual set of gun parameters are installed
for each gun.
Limitations
Servo tool change can be used up to 8 different tools but is limited by 14 axes in
total for the drive module. E.g if robot is on a track motion or if another additional
axis is connected to a drive module it reduces that number of allowed tools that
can be used with servo disconnect.
Note
Tool changing with servo guns requires the option Servo Tool Change.
Note
To be sure that the right servo gun is activated and have a safe way to tool
change, it is recommended that the connection relay functionality is used when
tool changing.
WARNING
If the servo gun axis has been moved during deactivation, the position of the
axis might be wrong after activation, and this will not be detected by the controller.
The position after activation will be correct if the axis not has been moved, or if
the movement is less than 0.5 motor revolutions. Always use the tool change tip
calibration after activation. The tool change calibration will adjust any positional
error caused by gun movements during deactivation.
WARNING
It is important that no other mechanical units that are used with a tool changer,
are activated but only the one corresponding to the currently connected servo
gun!
An activation of wrong mechanical unit may cause unexpected movements or
errors. Some tool changers support I/O signals that specifies which gun is
currently connected. That information may be used to make sure correct
mechanical unit is activated. It is also possible to lock activation of not connected
mechanical units by specifying a digital input (DI) in the connection relay which
is a motion system parameter (type Relay in topic Motion) for each servo gun.
This digital input, which also is setup in the EIO.cfg, is read when the mechanical
unit is activated. If set to 1 the activation will take place normally, otherwise a
recoverable motion error will occur and the activation will be denied.
7 FlexPendant Interface
7.1 Application Overview
Introduction
This chapter describes the Spot FlexPendant interface intended to simplify the use
of the spot welding functionality. The operator have the most common information,
data and signals collected together in one place, easy to use and understand. This
is not a replacement for the standard FlexPendant functionality, but it can be seen
as a complement. Spot related information are presented in an instructive way,
enabling operators to easily and quickly get their every day tasks done.
To start RobotWare Spot, tap the ABB menu and then tap RobotWare Spot. The
RobotWare Spot main view will be started. From here all spot related functions in
the GUI can be accessed. For further information on using the FlexPendant, see
Operating manual - IRC5 with FlexPendant.
en1200000603
Topics
The Spot GUI covers following topics:
• Main View
• Process Signals
• Process Data
• Manual Actions
The Spot main view provides basic information about the current executing spot
program with possibilities to reach other views and sub views. You can follow the
welding process in every instruction by looking in the welding progress part of the
window. It is also possible to quickly change or edit some of the data used in a
spot instruction by tapping the blue colored text, spotdata and gundata. The
equipment I/O status is shown in this window and the spot process status, also
the latest errors and warnings are shown and can be accessed from here. The
manual actions can be accessed and run from this view also.
Tip
en1200000504
2 Tap the Welding Progress control to access and edit simulation data.
3 Tap Process Data to view and edit the process data.
4 Tap Manual Actions to access an run the spot service routines.
5 Tap Process I/O to view the connected equipment signals.
6 Tap the Process Event Log to view the latest spot error or warning messages
(the latest 20 messages will be stored.)
7 Tap Task button to view another spot welding robot.
en1200000505
4 Tap OK to write the new value to the controller and to leave the data dialog
and return to the Status window.
Tap Undo to reset the window from all changes.
Tap Cancel to return to the Status window without any changes.
Simulation
If you change the sim_type in simdata, when the value is separated from 0 (0 means
weld mode) a little stop sign with a status text is visible at the top right corner in
every window. Tap the Welding Progress control to edit the simdata, see picture
below. For more information about simulation see Simulation modes on page 72.
en1200000514
en1200000604
Process Signals
Process Signals displays the input and output signals of the configured and
connected spot process equipment, media panel, weld timer and gun.
Digital signals are show in an illustrative way, reflecting the real equipment of the
specific spot system in use. When running the system in manual mode, it is possible
not only to view but also to set new values to process signals.
Note
In order to set signals, the right access is needed, IO write access. This gives
the possibility to set I/O signal values. For more information about grants see
Operating manual - IRC5 with FlexPendant.
en1200000506
en1200000507
en1200000508
2 To change an output signal toggle between 1 and 0 to set or reset the signal.
en1200000509
en1200000510
Process Data
Process Data presents spot specific data types and lists all instances of a selected
data type, thus offering a quick and easy way to edit or view simdata, forcedata,
gundata, or spotdata in order to improved the system performance.
Note
In order to edit RAPID data, the right access is needed, Modify current value.
This gives access to modify the value of RAPID variables. For more information
about grants see Operating manual - IRC5 with FlexPendant.
en1200000511
2 To update the window and do a new search for the selected data type tap
Refresh.
2 To change the data of the listed data type, tap the data.
en1200000512
en1200000513
Manual Actions
Manual Actions contains all available spot related service routines in the system.
The user can easily start any routine by tapping the button for the action he would
like to run.
en1200000515
Tip
It is also possible to add custom signals in each view if needed in User defined
gui signal1-10 in the process configuration. These signals are not used in
the spot process, only used to show additional signals in the spot gui.
Introduction
This chapter describes the user interface intend to simplify the use of the Bosch
weld timer functionality. To access the Bosch FlexPendant interface you need the
software option Bosch Weld Timer Interface. You also need recommended hardware
(Bosch weld timer, cable for communication).
The operator has the most common data and weld timer errors and fault collected
together in one place, easy to use and understand. To start Bosch Timer tap the
ABB menu and then tap Bosch Weld Timer. The Bosch Timer desktop shows all
common weld timer functions. For further information on using the FlexPendant,
see Operating manual - IRC5 with FlexPendant. For information about weld
parameters, see Bosch operating and programming manual volume 2.
en1200000605
Pre Warning
Pre Warning present information about all electrodes configured for a certain weld
timer.
Weld Fault
Weld Fault lists all weld faults and warnings connected to the welding process and
the weld timer.
Last Weld
Last Weld present information about the last weld performed by the weld timer.
Weld Parameters
Weld Parameters offering a quick and easy way to view or edit ordinary weld
parameters.
Note
If or when an extra ordinary weld fault (hardware fault) occurs the user have to
connect the BOS5000/BOS6000 pc-software to get the real cause of the problem.
Note
To do a backup or restore the weld timer the user have to connect the
BOS5000/BOS6000 pc-software to take this action.
Note
Make sure you understand what happens to the welding sequence if you turn
off the Ignition parameter under the Settings or General node on the FlexPendant,
or if you change the simulation type in RobotWare Spot, see Simulation modes
on page 72.
Note
Avoid to close the application during loading or saving weld parameters in the
Weld Parameters window, this can lead to loss of data.
Limitations
• It is only possible to connect one weld timer to a robot controller.
• Avoid disconnecting the RS232 cable during loading or saving weld
parameters in the Weld Parameters window, the Bosch MMI application
should be closed before disconnecting the cable.
• It is not possible to access all timer functions and settings from the Bosch
MMI application.
• It is not possible to backup or restore weld parameters from the Bosch MMI
application.
• Not all possible timer faults will be visible in the Weld Fault view.
• Can not be combined with the option 634-1 MultiProcess.
General information
The information at the upper right side shows if the communication with the timer
is ok or not (if problem see the system Event Log for further information). In the
upper left side you have the information about the used device net protocol for the
connected timer.
en1200000588
2 Tap Reset to reset the value of the selected electrode (only possible if a row
is selected in the list view).
3 Tap Update to search for new information about the electrodes.
4 Tap Close to return to the Bosch Timer desktop.
en1200000589
2 Tap twice on a row in the list view to open up a new window for more
information about the weld error or warning.
en1200000590
en1200000591
en1200000592
2 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
3 Tap Browse Electrodes to change electrode number.
4 Tap Close to return to the Bosch Timer desktop.
WARNING
Changing parameters in this view requires very good knowledge about the welding
equipment and the welding parameters, otherwise it is easy to damage or destroy
the welding equipment and/or compromise the welding quality.
Note
In order to edit RAPID data, the right access is needed, Modify current value.
This gives access to modify the value of any RAPID variable. For more information
about grants see Operating manual - IRC5 with FlexPendant.
Sheets node
The sheets node contains parameters related to the sheet thickness and sheet
tolerance for each welding program.
See Bosch weld timer manual volume 2 for more information about the parameters.
xx1600000035
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Save to save the changes done to the parameters and stay in current
window.
3 Tap Close to close the window and return to the previous window.
Note
The values can be specified as a I/O group value. The values can be recalculated
into millimeters if configured, see How to use spot data programmed in the weld
timer on page 258.
Settings node
The settings node contains parameters related to the selected welding program.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000595
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Save to save the changes done to the parameters and stay in current
window.
3 Tap Close to close the window and return to the previous window.
Slope node
The slope node contains parameters related to the welding sequence, if up and
down slope of the current is required changes are done here.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000594
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Save to save the changes done to the parameters and stay in current
window.
3 Tap Close to close the window and return to the previous window.
Supervision node
The supervision node contains parameters related to the supervision of the current.
Each weld time (1, 2, 3) can be supervised separately.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000601
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Save to save the changes done to the parameters and stay in current
window.
3 Tap Close to close the window and return to the previous window.
Cycle node
The cycle node contains parameters related to the welding sequence.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000593
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Save to save the changes done to the parameters and stay in current
window.
3 Tap Close to close the window and return to the previous window.
HeatStepper node
The heatstepper node contains parameters related to the wear of the electrodes,
if the customer use this parameters changes are done continuously.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000596
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Browse Electrodes to change electrode number.
3 Tap Save to save the changes done to the parameters and stay in current
window.
4 Tap Close to close the window and return to the previous window.
Stepper node
The stepper node contains parameters related to the wear of the electrodes, if the
customer use this parameters changes are done continuously.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000597
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Browse Electrodes to change electrode number.
3 Tap Save to save the changes done to the parameters and stay in current
window.
4 Tap Close to close the window and return to the previous window.
Dress node
The dress node contains parameters related to the wear of the electrodes, if the
customer use this parameters changes are done continuously.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000598
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Browse Electrodes to change electrode number.
3 Tap Save to save the changes done to the parameters and stay in current
window.
4 Tap Close to close the window and return to the previous window.
Electrode node
The electrode node contains parameters related to the electrode (electrode number),
changes to this parameters are done in the start phase or when a new gun is
initiated.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000599
1 Tap Change Program No. to view weld parameters for different programs
in the weld timer.
2 Tap Browse Electrodes to change electrode number.
3 Tap Save to save the changes done to the parameters and stay in current
window.
4 Tap Close to close the window and return to the previous window.
General node
The general node contains parameters related to the complete weld timer. They
are normally set up in the start up phase.
See Bosch weld timer manual volume 2 for more information about the parameters.
en1200000600
1 Tap Save to save the changes done to the parameters and stay in current
window.
2 Tap Close to close the window and return to the previous window.
Configuration
The communication is done via an RS232 cable connected from the controller to
the weld timer.
The necessary configuration is loaded when installing the system, and it is located
in the SIO configuration, ABB/Configuration/Topics/Communication.
Example:
SIO:CFG_1.0:5:0::
#
COM_PHY_CHANNEL:
-Name "COM1" -Connector "COM1" -Baudrate 19200 -Parity "even"
#
COM_TRP:
-Name "trpbosv24_1:" -Type "BOSV24" -PhyChannel "COM1"
Currently it is not possible to connect more than one weld timer to the robot
controller.
9 Customizing RobotWare-Spot
9.1 Introduction
Customizing possibilities
The Spot Options are general and can be extensively customized to fit to different
spotweld equipments. The have a default "ready to use" functionality after
installation, but can easily be customized by changing configuration data, RAPID
data, and RAPID routines from RobotStudio for example.
One purpose of the customizing process can be to reduce the amount of data and
number of variables presented to the operator.
The following customizing is described in this manual:
• How to remove not used signals from the process sequence on page 250
• How to remove not used process hooks on page 251
•
• How to change the number of guns equipments to be used on page 252
• How to define max/min values for data components on page 254
• How to change the Spot data types on page 255
• How to add functionality in the process sequence on page 256
•
• How to use spot data programmed in the weld timer on page 258
•
• How to set the number of automatic rewelds after weld error on page 260
•
•
• How to package and install the result from the customizing on page 261
Description
Customizing can be done by changing a number of predefined data and routines,
preferably using a standard PC with RobotStudio. The following RAPID modules
and configuration files can be changed during the customizing process:
Data Data
Routines Routines
xx1200000602
SWUSRM
This module can be modified if the the default data types are changed. Normally
there is no need to edit this module, but the possibility exists.
SWUSRM is running in all motion tasks and contains routines for data transfer
between the user code and the kernel code, for example DefineSpotData and
DefineGunData. This module can be changed from RobotStudio if needed.
See SWUSRM on page 164.
SWUSER
This module can be modified if there is a need to customize the process sequence,
ie add additional logic or conditions during the process, or change the content of
the default types. The data and routines in this module are possible to modify from
RobotStudio.
SWUSER is running in all task in the system and contains all the data definitions
for the Spot data types and current values for the different defined Spot related
data types. It also contains a number of process hook that can be modified if
needed. See SWUSER on page 158.
Process configuration
The process configuration is used to to setup the spot system. See Spot process
configuration on page 21.
Note
I/O configuration
Depending on the spot configuration, a different default setup of spot weld signals
will be installed, and all signals are connected to virtual I/O units. See Spot I/O
configuration on page 42 or Spot Weld timer configuration options on page 55.
Tip
If a predefined Weld Timer Configuration option is installed, only signals for one
gun equipment will be defined.
MMC configuration
This configuration file contains for example information about which instructions
are included in the different instruction pick lists, and which routines are added to
the Debug/Call routine menu in the program editor, to be used as manual actions.
See Manual actions on page 74.
SYS configuration
This configuration file contains for example information about which tasks that the
user modules are loaded in. See System modules on page 158.
MOC configuration
This configuration file contains for example parameters for servo guns. See Servo
gun motion control on page 195
9.3.1 How to remove not used signals from the process sequence
Description
Use RobotStudio or the FlexPendant to edit the process configuration.
Example on FlexPendant:
Remove the diWaterFlow2Ok signal from the Water flow sensor2 instance,
this will disable the function of the signal. See The type Spot Media Equipment on
page 37
1 Press ABB/Control Panel/Configuration/Process/Spot Media Equipment.
2 Replace the signal name with the predefined NO_SIGNAL string in the Water
flow sensor2 instance. See The type Spot Media Equipment on page 37
3 Save the configuration and restart the system.
The same procedure can be used on other not used signals if needed.
Description
Use RobotStudio or the FlexPendant to edit the SWUSER module.
By default the SWUSER module are setup with a number of process hooks (routines),
where custom code can be added if there is a need to add additional logic that is
not part of the default process.
These routines can be removed if not needed to get a cleaner code.
Remove the SwInitUserIO user routine from the SWUSER module. See Process
hooks on page 160
1 Save the module and/or apply the changes.
2 Restart the system, with Reset RAPID.
The same procedure can be used on other not used process hooks if needed.
Note
The user hook SwPostWeld is used to update the weld counter in the used
gundata. If this hook is removed the counter will not update after weld.
Note
Code changes in this module requires a restart using the mode Reset RAPID.
Description
Use RobotStudio to edit the SWUSRM and SWUSER modules.
By default the user modules are setup for one gun equipment, or four gun
equipments depending on the selected configuration (Multiple Guns etc). But it is
possible to use and configure up to ten (10) gun equipments in the system if the
default configuration in not sufficient.
1 Add or remove the number of instances in following spot data releated arrays
in SWUSER.
• curr_gundata
• curr_spotdata
• curr_forcedata
Example:
PERS spotdata curr_spotdata{2} := [[0,0,0,0],[0,0,0,0]];
2 Add or remove the predefined gunnum gun index data in SWUSRM
accordingly, ie. gun1, gun2.
Example:
PERS gunnum gun1 := 1;
PERS gunnum gun2 := 2;
3 Add or remove spot equipments and the signals needed for that equipments
in the process configuration. See Spot process configuration on page 21.
Example:
xx1400002301
4 Add or remove signals and I/O units in the I/O configuration for the
equipments to be used if required. See Spot I/O configuration on page 42 or
Spot Weld timer configuration options on page 55.
Tip
If an additional spot weld timer option is selected when creating a new system,
that is, a Bosch weld timer option (options 782-X), only one process task and
configurations for one gun equipment will be installed. The installed I/O
configuration can then be easily modified in RobotStudio to fit the required
equipment.
Note
Code changes in this module requires a restart using the mode Reset RAPID.
Description
Use RobotStudio to access the process configuration.
It is possible to change the max and min values for a number of data components.
The limits will be tested at runtime. See The type Spot System on page 23.
Description
Use RobotStudio to edit the SWUSER and the SWUSRM modules.
To... Note
Change the definition of the Spot data types in SWUSER It is possible to:
to desired. For more information see SWUSER on • Add or delete data compon-
page 158. ents
Example: add new components for second gun force in • Move data components
forcedata. from for example gundata
RECORD forcedata to spotdata
num tip_force; • Change the names of the
num force_time; data components
num plate_thickness;
num plate_tolerance;
num tip_force2;
num force_time2;
ENDPROC
Note
Code changes in this module requires a restart using the mode Reset RAPID.
Description
Use RobotStudio to edit the SWUSER module.
If the supervision during the weld process needs to be changed, add code to the
process hooks.
For example:
Add an ErrWrite instruction in the error handling sequence and set a custom
signal doMyAlarmSignal.
PROC SwPreWeld(num GunNum, INOUT string ErrText)
VAR bool timeout;
! Wait for my equipment ok signal, max 2 seconds.
WaitDI diMyEquipmentOK, 1 \MaxTime := 2 \TimeFlag := timeout;
IF timeout THEN
ErrText := "My equipment is not ok";
SetDO doMyAlarmSignal, 1;
RETURN;
ENDIF
ENDPROC
1 Add or change the code in the process hooks in SWUSER. See description
of the process hooks in Process hooks on page 160.
2 Apply changes and perform a Restart Rapid restart.
If the default autonomous supervision has to be changed, the supervision task
routine in SWUSER has to be changed.
The normal way to add supervisions is to connect the supervised signal to a trap
routine, e.g. (MySupTrap) and create a new supervision routine which is called
from the trap routine.
For example:
PROC SupervisionInit()
IDelete my_sup_init;
CONNECT my_sup_init WITH MySupTrap;
ISignalDO doMySupSignal, 1, my_sup_init;
ENDPROC
TRAP MySupTrap()
TEST INTNO
CASE my_sup_init:
MySupervisionProc;
ENDTEST
ENDTRAP
PROC MySupervisionProc()
TPWrite "Executing MySupervisionProc";
SetDO doMyAlarmSignal, 1;
ENDPROC
Note
Code changes in this module requires a restart using the mode Reset RAPID.
Description
Some weld timers are prepared for storing data like tip_force and
plate_thickness for each weld program in the timer. When the robot controller
sends a new program number the timer responds with this data (for example on
separate input groups). Then it is possible to use this data instead of corresponding
data from the current spotdata.
1 Make sure that the process configuration is setup to use weld timer data
instead of the default spotdata parameters, see The type Spot Weld
Equipment on page 27.
If the optional group signals Gun force from timer [GI], Plate
thickness from timer [GI] and Plate tolerance from timer
[GI] are used, the default data in spotdata will be disabled if the
corresponding data are set to -1.
Using the optional Gun force from timer [GI signal group will also
enable the possibility to use multiple forces during the weld cycle, that is
after the weld start signal has been set and before the weld complete signal
is set. The kernel will supervise this signal during the weld and change to a
higher or lower value when the group value changes. See Multiple gun forces
during welding on page 86.
Note
Note
To activate the use of the timer input signals the corresponding parameter
in spotdata must be set to -1, e.g. my_spot.tip_force := -1;
See spotdata - Spot weld data on page 140.
9.3.8 How to set the number of automatic rewelds after weld error
Description
By default the automatic reweld function is deactivated.
Use RobotStudio to change the number of automatic rewelds, set the data Number
of automatic rewelds in the system configuration to the desired value. See
The type Spot Error Handling on page 25.
•
•
•
9.3.9 How to package and install the result from the customizing
Description
After customizing the default template user modules and configuration files, it is
appropriate to create a new directory with the changed files for each customized
variant and load it as an RobotWare Add-In. This add-in can then be included via
Installation Manager in RobotStudio.
When the Add-In is loaded into the system, the default spot user modules located
in the home directory and configuration files will be replaced with the customized
modules and configuration files included in the Add-In.
Fore more information about RobotWare Add-Ins, see Application
manual - RobotWare Add-Ins.
Index ManualSpot, 74
MeasureWearL, 118
Multiple gun forces during weld, 86
7
782-11 Bosch PROFINET MFDC, 59 O
782-7 Bosch DeviceNet MFDC, 55 OpenHighLift , 133
782-1 Bosch DeviceNet AC, 55 options
782-11 Bosch PROFINET MFDC, 59
A 782-7 Bosch DeviceNet MFDC, 55
Additional axes, 195
782-1 Bosch DeviceNet AC, 55
B Servo Tool Change, 211
BOS5000/BOS6000, 230 Simulated Weld Timer I/O, 43, 47, 51
Bosch FlexPendant Interface, 229 Spot, 15
Spot Servo, 15
C Spot Servo Equalizing, 15
CalibJ, 108
CalibL, 108 P
Calibrate, 114 Power failure behaviour, 79
Changing Motion parameters, 211 Process configuration, 21
CloseHighLift, 133 Process data, 223
Configuration, 21 Process sequence, 76
Customizing Spot, 247 Process signals, 220
Customizing the GUI, 227 Programming example pneumatic gun, 67
Programming example servo gun, 66
D Programming principles, 19
Deflection Compensation, 170 Programming spot welding instructions, 70
Program stop behaviour, 79
E
Editing instructions, 71 Q
Error handling, 81 Quick start for servo gun, 64
Error handling, user defined, 85 Quick stop behaviour, 79
Example tool change procedure, 212
R
F ReCalcTCP, 126
Fine calibration, 64 Replace servo gun, 209
FlexPendant Interface, 215 Reweld process, 85
Forcedata, 143
S
G safety, 14
Gripper and pneumatic gun, 93 Service routines, 74
Gun Arm Release, 170 Servo gun activation, 196
Gun closure, 77 Servo gun deactivation, 196
Gundata, 135 Servo gun disconnection, 91
Gun equalizing, 73, 76 Servo gun force calibration, 203
Gun force calibration, 64 Servo gun force gravity compensation, 204
Gun init after fine calibration, 206 Servo gun tuning, 63
Gun init after updated revolution counters, 207 Servo Tool Change, 211
Gun opening, 78 SetForce, 104
Gun preclosing, 73 Simdata, 146
Simulated welding, 80
I Simulated Weld Timer I/O, 43, 47, 51
I/O configuration, 42 Simulation, 80
Independent gun movement, 197 Simulation mode, 72
IndGunMove, 130 Skip process, 84
IndGunMoveReset, 132 Smeqdata, 148
Install servo gun parameters, 202 Software Equalizing, 169
Spotdata, 140
M SpotJ, 65, 95
Manual actions, 74, 226 SpotL, 65, 95
ManualCalib, 75 SpotMJ, 68, 100
ManualCheckMeasPos, 75 SpotML, 68, 100
ManualForceCalib, 75 Spot options, 15
ManualGunControl, 74 Spot welding data, 65
ManualGunPosition, 74 Stationary servo gun, 210
ManualGunSearch, 74 Step backward behaviour, 80
ManualServiceCalibceCalib, 75 Step forward behaviour, 79
ManualSetForce, 74 Supervision, 81–82, 85
T W
TCP, 171 Weld error, 84
Tip change, 200 Welding, 78
Tip dressing, 92 Weld process timing, 88–89
ABB Inc.
Robotics and Motion
1250 Brown Road
Auburn Hills, MI 48326
USA
Telephone: +1 248 391 9000
abb.com/robotics
3HAC050979-001, Rev G, en