;/* MCANG76 X Y Z R Q U P F K...Fine Boring cycle */ #37=$3; /* Stores G90/G91 modal group */ #17=ABS(#17); #5=#16+1; /* Dwell Time */ IF (#11 == #0) GOTO 1; /* If K is specified or not */ IF (#11 != 0) GOTO 2; N1 #11=1; /* K=0 or K is not specified */ N2 #11=ABS(#11); ;;--------------------------------------------------------- IF (#34==1) GOTO 4; /* U: Shift Direction */ IF (#34==2) GOTO 5; IF (#34==3) GOTO 6; #35=1; #36=#0; GOTO 7; N4 #35=-1; #36=#0; GOTO 7; N5 #35=#0; #36=1; GOTO 7; N6 #35=#0; #36=-1; ;;--------------------------------------------------------- N7 IF (#18 == #0) GOTO 8; #28=#18; N8 IF ($2 == 18) GOTO 20; IF ($2 == 19) GOTO 30; ; /* Calculates the drilling amount */ ; /* #20:Drilling axis data */ N10 IF (#26 == #0) GOTO 11; #20=#26; /* If drilling axis(Z) is specified or not */ N11 #33=$32; /* Stores Z original position */ N13 IF (#37 == 91) GOTO 14; #10=#20-#28; #7=#28-#42; #32=1; GOTO 18; N14 IF (#26 != #0) GOTO 17; IF (#18 != #0) GOTO 16; IF (#32 != #0) GOTO 15; #10=#20; #7=#28; #32=#0; GOTO 18; N15 #10=#20-#30; #7=#28-#42; GOTO 18; N16 #10=#20-#33-#28; #7=#28; GOTO 18; N17 #10=#20; #7=#28-#42; N18 #26=#0; /*Reset Z value */ IF ($10 == 98) GOTO 100; #7=#0; GOTO 100; ;;--------------------------------------------------------- N20 IF (#25 == #0) GOTO 21; #20=#25; /* If drilling axis(Y) is specified or not */ N21 #33=$31; /* Stores Y original position */ N23 IF (#37 == 91) GOTO 24; #10=#20-#28; #7=#28-#41; #32=1; GOTO 28; N24 IF (#25 != #0) GOTO 27; IF (#18 != #0) GOTO 26; IF (#32 != #0) GOTO 25; #10=#20; #7=#28; #32=#0; GOTO 28; N25 #10=#20-#30; #7=#28-#41; GOTO 28; N26 #10=#20-#33-#28; #7=#28; GOTO 28; N27 #10=#20; #7=#28-#41; N28 #25=#0; /*Reset Y value */ IF ($10 == 98) GOTO 100; #7=#0; GOTO 100; N30 IF (#24 == #0 ) GOTO 31; #20=#24; /* If drilling axis(X) is specified or not */ N31 #33=$30; /* Stores X original position */ N33 IF (#37 == 91) GOTO 34; #10=#20-#28; #7=#28-#40; #32=1; GOTO 38; N34 IF (#24 != #0) GOTO 37; IF (#18 != #0) GOTO 36; IF (#32 != #0) GOTO 35; #10=#20; #7=#28; #32=#0; GOTO 38; N35 #10=#20-#30; #7=#28-#40; GOTO 38; N36 #10=#20-#33-#28; #7=#28; GOTO 38; N37 #10=#20; #7=#28-#40; N38 #24=#0; /*Reset X value */ IF ($10 == 98) GOTO 100; #7=#0; ;;--------------------------------------------------------- N100 #8=0; // INITIAL COUNTER FOR 'K' = 0 #12=#35*#17; // SHIFT VECTOR.X #13=#36*#17; // SHIFT VECTOR.Y IF (#28 != #0) GOTO 110; /* If R is specified or not */ #7=#0; N110 IF (#20 != #0) GOTO 120; /* If drilling axis is specified or not */ #10=#0; ;;--------------------------------------------------------- N120 IF ($2 == 18) GOTO 300; IF ($2 == 19) GOTO 400; ;;--------------------------------------------------------- ; /* G17 Plane */; N200 G0X#24Y#25A#1B#2C#3U#21V#22W#23; IF ($10 == 99 && #37 == 91) GOTO 203; IF ($10 == 98 && #37 == 91) GOTO 201; Z#28; G91F#6; #30=#28; GOTO 220; N201 IF (#18 == #0) GOTO 202; Z#28; #7=#28; G91F#6; #30=#28; GOTO 220; N202 G90Z#28; G91F#6; #30=#28; GOTO 220; N203 IF (#18 == #0) GOTO 204; #31=#33+#28; #31=#31-$32; Z#31; G91F#6; #30=#28; GOTO 220; N204 G90Z#28; G91F#6; #30=#28; GOTO 220; N210 G#37G0X#24Y#25A#1B#2C#3U#21V#22W#23; G91Z#7; N220 G1Z#10; // CUTTING DOWN TO Z G4P#5; // DWELL AT BOTTOM M19; // ORIENTED SPINDLE STOP G0X#12Y#13; // SHIFT-OUT AT BOTTOM Z-#10; // RAPID RETRACT TO 'R' Z-#7; // RAPID TO INITIAL LEVEL X-#12Y-#13; // SHIFT-IN AT TOP M28; M3; #8=#8+1; IF (#8 < #11) GOTO 210; #18=#0; #1=#0; #2=#0; #3=#0; #21=#0; #22=#0; #23=#0; G#37M99; ;;--------------------------------------------------------- ; /* G18 Plane */; N300 G0X#24Z#26A#1B#2C#3U#21V#22W#23; IF ($10 == 99 && #37 == 91) GOTO 303; IF ($10 == 98 && #37 == 91) GOTO 301; Y#28; G91F#6; #30=#28; GOTO 320; N301 IF (#18 == #0) GOTO 302; Y#28; #7=#28; G91F#6; #30=#28; GOTO 320; N302 G90Y#28; G91F#6; #30=#28; GOTO 320; N303 IF (#18 == #0) GOTO 304; #31=#33+#28; #31=#31-$31; Y#31; G91F#6; #30=#28; GOTO 320; N304 g90Y#28; G91F#6; #30=#28; GOTO 320; N310 G#37G0X#24Z#26A#1B#2C#3U#21V#22W#23; G91Y#7; N320 G1Y#10; G4P#5; M19; G0Z#12X#13; Y-#10; Y-#7; Z-#12X-#13; M28; M3; #8=#8+1; IF (#8 < #11) GOTO 310; #18=#0; #1=#0; #2=#0; #3=#0; #21=#0; #22=#0; #23=#0; G#37M99; ;;--------------------------------------------------------- ; /* G19 Plane */; N400 G0Y#25Z#26A#1B#2C#3U#21V#22W#23; IF ($10 == 99 && #37 == 91) GOTO 403; IF ($10 == 98 && #37 == 91) GOTO 401; X#28; G91F#6; #30=#28; GOTO 420; N401 IF (#18 == #0) GOTO 402; X#28; #7=#28; G91F#6; #30=#28; GOTO 420; N402 G90X#28; G91F#6; #30=#28; GOTO 420; N403 IF (#18 == #0) GOTO 404; #31=#33+#28; #31=#31-$30; X#31; G91F#6; #30=#28; GOTO 420; N404 G90X#28; G91F#6; #30=#28; GOTO 420; N410 G#37G0Y#25Z#26A#1B#2C#3U#21V#22W#23; G91X#7; N420 G1X#10; G4P#5; M19; G0Y#12Z#13; X-#10; X-#7; Y-#12Z-#13; M28; M3; #8=#8+1; IF (#8 < #11) GOTO 410; #18=#0; #1=#0; #2=#0; #3=#0; #21=#0; #22=#0; #23=#0; G#37M99; ;/* This MACOR is designed for MILL-G76(Fine boring cycle) */; ;/* Version 2.0 Modifier: ChingFu & Josan 2003/8/27 11:18¤W¤È*/