Sample Fanuc Robot Pick program
(will explain line by line, check back soon)
1: LBL[1:Begining]; (Label to jump to )
2: UFRAME_NUM= 1; (Frame number similar to work coordinates)
3: UTOOL_NUM= 1; (calls Tool number offset)
(jog to a recorded position at 50%)(CNT=round off going to
4: J P[1:Perch] 50% CNT100 ;
point)
5: RO[1]= ON; (turns on an output RO 1)
6: RO[2]= OFF; (turns off an output RO 2)
7: RO[3]= ON; (turns on an output RO 3)
8: RO[4]= OFF; (turns off output RO 4)
(jog to a recorded position at 50%)(CNT= round off going
9: J P[9:Perch 2] 50% CNT100 ;
through point /corner a certain amount)
10: LBL[2:Pick Part]; (label to jump to from another part of program)
11: $WAITTMOUT= 2000; (If waiting to long timeout)
12: ;
13: L P[2:Approch] 500mm/sec (move in a straight line to the point at 500MM/sec roundig
CNT100 ; off corner)
14: WAIT DI[2] = ON; (wait for an input DI2 to come on)
15: ;
16: ! R[15] is for the part style; Utilizing register 15 for part style
17: IF R[15] = 1 , JMP LBL[3]; If register 15 is a 1 (some part style) jump to label 3
18: IF R[15] = 2 , JMP LBL[4]; If register 15 is a 2 (some part style) jump to label 4
19: PAUSE;
20: ABORT; If no part style selected abort program
21: ;
22: LBL[3:Pick Part#1]; Pick part style #1
L=move in a straight line to a recorded position at a specific
23: L P[11] 100mm/sec FINE ;
speed
24: ;
25: JMP LBL[5]; jump over part style #2 to label 5
26: LBL[4:Pick Part#2]; Pick part style #2
L=move in a straight line to a recorded position at a specific
27: L P[12] 100mm/sec FINE ;
speed
28: ;
29: LBL[5:Continue]; label 5
30: CALL CLSGRP1; Call subprogram to close gripper
31: L P[8:Depart Out]
move in a straight line to depart position point
100mm/sec CNT100 ;
If the input Digital input #2(somthing with conveyor) is on
32: IF DI[2] = ON , JMP LBL[98];
jump to label 98 problem with conveyor
33: ;
34: LBL[6:Continue]; label 6
move to recorded position the fastest posible way using
35: J P[1:Perch] 50% CNT100 ;
joint moves
36: JMP LBL[99]; jump to label 99
37: ;
38: ;
39: LBL[98:Conveyor problem
conveyor problem was present
present];
40: macro_119; run macro program
41: DO[14]= OFF; Turn digital output #14 off
42: DO[16]= ON; Turn digital output #14 on
43: MESSAGE[Alarm indicating]; Message with the said text displayed
44: MESSAGE[Dropped part]; Message with the said text displayed
45: MESSAGE[Remedy- check
Message with the said text displayed
sensor];
46: PAUSE;
47: JMP LBL[6]; Jump to label #6
48: ;
49: LBL[99:End] label 99
joint move to recorded position #2 commented as an
50: J P[2:"Approch"]
approach point
joint move to recorded position #1 commented as perch
51: J P[1:"Perch"]
point
End of program
/END