Professional Documents
Culture Documents
Rev 4.3 All Fanuc Program
Rev 4.3 All Fanuc Program
/PROG TO_IMM
1: !This program moves the robot ;
2: !towards the IMM. ;
3: IF DI[21:TERMO OUT RANGE]=OFF,JMP
LBL[1] ;
4: R[39:TERMO ABNORMAL]=1 ;
5: ;
6: LBL[1] ;
7:J PR[2:IMM approach 1] 70% CNT100 ;
8:J PR[3:IMM approach 2] 70% CNT100 ;
9:J PR[4:IMM approach 3] 70% CNT100 ;
10: RO[1:GRIPPER]=OFF ;
/POS
/END
45: LBL[20] ;
/PROG INTLK_ON 46: R[1:CONTINUE CYCLE]=0 ;
1: !This program prevents the IMM ; 47: IF DI[8:Full auto]=ON,JMP LBL[10] ;
2: !from closing the platen. DO NOT ; 48: ;
3: !MODIFY UNLESS YOU HAVE A ; 49: LBL[40] ;
4: !THOROUGH UNDERSTANDING OF THE ; /POS
5: !LOGIC. ; /END
6: DO[4:Prmt ejctrtt]=OFF ;
7: DO[5:Prmt ejctfwd]=OFF ;
8: ;
9: IF R[72:COINING CLEAR]=0,JMP LBL[10] ;
10: ;
11: DO[28:BUFFER DOWN]=PULSE,1.0sec ;
12: R[37:PART ON BUFFER]=0 ;
13: ;
14: LBL[10] ;
15: TIMER[1]=STOP ;
16: R[57:TRAVEL TIME]=TIMER[1]+R[54:WAIT
OFFSET MOLD] ;
17: ;
18: WAIT DI[1:Mold fullopn]=ON OR DI[2:Int
moldopen]=ON ;
19: ;
20: IF R[68:CLEAR 4]=1,JMP LBL[1] ;
21: IF R[69:CLEAR 8]=1,JMP LBL[1] ;
22: IF R[70:CLEAR 12]=1,JMP LBL[1] ;
23: ;
24: IF DI[7:Reject part]=ON,JMP LBL[2] ;
25: R[35:FILM DROP]=0 ;
26: JMP LBL[1] ;
27: ;
28: LBL[2] ;
29: R[35:FILM DROP]=1 ;
30: ;
31: LBL[1] ;
32: DO[7:Prmt coreset]=OFF ;
33: DO[1:Prmt clmpcls]=OFF ;
34: ;
35: IF R[7:Check cores]=0,JMP LBL[30] ;
36: DO[6:Prmt corepul]=ON ;
37: WAIT DI[6:Core fullpul]=ON ;
38: DO[6:Prmt corepul]=OFF ;
39: ;
40: LBL[30] ;
41: DO[2:Prmt clmpmtn]=OFF ;
42: R[1:CONTINUE CYCLE]=1 ;
43: JMP LBL[40] ;
44: ;
37:L PR[11:INSERT PLC POS 4] 4mm/sec FINE
/PROG PUTINSRT ;
1: !Use this program to instruct ; 38: JMP LBL[80] ;
2: !the robot to put an insert into ; 39: ;
3: !the IMM. ; 40: LBL[40] ;
4: IF DI[21:TERMO OUT RANGE]=OFF,JMP 41: PR[51:TEMP]=PR[9:Insrt place pos8] ;
LBL[1] ; 42: PR[51,1:TEMP]=PR[51,1:TEMP]-
5: R[39:TERMO ABNORMAL]=1 ; R[91:INSERT X OFFSET] ;
6: ; 43:L PR[51:TEMP] 200mm/sec FINE ;
7: LBL[1] ; 44: DO[23:MOLD VAC]=ON ;
8: R[4:INSIDE IMM]=1 ; 45:L PR[9:Insrt place pos8] 8mm/sec FINE ;
9: ; 46: JMP LBL[80] ;
10: LBL[10] ; 47: ;
11: SKIP CONDITION DI[1:Mold fullopn]=OFF 48: LBL[50] ;
; 49: PR[51:TEMP]=PR[13:FL PLACE POS 4] ;
12:L PR[8:Insrt appro pos] 1000mm/sec FINE 50: PR[51,1:TEMP]=PR[51,1:TEMP]-
Skip,LBL[20] ; R[91:INSERT X OFFSET] ;
13: JMP LBL[10] ; 51:L PR[51:TEMP] 200mm/sec FINE ;
14: ; 52:L PR[13:FL PLACE POS 4] 8mm/sec FINE ;
15: LBL[20] ; 53: JMP LBL[70] ;
16: IF RI[3:FILM SENSE]=OFF,JMP LBL[400] ; 54: ;
17:L PR[10:Insrt plc offset] 200mm/sec FINE ; 55: LBL[60] ;
18: IF R[2:Insert molding 4]=1,JMP LBL[30] ; 56: PR[51:TEMP]=PR[12:FL PLACE POS 8] ;
19: IF R[65:INSERT MLD 8]=1 AND R[78:8 CAV 57: PR[51,1:TEMP]=PR[51,1:TEMP]-
ST]=1,JMP LBL[40] ; R[91:INSERT X OFFSET] ;
20: IF R[65:INSERT MLD 8]=1 AND R[79:8 CAV 58:L PR[51:TEMP] 200mm/sec FINE ;
MF]=1,JMP LBL[83] ; 59:L PR[12:FL PLACE POS 8] 8mm/sec FINE ;
21: IF R[12:FLANGLESS 4]=1,JMP LBL[50] ; 60: JMP LBL[70] ;
22: IF R[66:FLANGELESS 8]=1,JMP LBL[60] ; 61: ;
23: IF R[67:FLANGELESS 4_4]=1,JMP LBL[63] ; 62: LBL[63] ;
24: IF R[64:INSERT MLD 4_4]=1 AND 63: PR[51:TEMP]=PR[14:FL PLACE POS 4_4] ;
R[76:BASE 3UP]=1,JMP LBL[67] ; 64: PR[51,1:TEMP]=PR[51,1:TEMP]-
25: IF R[64:INSERT MLD 4_4]=1 AND R[74:ASP R[91:INSERT X OFFSET] ;
65 ROUND]=1,JMP LBL[81] ; 65:L PR[51:TEMP] 200mm/sec FINE ;
26: IF R[64:INSERT MLD 4_4]=1 AND R[77:ASP 66:L PR[14:FL PLACE POS 4_4] 8mm/sec FINE
65 HEXA]=1,JMP LBL[81] ; ;
27: IF R[64:INSERT MLD 4_4]=1 AND 67: JMP LBL[70] ;
R[75:BASE 0/1/2]=1,JMP LBL[82] ; 68: ;
28: IF R[68:CLEAR 4]=1,JMP LBL[400] ; 69: LBL[67] ;
29: IF R[69:CLEAR 8]=1,JMP LBL[400] ; 70: PR[51:TEMP]=PR[15:INSRT PLC POS4_4] ;
30: IF R[70:CLEAR 12]=1,JMP LBL[400] ; 71: PR[51,1:TEMP]=PR[51,1:TEMP]-
31: ; R[91:INSERT X OFFSET] ;
32: LBL[30] ; 72:L PR[51:TEMP] 200mm/sec FINE ;
33: PR[51:TEMP]=PR[11:INSERT PLC POS 4] ; 73: DO[23:MOLD VAC]=ON ;
34: PR[51,1:TEMP]=PR[51,1:TEMP]- 74:L PR[15:INSRT PLC POS4_4] 8mm/sec FINE
R[91:INSERT X OFFSET] ; ;
35:L PR[51:TEMP] 200mm/sec FINE ; 75: JMP LBL[80] ;
36: DO[23:MOLD VAC]=ON ; 76: ;
77: LBL[81] ; 121: ;
78: PR[51:TEMP]=PR[81:INSERT4 ASP65] ; 122: LBL[401] ;
79: PR[51,1:TEMP]=PR[51,1:TEMP]- /POS
R[91:INSERT X OFFSET] ; /END
80:L PR[51:TEMP] 200mm/sec FINE ;
81: DO[23:MOLD VAC]=ON ;
82:L PR[81:INSERT4 ASP65] 4mm/sec FINE ;
83: JMP LBL[80] ;
84: ;
85: LBL[82] ;
86: PR[51:TEMP]=PR[82:INSERT4 BASE012] ;
87: PR[51,1:TEMP]=PR[51,1:TEMP]-
R[91:INSERT X OFFSET] ;
88:L PR[51:TEMP] 200mm/sec FINE ;
89: DO[23:MOLD VAC]=ON ;
90:L PR[82:INSERT4 BASE012] 4mm/sec FINE
;
91: JMP LBL[80] ;
92: ;
93: LBL[83] ;
94: PR[51:TEMP]=PR[84:INSERT8 MF] ;
95: PR[51,1:TEMP]=PR[51,1:TEMP]-
R[91:INSERT X OFFSET] ;
96:L PR[51:TEMP] 200mm/sec FINE ;
97: DO[23:MOLD VAC]=ON ;
98:L PR[84:INSERT8 MF] 4mm/sec FINE ;
99: JMP LBL[80] ;
100: ;
101: LBL[70] ;
102: RO[2:FILM VACUUM]=OFF ;
103: WAIT RI[3:FILM SENSE]=OFF ;
104: WAIT R[22] ;
105: JMP LBL[90] ;
106: ;
107: LBL[80] ;
108: WAIT R[31] ;
109: RO[2:FILM VACUUM]=OFF ;
110: WAIT RI[3:FILM SENSE]=OFF ;
111: WAIT R[32] ;
112: ;
113: LBL[90] ;
114:L PR[51:TEMP] 5mm/sec FINE ;
115:L PR[8:Insrt appro pos] 200mm/sec FINE ;
116: R[53:HOLD MOLD]=0 ;
117: JMP LBL[401] ;
118: ;
119: LBL[400] ;
120: R[53:HOLD MOLD]=1 ;
/PROG EXIT_IMM
1: !This program moves the robot ;
2: !to exit the IMM. ;
3: IF DI[21:TERMO OUT RANGE]=OFF,JMP
LBL[1] ;
4: R[39:TERMO ABNORMAL]=1 ;
5: ;
6: LBL[1] ;
7:L PR[4:IMM approach 3] 1200mm/sec
CNT100 ;
8: R[4:INSIDE IMM]=0 ;
/POS
/END
/PROG DPRT_IMM
1: !This program moves the robot ;
2: !away from the IMM. ;
3: IF DI[21:TERMO OUT RANGE]=OFF,JMP
LBL[1] ;
4: R[39:TERMO ABNORMAL]=1 ;
5: ;
6: LBL[1] ;
7: TIMER[1]=RESET ;
8: TIMER[1]=START ;
9: ;
10:J PR[4:IMM approach 3] 70% CNT100 ;
11:J PR[3:IMM approach 2] 70% CNT100 ;
12:J PR[1:Robot HOME pos] 70% CNT100 ;
13: R[1:CONTINUE CYCLE]=1 ;
/POS
/END
/PROG A_ABORT
1: MESSAGE[WAKTU HABIS] ;
2: MESSAGE[FCTN + ABORT ALL] ;
3: MESSAGE[JALANKAN AUTO] ;
4: ABORT ;
/POS
/END
/PROG NO_VAC_N
1: DO[26:NEST VAC]=OFF ;
/POS
/END
/PROG INISHLZE
1: !This program initializes the ;
2: !robot position; sets digital ;
3: !output ON_OFF conditions and ;
4: !sets register values. ;
5: ;
6: IF R[37:PART ON BUFFER]=0,JMP LBL[1] ;
7: DO[28:BUFFER DOWN]=PULSE,1.0sec ;
8: R[37:PART ON BUFFER]=0 ;
9: ;
10: LBL[1] ;
11: IF R[4:INSIDE IMM]=1,JMP LBL[10] ;
12: ;
13:J PR[1:Robot HOME pos] 3% FINE ;
14: ;
15: DO[1:Prmt clmpcls]=ON ;
16: DO[2:Prmt clmpmtn]=ON ;
17: DO[4:Prmt ejctrtt]=ON ;
18: DO[5:Prmt ejctfwd]=ON ;
19: DO[6:Prmt corepul]=ON ;
20: DO[7:Prmt coreset]=ON ;
21: ;
22: R[1:CONTINUE CYCLE]=1 ;
23: R[3:Dropped parts]=0 ;
24: R[6:REJECT COUNTER]=0 ;
25: ;
26: LBL[10] ;
/END
/PROG PIK_PRT
1: !This program moves the robot ;
2: !to extract a part from the IMM. ;
3: IF DI[21:TERMO OUT RANGE]=OFF,JMP
LBL[100] ;
4: R[39:TERMO ABNORMAL]=1 ;
5: ;
6: LBL[100] ;
7: R[4:INSIDE IMM]=1 ;
8: ;
9: LBL[1] ;
10: SKIP CONDITION DI[1:Mold fullopn]=OFF
;
11:L PR[5:Prt approach pos] 1100mm/sec FINE
Skip,LBL[2] ;
12: JMP LBL[1] ;
13: LBL[2] ;
14:L PR[6:Prt pick pos] 400mm/sec FINE ;
15: ;
16: DO[5:Prmt ejctfwd]=ON ;
17: WAIT DI[4:Ejt fullfwrd]=ON ;
18: CALL GRIP_PRT ;
19: DO[4:Prmt ejctrtt]=ON ;
20: WAIT DI[3:Ejt fullrtrt]=ON ;
21: CALL FWD_PLUS ;
22: ;
23:L PR[5:Prt approach pos] 700mm/sec FINE
;
24: ;
25: LBL[10] ;
26: ;
27: LBL[20] ;
28:L PR[5:Prt approach pos] 1000mm/sec FINE
;
29: LBL[40] ;
/POS
/END
/PROG NO_PART
1: DO[21:SOUND MOD]=ON ;
2: Prompt Box YN('CONTINUE',34) ;
3: DO[21:SOUND MOD]=OFF ;
4: IF R[34]=0,CALL ABORTIT ;
/POS
/END
/PROG TERMO_ER
1: LBL[100] ;
2: Prompt Box YN(30,40) ;
3: IF R[40]=1,JMP LBL[2] ;
4: LBL[1] ;
5: DO[21:SOUND MOD]=ON ;
6: CALL CLRSCRN ;
7: DO[1:Prmt clmpcls]=OFF ;
8: DO[2:Prmt clmpmtn]=OFF ;
9: DO[4:Prmt ejctrtt]=OFF ;
10: DO[5:Prmt ejctfwd]=OFF ;
11: DO[6:Prmt corepul]=OFF ;
12: DO[7:Prmt coreset]=OFF ;
13: MESSAGE[SUHU TERMULATOR
ABNORMA] ;
14: MESSAGE[PADA LAST SHOT TERAKHIR] ;
15: MESSAGE[SEGERA PERBAIKI ATAU] ;
16: MESSAGE[PANGGIL ME] ;
17: ;
18: CALL ABORTIT ;
19: ;
20: LBL[2] ;
21: R[39:TERMO ABNORMAL]=0 ;
/POS
/END
/PROG F_DROP
1: DO[21:SOUND MOD]=ON ;
2: Prompt Box YN(29,34) ;
3: DO[21:SOUND MOD]=OFF ;
4: IF R[34]=0,CALL ABORTIT ;
/POS
/END