Global 2 Error Recovery (FFR) Users Manual Rev 1.0
Global 2 Error Recovery (FFR) Users Manual Rev 1.0
Specification OVRS
Global 2 Error Recovery (FFR) Users Manual
Fanuc SpotTool+ 7.50 P/XX
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
2 SETUP....................................................................................................................................... 4
1.2 Scope
The following documentation is intended to be a reference document to aid in the setup and under-
standing of the robotic error recovery applications using Fanuc SpotTool+ 7.50 with the OVRS4 OV 2
Customization.
1.3 Purpose
This document is intended to provide an overview of the error recovery implementation, using Fanuc
SpotTool+ 7.50 with the OVRS4 OV 2 Customization.
2 Setup
The error recovery setup is ENABLED automatically from the OVRS-4 Setup Wizard. The OVRS-4
Setup Wizard, enables the function, and maps the maintenance output. FFR error recovery will be se-
lected for operation when a defined error occurs, this function must be selected by the user at the time
of a fault from the teach pendant. For applications that do not require FFR, the user can DISABLE the
feature from the error recovery setup screen.
The maintenance program is intended to safely move the robot from end of the process to the begin-
ning of the process. MOV REPR is used as the default maintenance program because it can be used for
most carried applications. The default maintenance program name will need to be changed, if
MOV_REPR will not allow for a cap change or if a pedestal process is being applied. This program should
be replaced with the FFRPROCX or FFRSTUDX template programs supplied by the wizard. Please refer
to each of the OV/FANUC manuals for both Dispense and Servo Gun to ensure that the proper program
is used for the application. Any definition of Maintenance Program on error recovery screen in the FA-
NUC Spottool+ software. If the style program uses the command MAINT_PROG[1] = ‘ ‘, then
MOV_REPR program does not require a different name. For a local declaration please use the TP in-
struction MAINT_PROG[1] = ‘ ‘.
3 Error Recovery
For the defined FFR faults, 2 programs are inserted via TP programming to provide FFR error recovery
choices. After FFR is selected, the user must then select the type of FFR recovery. This is done via 2
karel programs. FFR_OPTN.PC and FFROPTN2.PC are provided by the OVRS-4 customization to provide
error choices, for welding and dispense application respectively. These programs are inside of OV sup-
plied TP templates and macros, and will be called before the robot reenters the PROCESS program.
1. Continue last:
The selection type of 1 the robot will return to the faulted spot location in PROCESS
OFF mode, then PAUSE at the spot location and RETRY the weld with PROCESS MODE ON. If
the weld is successful the robot will continue with its process path, if an error occurs again; the
user must select the error recovery choice.
2. Continue next:
A selection type of 2 the robot will return to the NEXT spot, PAUSE at the location and re-enable
PROCESS MODE. If the weld is successful the robot will continue with its process path, if an error
occurs again; the user must select the error recovery choice. Manual intervention will be required
at the HMI, to ship the job,
3. Abort:
The robot will abort all tasks and require the user to move the robot to home manually. Manual
intervention will be required at the HMI, to ship the job,
1. Re-Run:
Selection of 1; the robot will re apply the ENTIRE process path with dispense material. It is in-
tended that the user clean the panel at the maintenance position, and then have the robot apply
material to the entire part.
3. Abort:
The robot will abort all tasks and require the user to move the robot to home manually. Manual
intervention will be required at the HMI, to ship the job,
MAINT_PROG[ 1 ] = ‘ ‘
/PROG TEMPLA02
1: !************************* ;
2: !STYLE XX CARRIED WELDER ;
3: !Servo Gun TEMPLATE ;
4: !************************* ;
5: ;
Program Instruction
6: ! Line-XX Platform-XX ;
7: ! Station XXX - Robot X ;
8: ; Robot Arm
9: !ECHO STYLE AND OPTION ; (Always 1)
10: GO[1:ManualStyle]=... ;
11: ECHO OPTION ;
12: MAINT_PROG[1]=MOV_REPR ; Defined FFR Program
13: ;
14: CALL SXXPOUNC ;
15: ;
16: CALL STPR_CHK ; MAINT_PROG[1] = ‘ ‘
17: ;
18: CALL SXXPROC1 ; This instruction defines the program
19: ; that will be used for Error Recovery
20: RUN CAP_WEAR ; (FFR). Once the style program is com-
21: ; plete, the robot will execute the pro-
22: MOVE TO HOME ; gram defined by MAINT_PROG[1], then
23: ; Error Recovery choice
24: WAIT (F[1:Capwear Complete]) ; can be maid by the user.
/END
/PROG TEMPLA08
1: !************************* ;
2: !STYLE XX MH ped spot ;
3: ! Servo gun TEMPLATE ;
4: !************************* ; Program Logic for Material Handling
5: ;
6: ! Line-XX Platform-XX ;
Error Recovery or FFR function must contain logic in
7: ! Station XXX - Robot X ; the user program if the feature is active. In this exam-
8: ; ple if Error Recovery or FFR is selected the robot will
9: !ECHO STYLE AND OPTION ; not pickup another part, when the cycle is restarted,
10: GO[1:ManualStyle]=... ; so logic must be in place to make sure a new part is
11: ECHO OPTION ;
12: ; not retrieved. The same is for the bottom of this pro-
13: !FFR HANDLER ; gram regarding SxxDROP1, if the Error Recovery or
14: IF DO[43:FFRActive]=ON,JMP LBL[10] ; FFR feature is active the current part cannot be place,
15: ; because the part is not complete.
16: CALL POUNCE ;
17: ;
18: CALL STPR_CHK ;
19: ;
20: CALL SxxPICK1 ;
21: ;
22: LBL[10] ;
MAINT_PROG[1] = ‘ ‘
23: MAINT_PROG[1]=FFRPROC1 ; This instruction defines the program that will
24: ;
25: !********************* ; be used for Error Recovery (FFR). Once the
26: !IF NO TIP DRESSERS ; style program is complete, the robot will exe-
27: !CONFIGURED REMOVE THIS ; cute the program defined by MAINT_PROG[1],
28: !SECTION ; then Error Recovery choice can be maid by the
29: CALL TDDMPCHK(1) ;
30: !********************* ; user.
31: ;
32: CALL SxxPROC1 ; If MULTIPLE MAINT_PROG[1] are required,
33: ; simply define another program.
34: !FFR HANDLER FOR PROCESS 1 ;
35: IF DO[43:FFRActive]=ON,JMP LBL[99] ;
36: ;
37: !********************* ;
38: !IF NO TIP DRESSERS ;
39: !CONFIGURED REPLACE ;
40: !CALL TD_PD_CK WITH ;
41: !RUN CAP_WEAR ;
42: CALL TD_PD_CK ;
43: !********************* ;
44: ;
45: CALL SxxDROP1 ;
46: ;
47: MOVE TO HOME ;
48: ;
49: WAIT (F[1:Capwear Complete]) ;
50: LBL[99] ;
/END
/PROG TEMPLA09
1: !************************* ;
2: !STYLE XX MH 2ped spot ;
3: ! Servo gun TEMPLATE ;
4: !************************* ;
5: ;
6: ! Line-XX Platform-XX ;
7: ! Station XXX - Robot X ;
8: ;
9: ;
10: !ECHO STYLE AND OPTION ;
11: GO[1:ManualStyle]=... ;
12: ECHO OPTION ;
13: ;
14: !FFR HANDLER ;
15: IF DO[43:FFRActive]=ON,JMP LBL[R[160]] ;
16: ;
17: CALL POUNCE ;
18: ;
19: CALL STPR_CHK ;
20: ; MAINT_PROG[1] = ‘ ‘
21: CALL SxxPICK1 ;
22: ; This instruction defines the program that will
23: LBL[10] ; be used for Error Recovery (FFR). Once the
24: R[160:FFR Process LBL]=10 ; style program is complete, the robot will exe-
25: MAINT_PROG[1]=FFRPROC1 ; cute the program defined by MAINT_PROG[1],
26: ; then Error Recovery choice
27: !********************* ;
28: !IF NO TIP DRESSERS ;
can be maid by the user.
29: !CONFIGURED REMOVE THIS ;
30: !SECTION ; If MULTIPLE MAINT_PROG[1] are required,
31: CALL TDDMPCHK(1) ; simply define another program.
32: !********************* ;
33: ;
34: CALL SxxPROC1 ;
35: ;
36: !FFR HANDLER FOR PROCESS 1 ;
37: IF DO[43:FFRActive]=ON,JMP LBL[99] ;
38: ;
39: LBL[20] ; Second MAINT_PROG[1] = ‘ ‘ Required
40: R[160:FFR Process LBL]=20 ;
41: MAINT_PROG[1]=FFRPROC2 ; This instruction defines the program that will be
42: ; used for Error Recovery (FFR). Once the style pro-
43: !********************* ; gram is complete, the robot will execute the pro-
44: !IF NO TIP DRESSERS ; gram defined by MAINT_PROG[1], then Error Re-
45: !CONFIGURED REMOVE THIS ; 46: !SECTION ; covery choice
47: CALL TDDMPCHK(2) ;
48: !********************* ;
can be maid by the user. User simply defines an-
49: ; other PROGRAM.
50: CALL SxxPROC2 ;
51: ;
52: !FFR HANDLER FOR PROCESS 2 ;
53: IF DO[43:FFRActive]=ON,JMP LBL[99] ;
54: ;
55: !********************* ;
56: !IF NO TIP DRESSERS ;
57: !CONFIGURED REPLACE ;
58: !CALL TD_PD_CK WITH ;
59: !RUN CAP_WEAR ;
60: CALL TD_PD_CK ;
61: !********************* ;
62: ;
63: CALL SxxDROP1 ;
64: ;
65: MOVE TO HOME ;
66: WAIT (F[1:Capwear Complete]) ;
67: LBL[99] ;
/END
1: !**************************** ;
2: !MACRO REPAIR ; PRE_REPR
5: !**************************** ;
6: GO[1:ManualStyle]=31 ; User macro with Error Recovery / FFR logic.
7: SET SEGMENT(2) ;
8: ;
9: MESSAGE[MOVING TO REPAIR] ; 1: IF $sgcfg[1].$EQUIP_TYPE=2,CALL OPENGUNS ;
10: !PROGRAM PATH TO REPAIR HERE ; 2: IF DO[43:FFRActive]=OFF,JMP LBL[10] ;
11: ; 3: UALM[3] ;
12: ; 4: ;
13: CALL PRE_REPR ; 5: !CHECK IF PROCESS1 IS SPOTWELD ;
14: ; 6: IF $AP_SELAP[2]=0,JMP LBL[20] ;
15: MESSAGE[RETURNING FROM REPAIR] ; 7: IF $SPOTEQSETUP[1].$STUDWELDER=1,JMP
16: !PROGRAM RETURN POINTS HERE ; LBL[20] ;
17: ; 8: CALL CAP_SELC ;
18: ; 9: LBL[20] ;
19: CALL MOV_HOME ; 10: ;
20: ; 11: !CHECK IF DISP IS TRUE ;
21: CALL POSTREPR ; 12: IF $AP_SELAP[6]=1,JMP LBL[30] ;
/END 13: ! FFR OPTIONS ;
14: CALL FFR_OPTN ;
15: JMP LBL[99] ;
16: ;
17: LBL[30] ;
18: ! FFR SEALER OPTIONS ;
19: CALL FFROPTN2 ;
20: JMP LBL[99] ;
21: ;
22: LBL[10] ;
23: REQUEST CONTINUE ;
24: ;
25: LBL[99] ;
26: SET SEGMENT(3) ;
FFR_OPTN or FFROPTN2
1: !******************************** ;
2: !PROCESS END TO PROCESS START ;
3: !******************************** ; Pedestal Spot or Dispense Error Recovery Program
7: ;
6: ; This program is used for Error Recovery / FFR for the
15: !Moves to FFR position ;
11:J P[1] 100% FINE ;
defined process(s) of SPOT and DISP. Logic in the
12:J P[2] 100% CNT100 ; macro will determine if the process is SPOT or DISP
13:J P[3] 100% FINE ; by $AP_SELAP[X]
14: ;
15: !ROBOT WAITING FOR MAINT ACTION ;
16: UALM[3] ;
17: ;
18: IF $AP_SELAP[2]=0,JMP LBL[10] ;
19: IF $SPOTEQSETUP[1].$STUDWELDER=1,JMP LBL[10] ;
20: CALL CAP_SELC ;
21: IF DO[53:Proc1TipMaintReq]=OFF,JMP LBL[10] ;
22: CALL PED_TDG1 ;
23: LBL[10] ;
24: ;
15: !Moves to begin Of PROC ;
25:J P[4] 100% FINE ;
26: ;
32: ! FFR OPTIONS ;
33: IF $AP_SELAP[6]=1,JMP LBL[20] ;
34: CALL FFR_OPTN ;
35: JMP LBL[99] ;
31: ;
36: LBL[20] ;
37: ! FFR SEALER OPTIONS ;
38: CALL FFROPTN2 ;
39: ;
40: LBL[99] ;
/END
3.3.6 PROGRAM FFRSTUD1 Stud Version (FFRSTUD2 is used for Pedestal Stud)
1: !******************************** ;
2: !Carried Stud FFR Exchange ;
3: !Gun Swap with Backup Gun ;
4: !******************************** ;
5: ;
6: GO[3:PathSegment]=9 ; Carried Stud Error Recovery Program
7: LBL[1] ;
8: !Determine Tool/Gun on Robot ; Allows the user to make a selection to keep the
9: CALL TCGETNUM ; current gun or exchange the guns for hot backup.
10: ;
11: !Determine Tl/Gun:Keep/Exchange ;
12: CALL PROMPTYN(10,40) ;
13: ;
14: IF R[40:Prompt Y/N]=1,JMP LBL[2] ;
15: IF R[40:Prompt Y/N]=0,JMP LBL[99] ;
16: ;
17: LBL[2] ;
18: !BACKUP GUN Numbers ;
19: SELECT R[113:Current Head]=1,JMP LBL[10] ;
20: =2,JMP LBL[20] ;
21: ELSE,JMP LBL[5] ;
22: ;
23: LBL[10:TLGN1 Bkup] ;
24: CALL TCGUNRDY ;
Additional OVRS-4 macros can be found in the Specific user manuals. (Tipdress,Servo Gun, Dispense)
Process Flow:
1. FFR is selected from robot error example (Weld Fault “low current”).
2. Robot enters NO STROKE.
3. Robot returns to HOME.
4. Robot moves to Repair position.
5. Robot is then given RESET/CYCLE start after repair activities.
6. Robot is now prompted for FFR Recovery Type:
a. Continue last.
b. Continue Next
c. Abort.
7. Robot then moves HOME.
8. Robot then moves thru POUNCE into process path.
9. Robot then will RE-ENABLE STROKE and verifies PROCESS mode is ON; at the error location and
execute the response from step #6.
Process Flow:
1. FFR is selected from robot error example (Dispense Fault “Volume dispensed out of range”).
2. Robot enters NO STROKE.
3. Robot returns to HOME.
4. Robot moves to Repair position.
5. Robot is then given RESET/CYCLE start after repair activities and part is cleaned.
6. Robot is now prompted for FFR Recovery Type:
a. Re-run.
b. Abort.
7. Robot then moves HOME.
8. Robot then moves thru POUNCE into process path.
9. Robot then will RE-ENABLE STROKE and verifies PROCESS mode is ON; at the beginning of the
PROCESS program and will dispense the entire part again.
3.4.3 Single Carried Stud Weld +Hot Backup FFR Segment Flow (Robot/PLC
Process Flow:
1. FFR is selected from robot error example (Weld Fault “out of tolerance fault”).
2. Robot enters NO STROKE.
3. Robot returns to HOME.
4. Robot moves to tool change.
5. Robot is now prompted for FFR Recovery Type:
a. Continue last.
b. Continue Next
c. Abort.
6. Robot then moves HOME.
7. Robot then moves thru POUNCE into process path.
8. Robot then will RE-ENABLE STROKE and verifies PROCESS mode is ON; at the error location and
execute the response from step #5.