0% found this document useful (0 votes)
778 views2 pages

Sample Fanuc Robot Pick Program

1. This program controls a Fanuc robot to pick parts. It uses labels to direct the robot's movement through different sequences depending on the part style. 2. It first moves the robot arm to a recorded perch position, then turns on/off outputs before moving to another position. 3. It then waits for an input to turn on before moving to approach the part and checking the part style number to determine which pick sequence to follow. 4. If a conveyor error is detected it will run error handling macros before continuing the process.

Uploaded by

Oscar Oscar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
778 views2 pages

Sample Fanuc Robot Pick Program

1. This program controls a Fanuc robot to pick parts. It uses labels to direct the robot's movement through different sequences depending on the part style. 2. It first moves the robot arm to a recorded perch position, then turns on/off outputs before moving to another position. 3. It then waits for an input to turn on before moving to approach the part and checking the part style number to determine which pick sequence to follow. 4. If a conveyor error is detected it will run error handling macros before continuing the process.

Uploaded by

Oscar Oscar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

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

You might also like