why not just bump the stock out each part
set up one tool station with a pin
program the tip of the pin to be located where the rough stock should be
open the chuck and move stock forward until it comes into contact with the pin
I run a Mori Seiki SL25 with a Fanuc 15T control, I often have to make short parts between .5 and 2" long from long stock, I'll hang as much stock as possible out of the chuck and then make and part-off as many part's as I can without pulling out more material, I've just been using the Input+ key to shift over the #00 Shift offset and make a new part, is there an easy way to automate this process other than using subprograms and G55/G59 offsets?
why not just bump the stock out each part
set up one tool station with a pin
program the tip of the pin to be located where the rough stock should be
open the chuck and move stock forward until it comes into contact with the pin
Use a G52 command to crreate a secondary work coordinate. You need to make your program into a subroutine called by what becomes your main program.
Your program starts with the command G52 Z0.0 and then calls the subroutine which does a complete part. Below the first subroutine call you have a G52 Z-z.z, where -z.z is the length of the part plus the parting loss plus a facing allowance, then call the subroutine again.
You do this for however many parts you can get out of a length and after the last subroutine call you have the command G52 Z0.0 to reset back to the original work coordinate.
You can use G10 to shift your coordinate system, i.e.:
G10 L2 P1 Z-10.5; would set the G54 Z offset to -10.5
G10 L2 P1 W-0.5; would shift the G54 Z offset -0.500.
Geof, can you write me an example, you can just add the proper commands to the top and bottom for me, I've never ran sub-routines. my normal program would look something like this...
O0001;
G0T0101 G50S2000;
G54;
G96S300M3;
X5.Z.04M8;
makes part
G0X10.Z6.M9;
M1;
M30;
Okay I am not sure exactly how the subroutine call would be on your machine. On a Haas it is M97 P1000 which says go to line N1000 and carry on from there. The return is M99 which says go back to the line below the one with the call command. On your machine it may be O1000 or something different. I have put in line numbers just to identify things.
From line N4 it goes to N1000, does the first part and returns from the M99 at N100n back to N5. Then having had the G52 move the work zero forwardit goes from N6 back to N1000, returns and move again at N7 then back again at N8, returns to N9 cancels all the G52 shifts, homes and stops.
O0001;
N1 G0T0101 G50S2000;
N2 G54;
N3 G52 Z0.0;
N4 M97 P1000;
N5 G52 Z-z.z;
N6 M97 P1000;
N7 G52 Z-2z.z;
N8 M97 P1000;
N9 G52 Z0.0;
N10 G28M9;
N11 M30;
N1000 G96S300M3;
N1001 X5.Z.04M8;
N1002 makes part;
;
However many lines needed
;
N100n G0X10.Z6.;
N100n M99;
You will notice I left the spindle command in what becomes the subroutine. Mostly I do this because there will be tool changes in the subroutine and maybe speed changes. I find it easier to read the program if all the stuff telling the machine what to do is in one section.
Thanks Geof, I may give that a shot,my machine uses a M98 to call a sub and a M99 for the end.
Have a look at this thread:
Widows Vista
One of the posts mentions something about a Fanuc control only doing sub program calls, not subroutine. This may be applicable to you.