Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ProcessWare
SpotWare servo & SpotWare servo plus
RobotWare-OS 4.0
Users guide
3HAC 12983-1
A
ProcessWare
SpotWare Servo & SpotWare Servo Plus
RobotWare-OS 4.0
The information in this manual is subject to change without notice and should not be construed as a commitment
by ABB. ABB assumes no responsibility for any errors that may appear in this manual.
Except as may be expressly stated anywhere in this manual, nothing herein shall be construed as any kind of guarantee or warranty by ABB for losses, damages to persons or property, fitness for a specific purpose or the like.
This manual and parts thereof must not be reproduced or copied without ABBs written permission, and contents
thereof must not be imparted to a third party nor be used for any unauthorized purpose. Contravention will be prosecuted.
Additional copies of this manual may be obtained from ABB at its then current charge.
2003 ABB All rights reserved.
ABB Automation Technology Products AB
Robotics
SE-721 68 Vsters
Sweden
Contents
1 Summary.................................................................................................................................... 1
1.1 Spot welding features ....................................................................................................... 2
1.2 Principles of SpotWare servo and SpotWare servo plus................................................... 2
1.3 Programming principles ................................................................................................... 3
1.4 Spot welding instructions ................................................................................................. 4
1.5 Spot welding data ............................................................................................................. 4
2 Programming............................................................................................................................ 5
2.1 The spotweld instructions for sequential welding ............................................................ 5
2.2 Defining spotweld data..................................................................................................... 5
2.3 Programming spotweld instructions ................................................................................. 6
Programming example 1 .................................................................................................. 6
2.4 Editing spotweld instructions ........................................................................................... 8
2.5 Testing spotweld instructions with simulated welding..................................................... 8
2.6 Jogging the robot after unintentional gun disconnection.................................................. 8
2.7 Gun preclosing.................................................................................................................. 9
2.8 Gun equalizing.................................................................................................................. 9
2.9 Tip dressing ...................................................................................................................... 9
2.10 Manual actions.............................................................................................................. 10
2.11 Running spotweld instructions in concurrent execution............................................... 11
2.12 The spotweld instructions for simultaneously welding with multiple guns ................. 11
Programming example 2 ................................................................................................ 11
2.13 Weld process timing ..................................................................................................... 13
SpotL/SpotJ - The basic spot welding instructions ................................................................ 15
Example ............................................................................................................................... 15
Arguments ........................................................................................................................... 15
Communication ................................................................................................................... 17
Program execution............................................................................................................... 17
Motion............................................................................................................................ 17
Gun closure .................................................................................................................... 18
Welding .......................................................................................................................... 18
Gun opening................................................................................................................... 18
- Program stop and restart..................................................................................................... 18
Stop during the motion and restart ................................................................................. 18
Stop during welding and restart ..................................................................................... 18
- Quick stop and restart......................................................................................................... 19
Quick stop during the motion and restart....................................................................... 19
Quick stop during welding and restart ........................................................................... 19
- Instruction by instruction execution................................................................................... 19
SpotWare Servo & SpotWare Servo Plus
Contents
Forwards ........................................................................................................................ 19
Backwards...................................................................................................................... 19
- Simulated welding.............................................................................................................. 19
Weld simulation in the robot controller ......................................................................... 19
Weld simulation in the timer.......................................................................................... 20
Testing without closing the guns.................................................................................... 20
Testing without plates .................................................................................................... 20
Disable all simulations................................................................................................... 20
- Error handling .................................................................................................................... 20
Instruction parameter supervision.................................................................................. 20
Supervision in the beginning of the movement ............................................................. 21
Gun closure supervision................................................................................................. 21
Detection of missing or improper plates........................................................................ 21
Supervision before the weld is started ........................................................................... 22
Weld error ...................................................................................................................... 23
Supervision after welding .............................................................................................. 24
Gun opening supervision ............................................................................................... 24
- Power failure handling ....................................................................................................... 24
- Customizing ....................................................................................................................... 24
- Syntax................................................................................................................................. 25
- Related information............................................................................................................ 25
SpotML/SpotMJ - Spot welding with multiple guns ............................................................. 27
Example............................................................................................................................... 27
Arguments ........................................................................................................................... 27
Communication ................................................................................................................... 29
Program execution............................................................................................................... 29
Motion............................................................................................................................ 29
Gun closure .................................................................................................................... 30
Welding .......................................................................................................................... 30
Gun opening................................................................................................................... 30
- Program stop and restart .................................................................................................... 30
Stop during the motion and restart................................................................................. 30
Stop during welding and restart ..................................................................................... 30
- Quick stop and restart ........................................................................................................ 31
Quick stop during the motion and restart....................................................................... 31
Quick stop during welding and restart ........................................................................... 31
- Instruction by instruction execution................................................................................... 31
Forwards ........................................................................................................................ 31
II
Contents
Backwards ...................................................................................................................... 31
- Simulated welding.............................................................................................................. 31
Weld simulation in the robot controller ......................................................................... 31
Weld simulation in the timer .......................................................................................... 32
Testing without closing the guns.................................................................................... 32
Testing without plates .................................................................................................... 32
Disable all simulations ................................................................................................... 32
- Error handling .................................................................................................................... 32
Instruction parameter supervision.................................................................................. 32
Supervision in the beginning of the movement ............................................................. 33
Gun closure supervision................................................................................................. 33
Detection of missing or improper plates ........................................................................ 33
Supervision before the weld is started ........................................................................... 34
Weld error....................................................................................................................... 35
Supervision after welding .............................................................................................. 36
Gun opening supervision ............................................................................................... 36
- Power failure handling ....................................................................................................... 36
- Customizing ....................................................................................................................... 36
- Syntax................................................................................................................................. 37
- Related information............................................................................................................ 37
SetForce .............................................................................. Close the gun with desired force39
Example ............................................................................................................................... 39
Arguments ........................................................................................................................... 39
Program execution............................................................................................................... 40
- Error handling .................................................................................................................... 40
Instruction parameter supervision.................................................................................. 40
Detection of missing or improper plates ........................................................................ 40
- Syntax................................................................................................................................. 41
- Related information............................................................................................................ 42
CalibL/CalibJ - ............................................................Calibrate the gun during movement43
Example ............................................................................................................................... 43
Arguments ........................................................................................................................... 43
Program execution............................................................................................................... 45
- Instruction by instruction execution................................................................................... 45
Forwards......................................................................................................................... 45
Backwards ...................................................................................................................... 46
Positional adjustment ..................................................................................................... 46
Using a pre position ....................................................................................................... 46
SpotWare Servo & SpotWare Servo Plus
III
Contents
- Error handling .................................................................................................................... 46
Instruction parameter supervision.................................................................................. 46
- Limitations ......................................................................................................................... 46
- Syntax................................................................................................................................. 47
- Related information............................................................................................................ 47
Calibrate ..................................................................................................... Calibrate the gun49
Example............................................................................................................................... 49
Arguments ........................................................................................................................... 49
Program execution............................................................................................................... 50
Positional adjustment ..................................................................................................... 50
Using a pre position ....................................................................................................... 51
- Error handling .................................................................................................................... 51
Instruction parameter supervision.................................................................................. 51
- Syntax................................................................................................................................. 51
- Related information............................................................................................................ 51
STTune - Tuning servo tool ...................................................................................................... 53
Example............................................................................................................................... 53
Arguments ........................................................................................................................... 53
Description .......................................................................................................................... 54
RampTorqRefOpen ........................................................................................................ 54
RampTorqRefClose........................................................................................................ 54
KV.................................................................................................................................. 54
SpeedLimit..................................................................................................................... 54
CollAlarmTorq............................................................................................................... 54
CollContactPos .............................................................................................................. 55
CollisionSpeed ............................................................................................................... 55
CloseTimeAdjust ........................................................................................................... 55
ForceReadyDelayT ........................................................................................................ 55
PostSyncTime ................................................................................................................ 55
CalibTime....................................................................................................................... 56
CalibForceLow .............................................................................................................. 56
CalibForceHigh.............................................................................................................. 56
Program execution............................................................................................................... 56
- Error handling .................................................................................................................... 57
- Syntax................................................................................................................................. 57
- Related information............................................................................................................ 57
STTuneReset - Resetting servo tool tuning............................................................................. 59
Example............................................................................................................................... 59
IV
Contents
Arguments ........................................................................................................................... 59
Program execution............................................................................................................... 59
- Error handling .................................................................................................................... 59
- Syntax................................................................................................................................. 60
- Related information............................................................................................................ 60
forcedata....................................................................................................Spot gun force data61
Description........................................................................................................................... 61
- Components........................................................................................................................ 61
- Predefined data................................................................................................................... 62
- Customizing ....................................................................................................................... 62
- Default structure................................................................................................................. 62
- Related information............................................................................................................ 63
gundata.....................................................................................Equipment specific weld data65
Description........................................................................................................................... 65
- Components........................................................................................................................ 65
- Default structure................................................................................................................. 66
- Predefined data................................................................................................................... 66
- Customizing ....................................................................................................................... 67
- .Related information........................................................................................................... 67
simdata ............................................................................................................Simulation data69
Description........................................................................................................................... 69
- Components........................................................................................................................ 69
- Predefined data................................................................................................................... 70
- Customizing ....................................................................................................................... 70
- Default structure................................................................................................................. 70
- Related information............................................................................................................ 70
spotdata .............................................................................................................Spot weld data71
Description........................................................................................................................... 71
- Components........................................................................................................................ 71
- Predefined data................................................................................................................... 72
- Customizing ....................................................................................................................... 72
- Default structure................................................................................................................. 72
- Related information............................................................................................................ 73
3 System module - SWUSER..................................................................................................... 75
3.1 Contents .......................................................................................................................... 75
Data ................................................................................................................................ 75
Process Hooks ................................................................................................................ 76
4 System parameters .................................................................................................................. 79
SpotWare Servo & SpotWare Servo Plus
Contents
4.1 IO configuration ............................................................................................................. 79
4.2 Basic setup - board description ...................................................................................... 79
4.3 Basic setup - signal description ...................................................................................... 80
Weld timer signals for gun 1 .......................................................................................... 80
Gun signals for gun 1..................................................................................................... 81
Process status signals for gun 1 ..................................................................................... 81
Signal names for gun 2 are the same as for gun 1 but prefixed with g2_...................... 81
Other signals .................................................................................................................. 81
5 Customizing ............................................................................................................................. 83
5.1 Customizing possibilities ............................................................................................... 83
5.2 Files intended to be changed during the customizing process ....................................... 84
SWDEFINE (Readonly) ................................................................................................ 84
SWDEFUSR (Noview).................................................................................................. 85
SWUSER ....................................................................................................................... 85
SWTEXT (BuiltIn, Shared) ........................................................................................... 85
SWSUP (Noview).......................................................................................................... 85
I/O configuration (eio.cfg) ............................................................................................. 85
MMC configuration (mmc.cfg) ..................................................................................... 85
5.3 How to change the number of guns to be used............................................................... 86
5.4 How to define max and min values for a number of data components .......................... 87
5.5 How to change the SpotWare data types ........................................................................ 88
5.6 How to add functionality in the process sequence ......................................................... 88
5.7 How to change, add or delete Manual Actions .............................................................. 88
5.8 How to create other equipment specific programming instructions............................... 89
5.9 How to add equipment specific supervision and error handling. ................................... 89
5.10 How to use own signal names on internal used signals ............................................... 89
5.11 How to use spot data programmed in the weld timer ................................................... 89
5.12 How to hide the gun equalize function......................................................................... 90
5.13 How to set the number of automatic rewelds after weld error ..................................... 90
5.14 How to package and install the result from the customizing process .......................... 91
6 Servo gun motion control ....................................................................................................... 93
6.1 Servo gun introduction ................................................................................................... 93
External axes.................................................................................................................. 93
Hardware overview........................................................................................................ 93
Motion servo gun parameters......................................................................................... 93
6.2 General motion control for servo guns........................................................................... 93
Activation/Deactivation ................................................................................................. 94
Jogging........................................................................................................................... 94
VI
Contents
Synchronous movements of robot and servo gun .......................................................... 94
Supervision during general motion control.................................................................... 95
6.3 Asynchronous movements with force control ................................................................ 95
Opening and closing in general...................................................................................... 95
Welding .......................................................................................................................... 96
Squeezing without welding............................................................................................ 96
Supervision during asynchronous movements with force control ................................. 96
6.4 Tip management ............................................................................................................. 97
Tip wear calibration ....................................................................................................... 97
Tip change calibration.................................................................................................... 97
Tool change calibration .................................................................................................. 97
Tip change requirement.................................................................................................. 98
Tool center point adjustment.......................................................................................... 98
Supervision during tip calibration.................................................................................. 98
6.5 Installation and Service .................................................................................................. 98
Install servo gun parameters .......................................................................................... 98
Service calibration.......................................................................................................... 98
Fine calibration .............................................................................................................. 99
Update the revolution counter........................................................................................ 99
Force calibration .......................................................................................................... 100
Disconnect/Reconnect a servo gun .............................................................................. 100
Recover from accidental disconnection ....................................................................... 100
Replace a servo gun ..................................................................................................... 101
6.6 Stationary gun............................................................................................................... 101
6.7 Servo tool change ......................................................................................................... 101
Example, tool change procedure.................................................................................. 102
6.8 Other references............................................................................................................ 103
VII
Contents
VIII
Summary
1 Summary
The Spotweld options are general and flexible software platforms for creation of
customized and easy to use function packages for different types of spotweld systems
and process equipments.
There are two different SpotWare options supporting spotweld with servo guns.
The SpotWare Servo package is used for sequential welding with one or several servo
gun equipments.
The SpotWare Servo Plus package provides support for sequential welding with one
or several servo gun equipments, but also welding with two servo guns at the same
time.
All SpotWare options provides dedicated spotweld instructions for fast and accurate
positioning combined with gun manipulation, process start and supervision of the
different gun equipments.
Communication with the welding equipment is carried out by means of digital inputs
and outputs.
It should be noted that the SpotWare options are general and can be extensively
customized. They have a default ready to use functionality directly after install but
it is intended that some configuration data, RAPID data and RAPID routines has to be
changed during the customizing.
Summary
Summary
Summary
Used to:
SpotL
SpotJ
SpotML
SpotMJ
SetForce
CalibL
CalibJ
Calibrate
STTune
STTuneReset
Data type
Used to define:
spotdata
gundata
forcedata
simdata
Simulation modes
Programming
2 Programming
This chapter describes the basic functions and steps to take when creating, testing and
running spot weld programs with SpotWare Servo or SpotWare Servo Plus.
It is assumed that the servo gun is installed and calibrated. See SpotWare Servo - Servo
gun motion control.
Arguments as in
the MoveL instruction
Programming
Programming
MoveJ
p6
SpotL
p1
MoveL
p2
p5
p3
p4
Direction of movement
spot10
prog_num = 10
tip_force = 2500
plate_thickness = 0.8
plate_tolerance = 0.5
curr_gundata{1}
spot20
prog_num = 20
tip_force = 3000
gun_name = SEOLO_GUN
pre_close_time = 0.05
pre_equ_time = 0.05
weld_counter = 112
max_nof_welds = 10000
curr_tip_wear = 5.2
max_tip_wear = 8
weld_timeout = 2
plate_thickness = 1.0
plate_tolerance = 0.5
Programming
Programming
Programming
ManOpenGun
ManSpot
ManSetForce
ManCalib
ManForceCalib
ManServiceCalib
If several guns are used then a dialog will appear asking for the gun number of the gun
to be handled.
10
Programming
2.12 The spotweld instructions for simultaneously welding with multiple guns
SpotML and SpotMJ has to be used if welding with several guns at the same time is
desired. For servo guns it is possible to use two guns simultaneously. The instruction
includes a movement to the weld position and performing the desired weld processes.
It contains basically the same type of information as a positioning instruction but also
arguments that serve as data for the different spotweld processes.
These instructions are only available if the SpotWare Servo Plus option is used.
For further details, see SpotWare Servo - SpotML/J
Data for the spotweld processes (spotdata)
Switch inhibiting gun pre-closing
Switch activating concurrent execution
Arguments as in
the MoveL instruction
Programming example 2
In this example two different stationary guns are used, mounted close to each other.
The robot is holding the work piece. Seven spots are to be welded with two different
spotdata used, spot10 and spot20. Current gun parameters has been set up in the first
and second gundata in the curr_gundata array in SWUSER.
11
Programming
SpotML
MoveJ
MoveL
p2
p1
p6
p3
p4
p5
pre_close_time = 0.05
pre_equ_time = 0.04
weld_counter = 112
max_nof_welds = 10000
curr_tip_wear = 5.2
max_tip_wear = 8
weld_timeout = 2
spot10
prog_num = 10
tip_force = 2500
plate_thickness = 0.8
plate_tolerance = 0.5
spot20
prog_num = 20
tip_force = 3000
plate_thickness = 1.0
plate_tolerance = 0.5
pre_close_time = 0.07
pre_equ_time = 0.04
weld_counter = 345
max_nof_welds = 10000
curr_tip_wear = 3.4
max_tip_wear = 11
weld_timeout = 2
12
Programming
The figure on this page shows the weld process timing and where in the sequence the
user hooks will affect the internal behaviour. If several gun equipments are used at the
same time they are handled in different tasks so each process is independent.
If welding is done with several guns at the same times then each process is handled in
separate tasks independent of each other.
Post_sync_time - Release time anticipation (s) of the next robot movement after a
weld. NOTE! The value of this parameter can affect the cycle time of the program
negatively if e.g. two welding points are programmed at the same position. To
minimize this risk the value can be increased. For further details, see External Axes Mininal Configuration of servo gun.
SwInitUserIO
SwPrepare
SwCloseGun
SwPreWeld
pre_close_time
Robot
speed
Gun
speed
pre_equ_time
Gun
close
speed
SwOpenGun
Process
hooks
pre_sync_delay_time
Gun
force
Gun
open
speed
post_sync_time
welding
Check
Set equalize thickness.
If
Order gun close
OK set
with thickness
start_weld
and force from
spotdata or weld
timer
start_weld
Order
gun open
Robot
speed
Gun
speed
Release move
Reset equalize
Process
kernel
weld_complete
process_run
13
Programming
14
SpotL/SpotJ
Instruction
Example
SpotL
Arguments
SpotL ToPoint Speed GunNo Spot[\InPos] [\Conc] Tool [\WObj]
SpotJ ToPoint Speed GunNo Spot[\InPos] [\Conc] Tool [\WObj]
ToPoint
The destination point of the robot and external axes. It is defined as a named
position or stored directly in the instruction (marked with an * in the instruction).
Speed
The speed data that applies to movements. Speed data defines the velocity for the
tool centre point, the tool reorientation and external axes.
15
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
GunNo
Instruction
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata array curr_gundata in SWUSER
Spot
[\InPos]
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.
[\Conc]
Tool
[\WObj]
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 external
axes are used, this argument must be specified in order to perform a linear movement relative to the work object.
16
SpotL/SpotJ
Instruction
Communication
SpotL/J communicates with the weld equipments as using parallel signals.
For a complete description of the I/O configuration, see SpotWare Servo - System
parameters.
Program execution
Internal process sequence when a SpotL/J instruction is executed:
- The robot and gun starts to move towards the programmed position.
- SwPrepare is executed. (Preweld supervision.
- The weld program number is set.
- The gun starts to close before the position is reached (unless argument \InPos
is used), according to the predefined preclosing time.
- SwCloseGun is executed.
- Equalizing is activated.
- Current spotdata (curr_spotdata in SWUSER) is updated.
- SwPreWeld is executed when the weld position is reached.
- The plate thickness is checked.
- The requested gun force is established.
- The start signal is sent to the weld controller.
- When the weld process is started the program execution continues to the next
instruction (if the argument \Corr is used).
- When the weld complete signal from the weld equipment is received, the gun
open is started.
- SwOpenGun is executed.
- Equalizing is deactivated.
- The motion is released and the robot and gun starts to move toward next programmed position.
Motion
The movement to the weld position starts with a synchronous phase which means that
the servo gun axis is moved synchronized with the robot movement.
17
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Gun closure
The asynchronous gun closure is activated at a defined time before the weld position,
irrespective of the actual speed. The preclose time for each gun equipment are defined
in the corresponding gundata in the array curr_gundata in module SWUSER.
The gun closing speed is automatically adapted so the contact position is reached at the
same time as the robot reaches the programmed weld position.
If the preclose time is set to 0 in curr_gundata or if the optional argument \InPos is set
in current instruction then the gun closure is activated first when the robot has reached
the weld position.
Welding
When the welding position is reached the gun starts to build up the gun force and the
user hook SwPreWeld is executed. The plate thickness is checked. The weld start signal
is set as soon as SwPreWeld is ready and the requested gun force is reached. After starting, the system waits for weld complete from the weld equipment.
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.
18
SpotL/SpotJ
Instruction
Simulated welding
All active simulations are defined in curr_simdata in SWUSER.
Weld simulation in the robot controller
Activated by setting sim_type = 1. This will inhibit the start signal to the timer. The
simulation time is defined in sim_time. No preweld supervision is performed.
19
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Error handling
The following error situations can occur:
- Instruction parameter supervision.
- Supervision in the beginning of the movement.
- Gun closure supervision.
- Detection of missing or improper plates
- Supervision before weld start.
- Weld error.
- Supervision after welding.
- Gun opening supervision.
Instruction parameter supervision
The error occurs when SpotL/J is called with faulty parameters.
- The signal process_error for current gun is set.The program stops.
- An error message is displayed in a dialog box.
- The error message is logged
The parameter must be changed. When the program is restarted the current instruction
is restarted from the beginning.
20
SpotL/SpotJ
Instruction
21
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Ignor :
- Close the gun again but without thickness detection and continue the execution.
Retry :
- Start the interrupted process from the beginning.
Supervision before the weld is started
The supervisions in SwPreWeld are executing. See SpotWare Servo - System Module
SWUSER.
If an error occurs then:
- 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 is logged
22
SpotL/SpotJ
Instruction
Weld error
A weld error occurs either if the weld_fault signal is set during the weld process or if
the ready signal from the weld timer has not been set in a certain time (weld_timeout).
SpotL/J 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.
- The following manual choices are available:Info / Skip / Reweld (see the dialog
- box in Figure 4)
Info :
- A dialog box is displayed with more user defined information about the error
(if available). By default the current robtarget name will be shown. See user
routine SwErrorInfo in SpotWare Servo - System Module SWUSER.
Skip (Only available in manual mode):
- The reset_fault signal is pulsed.
- The corresponding process error signal is reset.
- The current robtarget name will be stored in the log.
23
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Customizing
The SpotWare package gives the user plenty of scope for customizing the SpotWare
functionality. (See SpotWare Servo - Customizing)
However, the main subject of this SpotL/J instruction description is the default setup.
24
SpotL/SpotJ
Instruction
Syntax
SpotL or SpotJ
[ ToPoint := ] < expression (IN) of robtarget > ,
[ Speed := ] < expression (IN) of speeddata > ,
[ GunNo :=] < expression (IN) of num > ,
[ Spot :=] < persistent (PERS) of spotdata >
[ \ InPos ]
[ \ Conc ],
[ Tool := ] < persistent (PERS) of tooldata >
[ \ WObj := < persistent (PERS) of wobjdata > ] ;
Related information
Described in:
Definition of velocity
Definition of zonedata
Definition of tool
Definition of spotdata
Definition of gundata
SpotML/J
Customizing possibilities
I/O configuration
External Axes
Motion in general
25
SpotL/SpotJ
SpotWare Servo & SpotWare Servo Plus
26
Instruction
SpotML/SpotMJ
Instruction
Example
SpotML
Arguments
SpotML ToPoint Speed [\G1] [\G2] [\InPos] [\Conc] Tool [\WObj]
SpotMJ ToPoint Speed [\G1] [\G2] [\InPos] [\Conc] Tool [\WObj]
ToPoint
The destination point of the robot and external axes. It is defined as a named
position or stored directly in the instruction (marked with an * in the instruction).
27
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
Speed
Instruction
Data type: speeddata
The speed data that applies to movements. Speed data defines the velocity for the
tool centre point, the tool reorientation and external axes.
[G1] - [G2]
Spot data with the spot specific data associated with the weld with gun equipment
1 - 2.
[\InPos]
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.
[\Conc]
Tool
[\WObj]
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 external
axes are used, this argument must be specified in order to perform a linear movement relative to the work object.
28
SpotML/SpotMJ
Instruction
Communication
SpotML/MJ communicates with its equipments as using parallel signals.
For a complete description of the I/O configuration, see SpotWare Servo - System
parameters.
Program execution
Internal sequence for each activated gun in a SpotML/MJ instruction:
- The robot and guns starts to move towards the programmed position.
- SwPrepare is executed. (Preweld supervision.)
- The weld program number is set.
- The guns start to close before the position is reached (unless argument \InPos
is used), according to the predefined preclosing times.
- SwCloseGun is executed.
- Equalizing is activated.
- Current spotdata (curr_spotdata in SWUSER) is updated.
- SwPreWeld is executed when the weld position is reached.
- The plate thickness is checked.
- The requested gun force is established.
- The start signal is sent to the weld controller.
- When the weld process is started for all activated guns, the program execution
continues to the next instruction (if the argument \Corr is used).
- When the weld complete signal from the weld equipment is received, the gun
open is started.
- SwOpenGun is executed.
- Equalizing is deactivated.
- When all activated guns are opened enough the motion is released and the robot
and gun starts to move toward next programmed position.
Motion
The movement to the weld position starts with a synchronous phase which means that
the servo gun axes are moved synchronized with the robot movement.
29
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Gun closure
The asynchronous gun closure is activated at a defined time before the weld position,
irrespective of the actual speed. The preclose time for each gun equipment are defined
in the corresponding gundata in the array curr_gundata in module SWUSER.
The gun closing speed is automatically adapted so the contact position is reached at the
same time as the robot reaches the programmed weld position.
If the preclose time is set to 0 in curr_gundata or if the optional argument \InPos is set
in current instruction then the gun closure is activated first when the robot has reached
the weld position.
Welding
When the welding position is reached each gun starts to build up the gun force and the
user hook SwPreWeld is executed. The plate thickness is checked. The weld start signal
for each process is set as soon as SwPreWeld is ready and the requested gun force is
reached. After starting, the system waits for weld complete from the weld equipment.
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
Each activated gun starts to open to the programmed position after the welding has finished. At the same time the user hook SwOpenGun is executed. When the guns are
opened enough and SwOpenGun is ready then the movement is released and the robot
movement is started.
The guns are also opened to the programmed position after a weld error or in other error
situations.
30
SpotML/SpotMJ
Instruction
Simulated welding
All active simulations are defined in curr_simdata in SWUSER. The simulations influences all active weld processes.
Weld simulation in the robot controller
Activated by setting sim_type = 1. This will inhibit the start signal to the timer. The
simulation time is defined in sim_time. No preweld supervision is performed.
31
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Error handling
The following error situations can occur:
- Instruction parameter supervision.
- Supervision in the beginning of the movement.
- Gun closure supervision.
- Detection of missing or improper plates
- Supervision before weld start.
- Weld error.
- Supervision after welding.
- Gun opening supervision.
Instruction parameter supervision
The error occurs when SpotML/J is called with faulty parameters.
- The signal process_error for current gun is set.The program stops.
- An error message is displayed in a dialog box.
- The error message is logged
The parameter must be changed. When the program is restarted the current instruction
is restarted from the beginning.
32
SpotML/SpotMJ
Instruction
33
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Ignor :
- Close the gun again but without thickness detection and continue the execution.
Retry :
- Start the interrupted process from the beginning.
Supervision before the weld is started
The supervisions in SwPreWeld are executing. See SpotWare Servo - System Module
SWUSER.
If an error occurs then:
- 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 is logged
34
SpotML/SpotMJ
Instruction
Weld error
A weld error occurs either if the weld_fault signal is set during the weld process or if
the ready signal from the weld timer has not been set in a certain time (weld_timeout).
SpotML/J 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 is logged
- The following manual choices are available:Info / Skip / Reweld (see the dialog
box in figure 2).
Info :
- A dialog box is displayed with more user defined information about the error
(if available). See user routine SwErrorInfo in SpotWare Servo - System Module SWUSER.
35
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Customizing
The SpotWare package gives the user plenty of scope for customizing the SpotWare
functionality. (See SpotWare Servo - Customizing)
However, the main subject of this SpotML/J instruction description is the default setup.
36
SpotML/SpotMJ
Instruction
Syntax
SpotML or SpotMJ
[ ToPoint := ] < expression (IN) of robtarget > ,
[ Speed := ] < expression (IN) of speeddata > ,
[ \ G1 := < persistent (PERS) of spotdata > ]
[ \ G2 := < persistent (PERS) of spotdata > ]
[ \ InPos ]
[ \ Conc ],
[ Tool := ] < persistent (PERS) of tooldata >
[ \ WObj := < persistent (PERS) of wobjdata > ] ;
Related information
Described in:
Definition of velocity
Definition of zonedata
Definition of tool
Definition of spotdata
Definition of gundata
SpotL/J
Customizing possibilities
I/O configuration
External Axes
Motion in general
37
SpotML/SpotMJ
SpotWare Servo & SpotWare Servo Plus
38
Instruction
SetForce
Instruction
SetForce
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. The instruction can e. g. be used for
tip dressing.
Example
SetForce gun1, force10;
Forcedata force10 contains the parameters for the SetForce action, e.g. desired
tip force and force time.
The parameter gun1 is a num corresponding to the used gun equipment. All gun
equipments used are defined in the gundata array curr_gundata in SWUSER.
Arguments
SetForce GunNo [\RetThickness] Force
GunNo
Used gun gun number. Corresponding to the element number in the gundata
array curr_gundata in SWUSER
[\RetThickness]
Force
39
SetForce
SpotWare Servo & SpotWare Servo Plus
Instruction
Program execution
Internal sequence when a SetForce instruction is executed:
- The gun is closed
- The plate thickness is checked
- The requested gun force is established
- Wait until the desired force time elapsed or the force complete signal is activated.
- The gun is opened to the previous position.
- The force data in the array curr_forcedata in SWUSER is updated.
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 SpotWare Servo - System
Parameters.
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.
Detection of missing or improper plates
An error will be detected by the process kernel if the plate thickness differ more than
the allowed limit defined by the tolerance from the programmed thickness.
- 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 is logged
40
SetForce
Instruction
Ignor:
Close the gun again but without thickness detection and continue the execution.
Retry:
- Retry the SetForce instruction.
Skip: (Only available in manual mode)
- Cancel current instruction and continue with next.
Syntax
SetForce
[ GunNo :=] < expression (IN) of num >
[\ RetThickness := < variable or persistent(INOUT) of num > ],
[ Force :=] < persistent (PERS) of forcedata > ;
41
SetForce
SpotWare Servo & SpotWare Servo Plus
Instruction
Related information
Described in:
42
Definition of forcedata
I/O configuration
CalibL/CalibJ
Instruction
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
equipments used are defined in the gundata array curr_gundata in SWUSER.
The data curr_tip_wear in curr_gundata will be automatically updated.
Arguments
CalibL ToPoint Speed GunNo [\TipChange] | [\ToolChange]
| [\TipWear] [\RetTipWear] [\RetPosAdj] [\PrePos] Zone Tool [\WObj]
ToPoint
The destination point of the robot and external 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
The speed data that applies to movements. Speed data defines the velocity for the
tool centre point, the tool reorientation and external axes.
43
CalibL/CalibJ
SpotWare Servo & SpotWare Servo Plus
GunNo
Instruction
Data type: num
Used gun equipment number. Corresponding to the element number in the gundata array curr_gundata in SWUSER
[\TipChange]
[\ToolChange]
[\TipWear]
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.
[\RetTipWear]
[\RetPosAdj]
[\PrePos]
The position to move with high speed to before search for contact position with
slower speed is started [mm].
44
CalibL/CalibJ
Instruction
Tool
[\WObj]
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 external axes are used, this argument must be specified in order to perform a linear
movement relative to the work object.
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.
- The gun is opened to the previous position.
- For certain calibration types: curr_tip_wear in the array curr_gundata in
SWUSER is updated.
45
CalibL/CalibJ
SpotWare Servo & SpotWare Servo Plus
Instruction
Backwards
The motion is performed backwards to the programmed position, but
no calibration is activated. NB, the tip distance in this case is the programmed value in
the instruction
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.
Using a pre position
In order to speed up the calibration, it is possible to define a pre position.When the calibration starts, the gun arm will be run fast to the pre position, stop and then continue
slowly forward in order to detect the tip contact position. A pre position will be ignored
if it is larger than the current gun position (in order not to slow down the calibration).
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
It is not possible to program a movement of the gun tip position compared to previous
programmed point. This will cause an error message.
46
CalibL/CalibJ
Instruction
Syntax
CalibL or CalibJ
[ ToPoint := ] < expression (IN) of robtarget > ,
[ Speed := ] < expression (IN) of speeddata > ,
[ GunNo :=] < expression (IN) of num >
[\TipChange] | [\ToolChange] | [\TipWear]
[ \RetTipWear := < variable or persistent(INOUT) of num > ]
[ \RetPosAdj := < variable or persistent(INOUT) of num > ]
[ \PrePos := < variable or persistent(IN) of num > ],
[ Zone := ] < expression (IN) of zoneddata > ,
[ Tool := ] < persistent (PERS) of tooldata >
[ \ WObj := < persistent (PERS) of wobjdata > ] ;
Related information
Described in:
Overview SpotWare Servo
47
CalibL/CalibJ
SpotWare Servo & SpotWare Servo Plus
48
Instruction
Calibrate
Instruction
Calibrate
Calibrate is used in spotwelding to calibrate the distance between the gun tips. 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 unsynchronized close/open movements
during the calibration. The open distance after the calibration is finish will be the same
as before the calibration started.
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
equipments 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.
Arguments
Calibrate GunNo [\TipChange] | [\ToolChange] | [\TipWear] [\RetTipWear] | [\RetPosAdj] | [\PrePos]
GunNo
Used gun equipment number. Corresponding to the element number in the gundata array curr_gundata in SWUSER
[\TipChange]
49
Calibrate
SpotWare Servo & SpotWare Servo Plus
Instruction
[\ToolChange]
[\TipWear]
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.
[\RetTipWear]
[\RetPosAdj]
[\PrePos]
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.
- The gun is opened to the previous position.
- For certain calibration types: curr_tip_wear in the array curr_gundata in
SWUSER is updated.
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.
50
Calibrate
Instruction
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 >
[\TipChange] | [\ToolChange] | [\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 SpotWare Servo
51
Calibrate
SpotWare Servo & SpotWare Servo Plus
52
Instruction
STTune
Instruction
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Example
STTune SEOLO_RG, 0.050, CloseTimeAdjust;
The servo tool parameter CloseTimeAdjust is temporarily set to 0.050 seconds.
Arguments
STTune MecUnit TuneValue Type
MecUnit
TuneValue
Type
53
STTune
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Instruction
Description
RampTorqRefOpen
Tunes the system parameter Ramp when decrease force, which decides how
fast force is released while opening the tool. The unit is Nm/s and a typical value
200.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter ramp_torque_ref_opening.
RampTorqRefClose
Tunes the system parameter Ramp when increase force, which decides how
fast force is built up while opening the tool. The unit is Nm/s and a typical value
80.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter ramp_torque_ref_closing.
KV
Tunes the system parameter KV, which is used for speed limitation. The unit
is Nms/rad and a typical value 1. Fore more details, see the external axis documentation.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter Kv.
SpeedLimit
Tunes the system parameter Speed limit, which is used for speed limitation.
The unit is rad/s (motor speed) and a typical value 60. Fore more details, see the
external axis documentation.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter speed_limit.
CollAlarmTorq
Tunes the system parameter Collision alarm torque, which is used for the automatic calibration of new tips. The unit is Nm (motor torque) and a typical value
1. Fore more details, see the external axis documentation.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter alarm_torque.
54
STTune
Instruction
Servo tool control & SpotWare Servo & SpotWare Servo Plus
CollContactPos
Tunes the system parameter Collision delta pos, which is used for automatic
calibration of new tips. The unit is m and a typical value 0,002. Fore more details,
see the external axis documentation.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter distance_to_contact_position.
CollisionSpeed
Tunes the system parameter Collision speed, which is used for automatic calibration of new tips. The unit is m/s and a typical value 0,02. Fore more details,
see the external axis documentation.
Corresponding system parameter: Topics Manipulator, Type Force master,
parameter col_speed.
CloseTimeAdjust
Constant time adjustment (s), positive or negative, of the moment when the tool
tips reaches contact during a tool closure. May be used to delay the closing
slightly when the synchronized pre closing is used for welding.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter min_close_time_adjust.
ForceReadyDelayT
Constant time delay (s) before sending the weld ready signal after reaching the
programmed force.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter pre_sync_delay_time.
PostSyncTime
Release time anticipation (s) of the next robot movement after a weld. This tune
type can be tuned to synchronize the gun opening with the next robot movement.
The synchronization may fail if the parameters is set too high.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter post_sync_time.
55
STTune
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Instruction
CalibTime
The wait time (s) during a calibration before the positional tool tip correction is
done. For best result, do not use a too low value, for instance 0.5 s.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter calib_time.
CalibForceLow
The minimum tip force (N) used during a TipWear calibration. For best result of
the thickness detection, it is recommended to use the minimum programmed
weld force.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter calib_force_low.
CalibForceHigh
The maximum tip force (N) used during a TipWear calibration. For best result of
the thickness detection, it is recommended to use the max programmed weld
force.
Corresponding system parameter: Topics Manipulator, Type SG process, parameter calib_force_high.
Program execution
The specified tuning type and tuning value are activated for the specified mechanical
unit. This value is applicable for all movements until a new value is programmed for
the current mechanical unit, or until the tuning types and values are reset using the
instruction STTuneReset.
The original tune values may be permanently changed in the system parameters.
The default servo tool tuning values are automatically set
- by executing instruction STTuneReset
- at a cold start-up
- when a new program is loaded
- when starting program execution from the beginning.
56
STTune
Instruction
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Error handling
If the specified servo tool name is not a configured servo tool, the system variable
ERRNO is set to ERR_NO_SGUN.
The error can be handled in a Rapid error handler.
Syntax
STTune
[ MecUnit := ] < variable (VAR) of mecunit > ,
[ TuneValue := ] < expression (IN) of num > ,
[ Type :=] < expression (IN) of tunegtype > ];
Related information
Described in:
Restore of servo tool parameters
Instructions - TuneReset
57
STTune
Servo tool control & SpotWare Servo & SpotWare Servo Plus
58
Instruction
STTuneReset
Instruction
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Example
STTuneReset SEOLO_RG;
Restore original values of servo tool parameters for the mechanical unit
SEOLO_RG.
Arguments
STTuneReset MecUnit
MecUnit
Program execution
The original servo tool parameters are restored.
This is also achieved
- at a cold start-up
- when a new program is loaded
- when starting program execution from the beginning.
Error handling
If the specified servo tool name is not a configured servo tool, the system variable
ERRNO is set to ERR_NO_SGUN.
The error can be handled in a Rapid error handler.
59
STTuneReset
Servo tool control & SpotWare Servo & SpotWare Servo Plus
Instruction
Syntax
STTuneReset
[ MecUnit := ] < variable (VAR) of mecunit > ,
Related information
Described in:
60
Instructions - STTune
forcedata
Data type
forcedata
Forcedata is used to define the parameters for control of the spot weld gun when it is
closed without welding (with a SetForce instruction or with manual actions).
Description
Forcedata has the following default structure when servo guns are used:
- Desired gun tip force.
- Desired force time.
- Expected total plate thickness.
- Allowed variation when checking the plate thickness.
Components
tip_force
(force time)
(plate thickness)
(plate tolerance)
Defines the allowed variation when checking the plate thickness [mm]
If the value is 0 the thickness check is deactivated.
61
forcedata
SpotWare Servo & SpotWare Servo Plus
Data type
Predefined data
PERS forcedata force1 := [1000, 1, 0, 0];
Defined in module SWDEFUSR.
force1 is used as default in the first programmed SetForce instruction and has following
default data:
- Desired gun tip force = 1000 N.
- Desired force time = 1 s.
- Expected total plate thickness = 0 mm.
- Allowed variation in the thickness = 0 (thickness check is deactivated)
PERS forcedata curr_forcedata{2} := [[0,0,0,0],[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 in SpotWare Servo - Programming)
Customizing
The SpotWare 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.
For further details, see Customizing SpotWare.
Default structure
<dataobject of forcedata>
<tip_force of num>
<force_time of num>
<plate_thickness of num>
<plate_tolerance of num>
62
forcedata
Data type
Related information
Described in:
The SetForce instruction
SpotWare - SetForce
Customizing possibilities
Definition of spotdata
63
forcedata
SpotWare Servo & SpotWare Servo Plus
64
Data type
gundata
Data type
gundata
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.
Description
Gundata has the following default structure when servo guns are used:
- Gun name
- Closing and equalizing times.
- Weld counters and a max value.
- Current tip wear and a max value.
- The weld timeout time.
Components
gun_name
(gun name)
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.
pre_close_time
(preclose time)
Time [s] before gun in weld position, when the asynchronous gun closure is
started.
pre_equ_time
(preequalize time)
Time [s] before gun in weld position, when the gun equalizing is activated.
weld_counter
(weld counter)
Counter for the number of welds done with this gun. The counter is automatically
incremented. Use of this data is optional. Zero set shall be handled by the user
program.
65
gundata
SpotWare Servo & SpotWare Servo Plus
max_nof_welds
Data type
(max number of welds)
curr_tip_wear
Current tip wear [mm]. This data is automatically updated after each gun calibration. Use of this data is optional.
max_tip_wear
Max allowed tip wear before tip exchange [mm]. Use of this data is optional.
weld_timeout
(weld timeout)
The max time waiting for weld_complete before the error handling is activated.
Default structure
< dataobject of gundata>
<gun_name of num>
<pre_close_time of num>
<pre_equ_time of num>
<weld_counter of num>
<max_nof_welds of num>
<curr_tip_wear of num>
<max_tip_wear of num>
<weld_timeout of num>
Predefined data
PERS gundata curr_gundata{2} :=
[[SERVOGUN, 0.1, 0, 0, 1000, 0, 10, 2],
[NOT USED, 0.1, 0, 0, 1000, 0, 10, 2]];
Defined in module SWUSER.
curr_gundata is an array with active gundata parameters for each used gun. This parameters has to be changed by the user during the installation and programming phase to
be in agreement with the weld equipment in use.
66
gundata
Data type
Customizing
The SpotWare 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.
For further details, see SpotWare Servo - Customizing.
.Related information
Described in:
SpotL/J
Customizing possibilities
Definition of spotdata
67
gundata
SpotWare Servo & SpotWare Servo Plus
68
Data type
simdata
Data type
simdata
Simulation data
Simdata is used to define the parameters that control the different simulation modes
used when testing spot weld programs.
Description
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.
Components
sim_type
(simulation type)
sim_time
(simulation time)
Defines the desired simulation time [s] when simulation of the weld is performed
in the robot controller (sim_type = 1).
inhib_close
(inhib close)
no_plates
(no plates)
69
simdata
SpotWare Servo & SpotWare Servo Plus
Data type
Predefined data
PERS simdata data curr_simdata := [0, 0.5, FALSE, FALSE];
Defined in module SWUSER.
curr_simdata is holding all active simulation data. This data influences all used weld
equipments 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 SpotWare 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.
For further details, see SpotWare Servo - Customizing.
Default structure
<dataobject of simdata>
<sim_type of num>
<sim_time of num>
<inhib_close of bool>
<no_plates of bool>
Related information
Described in:
70
SpotWare - SpotL/J
SpotWare - SpotML/J
Customizing possibilities
spotdata
Data type
spotdata
Spotdata is used to define the parameters that control the weld equipment when welding a certain spot.
Description
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.
- Allowed variation when checking the plate thickness.
Components
prog_no
(program number)
Defines the internal program in the weld timer to be used for the welding.
Permitted values: 0 - 256 (defined in the system module SWDEFUSR).
tip_force
plate_thickness
(plate thickness)
plate_tolerance
(plate tolerance)
Defines the allowed variation when checking the plate thickness [mm]
If the value is 0 the thickness check is deactivated.
71
spotdata
SpotWare Servo & SpotWare Servo Plus
Data type
Predefined data
PERS spotdata spot1 := [1, 1000, 0, 0];
Defined in module SWDEFUSR.
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.
- Expected total plate thickness = 0 mm.
- Allowed variation in the thickness = 0 mm (The thickness check is not activated)
PERS spotdata curr_spotdata{2} :=
[[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 in SpotWare Servo - Programming)
Customizing
The SpotWare 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.
For further details, see SpotWare Servo - Customizing.
Default structure
<dataobject of spotdata>
<prog_no of num>
<tip_force of num>
<plate_thickness of num>
<plate_tolerance of num>
72
spotdata
Data type
Related information
Described in:
SpotL/J
Customizing possibilities
Definition of gundata
73
spotdata
SpotWare Servo & SpotWare Servo Plus
74
Data type
3.1 Contents
Data
The names are predefined and used internally when SpotWare instructions are used.
They must therefore not be deleted.
The following global data are predefined:
Name
Declaration
Description
curr_gundata{2}
PERS gundata
curr_spotdata{2}
PERS spotdata
curr_forcedata{2}
PERS forcedata
man_forcedata{2}
PERS forcedata
75
Name
curr_simdata
Declaration
PERS simdata
Description
Current parameters for simulation.
These parameters have influence on
all used equipments.
Following signal references are predefined. After the routine SwInitUserIO has been
executed they will reference to the physical signal on the activated equipment.
Name
Declaration
reset_fault
VAR signaldo
timer_ready
VAR signaldi
weld_contactor
VAR signaldi
flow1_ok
VAR signaldi
flow2_ok
VAR signaldi
temp_ok
VAR signaldi
air_ok
VAR signaldi
equipment_ok
VAR signaldi
Process Hooks
The following predefined routines are installed with the application. They are all used
by the spotweld instructions and called from the kernel during the process.
These routines have a default functionality but can easily be changed. The routines
cannot be deleted since they are called from internal modules.
Parameters description for the process hooks:
GunNum: Gun equipment number
ErrText: Error message. An error text in this parameter will generate an error dialog
with possibilities for the operator to decide what to do. If ErrText = TxtRetry then no
interaction with the operator will be performed. The process is restarted from the
beginning.
PROC SwInitUserIO(num GunNum)
The routine is the first called process hook, called in the beginning of the motion part.
Default functionality:
76
77
78
System parameters
4 System parameters
The digital and analog signals used for SpotWare are configured in the system
parameters.
Choose Topics: IO Signals
Choose Types: User Signals
See Users Guide - System Parameters.
4.1 IO configuration
The SpotWare package can be configured for different equipment setups. This chapter
describes the basic (default) setup used by SpotWare Servo and SpotWare Servo Plus.
The basic setup is for two gun equipments but it is possible to configure up to eight gun
equipments in a similar way. This signal configuration is enough for running the
default version of the SpotWare Servo or SpotWare Servo Plus package.
The physical connections can be changed freely. To save physical signals, signals not
in use can be connected to a simulated (SIM) board (type eip000).
79
System parameters
output
g1_weld_prog
output group
g1_parity
output
g1_weld_power
output
g1_reset_fault
output
g1_enable_curr
output
g1_weld_complete
input
g1_weld_fault
input
g1_timer_ready
input
N.B. Signals in the same group must be connected to physical signals in sequence on
the same board.
80
System parameters
Gun signals for gun 1
g1_equalize
output
g1_start_water
output
g1_temp_ok
input
g1_flow1_ok
input
g1_flow2_ok
input
g1_air_ok
input
g1_weld_ contact
input
g1_equipment_ok
input
output
g1_process_fault
output
Signal names for gun 2 are the same as for gun 1 but prefixed with g2_
Other signals
force_complete
input
reweld_proc
input
skip_proc
input
81
System parameters
82
Customizing
5 Customizing
The SpotWareServo package provides wide opportunities to customize the
functionality to adapt to different types of spot weld equipment and user standards.
Another purpose of this customizing process is to reduce the amount of data and
number of variables presented to the programmer or operator.
83
Customizing
Customizing files
Sys module SWDEFINE
Data
Routines
Routines
Data
Routines
Routines
eio.cfg
mmc.cfg
84
Customizing
SWDEFUSR (Noview)
This module is running in all tasks and contains data and routines for the definition of
the different SpotWare data types. It also includes a number of setup data and
definitions of max and min values for some SpotWare data components.
SWUSER
This module is intended for the person who creates and tests the user program. The data
and routines in this module are possible to change from the teach pendant.
SWUSER is running in the same tasks as SWDEFUSR and contains current values for
the different defined SpotWare data types. As default it also contains the different
process hooks (e.g. SwPrepare and SwCloseGun). It is possible to move data and
routines from SWUSER to SWDEFUSR and vice versa, depending on if they shall be
possible to be changed from the teach pendant or not.
(See also SpotWare Servo - System Module SWUSER)
SWTEXT (BuiltIn, Shared)
Module containing text strings for the SpotWare Servo option.
SWSUP (Noview)
Module containing the routines for the autonomous supervision and signal control.
SWSUP is running as a separate semistatic task.
In the default version e.g. the weld_power signals are activated and the water_start
signal is pulsed at MotorsOn.
I/O configuration (eio.cfg)
Default spot weld signals for two gun equipments are defined but all signals are
connected to simulated boards. The signals used must be connected to physical signals.
(see SpotWare Servo - System Parameters).
MMC configuration (mmc.cfg)
This configuration file contains e.g. information about which instructions are included
in the different instruction pick lists and which routines are added to the Service menu
in the programming window, to be used as manual actions.
85
Customizing
86
Customizing
5.4 How to define max and min values for a number of data components
It is possible to define max and min values for a number of data components. The limits
will be tested at runtime. Change following data in SWDEFUSR to desired values:
data
description
default value
MAX_PRE_CLOSE_T
0.5
MAX_PRE_EQU_T
0.1
MAX_TIP_FORCE
6000
MAX_PLATE_THICK
40
MAX_PLATE_TOLER
MAX_PROG_NO
64
MIN_WELD_TOUT
MAX_WELD_TOUT
10
MIN_FORCE_T
MAX_FORCE_T
10
87
Customizing
88
Customizing
89
Customizing
5.13 How to set the number of automatic rewelds after weld error
As default the automatic reweld function is deactivated.
Set the data auto_reweld in SWDEFUSR to desired value.
90
Customizing
5.14 How to package and install the result from the customizing process
After customizing, it is a good idea to create a new map with the changed files for each
customized variant and load it as an external option. During the start up sequence the
user is then given an opportunity to pick the desired variant from a list on the teach
pendant.
When the external option is loaded the default system modules are replaced of the
customized modules and the influenced cfg files are replaced of the customized
versions for desired variant.
See example in the following figure:
91
Customizing
92
93
A robtarget includes position data for external axes which also will be set when a
ModPos is performed. Example:
p10 is a robtarget RAPID data.
p10.extax.eax_a
p10.extax.eax_b
...
p10.extax.eax_f
94
95
96
97
98
Fine calibration
Fine calibration must be performed when installing a new servo gun or if the servo gun
axis is in state Not Calibrated. Two steps are required:
1) Fine calibrate the axis in the Service window from the menu Service -> View ->
Calibration (there is no need to jog the axis to any particular position).
2) Run the service routine ManServiceCalib. The gun will close slowly until tip contact
is detected. As a result, the gun position is updated to be zero in the position of contact
and the tip wear value is reset.
Update the revolution counter
An update of the revolution counter must be performed if the position of the axis is lost.
If this happens, this is indicated by the calibration state Rev. Counter not updated.
Two steps are required to update the counter:
1) Update the revolution counter in the Service window from the menu Service ->
View -> Calibration (there is no need to jog the axis to any particular position).
2) Run the service routine ManServiceCalib. The gun will close slowly until tip contact
is detected. As a result, the gun position is updated an integer number of revolutions to
be zero in the position of contact. Tip wear of the gun remains unchanged.
99
100
101
5 Run a tool change tip calibration of gun 7B. (Make sure the position is correct)
Warning 1: 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 2: It is important that no other mechanical units used with one tool changer,
are activated but 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 IO 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 (Topics:
Manipulator, TYPE: relay) 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.
102
Users Guide
External Axes
103
104