You are on page 1of 21

45: ;

/PROG MAIN Job 46: IF R[68:CLEAR 4]=1 OR R[69:CLEAR 8]=1


OR R[70:CLEAR 12]=1,
1: !This program controls the robot ;
: CALL NO_VAC_N ;
2: !and IMM motion when the FULL ;
47: ;
3: !AUTO signal is ON. ;
48: IF R[90:AUTO ABORT TIME]>=300,JMP
4: ;
LBL[100] ;
5: ! VISION-EASE LENS REV 5.4 ;
49: JMP LBL[30] ;
6: ! COINING ;
50: ;
7: ;
51: LBL[100] ;
8: COL GUARD ADJST(R[196:COL GUARD]) ;
52: CALL A_ABORT ;
9: OVERRIDE=20% ;
53: ;
10: ;
54: LBL[30] ;
11: R[39:TERMO ABNORMAL]=0 ;
55: TIMER[1]=START ;
12: DO[21:SOUND MOD]=OFF ;
56: IF R[68:CLEAR 4]=1,JMP LBL[40] ;
13: ;
57: IF R[69:CLEAR 8]=1,JMP LBL[40] ;
14: CALL STARTUPU ;
58: IF R[70:CLEAR 12]=1,JMP LBL[40] ;
15: RUN CYCLEMC ;
59: CALL GETINSRT ;
16: RUN HOLD ;
60: CALL TO_IMM ;
17: RUN OP_TABLE ;
61: CALL INTLK_ON ;
18: RUN T_ABORT ;
62: JMP LBL[45] ;
19: CALL GETOUTT ;
63: ;
20: CALL INTLKOFF ;
64: LBL[40] ;
21: OVERRIDE=80% ;
65: CALL TO_IMM ;
22: ;
66: CALL INTLK_ON ;
23: LBL[5] ;
67: ;
24: IF R[28:1st_Part]=1,JMP LBL[30] ;
68: LBL[45] ;
25: IF R[68:CLEAR 4]=1,JMP LBL[10] ;
69: IF R[53:HOLD MOLD]=1,JMP LBL[46] ;
26: IF R[69:CLEAR 8]=1,JMP LBL[10] ;
70: CALL PIK_PRT ;
27: IF R[70:CLEAR 12]=1,JMP LBL[10] ;
71: IF R[68:CLEAR 4]=1,JMP LBL[50] ;
28: TIMER[1]=START ;
72: IF R[69:CLEAR 8]=1,JMP LBL[50] ;
29: CALL GETINSRT ;
73: IF R[70:CLEAR 12]=1,JMP LBL[50] ;
30: CALL TO_IMM ;
74: ;
31: CALL INTLK_ON ;
75: LBL[46] ;
32: CALL PUTINSRT ;
76: CALL PUTINSRT ;
33: CALL EXIT_IMM ;
77: ;
34: CALL INTLKOFF ;
78: LBL[50] ;
35: CALL DPRT_IMM ;
79: CALL EXIT_IMM ;
36: ;
80: IF RO[1:GRIPPER]=OFF,JMP LBL[51] ;
37: WAIT DI[8:Full auto]=ON ;
81: IF RI[1:PART SENSE]=OFF,CALL NO_PART ;
38: JMP LBL[20] ;
82: ;
39: ;
83: IF R[39:TERMO ABNORMAL]=1,CALL
40: LBL[10] ;
TERMO_ER ;
41: CALL INISHLZE ;
84: ;
42: ;
85: ;
43: LBL[20] ;
86: IF R[28:1st_Part]=1,JMP LBL[51] ;
44: WAIT DI[8:Full auto]=ON TIMEOUT,LBL[10]
87: IF R[68:CLEAR 4]=1,JMP LBL[51] ;
;
88: IF R[69:CLEAR 8]=1,JMP LBL[51] ;
89: IF R[70:CLEAR 12]=1,JMP LBL[51] ;
90: ;
91: IF R[35:FILM DROP]=1,CALL F_DROP ;
92: ;
93: LBL[51] ;
94: CALL INTLKOFF ;
95: ;
96: LBL[55] ;
97: CALL DPRT_IMM ;
98: ;
99: LBL[60] ;
100: CALL PUT_PART ;
101: R[28:1st_Part]=0 ;
102: JMP LBL[20] ;
/POS
/END
46: LBL[140] ;
47: Prompt Box YN('INSERT4',18) ;
/PROG STARTUPU 48: IF R[18:YN]=0,JMP LBL[5] ;
1: LBL[5] ; 49: IF R[18:YN]=1,JMP LBL[200] ;
2: LBL[10] ; 50: ;
3: LBL[90] ; 51: LBL[150] ;
4: ; 52: Prompt Box YN('INSERT8',18) ;
5: List Menu('PRODUCT CHOI',15) ; 53: IF R[18:YN]=0,JMP LBL[5] ;
6: ; 54: IF R[18:YN]=1,JMP LBL[300] ;
7: IF R[68:CLEAR 4]=1,JMP LBL[100] ; 55: ;
8: IF R[69:CLEAR 8]=1,JMP LBL[110] ; 56: LBL[160] ;
9: IF R[12:FLANGLESS 4]=1,JMP LBL[120] ; 57: Prompt Box YN('FLANGELESS 4_4',18) ;
10: IF R[66:FLANGELESS 8]=1,JMP LBL[130] ; 58: IF R[18:YN]=0,JMP LBL[5] ;
11: IF R[2:Insert molding 4]=1,JMP LBL[140] ; 59: IF R[18:YN]=1,JMP LBL[209] ;
12: IF R[65:INSERT MLD 8]=1,JMP LBL[150] ; 60: ;
13: IF R[67:FLANGELESS 4_4]=1,JMP LBL[160] ; 61: LBL[170] ;
14: IF R[64:INSERT MLD 4_4]=1,JMP LBL[170] ; 62: Prompt Box YN('INSERT44',18) ;
15: ; 63: IF R[18:YN]=0,JMP LBL[5] ;
16: LBL[100] ; 64: IF R[18:YN]=1,JMP LBL[200] ;
17: Prompt Box YN('CLEAR4',18) ; 65: ;
18: IF R[18:YN]=0,JMP LBL[5] ; 66: LBL[200] ;
19: IF R[18:YN]=1,JMP LBL[209] ; 67: ;
20: ; 68: List Menu('MODEL_CHOICE_4 ',73) ;
21: LBL[110] ; 69: ;
22: List Menu(7,73) ; 70: IF R[74:ASP 65 ROUND]=1,JMP LBL[201] ;
23: ; 71: IF R[75:BASE 0/1/2]=1,JMP LBL[202] ;
24: IF R[69:CLEAR 8]=1,JMP LBL[111] ; 72: IF R[76:BASE 3UP]=1,JMP LBL[203] ;
25: IF R[70:CLEAR 12]=1,JMP LBL[112] ; 73: IF R[77:ASP 65 HEXA]=1,JMP LBL[204] ;
26: ; 74: ;
27: LBL[111] ; 75: LBL[201] ;
28: Prompt Box YN('CLEAR8',18) ; 76: Prompt Box YN(22,18) ;
29: IF R[18:YN]=0,JMP LBL[110] ; 77: IF R[18:YN]=0,JMP LBL[200] ;
30: IF R[18:YN]=1,JMP LBL[209] ; 78: IF R[18:YN]=1,JMP LBL[209] ;
31: ; 79: ;
32: LBL[112] ; 80: ;
33: Prompt Box YN(28,18) ; 81: LBL[202] ;
34: IF R[18:YN]=0,JMP LBL[110] ; 82: Prompt Box YN(23,18) ;
35: IF R[18:YN]=1,JMP LBL[209] ; 83: IF R[18:YN]=0,JMP LBL[200] ;
36: ; 84: IF R[18:YN]=1,JMP LBL[209] ;
37: LBL[120] ; 85: ;
38: Prompt Box YN('FLNGLESS4',18) ; 86: LBL[203] ;
39: IF R[18:YN]=0,JMP LBL[5] ; 87: Prompt Box YN(24,18) ;
40: IF R[18:YN]=1,JMP LBL[209] ; 88: IF R[18:YN]=0,JMP LBL[200] ;
41: ; 89: IF R[18:YN]=1,JMP LBL[209] ;
42: LBL[130] ; 90: ;
43: Prompt Box YN('FLNGLESS8',18) ; 91: LBL[204] ;
44: IF R[18:YN]=0,JMP LBL[5] ; 92: Prompt Box YN(25,18) ;
45: IF R[18:YN]=1,JMP LBL[209] ; 93: IF R[18:YN]=0,JMP LBL[200] ;
94: IF R[18:YN]=1,JMP LBL[209] ; 142: IF R[18:YN]=0,JMP LBL[209] ;
95: ; 143: IF R[18:YN]=1,JMP LBL[252] ;
96: LBL[300] ; 144: LBL[252] ;
97: List Menu(6,73) ; 145: Prompt Box YN('Get_Part',28) ;
98: ; 146: IF R[50:VIDJET ENABLE]=0,JMP LBL[260] ;
99: IF R[78:8 CAV ST]=1,JMP LBL[301] ; 147: LBL[255] ;
100: IF R[79:8 CAV MF]=1,JMP LBL[302] ; 148: IF DI[29:LASER STARTED]=ON,JMP
101: ; LBL[260] ;
102: LBL[301] ; 149: Prompt Box YN('Laser_Not_Sarted',18) ;
103: Prompt Box YN(26,18) ; 150: IF R[18:YN]=0,JMP LBL[209] ;
104: IF R[18:YN]=0,JMP LBL[300] ; 151: IF R[18:YN]=1,JMP LBL[255] ;
105: IF R[18:YN]=1,JMP LBL[209] ; 152: ;
106: ; 153: ;
107: LBL[302] ; 154: ;
108: Prompt Box YN(27,18) ; 155: ;
109: IF R[18:YN]=0,JMP LBL[300] ; 156: LBL[260] ;
110: IF R[18:YN]=1,JMP LBL[209] ; 157: DO[6:Prmt corepul]=ON ;
111: ; 158: DO[7:Prmt coreset]=ON ;
112: ; /POS
113: LBL[209] ; /END
114: Prompt Box YN('LASER',18) ;
115: IF R[18:YN]=0,CALL LASEROFF ;
116: IF R[18:YN]=1,CALL LASERON ;
117: IF R[50:VIDJET ENABLE]=0,JMP LBL[250] ;
118: Prompt Box YN('LASERSURE',29) ;
119: JMP LBL[250] ;
120: LBL[210] ;
121: Prompt Box YN('LASER4',18) ;
122: IF R[18:YN]=0,JMP LBL[220] ;
123: IF R[18:YN]=1,CALL LASR4ON ;
124: Prompt Box YN('LASER4 YN',18) ;
125: IF R[18:YN]=0,JMP LBL[210] ;
126: IF R[18:YN]=1,JMP LBL[250] ;
127: ;
128: LBL[220] ;
129: Prompt Box YN('LASER8',18) ;
130: IF R[18:YN]=0,JMP LBL[209] ;
131: IF R[18:YN]=1,CALL LASR8ON ;
132: Prompt Box YN('LASER8 YN',18) ;
133: IF R[18:YN]=0,JMP LBL[220] ;
134: IF R[18:YN]=1,JMP LBL[250] ;
135: ;
136: LBL[250] ;
137: Prompt Box YN('Coining',18) ;
138: IF R[18:YN]=0,CALL COIN_NO ;
139: IF R[18:YN]=1,CALL COIN_YES ;
140: IF R[18:YN]=0,JMP LBL[252] ;
141: Prompt Box YN('Coinsure',18) ;
/PROG CYCLEMC
1: R[33:MOLD VAC ON]=0 ;
2: R[53:HOLD MOLD]=0 ;
3: WAIT DI[1:Mold fullopn]=ON ;
4: ;
5: LBL[1] ;
6: WAIT DI[9:MOLD FULL CLS]=ON ;
7: TIMER[2]=RESET ;
8: TIMER[2]=START ;
9: DO[23:MOLD VAC]=ON ;
10: WAIT R[30] ;
11: DO[23:MOLD VAC]=OFF ;
12: R[33:MOLD VAC ON]=0 ;
13: ;
14: LBL[2] ;
15: IF DI[1:Mold fullopn]=ON,JMP LBL[3] ;
16: R[60:TEMP CYCLE TIME]=R[58:CYCLE TIME
MC]-TIMER[2] ;
17: IF DI[8:Full auto]=ON,JMP LBL[2] ;
18: DO[4:Prmt ejctrtt]=ON ;
19: DO[5:Prmt ejctfwd]=ON ;
20: ;
21: JMP LBL[2] ;
22: ;
23: LBL[3] ;
24: TIMER[2]=STOP ;
25: R[58:CYCLE TIME MC]=TIMER[2] ;
26: R[59:JANGAN DIUBAH]=R[58:CYCLE TIME
MC]-R[57:TRAVEL TIME]-
: R[55:WAIT OFFSET BUFF] ;
27: ;
28: JMP LBL[1] ;
/POS
/END
/PROG HOLD
1: LBL[5] ;
2: IF SO[3:Fault LED]=OFF,CALL CLRSCRN ;
3: ;
4: WAIT SO[2:Hold]=ON ;
5: CALL INTLK_ON ;
6: WAIT 1.00(sec) ;
7: ;
8: LBL[10] ;
9: IF SO[3:Fault LED]=OFF,JMP LBL[5] ;
10: IF R[4:INSIDE IMM]=1,CALL PWRDOWN ;
11: WAIT DI[8:Full auto]=OFF
TIMEOUT,LBL[10] ;
12: IF R[4:INSIDE IMM]<>0,JMP LBL[5] ;
13: DO[4:Prmt ejctrtt]=ON ;
14: DO[5:Prmt ejctfwd]=ON ;
15: JMP LBL[5] ;
/POS
/END
38: DO[21:SOUND MOD]=OFF ;
/PROG OP_TABLE 39: R[93:FILM READY ]=0 ;
1: R[36:NO FILM]=0 ; 40: LBL[40:end] ;
2: IF DI[17:NEST IN PROX]=ON AND 41: JMP LBL[5] ;
DI[18:NEST OUT PROX]=OFF,JMP LBL[10] ; /POS
3: IF DI[18:NEST OUT PROX]=ON AND /END
DI[17:NEST IN PROX]=OFF,JMP LBL[20] ;
4: LBL[5] ;
5: ;
6: WAIT R[13:TABLE F OR E]=0 OR DI[19:PALM
BUTTON]=ON ;
7: LBL[10:move out] ;
8: WAIT R[24:IN NEST]=0 ;
9: IF R[68:CLEAR 4]=1 OR R[69:CLEAR 8]=1 OR
R[70:CLEAR 12]=1,
: JMP LBL[12] ;
10: DO[26:NEST VAC]=ON ;
11: ;
12: LBL[12] ;
13: DO[25:NEST MOVE]=OFF ;
14: WAIT DI[18:NEST OUT PROX]=ON ;
15: ;
16: IF R[68:CLEAR 4]=1 OR R[69:CLEAR 8]=1
OR R[70:CLEAR 12]=1,
: JMP LBL[17] ;
17: DO[26:NEST VAC]=ON ;
18: ;
19: LBL[17] ;
20: DO[21:SOUND MOD]=OFF ;
21: ;
22: LBL[20:move in] ;
23: IF R[68:CLEAR 4]=1 OR R[69:CLEAR 8]=1
OR R[70:CLEAR 12]=1,
: JMP LBL[22] ;
24: DO[26:NEST VAC]=ON ;
25: ;
26: LBL[22] ;
27: IF R[93:FILM READY ]=1,JMP LBL[23] ;
28: WAIT DI[19:PALM BUTTON]=ON ;
29: R[93:FILM READY ]=1 ;
30: ;
31: LBL[23] ;
32: WAIT R[24:IN NEST]=1 ;
33: DO[25:NEST MOVE]=ON ;
34: R[13:TABLE F OR E]=1 ;
35: WAIT DI[17:NEST IN PROX]=ON ;
36: DO[20:CLEAR LIGHT]=OFF ;
37: DO[22:BLUE LIGHT]=OFF ;
PROG T_ABORT
/
1: R[90:AUTO ABORT TIME]=0 ;
2: ;
3: LBL[2] ;
4: TIMER[3]=STOP ;
5: TIMER[3]=RESET ;
6: WAIT UO[4:Prg paused]=ON ;
7: ;
8: TIMER[3]=START ;
9: ;
10: LBL[3] ;
11: R[90:AUTO ABORT TIME]=TIMER[3] ;
12: IF R[90:AUTO ABORT TIME]>=300,JMP
LBL[1] ;
13: IF UO[4:Prg paused]=OFF,JMP LBL[2] ;
14: JMP LBL[3] ;
15: ;
16: LBL[1] ;
17: TIMER[3]=STOP ;
18: JMP LBL[1] ;
19: ;
/POS
/END
41: LBL[10] ;
/PROG GETOUTT 42:L PR[4:IMM approach 3] 500mm/sec FINE
1: IF DI[21:TERMO OUT RANGE]=OFF,JMP
;
LBL[1] ;
43:J PR[3:IMM approach 2] 25% CNT100 ;
2: R[39:TERMO ABNORMAL]=1 ;
44:J PR[1:Robot HOME pos] 25% CNT100 ;
3: ;
45: IF RI[1:PART SENSE]=ON,CALL PUT_PART ;
4: LBL[1] ;
46: JMP LBL[50] ;
5: OVERRIDE=20% ;
47: LBL[20:not in imm] ;
6: PR[61:TEMP LOC]=LPOS ;
48: IF R[24:IN NEST]=0,JMP LBL[25] ;
7: R[61:TEMP X]=PR[61,1:TEMP LOC] ;
49: PR[51:TEMP]=LPOS ;
8: R[62:TEMP Y]=PR[61,2:TEMP LOC] ;
50: ;
9: R[63:TEMP Z]=PR[61,3:TEMP LOC] ;
51: PR[51,3:TEMP]=PR[51,3:TEMP]+10 ;
10: IF R[62:TEMP Y]>(-641.041),JMP LBL[2] ;
52:L PR[51:TEMP] 500mm/sec FINE ;
11: R[4:INSIDE IMM]=1 ;
53:L PR[31:APP INSERT 2_8] 500mm/sec FINE
12: R[14:IN DROP AREA ]=0 ;
;
13: R[24:IN NEST]=0 ;
54:L PR[29:APP INSERT 1A] 500mm/sec FINE
14: JMP LBL[8] ;
;
15: LBL[2] ;
55:L PR[30:APP INSERT 1] 500mm/sec FINE ;
16: IF R[61:TEMP X]>(-80),JMP LBL[4] ;
56: R[24:IN NEST]=0 ;
17: R[4:INSIDE IMM]=0 ;
57: ;
18: R[14:IN DROP AREA ]=0 ;
58:L PR[2:IMM approach 1] 500mm/sec FINE
19: R[24:IN NEST]=1 ;
;
20: JMP LBL[8] ;
59:J PR[1:Robot HOME pos] 25% FINE ;
21: LBL[4] ;
60: IF RI[1:PART SENSE]=ON,CALL PUT_PART ;
22: IF R[61:TEMP X]>1150.93,JMP LBL[30] ;
61: JMP LBL[50] ;
23: IF R[62:TEMP Y]<516 AND R[61:TEMP
62: LBL[25:not in nest] ;
X]<1150.93,JMP LBL[6] ;
63: IF R[14:IN DROP AREA ]=0,JMP LBL[40] ;
24: R[4:INSIDE IMM]=0 ;
64:L PR[43:TO PUT 3] 500mm/sec FINE ;
25: R[14:IN DROP AREA ]=1 ;
65:L PR[42:TO PUT 2] 500mm/sec FINE ;
26: R[24:IN NEST]=0 ;
66:L PR[41:TO PUT 1] 500mm/sec FINE ;
27: JMP LBL[8] ;
67:J PR[1:Robot HOME pos] 25% FINE ;
28: LBL[6] ;
68: JMP LBL[50] ;
29: R[4:INSIDE IMM]=0 ;
69: ;
30: R[14:IN DROP AREA ]=0 ;
70: LBL[30] ;
31: R[24:IN NEST]=0 ;
71:L PR[52:AT LASER] 500mm/sec FINE ;
32: ;
72:J PR[1:Robot HOME pos] 10% CNT100 ;
33: LBL[8] ;
73: JMP LBL[50] ;
34: ;
74: LBL[40:not in drop area] ;
35: R[9:PART IN MOLD]=R[4:INSIDE
75: IF R[62:TEMP Y]<60,JMP LBL[46] ;
IMM]+R[14:IN DROP AREA ]+
76: IF R[61:TEMP X]>60,JMP LBL[41] ;
: R[24:IN NEST] ;
77: ;
36: IF R[9:PART IN MOLD]>1,CALL ABORTIT ;
78:L PR[41:TO PUT 1] 500mm/sec FINE ;
37: ;
79: LBL[41] ;
38: IF R[4:INSIDE IMM]=0,JMP LBL[20] ;
80:L PR[2:IMM approach 1] 500mm/sec FINE
39: SKIP CONDITION DI[1:Mold fullopn]=OFF
;
;
81:L PR[1:Robot HOME pos] 500mm/sec FINE
40:L PR[5:Prt approach pos] 500mm/sec FINE
;
Skip,LBL[10] ;
82: JMP LBL[55] ;
83: ;
84: LBL[45] ;
85:L PR[2:IMM approach 1] 500mm/sec FINE
;
86:L PR[1:Robot HOME pos] 500mm/sec FINE
;
87: JMP LBL[55] ;
88: ;
89: LBL[46] ;
90: IF R[61:TEMP X]>1000,JMP LBL[45] ;
91:L PR[3:IMM approach 2] 500mm/sec FINE
;
92:L PR[1:Robot HOME pos] 500mm/sec FINE
;
93: ;
94: LBL[50:end] ;
95: ;
96: LBL[55] ;
97: OVERRIDE=80% ;
98: IF RI[1:PART SENSE]=ON,CALL PUT_PART ;
99: R[4:INSIDE IMM]=0 ;
100: R[14:IN DROP AREA ]=0 ;
101: R[24:IN NEST]=0 ;
102:L PR[1:Robot HOME pos] 300mm/sec FINE
;
103: TIMER[1]=STOP ;
104: DO[21:SOUND MOD]=OFF ;
/POS
/END
47: ;
/PROG INTLKOFF 48: LBL[50] ;
1: !This program allows the IMM ; 49: DO[23:MOLD VAC]=OFF ;
2: !to close the platen. DO NOT ; 50: ;
3: !MODIFY UNLESS YOU HAVE A ; 51: LBL[60] ;
4: !THOROUGH UNDERSTANDING OF THE ; /POS
5: !LOGIC. ; /END
6: ;
7: DO[4:Prmt ejctrtt]=OFF ;
8: DO[5:Prmt ejctfwd]=OFF ;
9: ;
10: IF R[68:CLEAR 4]=1,JMP LBL[9] ;
11: IF R[69:CLEAR 8]=1,JMP LBL[9] ;
12: IF R[70:CLEAR 12]=1,JMP LBL[9] ;
13: IF R[28:1st_Part]=1,JMP LBL[9] ;
14: IF DI[8:Full auto]=OFF,JMP LBL[9] ;
15: IF R[53:HOLD MOLD]=1,JMP LBL[11] ;
16: ;
17: LBL[9] ;
18: DO[2:Prmt clmpmtn]=ON ;
19: IF R[7:Check cores]=0,JMP LBL[10] ;
20: ;
21: DO[6:Prmt corepul]=OFF ;
22: DO[7:Prmt coreset]=ON ;
23: WAIT DI[5:Core fullset]=ON ;
24: DO[7:Prmt coreset]=OFF ;
25: ;
26: LBL[10] ;
27: DO[7:Prmt coreset]=ON ;
28: DO[1:Prmt clmpcls]=ON ;
29: JMP LBL[12] ;
30: ;
31: LBL[11] ;
32: DO[7:Prmt coreset]=OFF ;
33: DO[1:Prmt clmpcls]=OFF ;
34: ;
35: LBL[12] ;
36: IF DI[8:Full auto]=OFF,JMP LBL[60] ;
37: IF R[68:CLEAR 4]=1,JMP LBL[60] ;
38: IF R[69:CLEAR 8]=1,JMP LBL[60] ;
39: IF R[70:CLEAR 12]=1,JMP LBL[60] ;
40: ;
41: IF R[12:FLANGLESS 4]=1,JMP LBL[50] ;
42: IF R[67:FLANGELESS 4_4]=1,JMP LBL[50] ;
43: IF R[66:FLANGELESS 8]=1,JMP LBL[50] ;
44: R[33:MOLD VAC ON]=1 ;
45: JMP LBL[60] ;
46: ;
39: IF R[64:INSERT MLD 4_4]=1,JMP LBL[7] ;
/PROG GETINSRT 40: IF R[68:CLEAR 4]=1,JMP LBL[40] ;
1: !Use this program to instruct ;
41: IF R[69:CLEAR 8]=1,JMP LBL[40] ;
2: !the robot to get an insert. ;
42: IF R[70:CLEAR 12]=1,JMP LBL[40] ;
3: IF DI[21:TERMO OUT RANGE]=OFF,JMP
43: ;
LBL[100] ;
44: LBL[2] ;
4: R[39:TERMO ABNORMAL]=1 ;
45:L PR[31:APP INSERT 2_8] 200mm/sec
5: ;
CNT100 ;
6: LBL[100] ;
46:L PR[33:APP INSERT 2_4] 200mm/sec
7: IF DI[8:Full auto]=ON,CALL NOCLPCLS ;
CNT100 ;
8: IF RI[3:FILM SENSE]=ON,JMP LBL[41] ;
47:L PR[36:APP1 INSERT 2_4] 200mm/sec
9: ;
CNT100 ;
10: R[24:IN NEST]=1 ;
48: PR[51:TEMP]=PR[34:GET INSERT 4 PIK] ;
11: ;
49: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST
12: IF DI[17:NEST IN PROX]=OFF,CALL SND_ON
Z OFFSET ] ;
;
50:L PR[51:TEMP] 200mm/sec CNT100 ;
13:L PR[30:APP INSERT 1] 400mm/sec CNT100
51:L PR[34:GET INSERT 4 PIK] 20mm/sec FINE
;
;
14:L PR[29:APP INSERT 1A] 200mm/sec
52: JMP LBL[8] ;
CNT100 ;
53: ;
15:L PR[31:APP INSERT 2_8] 200mm/sec
54: LBL[3] ;
CNT100 ;
55:L PR[31:APP INSERT 2_8] 200mm/sec
16: IF DI[8:Full auto]=ON,CALL NOCLPCLS ;
CNT100 ;
17: TIMER[1]=STOP ;
56:L PR[35:APP1 INSERT 2_8] 200mm/sec
18: ;
CNT100 ;
19: IF R[28:1st_Part]=1,JMP LBL[21] ;
57: PR[51:TEMP]=PR[32:GET INSERT 8 PIK] ;
20: IF DI[8:Full auto]=OFF AND DI[1:Mold
58: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST
fullopn]=ON,JMP LBL[21] ;
Z OFFSET ] ;
21: IF R[53:HOLD MOLD]=1,JMP LBL[21] ;
59:L PR[51:TEMP] 200mm/sec CNT100 ;
22: ;
60:L PR[32:GET INSERT 8 PIK] 20mm/sec FINE
23: LBL[1] ;
;
24: IF DI[18:NEST OUT PROX]=OFF,JMP
61: JMP LBL[8] ;
LBL[21] ;
62: ;
25: IF R[60:TEMP CYCLE TIME]<0,JMP LBL[1] ;
63: LBL[4] ;
26: IF R[56:WAIT OFFSET NEST]>=R[60:TEMP
64:L PR[31:APP INSERT 2_8] 200mm/sec
CYCLE TIME],JMP LBL[42] ;
CNT100 ;
27: ;
65:L PR[33:APP INSERT 2_4] 200mm/sec
28: JMP LBL[1] ;
CNT100 ;
29: ;
66:L PR[36:APP1 INSERT 2_4] 200mm/sec
30: LBL[21] ;
CNT100 ;
31: WAIT DI[17:NEST IN PROX]=ON ;
67: PR[51:TEMP]=PR[39:FL PICK POS 4] ;
32: ;
68: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST
33: DO[21:SOUND MOD]=OFF ;
Z OFFSET ] ;
34: IF R[2:Insert molding 4]=1,JMP LBL[2] ;
69:L PR[51:TEMP] 200mm/sec CNT100 ;
35: IF R[65:INSERT MLD 8]=1,JMP LBL[3] ;
70:L PR[39:FL PICK POS 4] 20mm/sec FINE ;
36: IF R[12:FLANGLESS 4]=1,JMP LBL[4] ;
71: JMP LBL[8] ;
37: IF R[66:FLANGELESS 8]=1,JMP LBL[5] ;
72: ;
38: IF R[67:FLANGELESS 4_4]=1,JMP LBL[6] ;
73: LBL[5] ;
74:L PR[31:APP INSERT 2_8] 200mm/sec 110:L PR[36:APP1 INSERT 2_4] 100mm/sec
CNT100 ; CNT100 ;
75:L PR[35:APP1 INSERT 2_8] 200mm/sec 111: IF RI[3:FILM SENSE]=OFF,JMP LBL[42] ;
CNT100 ; 112: R[36:NO FILM]=0 ;
76: PR[51:TEMP]=PR[38:FL PICK POS 8] ; 113: CALL CLRSCRN ;
77: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST 114: JMP LBL[42] ;
Z OFFSET ] ; 115: ;
78:L PR[51:TEMP] 200mm/sec CNT100 ; 116: LBL[15] ;
79:L PR[38:FL PICK POS 8] 20mm/sec FINE ; 117:L PR[51:TEMP] 20mm/sec CNT100 ;
80: JMP LBL[8] ; 118: IF RI[3:FILM SENSE]=OFF,CALL TRY_2ND ;
81: ; 119:L PR[35:APP1 INSERT 2_8] 100mm/sec
82: LBL[6] ; CNT100 ;
83:L PR[31:APP INSERT 2_8] 200mm/sec 120: IF RI[3:FILM SENSE]=OFF,JMP LBL[42] ;
CNT100 ; 121: R[36:NO FILM]=0 ;
84:L PR[35:APP1 INSERT 2_8] 200mm/sec 122: CALL CLRSCRN ;
CNT100 ; 123: ;
85: PR[51:TEMP]=PR[40:FL PICK POS 4_4] ; 124: LBL[42] ;
86: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST 125: TIMER[1]=START ;
Z OFFSET ] ; 126: DO[21:SOUND MOD]=OFF ;
87:L PR[51:TEMP] 200mm/sec CNT100 ; 127: R[24:IN NEST]=0 ;
88:L PR[40:FL PICK POS 4_4] 20mm/sec FINE 128:L PR[31:APP INSERT 2_8] 200mm/sec
; CNT100 ;
89: JMP LBL[8] ; 129: ;
90: ; 130: LBL[20] ;
91: LBL[7] ; 131:L PR[27:APP INSERT 2B] 400mm/sec
92:L PR[31:APP INSERT 2_8] 200mm/sec CNT100 ;
CNT100 ; 132: IF RI[3:FILM SENSE]=OFF,JMP LBL[50] ;
93:L PR[35:APP1 INSERT 2_8] 200mm/sec 133: DO[24:ANTI-STAT]=ON ;
CNT100 ; 134: LBL[50] ;
94: PR[51:TEMP]=PR[37:GET INSERT 4_4PK] ; 135:L PR[26:APP INSERT C] 25mm/sec CNT100
95: PR[51,3:TEMP]=PR[51,3:TEMP]+R[92:NEST ;
Z OFFSET ] ; 136: DO[24:ANTI-STAT]=OFF ;
96:L PR[51:TEMP] 200mm/sec CNT100 ; 137:L PR[29:APP INSERT 1A] 400mm/sec
97:L PR[37:GET INSERT 4_4PK] 20mm/sec FINE CNT100 ;
; 138:L PR[30:APP INSERT 1] 400mm/sec CNT100
98: JMP LBL[8] ; ;
99: ; 139: ;
100: LBL[8] ; 140: LBL[41] ;
101: DO[26:NEST VAC]=OFF ; 141:L PR[2:IMM approach 1] 400mm/sec
102: RO[2:FILM VACUUM]=ON ; CNT100 ;
103: WAIT 2.00(sec) ; 142: IF DI[8:Full auto]=OFF,JMP LBL[40] ;
104: R[13:TABLE F OR E]=0 ; 143: IF DI[1:Mold fullopn]=ON,JMP LBL[40] ;
105: DO[22:BLUE LIGHT]=ON ; 144: ;
106: ; 145:L PR[24:INSERT HOLD] 500mm/sec CNT100
107: IF R[2:Insert molding 4]=0 AND ;
R[12:FLANGLESS 4]=0,JMP LBL[15] ; 146: ;
108:L PR[51:TEMP] 20mm/sec CNT100 ; 147: TIMER[1]=STOP ;
109: IF RI[3:FILM SENSE]=OFF,CALL TRY_2ND ; 148: WAIT DI[9:MOLD FULL CLS]=OFF ;
149: TIMER[1]=START ;
150: LBL[40:end out] ;
151: ;
152:L PR[2:IMM approach 1] 1100mm/sec
CNT100 ;
153: R[24:IN NEST]=0 ;
/POS
/END

/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

You might also like