Global 2 Servogun Setup Users Manual For 7.5 Rev 1.0
Global 2 Servogun Setup Users Manual For 7.5 Rev 1.0
Global 2 Servogun Setup Users Manual For 7.5 Rev 1.0
Specification OVRS
Global 2 Servo Gun Setup Manual Fanuc
SpotTool+ 7.50 with OVRS4 Customization
Version 1.0
February 2018
Opel Automobile GmbH
OV ME Strategy
Author(s):
Andreas Gilles — Opel Automobile GmbH Automobile GmbH /
ME PPA Automatino
Fernando de Pablo — Opel Automobile GmbH Automobile GmbH /
ME PPA Automatino
Document revisions:
Date Revision By Revision history
2018-02 1.0 Marcin Rydzek Initial
Table of Contents
16 RECOVERY .........................................................................................................................64
16.1 Recovery from Loss of Mastering........................................................................................................................... 64
16.1.1 Mastering the Gun from the Master/Calibrate screen ........................................................................ 64
19.2 A different gun from that specified by the attach instruction is attached..................................................105
19.3 The attached gun has been detached by mistake (without using the detach instruction) .....................106
19.4 The battery voltage has fallen ..............................................................................................................................106
19.5 The battery ran low while the gun was ................................................................................................................106
1.2 Purpose
The steps outlined in this manual will help to ensure that all servo weld guns are integrated and setup
in the same fashion so that the system is easily maintained and is fully functional to all RS specifications
as well as OVCS-2, and OVCH-1. This document is not intended to replace servo gun manuals from Fa-
nuc, but to simply document specific setup criteria specific to Opel Automobile GmbH applications, us-
ing Fanuc SpotTool+ 7.50 with the OVRS4 Customization.
1.4 Background
The servo guns that are being referenced use a Tolomatic/Aro3G motor that incorporates a
Fanuc encoder, and connectors that allow it to be controlled by the Fanuc robot. There are 7 different
motor sizes.
1. Tol SW44.
2. Tol HT23.
3. GSWA 201-202-ARO3G. REQUIRES WATER for Operation.
4. GSWA 101-Tol.
5. GSWA 102/103/202/IMA44-Tol.
6. GSWA 201/301/302/IMA33-Tol.
7. FANUC ACa8/4000is-40A/80A
All motors are driven by the same 40 amp auxiliary amplifier in the robot, as an integrated robot axis.
The basic setup has the robot arm as motion group 1, and the servo guns as group 2, and group 3 if
necessary. The control of the servo gun is integrated into the robot system, such that I/O is not neces-
sary to control the gun functionality, such as backup or equalization. All configured spotwelding guns
in the OV OVRS4 customization will require water flow for STROKE operation.
Confirm
Mount & Connect Section
connectors
Gun 2
are clear
Section
Perform 8
Thickness Calibration
Section
Run Tip Wear Setup 9
New Caps
Setup Macro Tip Wear
Section
Gun - Moveable Set Carried : +Z
10
Robot - Stationary Pedestal : + Z
Gun Close Direction
Section
Setup
11
Pressure Schedules
Section
Enable / Disable 12
Desired Setup
Schedules within Back up Schedules
Gun Range Section
Touch 13
Teach-Touch up
to
Path Metal
Tip Dress
Setup
2 Gun Installation
2.1 Gun Mounting
When mounting the gun to the robot faceplate, care should be given to the way the connectors for the
motor will route. There are 2 connectors that are used to control the Tolomatic motor from the robot.
The first is the power cable and the second is the encoder cable. These should be positioned such that
the cables and connectors are in the safest location relative to projected path. If there‟s interference
it is possible to rotate the motor end cap +- 90° . See motor documentation on rotating the connectors
on the end cap.
3 Wizard Setup
The wizard allows the robot software to be configured for the specific application. The programmer
needs only answer a few questions and the software configures itself based on the answers chosen by
the programmer. This functionality has been further enhanced to include setting up of the servo gun
applications, including group and axis data that previously needed to be done manually before running
the wizard. This presented some complexity issues and has been remedied by adding the necessary
functionality to the wizard. If the application is SERVO TOOL CHANGER please refer to Section 15
and 16.
the Wizard. Select Item #3 „Add to Configuration‟. This will allow the user to add the necessary items,
without having to run through the entire wizard. Prior to adding a feature, it is best to back up the
robot, in the event an error occurs. A backup all is sufficient
1. Perform a Backup All of the controller
2. Perform a Controlled Start
3. Start the wizard
· Select Option #3 „Add to Configuration‟
· Follow the prompts as necessary
4. Perform a cold boot
5. Query any new DeviceNet nodes as necessary.
The follow-
ing steps
must be
completed
in order.
Note:For all OV servo guns we want +X to close the gun tips and -X to open the gun (+Y/-Y for the second
gun on the same Group Axis). If this is not the case, as with reverse parallel guns, it will be necessary to
go into controlled start and to change the motion sign under the axis configuration from False to True.
This should only be the case on reverse parallel guns.
2. Answer [YES] When prompted if you know the gun‟s tip displacement of the gun (Gear Ratio
from the gun tag)
3. Answer [YES] When prompted if you know the gun‟s stroke limits (Max Open Distance from the
gun tag )
4. Follow the directions to master the gun and set limits
5. Close the Gun until the caps are touching and Press [F4:Closed]
6. Enter the Tip Displacement (This is the Value that was entered in the Wizard at controlled start)
7. Enter the Open and Closed limits for the weld gun.
· The open limit is the value that was entered at controlled start. The closed limit is 20mm for all
guns
5.2.2 Dual Guns on One Equipment (Typically Dual Carried or Dual Pedestal)
Because of the way Fanuc handles Dual guns on „1‟ equipment, it is necessary to master both guns to-
gether even though they each have their own Servo Gun Tune screen. The following will outline the steps
necessary to Setup dual guns as a single equipment.
1. Select [Set Gun Specs, Master Gun] for Gun 1
2. Answer [YES] When prompted if you know the gun‟s tip displacement of the gun (Gear Ratio
from the gun tag)
3. Answer [YES] When prompted if you know the gun‟s stroke limits (Max Open Distance from the
gun tag ) .
4. Follow the directions to master the gun and set limits with the following changes
· Both guns associated with the active equipment must be mastered together
· Jog both guns closed before selecting F4 at step 1.
· Enter the Tip Displacement and Limits
4. After Auto Tuning completes, it will be necessary to cycle power for the new parameters to take
effect.
5. Repeat above steps for all configured servo guns
USER
Gives indication if gun tuned ok. If the gun did not tune ok this means the gun tuned with an SOT >1400(ct).
Please check the gun mechanism for following:
· C-guns need the gun slide/carriage bearings aligned.
· X-guns for binding in the gun pivot bearings.
· If the gun is new, stroke the gun several cycles and retune
Notify the project weld gun engineer, if you determine any of these issues.
1. There is binding on the moveable tip of the slide.
2. There are mechanical restriction or gun chassis alignment problems.
TUNEDIAG.PC creates an Autotune timestamp of up to 10 records. To view these records select TUNE-
DIAG.PC, then press DATA/KAREL VARS/ TUNEDATE. This can be useful in logging the history of how
often the gun has been retuned. Note deselect TUNEDIAG.PC by selecting another program, so future
auto tunings can be recorded. Backup TUNEDIAG.VA from MD device to view the results offline on a
PC.
[ TYPE ]
TUNEDATE: Is based on the date and time on the controller. Ensure that the robot controller is setup
with the correct date and time.
6 Pressure calibration
Once the servo weld gun has been mastered and Auto Tuned, it is necessary to perform a pressure cal-
ibration on the system such that the robot can determine the relationship of motor torque to tip force.
Pressure calibration will need to be carried out for each servo gun.
6.1 Equipment
To perform pressure calibration you will need the following items.
1. Calibrated Pressure Gauge set to tracking force rather than Peak especially for C-guns.
2. Force gauge holder assembly
· This allows for one person pressure calibration by fixing the force gauge to the stationary gun
arm so that the operator has both hands free to run the pressure calibration from the teach
pendent.
· It is not recommended to run pressure calibration without this assembly because it is too cum-
bersome to hold the force gauge and execute the pressure commands from the teach pen-
dent.
NOTE:Because the weld gun is an additional axis to the robot, this task must be performed with servo
power available to all robot axes.
6.2 Performing Calibration
Pressure calibration is to be performed in T1 mode at 100% override. This is possible because the force
calibration takes place at 50mm/s, which is less than 250mm/s.
The following are the steps necessary to calibrate the weld pressures on a servo gun:
1. Press [MENUS] -> [Setup] -> [Servo Gun]
2. Select <*DETAIL*> under General Setup
Verify
8. Set the force gauge for Tracking Mode, especially when pressure checking C-Type guns lowest
pressure. This should reduce erratic measurements due to the kinematics of the gun.
9. Attach the force gauge to the stationary arm of the weld gun such that the gauge face is rest-
ing on the stationary tip.
10. Enter initial torque % for first pressure calibration test. 5% is a good starting point.
Verify
Torque can be
adjusted in 0.1%
increments
15. Repeat steps 9 – 13a for each of the pressures in the table up to the maximum rated force of the
gun. Make sure not to exceed the rated force for the gun. The motors are stronger than the guns.
· If the necessary torque required to reach a required force exceeds the allowed torque (Max
Gun Toque (%)), it will be necessary to exit pressure calibration by setting pressure calibration
complete, and accepting/updating the torque limits when prompted. This will update the
over-torque limits. To complete pressure calibration simply restart pressure calibration and
the limits will have been increased, allowing for the completion of pressure calibration.
16. When torque values have been entered for all valid pressures in the table, change the Calibra-
tion Status to complete.
Cursor up to INCOMP
when complete with
pressure calibration
5. Gun cannot achieve the lowest requested pressure in the calibration table.. This could be indi-
cation that the gun is experiencing higher than normal friction. Accept the lowest attainable pres-
sure with the guage in tracking mode. Complete the remaining pressure calibration targets ,then re-
view the details of servo gun overtorque protection menu(Section 7.0). If the Standard overtorque
value exceeds 1400 torque counts the gun mechanism is experiencing higher than normal resistance
during and must be checked for the following:
· C-guns need the gun slide/carriage bearings aligned.
· X-guns could binding in the gun pivot bearings.
· A failing servo actuator.
Notify the project weld gun engineer, if you determine any of these issues.
6. Requested Torque % exceeds limit and Pressure calibration cannot be performed
· This occurs when attempting to calibrate a torque that is greater than that specified under
Max Gun Toque (%). This can occur because the values that Fanuc defaults to are conservative
and assume full mechanical advantage.
· To allow calibration to use torques greater than max torque it is necessary to exit pressure
calibration by setting pressure calibration complete and accepting/updating the torque limits
when prompted. This will update the over-torque limits.
· Restart Pressure calibration and the limits will have been increased, allowing for the comple-
tion of pressure calibration.
7 Overtorque Protection
Servo Gun OverTorque protection is part of the Enhanced Servo Gun Software Option. OverTorque Pro-
tection is designed to reduce the damage to servo guns and servo gun actuators cause by excessive tip
force. OverTorque protection monitors the motor current on the servo gun axis to determine if an un-
expected disturbance is present. It then removes servo power from the motor and post a “Collision
Detect Alarm” when a potential over torque condition is captured.
OverTorque Protection is enabled by default with a sensitivity of 100%. To optimize OverTorque Pro-
tection the sensitivity can be increased to a max of 200% or decreased to 1. Note that the sensitivity
can only be decreased to the max force of the gun. Sensitivity can only be modified after the servo gun
has completed the Autotune process.
It is important to view the Standard Overtorque value after Autotune and Pressure calibrating a servo
gun. This value is an indirect measure of the friction in a gun as measured during Autotune. The peak
value is captured during the Autotune process. Guns that exhibit high Standard OverTorques are sub-
ject to momentarily achieving higher than desired tip forces. This is a result of the gun needed a mini-
mal amount of force to move, and in some cases this force due to friction can be larger than a desired
welding or tip dress force. If this value is twice as large as the lowest pressure in the pressure calibration
table; (1000N/1600N tip dress force) this condition exists. It is normal for new guns to experience a
break in period and they should be re-Autotuned and repressure calibrated after being broke in. Guns
with Standard Overtorques above 1400 torque counts should be evaluated for mechanical issues.
To view the Overtorque Protection Menus and the Standard Overtorque value use the following pro-
cedure:
1. Press [MENUS] -> [Setup] -> [Servo Gun]
2. Select <*DETAIL*> under General Setup
Enable
0.8% is a % of am-
plifier torque in-
crease where tip
forces may begin
to deviate by 10%
3. Select [YES] when prompted “Are you sure you want to do this:
10.1 Setup
To setup Tip Wear Compensation it is necessary to enable compensation under Servo Gun Setup, and
to run the respective setup program for the configured servo guns. For dual guns on a single equipment
tip wear compensation is enabled or disabled for both guns
10.1.1 Enabling Tip Wear Compensation
To enable Tip Wear compensation, navigate to the Servo Gun Setup Menu for the respective gun and
enable Tip Wear Compensation.
1. Press [MENUS] -> [Setup] -> [Servo Gun]
2. Select <*DETAIL*> under General Setup
ENABLE
Note: For dual guns Tip Wear compensation is Enabled/Disabled for both guns.
For 2 guns on 1
Equipment, Tip Wear
Comp, Gun Sag and
robot close direction
are under Dual Gun
Common
ENABLE
Shows complete
when tip wear
setup has been
complete
10.3.1.1 TW_GUNS
This program is run whenever the steppers are reset, or whenever new cap are placed on the robot. This
routine calls TW_UPDCC(x) for every configured servo gun.
10.3.1.2 CAP_WEAR
This program is run every cycle to update the tip wear on one of the servo guns. This routine is typically
run on the way home after entering segment 63 (clear of transfer) or during a drop-off for a pedestal
application. This routine will only update a single gun every cycle because of the time involved ~ 4
seconds. With that said, each gun will update every 4th cycle worst case.
11.1 Carried +Z
For Carried spot welding applications, the gun Close direction (Robot) shall be relative to the Utool of
the gun and shall be +Z, for the tool as defined in RS-3.
UT: UTOOL
Should be set to
UT for Carried
Applications
1 (UTOOL #)
This is the Utool to use
for Close Gun Direction
(Robot)
+Z
The direction the robot
moves relative to the
UTOOL to bring the sta-
tionary tip to the metal
Select [Detail]
to look at Dual
Gun Common
Items
UT: UTOOL
Should be set to
UT for Carried
Applications
+Z
The direction
the robot
moves relative
to the UTOOL
to bring the
stationary tip
to the metal
1 (UTOOL #)
This is the Utool
to use for Close
Gun Direction
(Robot)
11.2 Pedestal +Z
For Pedestal spot welding applications, the gun Close direction (Robot) shall be relative to the UFrame
of the gun and shall be -Z, for the tool as defined in RS-3.
UF: FRAME(RTCP)
Should be set to UT for
Carried Applications
1 (UFRAME #)
This is the UFrame to use
for Close Gun Direction
(Robot)
+Z
The direction the robot
moves relative to the
UFRAME to bring the sta-
tionary tip to the metal
+Z
The direction the robot
moves relative to the
UFRAME to bring the
stationary tip to the
metal
1 (UFRAME #)
This is the UFrame to
use for Close Gun Di-
rection (Robot)
12 Pressure schedules
Opel Automobile GmbH has standardized on the Pressure Schedules that are to be used for all servo
welding applications. They include 2 schedules for each of the approved weld forces, with the only dif-
ference being the part thickness set under pressure schedule detail. These 16 pressure schedules are
not to be modified, because they include the best compromise between speed, performance and com-
plexity. If a need arises that requires a unique pressure schedule, it will be necessary to add a schedule.
However, this will require buy-in from the lead robot and welding engineers due to the fact that it af-
fects the weld spot verification process, and leads to uniqueness, and added complexity.
12.1 Background
The pressure schedules in the robot controls more than just the weld pressures, it also controls the way
the robot approaches a weld and departs after a successful weld. There are 99 pressure schedules
available for each gun. The elements listed below are available for each of the 99 schedules.
To access the pressure schedules in the robot:
1. Press [Data]
2. Press [F1: Type] -> [Pressure]
1. Setting
Manual=True will
cause the specified
Verify schedule to appear
These are the in the select list
default pressure when the [Gun] U1
schedules for all key is pressed by
robots. Only the the user
forces up to the
max rated force 2. Pressing [Gun]
of the gun will (non-shifted) U1
be present will
select the next
Pressure Schedule
in the list that is set
TRUE
3. Pressing [Shift] -
[Gun] U1 will cause
the weld gun to
move to close at
the defined pres-
sure
Note: When validating pressure schedules, it is important to do so with tryout mode DISABLED
12.2 Elements
There are 5 elements to each pressure schedule that need to be set correctly for the servo guns to op-
erate in an efficient and effective manner.
1. Weld Force
· The amount of force the gun will apply before welding.
2. Part Thickness
NOTE: Because the robot does not initiate the weld before the gun is at pressure minimal squeeze time
is necessary in the welder control.
12.2.2 Part Thickness
The part thickness must be set in order for the robot to quickly perform the weld, and can also be used
to detect that the correct / all parts to be welded are present. The part thickness needs to be set rea-
sonably close to the actual thickness of the part(s) to be welded because the robot uses this thickness
to determine when to switch from positional to torque mode. If this value is too large the robot will
switch to torque mode to early, and will have to search (at a slower speed) until it detects the part. If
this value is too small it is possible that the tips could touch the part while still in positional rather than
torque mode. This could lead to collision alarms, and some part deformation.
To access a pressure schedule in the robot:
Part Thickness of
3.3mm for pressure
schedule # 1
12.2.3.1 Enabling
The Gun Sag Compensation must be enabled for the robot to compensate for gun deflection.
1. Press [MENUS] -> [Setup] -> [Servo Gun]
2. Select <*DETAIL*> under General Setup
Select:
Enable
12.2.3.2 Setup
1. Make sure that Gun Sag Compensation is enabled
2. Verify that the gun sag values are not 0.0mm in the pressure schedule detail page. [Gun Sag
Comp Value (mm)] will be calculated automatically from data taken during Autotuning, and will be
automatically filled into the pressure schedules once pressure calibration is complete.
Pushing depth
is 6mm for
schedules 1-16
Part thickness
will vary by
schedule
Calibrated speed
for all schedules by
default is 50mm/s
13 Backup schedules
The robot has the ability to program backup positions that specify how much the gun is to open when
the specified Backup schedule is called. This offers a simplified method of programming gun open
positions, without requiring the user to jog the weld gun axis. The backup command can be added to
the standard SPOT instruction, or executed as a manual function using the Backup Key.
There are 30 backup schedules that can be programmed for each gun.
To locate the Backup Data:
1. [DATA] -> [F1:TYPE] -> [6:Backup]
3.Pressing [Shift] -
[BACKUP] U2 will cause
the weld gun to move to
the currently selected
Backup position
The Backup Schedules are pre-defined in 10mm increments. This will allow for easy assignment of
Backup Schedules without referring to the backup data. I.e. Backup No. 1 is 10mm, BU #2 is 20mm, BU
#15 is 150mm and so on. This table can be adjusted as necessary for specific applications, but should
be fine as is, with the operator setting Manual = True for those positions that they want to access from
the Backup Key.
14 Distance Schedules
The robot has the ability to program distance schedules that specify how close the gun is to be to the
work piece as it approaches a weld. The associated parameters are for Gun (Moveable) Robot (Sta-
tionary) tips. These distance schedules are used in the SPOT instruction to determine the position the
robot moves the caps to prior to and after a weld. All values are in addition to the part thickness. So if
you are calling a SPOT instruction with a pressure schedule that is 3mm, and you use SD (Start Distance)
=4, the tips are 11mm apart. 4mm above the part and 4mm below the part. The same applies for ED
(End Distance), which is where the robot will move the gun to after the weld.
There are 99 distance schedules that can be programmed for each gun.
The Distance Schedules are pre-defined in 1mm increments for distances 1 thru 20 this will allow for
easy assignment of Distance Schedules without referring to the distance data. I.e. Distance #1 is 1mm,
Distance #10 is 10mm and so on. Distance Schedules 21-34 range from 40mm-320mm, this allows for
multiple open distances for the moveable tip.
15 Program listings
15.1 Style templates
The following templates are unique to servo gun applications and are listed here so that the differences
can be explained and documented.
15.1.1 Carried Servo Gun
/PROG STYLE01
…
1: !************************* ;
2: !STYLE 01 CARRIED WELDER ;
3: !Servo Gun TEMPLATE ;
4: !************************* ;
5: ;
6: ! Line-XX Platform-XX ;
7: ! Station XXX - Robot X ;
8: ;
9: !ECHO STYLE AND OPTION ;
10: GO[1:ManualStyle]=... ;
11: ECHO OPTION ;
12: MAINT_PROG[1]=MOV_REPR ;
13: ;
14: CALL S01POUNC ;
15: ;
16: CALL STPR_CHK ;
17: ;
18: CALL S01PROC1 ;
19: ;
20: RUN CAP_WEAR ;
21: ;
22: MOVE TO HOME ;
23: ;
24: WAIT (F[1:Capwear Complete]) ;
/POS
/END
WAIT (F[1]
This wait allows for the tip wear
update to complete prior to the
style aborting
64: ;
65: MOVE TO HOME ;
66: WAIT (F[1:Capwear Complete]) ;
67: LBL[99] ;
/POS
/END
15.2.2 CAP_WEAR
This routine is called either by the style program or by the tip dress check program for pedestal tip
dressing robots. For carried guns this routine should be called after the robot is clear of transfer (Seg-
ment 63) and on the way home. For pedestal applications this routine should be called before the drop
off routine, so that the robot can update a gun while dropping the part off. This routine calls
NUM_GUNS which determines the number of servo guns on the robot. It then increments a R15 by 1 and
does a wear update on that gun. Once the number of guns limit is reached it sets R15 to 0 and the
updating starts back at gun 1. The semaphore allows this task to compete prior to aborting the style
program. See style templates for examples
15.2.4 TW_GUNS
This routine is called by TIP_RST, after a cap change to run a tip wear update on all configured servo
gun. TW_UPDCC(X) is the tip wear program for new caps (Tip Wear Update Caps Changed), where X
is the gun number. This routine also makes sure that stroke is enabled, so the robot does not try to
update in no stroke.
171: DO[48:Process1Fault]=OFF ;
172: JMP LBL[1] ;
173: ;
174: LBL[45] ;
175: CALL USERCLR ;
176: CALL USERPAGE ;
177: ;
178: MESSAGE[...] ;
179: MESSAGE[...] ;
180: MESSAGE[ WEAR AFTER CAPCHANGE] ;
181: MESSAGE[ IS NOT ZERO] ;
182: MESSAGE[...] ;
183: MESSAGE[...] ;
184: MESSAGE[ REPLACE CAPS] ;
185: MESSAGE[...] ;
186: MESSAGE[...] ;
187: DO[48:Process1Fault]=ON ;
188: UALM[49] ;
189: DO[48:Process1Fault]=OFF ;
190: JMP LBL[1] ;
191: ;
192: LBL[99] ;
192: !Reset Wtroff TP Flag so WS resets;
154: F[10:WTROFF TP CONT]=(OFF) ;
193: !Ensure Water Reset ;
194: CALL RST_WTR ;
195: F[1:Capwear Complete]=(ON) ;
197: ;
/POS
/END
15.2.5 WR_UPDAT
This routine is called to execute tipwear update or reset the wear values. Gun number and a new tips
flag is passed to this program depending on the robot program execution. In some cases the tipwear
is updated, in other cases it is reset with new weld caps.
52: !******************************** ;
53: !IF BUSY ON CALL CAPLOSS, ;
54: !GO TO MENUS 9 USER SCREEN ;
55: !******************************** ;
56: IF DO[43:FFRActive]=ON,JMP LBL[20] ;
57: CALL CAPLOSS ;
58: !******************************** ;
59: !IF BUSY ON CALL CAPLOSS, ;
60: !GO TO MENUS 9 USER SCREEN ;
61: !******************************** ;
62: ;
63: IF R[40:Prompt Y/N]=1,JMP LBL[20] ;
64: IF R[40:Prompt Y/N]=0,JMP LBL[99] ;
65: ;
66: LBL[40] ;
67: !Reset Wear Since Cap Change ;
68: R[54:TD1 CntSinceCC]=0 ;
69: R[55:TD2 CntSinceCC]=0 ;
70: R[56:TD3 CntSinceCC]=0 ;
71: R[57:TD4 CntSinceCC]=0 ;
72: ;
73: !If Air gun skip tip wear update ;
74: CALL SG_LOADD(17) ;
75: IF R[17:SG OPTION LOADED]=0,JMP LBL[99] ;
76: IF $sgcfg[1].$EQUIP_TYPE=1,JMP LBL[99] ;
77: ;
78: !Determine Fanuc Servo ;
79: !S/W Option J665 ;
80: !If option exists T/C device ;
81: !is present, if not manual ;
82: !modification is required ;
83: CALL SGTCLOAD ;
84: IF R[163]=0,JMP LBL[50] ;
85: ;
86: !Determine if Tool Changer ;
87: CALL CKDNETND(54,38) ;
88: IF R[38:DNetNode Present]=0,JMP LBL[50] ;
89: !Latched and Rbt Holding Gun ;
90: CALL TCGETNUM ;
91: !TW Only on Servo Spot ;
92: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[99] ;
93: LBL[50] ;
94: CALL TW_GUNS ;
95: IF (R[226:DNETCFG 64/256]<>1),DO[132:SGApprTipReplace]=OFF ;
96: LBL[99] ;
/POS
/END
16 Recovery
The following are the recommended recovery procedures necessary to recover from the most common
and foreseeable errors that will occur once the servo guns are in production. It is anticipated that this
section will grow as we garner more information and additional lessons learned.
20. Water saver can only verify the caps are changed on the gun that is held. Cannot error proof
that caps have been removed from all guns.
21. All guns are dressed after cap change before next job is processed.
22. All guns are stored in the, at home, open position when on the stands.
23. Cap change must be planned activity with time allotted for it.
24. Tip dressing occurs after the current job is processed and before the next job starts. If two guns
are used on a single job and one needs to tip dress, gun that requires it is picked up and dressed at
the end of the job before next job is started.
25. If multiple tip dressers are required to accommodate different cap / cutter combinations, addi-
tional steps will be required to dress before cap change.
26. All guns are stored in the, at home, open position when on the stands.
27. Water saver can only verify the caps are changed on the gun that is held. Cannot error proof
that caps have been removed from all guns.
28. If the PLC or Robot or WC losses memory or is reloaded, all caps must be changed and all guns
are dressed before next job. Manual intervention required
29. The robot and the PLC must track which gun is held.
30. FFR does not swap guns; FFR only applies to the gun that is held. FFR does not support tool
change for hot backup.
31. Robots will be processed to hold the high runner tool at home under normal conditions. After
cap change or tip dress the robot may have to pick up the high runner tool on the next cycle.
17.3 Hardware Setup Procedure for Carried Servo Weld Gun(s)
The procedure described here is strictly for carried servo guns on tool changers for changing 2 guns. If
adding more than 2 guns, this procedure has to be repeated for guns 3 and 4. It is recommended to
discuss special cases with Robot Software Standards Team (MAAC N/A) since every possible combina-
tion cannot be comprehended in this manual.
1. Run the Setup Wizard for GUN #1 as described in Section 3. Run the wizard as a single carried
gun. In servo gun tool changing applications all the guns that are on tool changers belong to the
same group but with multiple axis. Typically in strict carried servo gun tool change application, the
servo guns will belong to group 2 with 2 axis, one for each gun.
2. Control Start the robot again.
3. Press [MENUS, MAINTENANCE], then press [ENTER]. The screen will indicate GROUP 1 the robot
arm and GROUP 2 servo axis. GROUP 2 will require modification; this GROUP can contain up to 3 more
servo axis for a total of 4 servo guns.
MOTOR CODE:
Enter motor code from table
below here. Contact MAAC
N/A if the motor code is not
listed.
7. Press [#1 Partial (Minimal setup questions)]. Enter the motor code from the table below for the
correct motor type on gun 2 etc.
8. Partial Question Set only requires a FANUC specific 5 digit number. Please refer to the table
above for your specific motor. OV Global robots typically have 40A amplifiers. Please check controller
to verify amplifier size. If motor is not listed in the table, [#2 Complete (All setup questions)] must be
selected.
65: $SVPRG_ENB=1 ;
/POS
/END
18.3 Style template (Servo tool-changer) 1carried gun and 1 MH end effector
/PROG Template 24
1: !************************* ;
2: !STYLE XX Carried SG EOAT ;
3: !and Carried MH EOAT ;
4: !WITH Tool CHANGE TEMPLATE ;
5: !************************* ;
6: ;
7: ! Line-XX Platform-XX ;
8: ! Station XXX - Robot X ;
9: ;
10: !ECHO STYLE AND OPTION ;
11: GO[1:ManualStyle]=... ;
12: ECHO OPTION ;
13: MAINT_PROG[1]=MOV_REPR ;
14: ;
15: CALL POUNCE ;
16: ;
17: !TCCKTOOL(X) represents ;
18: ! the tool needed for ;
19: ! process 1 program ;
20: CALL TCCKTOOL(1) ;
21: IF $sgcfg[1].$EQUIP_TYPE<>2,JMP LBL[1] ;
22: R[237:SkipCapWrMem]=0 ;
23: IF $MCR_GRP[2].$MACHINELOCK=0,JMP LBL[1] ;
24: !SGATTACH(X) represents ;
25: ! the tool needed for ;
26: ! the process program ;
27: CALL SGATTACH(1) ;
28: LBL[1] ;
29: CALL STPR_CHK ;
30: ;
31: CALL SxxPROC1 ;
32: ;
33: IF DO[43:FFRActive]=ON,JMP LBL[99] ;
34: ;
35: CALL CAP_WEAR ;
36: ;
37: REQUEST CONTINUE ;
38: SET SEGMENT(7) ;
39: ;
40: !TCCKTOOL(X) represents ;
41: !the tool needed for MH ;
42: CALL TCCKTOOL(2) ;
43: ;
44: CALL SxxPICK1 ;
45: ;
46: CALL SxxDROP1 ;
47: ;
48: LBL[99] ;
49: MOVE TO HOME ;
/POS
/END
18.5 TCCKTOOL
This routine is used to perform attached gun verification and gun swap with the required gun.
If the attached gun on the robot is not the one that the passed argument calls for, the robot will perform
a gun change with the correct gun (passed argument). You may choose to modify the path calls, if the
path naming for pick and drop is different than the one used in here. For example; if the path name in
your particular application is “S10PICK1”, than change TCPICKH1 to “S10PICK1” etc.
18.6 TCGETNUM
This routine performs tool attached check and returns the gun number attached to the robot based on
GI[15] which is loaded in R[113] for use by other routines.
47: UALM[1] ;
48: DO[45:MHFault]=OFF ;
49: JMP LBL[1] ;
50: ;
51: LBL[25:ATTACHED TOOL # ] ;
52: MESSAGE[...] ;
53: MESSAGE[TOOL CHANGER FAULT.] ;
54: MESSAGE[ ATTACHED TOOL] ;
55: MESSAGE[ NUMBER OUT OF RANGE.] ;
56: MESSAGE[ GUN NUMBER SHOULD BE] ;
57: MESSAGE[ 1,2,3, OR 4 ONLY.] ;
58: DO[45:MHFault]=ON ;
59: UALM[1] ;
60: DO[45:MHFault]=OFF ;
61: JMP LBL[1] ;
/POS
/END
18.7 TCINNEST
This routine will perform a tool input check to determine if a gun is in the nest. This macro essentially
will perform a “part check” for a servo gun in the nest. Reference only for robot controlled tool nests.
18.8 TCEMPTY
This routine will perform a tool input check to determine if a gun nest is empty. This macro essentially
will perform a “NO part check” for a servo gun. Reference only for robot controlled tool nests.
88: UALM[3] ;
89: DO[45:MHFault]=OFF ;
90: JMP LBL[10] ;
91: ;
92: LBL[35] ;
93: MESSAGE[...] ;
94: MESSAGE[HEAD IN NEST 2 FAULT.] ;
95: MESSAGE[HEAD IN NEST 2 INPUT] ;
96: MESSAGE[AND NEST IN POSITION] ;
97: MESSAGE[NEED DI[731]OFF] ;
98: MESSAGE[ AND DI[733] ON] ;
99: DO[45:MHFault]=ON ;
100: UALM[3] ;
101: DO[45:MHFault]=OFF ;
102: JMP LBL[10] ;
103: ;
104: LBL[45] ;
105: MESSAGE[...] ;
106: MESSAGE[HEAD IN NEST 2 FAULT.] ;
107: MESSAGE[HEAD IN NEST 2 INPUT] ;
108: MESSAGE[AND NEST IN POSITION] ;
109: MESSAGE[NEED DI[727]OFF] ;
110: MESSAGE[ AND DI[725] ON] ;
111: DO[45:MHFault]=ON ;
112: UALM[3] ;
113: DO[45:MHFault]=OFF ;
114: JMP LBL[10] ;
115: ;
116: LBL[55] ;
117: MESSAGE[...] ;
118: MESSAGE[HEAD IN NEST 2 FAULT.] ;
119: MESSAGE[HEAD IN NEST 2 INPUT] ;
120: MESSAGE[NEED DI[731]OFF] ;
121: DO[45:MHFault]=ON ;
122: UALM[3] ;
123: DO[45:MHFault]=OFF ;
124: JMP LBL[10] ;
125: ;
126: LBL[65] ;
127: MESSAGE[...] ;
128: MESSAGE[HEAD IN NEST 3 FAULT.] ;
129: MESSAGE[HEAD IN NEST 3 INPUT] ;
130: MESSAGE[NEED DI[739]OFF] ;
131: DO[45:MHFault]=ON ;
132: UALM[3] ;
133: DO[45:MHFault]=OFF ;
134: JMP LBL[10] ;
135: ;
136: LBL[75] ;
137: MESSAGE[...] ;
138: MESSAGE[HEAD IN NEST 4 FAULT.] ;
139: MESSAGE[HEAD IN NEST 4 INPUT] ;
140: MESSAGE[NEED DI[747]OFF] ;
141: DO[45:MHFault]=ON ;
142: UALM[3] ;
143: DO[45:MHFault]=OFF ;
144: JMP LBL[10] ;
18.9 TCCLSLID
This macro will close the tool change nest cover lid, if one exists. Reference only for robot controlled tool
nests.
18.10 TCOPNLID
This macro will open the tool change nest cover lid, if one exists. Reference only for robot controlled tool
nests.
16: DO[722:doOpenNest1]=ON ;
17: WAIT DI[722:diNest1Open]=ON AND DI[721:diNest1Closed]=OFF TIMEOUT,LBL[15] ;
18: JMP LBL[99] ;
19: ;
20: LBL[30:OPEN LID 2] ;
21: IF R[27:Num of TC Slides]=1,JMP LBL[20] ;
22: DO[729]=OFF ;
23: DO[730]=ON ;
24: WAIT DI[730:diNest2Open]=ON AND DI[729:diNest2Closed]=OFF TIMEOUT,LBL[25] ;
25: JMP LBL[99] ;
26: ;
27: LBL[40:OPEN LID 3] ;
28: DO[737:doCloseNest3]=OFF ;
29: DO[738:doOpenNest3]=ON ;
30: WAIT DI[738:diNest3Open]=ON AND DI[737:diNest3Closed]=OFF TIMEOUT,LBL[35] ;
31: JMP LBL[99] ;
32: ;
33: LBL[50:OPEN LID 4] ;
34: DO[745:doCloseNest4]=OFF ;
35: DO[746:doOpenNest4]=ON ;
36: WAIT DI[746:diNest4Open]=ON AND DI[745:diNest4Closed]=OFF TIMEOUT,LBL[45] ;
37: ;
38: LBL[99:PROGRAM END] ;
39: R[162:TC PlaceHolder]=0 ;
40: END ;
41: ;
42: ;
43: !******FAULTS********* ;
44: LBL[5:Invalid Nest Num] ;
45: MESSAGE[...] ;
46: MESSAGE[TOOL CHANGER FAULT.] ;
47: MESSAGE[ INVALID LID SELECTED.] ;
48: MESSAGE[ LID SELECTION MUST] ;
49: MESSAGE[ BE 1 OR 2.] ;
50: DO[45:MHFault]=ON ;
51: UALM[3] ;
52: DO[45:MHFault]=OFF ;
53: JMP LBL[1] ;
54: ;
55: LBL[15:OPEN LID 1 FAULT] ;
56: MESSAGE[...] ;
57: MESSAGE[TOOL CHANGER FAULT.] ;
58: MESSAGE[ LID 1 OPEN INPUTS] ;
59: MESSAGE[ NOT MADE. NEED] ;
60: MESSAGE[ DI[722] ON AND] ;
61: MESSAGE[ DI[721] OFF.] ;
62: DO[45:MHFault]=ON ;
63: UALM[3] ;
64: DO[45:MHFault]=OFF ;
65: JMP LBL[10] ;
66: ;
67: LBL[25:OPEN LID 2 FAULT] ;
68: MESSAGE[...] ;
69: MESSAGE[TOOL CHANGER FAULT.] ;
70: MESSAGE[ LID 2 OPEN INPUTS] ;
71: MESSAGE[ NOT MADE. NEED] ;
72: MESSAGE[ DI[730] ON AND] ;
73: MESSAGE[ DI[729] OFF.] ;
74: DO[45:MHFault]=ON ;
75: UALM[3] ;
76: DO[45:MHFault]=OFF ;
77: JMP LBL[10] ;
78: ;
79: LBL[35:OPEN LID 3 FAULT] ;
80: MESSAGE[...] ;
81: MESSAGE[TOOL CHANGER FAULT.] ;
82: MESSAGE[ LID 2 OPEN INPUTS] ;
18.11 TCLTCHTL
This macro is used to latch the robot side of the tool changer to the tool side of the tool changer.
1: !******************************** ;
2: !LATCH TOOL CHANGER HEAD ;
3: !******************************** ;
4: ;
5: LBL[1:MAIN LOOP] ;
6: IF DI[700:diAuxPowerOKT1Ch]=OFF,JMP LBL[5] ;
7: DO[698:doUnlatchTool]=OFF ;
8: DO[697:doLatchTool]=ON ;
9: WAIT DI[697:diToolLatched]=ON TIMEOUT,LBL[15] ;
10: ;
11: LBL[99:PROGRAM END] ; DV_AROFF(2,55)
12: CALL DV_AROFF(2,55) ; AR[1] = Device Net Board
13: R[113:Current Head]=GI[15:giToolNumber] ; AR[2] = Node number
14: R[154:Head Detect]=1 ;
15: R[158:Tool Connecting]=1 ;
16: END ; This KAREL program call will enable the Device
17: ; Net error checking for node 55 (Tool Side of
18: ; tool changer)
19: !******FAULTS******** ;
20: LBL[5] ;
21: MESSAGE[...] ;
22: MESSAGE[AUX POWER FAULT.] ;
23: MESSAGE[ NO AUX POWER AT ROBOT ] ;
24: MESSAGE[ SIDE OF TOOL CHANGER.] ;
25: MESSAGE[ NEED DI[700] ON.] ;
26: DO[45:MHFault]=ON ;
27: UALM[3] ;
28: DO[45:MHFault]=OFF ;
29: JMP LBL[1] ;
30: ;
31: LBL[15] ;
32: !Double Check before FLT ;
33: IF DI[697:diToolLatched]=ON AND DI[698:diToolUnlatched]=OFF,JMP LBL[99] ;
34: MESSAGE[...] ;
35: MESSAGE[TOOL CHANGER FAULT.] ;
36: MESSAGE[ TOOL CHANGER FAILED TO] ;
37: MESSAGE[ COUPLE. NEED DI[697]] ;
38: MESSAGE[ ON AND DI[698] OFF.] ;
39: DO[45:MHFault]=ON ;
40: UALM[3] ;
41: DO[45:MHFault]=OFF ;
42: JMP LBL[1] ;
/POS
/END
18.12 TCUNLTCH
This macro is used to unlatch the robot side of the tool changer to the tool side of the tool changer.
1: !******************************** ;
2: !UNLATCH TOOL CHANGER HEAD ;
3: !******************************** ;
4: ; DV_AROFF(2,55)
5: LBL[10:MAIN LOOP] ; AR[1] = Device Net Board
6: IF DI[700:diAuxPowerOKT1Ch]=OFF,JMP LBL[5] ; AR[2] = Node number
7: CALL DV_ARON(2,55) ;
8: DO[697:doLatchTool]=OFF ;
9: DO[698:doUnlatchTool]=ON ; This KAREL program call will disable the Device
10: WAIT DI[698:diToolUnlatched]=ON TIMEOUT,LBL[15] ; Net error checking for node 55 (Tool Side of tool
11: ; changer). The node is not monitored if it is not
12: LBL[99:PROGRAM END] ; connected to the robot.
13: R[113:Current Head]=0 ;
14: R[154:Head Detect]=0 ;
15: R[158:Tool Connecting]=0 ;
16: !Reset Tipdress request ;
17: !for carried spotwelders ;
18: IF (GI[17:giTCAppType]=2 OR GI[17:giTCAppType]=3),DO[53:Proc1TipMaintReq]=OFF ;
19: IF (GI[17:giTCAppType]=2 OR GI[17:giTCAppType]=3),DO[60:Proc2TipMaintReq]=OFF ;
20: END ;
21: ;
22: ;
23: !*******FAULTS******* ;
24: LBL[5] ;
25: MESSAGE[...] ;
26: MESSAGE[AUX POWER FAULT.] ;
27: MESSAGE[ NO AUX POWER AT ROBOT ] ;
28: MESSAGE[ SIDE OF TOOL CHANGER.] ;
29: MESSAGE[ NEED DI[700] ON.] ;
30: LBL[54:MH FAULT LOGIC] ;
31: DO[45:MHFault]=ON ;
32: UALM[3] ;
33: DO[45:MHFault]=OFF ;
34: JMP LBL[10] ;
35: ;
36: LBL[15] ;
37: IF DI[697:diToolLatched]=OFF AND DI[698:diToolUnlatched]=ON,JMP LBL[99] ;
38: IF DI[699:diUnlatchEnrgzed]=ON,JMP LBL[16] ;
39: MESSAGE[...] ;
40: MESSAGE[TOOL CHANGER FAULT.] ;
41: MESSAGE[ ANTI-DROP SWITCH NOT] ;
42: MESSAGE[ MADE. DI[699] MUST BE] ;
43: MESSAGE[ ON IN ORDER TO] ;
44: MESSAGE[ UNLATCH HEAD. CHECK] ;
45: MESSAGE[ FOR SWITCH MADE, WHEN] ;
46: MESSAGE[ TOOL IS IN THE NEST.] ;
47: DO[45:MHFault]=ON ;
48: UALM[3] ;
49: DO[45:MHFault]=OFF ;
50: JMP LBL[10] ;
51: ;
52: LBL[16:TOOL CHNG FAULT] ;
53: MESSAGE[...] ;
54: MESSAGE[TOOL CHANGER FAULT.] ;
55: MESSAGE[ TOOL CHANGER FAILED TO] ;
18.13 TCPICKH1
This routine is used to pickup gun number 1. The name of the routine can be modified to reflect your
particular naming convention. If you choose to modify the program name, make the corresponding
change to TCCKTOOL routine. There are 3 user modification areas within this routine.
/PROG TCPICKH1
18.14 TCDROPH1
This routine is used to drop gun number 1. The name of the routine can be modified to reflect your par-
ticular naming convention. If you choose to modify the program name, make the
corresponding change to TCCHKGUN routine. There are 3 user modification areas within this routine.
/PROG TCDROPH1
1: !BEGIN DROP HEAD PROGRAM ;
2: !FOR TOOL (1) ;
3: ;
4: !CHECK FOR NEST EMPTY ; User Modification Area 1:
5: ! NOTE: REMOVE NEST EMPTY MACRO ; If Tool Nests are controlled byPLC,
6: ! IF NEST IS CONTROLLED BY ; modify per application the path
7: ! THE PLC. SEG. REQ FOR PLC NEST ;
8: CALL TCEMPTY(1) ;
segments required from the PLC here.
9: ;
10: !OPEN TOOL CHANGER NEST LID ; If Tool Nests are controlled by PLC,
11: ! NOTE: REMOVE OPEN LID MACRO ; REMOVE TCEMPTY macro call.
12: ! IF LID IS CONTROLLED BY ;
13: ! THE PLC. ;
14: CALL TCOPNLID(1) ;
15: ;
16: !IF TOOL CHANGE APP NOT WELDING ;
17: !SKIP WATER OFF ;
18: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[10] ;
19: !IF AIR GUN SKIP CAP_WEAR ;
20: IF $sgcfg[1].$EQUIP_TYPE=1,JMP LBL[1] ;
21: !IF CAPWEAR FLAG NOT SET ;
22: !CALL CAPWEAR BEFORE DROPING GUN ; User Modification Area 2:
23: IF (!F[1:Capwear Complete]),CALL CAP_WEAR ; If Tool Nests are controlled by PLC,
24: LBL[1] ; REMOVE TCOPNLID macro call.
25: CALL WTR_OFF(1) ;
26: LBL[10] ;
27: ; UTOOL_NUM
28: !MOVES TO NEST 1 FROM POUNCE ; Note: Utool number is associated
29: !Modify UTOOL if required ; with the GUN ATTACH instruction,
30: UTOOL_NUM=1 ;
31: ; tool changing via points should ref-
32:J P[1] 50% CNT100 ; erence tool changer pin for UTOOL.
33:J P[2] 50% CNT100 ;
34:L P[3] 500mm/sec CNT100 ;
35:L P[4] 250mm/sec FINE ;
36:L P[5] 100mm/sec FINE ;
37: ;
38: !IF TOOL CHANGE APP NOT WELDING ;
39: !SKIP OPENGUNS BEFORE DROPOFF ;
40: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[20] ;
41: CALL OPENGUNS ;
42: !IF AIR GUN SKIP SG DETACH ;
43: IF $sgcfg[1].$EQUIP_TYPE=1,JMP LBL[20] ;
44: CALL SGDETACH(1) ;
45: LBL[20] ;
46: ;
47: !User must add custom open/close ;
48: !commands to as required for ;
49: !for nested equipment ex. ;
50: !If Macro Open Gripper(1,2) ;
51: !If outputs ;
52: !DO[Open]=ON ;
53: !DO[Close]=OFF ;
54: ;
55: !ADD DISCONNECT COMMANDS ;
56: !ADD ALL EOAT DEVICES ;
57: !CALL DV_ARON(2,x) ;
58: !x = EOAT DNET Node # ;
59: ;
60: CALL TCUNLTCH ; 1
61: ;
62: !MOVES TO CHECK POSITION ;
63: ! NOTE: REMOVE HEAD IN NEST MACRO ;
64: ! IF NEST IS CONTROLLED BY ;
65: ! THE PLC. ;
66: !Modify UTOOL if required ;
67: UTOOL_NUM=1 ;
68: ;
69:L P[6] 350mm/sec FINE ;
70: ;
71: CALL TCINNEST(1) ;
72: ;
73: ;
74: !CLOSE TOOL CHANGER NEST LID ;
75: ! NOTE: REMOVE CLOSE LID MACRO ;
76: ! IF LID IS CONTROLLED BY ;
77: ! THE PLC. ;
78: CALL TCCLSLID(1) ; User Modification Area 3:
79: ;
80: !MOVES TO POUNCE FROM NEST 1 ; If Tool Nests are controlled by PLC,
81: !Modify UTOOL if required ;
REMOVE TCCLSLID macro call.
82: UTOOL_NUM=1 ;
83: ;
84:J P[7] 35% CNT100 ;
85:J P[8] 50% CNT100 ;
86:J P[9] 75% CNT100 ;
18.15 Style 26
Tool change style used to swap tools.
1: !******************************** ;
2: !STYLE 26 PLC CHANGE TOOL(S) ;
3: !******************************** ;
4: !DCD 0 Swap with backup ;
5: !DCD 1 Pick Tool/Gun 1 ;
6: !DCD 2 Pick Tool/Gun 2 ;
7: !DCD 3 Pick Tool/Gun 3 ;
8: !DCD 4 Pick Tool/Gun 4 ;
9: !DCD 5 Drop TL/Gun return Home ;
10: ;
11: GO[1:ManualStyle]=26 ;
12: ;
13: CALL POUNCE ;
14: SET SEGMENT(7) ;
15: ;
16: !Allow Teach Exchange ;
17: IF SO[7:TP enabled]=ON,CALL TCTEACH ;
18: ;
19: IF GI[15:giToolNumber]=0,JMP LBL[1] ;
20: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[1] ;
21: IF $sgcfg[1].$EQUIP_TYPE=1,JMP LBL[1] ;
22: CALL TCGETNUM ;
23: R[162:TC PlaceHolder]=R[113:Current Head] ;
24: !Check that Held Gun ;
25: !Is Not Machine Locked ;
26: !For Servo Gun Only ;
27: IF $MCR_GRP[2].$MACHINELOCK=0,JMP LBL[1] ;
28: SELECT R[113:Current Head]=1,JMP LBL[10] ;
29: =2,JMP LBL[20] ;
30: =3,JMP LBL[30] ;
31: =4,JMP LBL[40] ;
32: LBL[10:ENABLE G1] ;
33: CALL SGATTACH(1) ;
101: DO[45:MHFault]=ON ;
102: UALM[3] ;
103: DO[45:MHFault]=OFF ;
104: JMP LBL[1] ;
105: ;
106: LBL[15:CANNOT SWAP] ;
107: MESSAGE[...] ;
108: MESSAGE[ NOTHING IS ATTACHED] ;
109: MESSAGE[ TO ROBOT. DO NOT KNOW] ;
110: MESSAGE[ WHAT TO SWAP WITH.] ;
111: DO[45:MHFault]=ON ;
112: UALM[3] ;
113: DO[45:MHFault]=OFF ;
114: JMP LBL[99] ;
/POS
/END
18.16 TCTEACH
Used to manually swap guns. If in teach, this Karel driven menu is called to allow the user to determine
toolchange options instead of the PLC.
STYLE26 - Tool/Gun Exchange when run from the pendant in teach:
23: LBL[20] ;
24: ;
25: R[229:G2GN Wr At Nest]=R[205:G2GN Wear Snc CC] ;
26: R[230:G2RB Wr At Nest]=R[206:G2RB Wear Snc CC] ;
27: ;
28: JMP LBL[99] ;
29: ;
30: LBL[30] ;
31: R[231:G3GN Wr At Nest]=R[209:G3GN Wear Snc CC] ;
32: R[232:G3RB Wr At Nest]=R[210:G3RB Wear Snc CC] ;
33: ;
34: JMP LBL[99] ;
35: ;
36: LBL[40] ;
37: R[233:G4GN Wr At Nest]=R[213:G4GN Wear Snc CC] ;
38: R[234:G4RB Wr At Nest]=R[214:G4RB Wear Snc CC] ;
39: ;
40: JMP LBL[99] ;
41: ;
42: LBL[15:INVALID ARGUMENT] ;
43: UALM[1] ;
44: JMP LBL[1] ;
45: ;
46: LBL[99] ;
1: !TipDress Style 29 ;
2: !carried with toolchanging ;
3: MESSAGE[TIP DRESS CARRIED] ;
4: ;
5: !ECHO STYLE AND OPTION ;
6: ;
7: GO[1:ManualStyle]=29 ;
8: ;
9: ECHO OPTION ;
10: ;
11: SET SEGMENT(4) ;
12: ;
13: LBL[1] ;
14: !Determine Gun on Robot ;
15: CALL TCGETNUM ;
16: ;
17: !Determine TC/Application ;
18: !No TD if MH Tool/Stud ;
19: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[99] ;
20: ;
21: IF $sgcfg[1].$EQUIP_TYPE=1,JMP LBL[50] ;
22: ;
23: !Check that Held Gun ;
24: !Is Not Machine Locked ;
25: !For Servo Gun Only ;
26: IF $MCR_GRP[2].$MACHINELOCK=0,JMP LBL[50] ;
27: SELECT R[113:Current Head]=1,JMP LBL[10] ;
28: =2,JMP LBL[20] ;
29: =3,JMP LBL[30] ;
30: =4,JMP LBL[40] ;
31: ELSE,JMP LBL[5] ;
32: LBL[10:ENABLE G1] ;
33: CALL SGATTACH(1) ;
34: JMP LBL[50] ;
35: LBL[20:ENABLE G2] ;
36: CALL SGATTACH(2) ;
37: JMP LBL[50] ;
38: LBL[30:ENABLE G3] ;
39: CALL SGATTACH(3) ;
40: JMP LBL[50] ;
41: LBL[40:ENABLE G4] ;
42: CALL SGATTACH(4) ;
43: ;
44: LBL[50:SelectTpDresPath] ;
45: ;
46: SELECT R[113:Current Head]=1,JMP LBL[60] ;
47: =2,JMP LBL[70] ;
48: =3,JMP LBL[80] ;
49: =4,JMP LBL[90] ;
50: ELSE,JMP LBL[5] ;
51: ;
52: LBL[60] ;
53: CALL TD_PROC1 ;
54: JMP LBL[99] ;
55: LBL[70] ;
56: CALL TD_PROC2 ;
57: JMP LBL[99] ;
58: LBL[80] ;
59: CALL TD_PROC3 ;
60: JMP LBL[99] ;
61: LBL[90] ;
62: CALL TD_PROC4 ;
63: ;
64: LBL[99] ;
65: MOVE TO HOME ;
66: END ;
67: ;
68: !****FAULTS****** ;
69: LBL[5:Invalid Gun Num] ;
70: MESSAGE[...] ;
71: MESSAGE[TOOL CHANGER FAULT] ;
72: MESSAGE[ INVALID GUN NUMBER] ;
73: MESSAGE[ R[113] AND GI[15] MUST] ;
74: MESSAGE[ BE 1, 2, 3 OR 4] ;
75: DO[45:MHFault]=ON ;
76: UALM[3] ;
77: DO[45:MHFault]=OFF ;
78: JMP LBL[1] ;
1: !TIPDRESS PROCESS 1 ;
2: MESSAGE[TIP DRESS GUN1] ;
3: ;
4: !Note: CUTRLMT and DRESCAPS ;
5: !need identical arguments ;
6: !which should be in respect ;
7: !to the tipdress motor used ;
8: CALL CUTRLMT(1) ;
9: ;
10: LBL[1] ;
11: !SGTC GUN CHECK ;
12: IF SO[7:TP enabled]=OFF,JMP LBL[10] ;
13: !Determine if Tool Changer ;
14: CALL CKDNETND(54,38) ;
15: IF R[38:DNetNode Present]=0,JMP LBL[10] ;
16: !Determine TC/Application ;
17: IF GI[17:giTCAppType]<2 OR GI[17:giTCAppType]>3,JMP LBL[5] ;
18: CALL TCGETNUM ;
19: IF R[113:Current Head]=0 AND R[113:Current Head]>4,JMP LBL[5] ;
20: ;
21: LBL[10] ;
22: ;
23: UTOOL_NUM=1 ;
24: ;
25: !PROGRAM PATH TO POINT ;
26: !Teach G2 Staging Pt @50mm ;
27: !Opening for Servo Guns ;
28: ;
29: !Teach G2 Aiming Pt @50mm ;
30: !Opening for Servo Guns ;
31: ;
32: !Teach Firing Pt. ;
33: ;
34: CALL TCDRESCP(1) ;
35: ;
36: !PROGRAM RETURN PATH ;
37: ;
39: CALL TCPSTDRS ;
40: ;
41: LBL[99:PROGRAM END] ;
42: END ;
43: ;
44: LBL[5:FAULTS] ;
45: MESSAGE[...] ;
46: MESSAGE[NO GUN ] ;
47: MESSAGE[OR INVALID TOOL TYPE] ;
48: MESSAGE[ ATTACH GUN ] ;
49: MESSAGE[BEFORE ATTEMPTING] ;
50: MESSAGE[A TIP DRESS] ;
51: MESSAGE[... ] ;
52: DO[45:MHFault]=ON ;
53: UALM[1] ;
54: DO[45:MHFault]=OFF ;
55: JMP LBL[1] ;
51: LBL[60] ;
52: !PRE-DRESS SCHEDULE ;
53:L PR[8:TipDress Pos] 1500mm/sec CNT100
: SPOT[SD=1,P=96,S=249,ED=20] ;
54: ;
55: LBL[70] ;
56: CALL TD_CHK(AR[1]) ;
57: IF AR[1]=1 AND R[90:TD1 RETRY]=1,JMP LBL[10] ;
58: IF AR[1]=2 AND R[74:TD2 RETRY]=1,JMP LBL[10] ;
59: IF AR[1]=3 AND R[184:TD3 RETRY]=1,JMP LBL[10] ;
60: IF AR[1]=4 AND R[199:TD4 RETRY]=1,JMP LBL[10] ;
61: CALL TD_OFF ;
62: END ;
63: ;
64: !*****Dress Gun3******** ;
65: LBL[80] ;
66: ;
67: IF DI[397:diSW1StepReset]=ON,JMP LBL[90] ;
68: ;
69: !TIP DRESS SCHEDULE ;
70:L PR[8:TipDress Pos] 1500mm/sec CNT100
: SPOT[SD=1,P=97,S=252,ED=20] ;
71: JMP LBL[100] ;
72: ;
73: LBL[90] ;
74: !PRE-DRESS SCHEDULE ;
75:L PR[8:TipDress Pos] 1500mm/sec CNT100
: SPOT[SD=1,P=96,S=251,ED=20] ;
76: ;
77: LBL[100] ;
78: CALL TD_CHK(AR[1]) ;
79: IF AR[1]=1 AND R[90:TD1 RETRY]=1,JMP LBL[10] ;
80: IF AR[1]=2 AND R[74:TD2 RETRY]=1,JMP LBL[10] ;
81: IF AR[1]=3 AND R[184:TD3 RETRY]=1,JMP LBL[10] ;
82: IF AR[1]=4 AND R[199:TD4 RETRY]=1,JMP LBL[10] ;
83: CALL TD_OFF ;
84: ;
85: END ;
86: ;
87: !*****Dress Gun4******** ;
88: LBL[110] ;
89: ;
90: IF DI[397:diSW1StepReset]=ON,JMP LBL[120] ;
91: ;
92: !TIP DRESS SCHEDULE ;
93:L PR[8:TipDress Pos] 1500mm/sec CNT100
: SPOT[SD=1,P=97,S=254,ED=20] ;
94: JMP LBL[130] ;
95: ;
96: LBL[120] ;
97: !PRE-DRESS SCHEDULE ;
98:L PR[8:TipDress Pos] 1500mm/sec CNT100
: SPOT[SD=1,P=96,S=253,ED=20] ;
99: ;
100: LBL[130] ;
101: CALL TD_CHK(AR[1]) ;
102: IF AR[1]=1 AND R[90:TD1 RETRY]=1,JMP LBL[10] ;
103: IF AR[1]=2 AND R[74:TD2 RETRY]=1,JMP LBL[10] ;
104: IF AR[1]=3 AND R[184:TD3 RETRY]=1,JMP LBL[10] ;
105: IF AR[1]=4 AND R[199:TD4 RETRY]=1,JMP LBL[10] ;
106: CALL TD_OFF ;
107: ;
108: END ;
109: !************ FAULTS ************ ;
110: LBL[15:INVALID ARGUMENT] ;
111: UALM[1] ;
112: JMP LBL[1] ;
4. Execute the attach gun[2] instruction to attach gun 2. (In this state, gun 2 should be physically
connected to the robot). When gun 2 is a battery-less gun and the calibration motion type is 1 or 2: If
gun 2 is moved when attached by mistake instead of gun 1, gun 2 will move and be at a position dif-
ferent to when it was detached. So, gun 2 may be calibrated to the wrong position by the attach in-
struction executed in step 4 above, resulting is misalignment between its actual and desired posi-
tions. In this case, carry out gun 0 position mastering and calibration manually.
When gun 2 is other than the above:
Gun 2 can be used as it is.
5. Gun 1 can be used as it is by executing the attach instruction to attach the gun.
19.3 The attached gun has been detached by mistake (without using the detach in-
struction)
Phenomenon:
The gun is not actually attached. So, a communications alarm such as "SRVO-068 DTERR alarm" occurs
on the pulse coder. Correct this by Remedy 1 or Remedy 2 below according to the present conditions.
Remedy 1:
Same as Remedy 1 of C-1
Remedy 2:
Same as Remedy 2 of C-1
8. Move the gun by manual feed to the reference position marked by a line marking or alignment
mark.
9. Execute 3 QUICK MASTERING in the Calibration screen.
Touch torque
Increase the value from about ±2, and calculate the value at which erroneous detection of contact oc-
curs. The sign of touch torque is the sign that is currently displayed at Touch torque at the Calibration
Setup screen on the right.
Note: After confirming the sign in this screen, teach it to the program. Do not make a mistake when
entering the sign. If you do so, contact with the open limit may not be detected.
20.1 $SGSYSCFG
20.1.1 $pst_ertype: Pressure Shortage Error type
0 = The pressure shortage error is posted as a warning (programs do not pause )
1 = The pressure shortage error is posted as a pause error.
20.1.2 $allow_stdsp: Display Standalone Spot instruction
FALSE = Editor does not display standalone spot instruction
TRUE = Editor will display standalone spot instruction
20.1.3 $rel_press: Release pressure at program pause
0: Keep pressure at paused
1: Release pressure at paused
20.1.4 $prs_units: Pressure units
This variable indicates how pressure data is displayed (and entered). The internal representation and
stored values are in kgf.
1= lbf
2= Newton
0,other kgf ( default )
Remedy:
1. Change Caps with New Caps.
2. Check Zero Position of the Servo Gun and Master if necessary.
3. Run TW_SETG1
20.2.8 SVGN-032: Tip increased error
Cause:
The tip wear down value exceeds the increased error.
Remedy:
1. Check to ensure the CORRECT Weld Tips are on the Weld Gun.
2. If the Weld Tips are not correct, change them, and run Cap_chng/Reset Steppers.
3. If the Weld Tips are correct, run Capwear and verify the gun is closing completely during the
Capwear routine.
4. If the Servo Gun Does not close completely while running Capwear, apply lubricant to the shaft,
exercise the Servo Gun and retry Step 3.
5. If the Servo Gun still does not close the gun may need to be recalibrated (Auto Tuned/Pressure
Cal). Pay close attention to the Gun Impedance Value before and after Auto Tuning. If the Gun Im-
pedance Value increased significantly, the Servo Gun may have a bind or the Servo Motor may need
to be replaced.
6. If a bind is suspected on a C-Type Weld Gun, check the Guide Rod (Slide on Global) on the Mov-
able Side for straightness, wear and heat. Repair/Replace Guide Rod and re-run Step 5.
7. If the Servo Motor seems excessively noisy or the shaft of the motor is excessively warm/hot,
remove the Servo Motor. If the Servo Motor is Noisy, replace the Motor. Inspect the Bushing (Slide on
Global) for weld debris, which may cause the increased Gun Impedance.
20.2.9 SVGN-118: Max wear exceeded
Cause:
The maximum tip wear amount has been exceeded.
Remedy:
1. Inspect weld tips for excessive heat and abnormal wear, and inspect weld gun arms for cracks.
2. If Weld Tips appear normal replace and run Cap_Chng/reset steppers.
3. If there appears to be excessive heat on the weld tips, check for adequate water flow and
check the water tube inside the weld shank.
4. If there appears to be abnormal wear, check the tip dress path, weld pressure at tip dress, and
the tip dress cutter.
5. If weld gun arm is cracked, replace gun arm, check servo gun mastering, and verify all pro-
cess/tipdress paths.
20.2.10 SVGN-020: Pressure shortage
Cause:
Actual pressure is less than the requested pressure.
Remedy:
1. Check mastering of tips.
2. Check tip wear if questionable install new caps and run TW_SETG1 (Always verify stoke limits
before using TW_SETG(X).
3. If problem still exist check part thickness and pushing depth settings in the pressure schedule.
4. If this fault only occurs during CAPWEAR then the gun impedance has changed therefore auto
tuning and pressure calibration are required. The gun needs to be inspected to find the cause of the
impedance change, common issues are weld slag buildup in bushing, improperly installed bushing,
and bent guide rod, (c-gun slide in global applications) If any of the above issues are present-correct
the issue and perform auto-tune and pressure calibration before resuming use of the gun.
5. Record all values associated with Standard Over Torque (Section 7).
Note: Autotune and Pressure calibration is required if any gun mechanical parts are modified or re-
worked.
Always verify the Standard Over Torque (Section 7) before after any mechanical maintenance is per-
formed on the servo gun to see how it affected the characteristics of the gun. Compare old Standard
Over Torque values with the new parameters from a re-worked gun
When a controller is equipped with additional amp channels than the amount being used by the appli-
cation, the additional amp channels have to be mapped to eliminate hardware mismatches. For ex-
ample, if a robot controller has a single amp as amp 1 and dual amp as amp 2 but is only configured for
1 gun on each amp, the additional amp channel must be configured by setting the following system
variables:
$SCR.$ATR[9]=9
$SCR.$ATRATTRIB[9]=0