Hi Fernando E.
Just do X & Y moves to each part
Looking for help.... Pretty new at programming and want to find a easiest and simplest way to use the g54-g59 work shift coordinates but want to machine about 10 parts. I am aware of G92 but i have been told there is a way using g54 to do this. Any help and examples in format would be great! thanks
Hi Fernando E.
Just do X & Y moves to each part
Mactec54
Use G52 and you can put a temporary work zero at each part.
The G52 command uses X Y and Z coordinates that place the temporary work zero with reference to your active work zero. For instance let us say your ten parts are held in two rows of five pieces spaced four inches apart on the X axis along the rows while the rows are also spaced four inches apart; this means you have a two by five grid on four inch squares.
You are going to need two programs, one to choose the work zero and the other one is a subprogram which does the machining.
Now you put your G54 at the center of the part furthest on the right and furthest back so your program has these commands:
G54 (This selects your work zero)
M98 Onnnn (This calls up your subprogram number Onnnn which does the work.)
The machine returns from the subprogram to the line below the calling line and here you have these commands:
G52 X-4.0 Y0.0 Z0.0 (This creates a temporay work zero at the next part to the left)
G98 Onnnn (Back to the subprogram)
The complete sequence to step along all your parts from the first to the last is:
G54
M98 Onnnn
G52 X-4.0 Y0.0 Z0.0
M08 Onnn
G52 X-8.0 Y0.0 Z0.0
M08 Onnn
G52 X-12.0 Y0.0 Z0.0
M08 Onnn
G52 X-16.0 Y0.0 Z0.0
M08 Onnn
G52 X-16.0 Y-4.0 Z0.0
M08 Onnn
G52 X-12.0 Y-4.0 Z0.0
M08 Onnn
G52 X-8.0 Y-4.0 Z0.0
M08 Onnn
G52 X-0.0 Y-4.0 Z0.0
M08 Onnn
G52 X-4.0 Y0.0 Z0.0
M08 Onnn
There are other ways to do it such as relocating your G54 by using a G10 command and to save lines you can do things using incremental shifts for either the G54 or the G52s or you can simply put in ten fixed work zeros, G54 to G113 if your machine can do that many.
An open mind is a virtue...so long as all the common sense has not leaked out.
Hi Geof
I like using the G52 as well it works great for the Hass machines/control but it does not work to good on other controls
Mactec54
Thanks guys, i will give the G52 command a shot as soon as im back in the shop!!
Whats a good example for using g10 with the g54-g59 work shift coordinates?
Hi Fernando E.
It can be as simple as this no G10 or G52 needed or anything else needed, Just simple X & Y moves, in this case just the X is moving, this is for 5 parts just doing a spot drill on each part at its 0,0 point
Mactec54
Using G10 it is as simple as replacing all the G52 commands in my example with G19 commands.
G10 L2 G90 P1 X-4. Y-4. Z0. (Locates G54 at -4., -4.)
M98 Onnnn
H10 L2 G90 P1 X-8. Y-4. Z0. (Now G54 is moved to the next location at -8. -4.)
You just carry on like this moving G54 to where you need it.
This method is really not much different in how many lines you need to type.
If you have many more than ten locations and if your machine can do an L count in the M98 command you can move G54 incrementally to save typing.
G10 L2 G91 X-4. Y0. Z0. M98 Onnnn L4
Will step G54 along the X axis in four moves of 4"; then you have a G10 command to move Y down and then step X back so the whole sequence is like this.
G54 M98 Onnnn (Machine first part at original G54 location)
G10 L2 G91 X-4. Y0. Z0. M98 Onnnn L4 (Step along to other four locations)
G10 L2 G91 X0. Y-4. Z0. M98 Onnnn L1 (Move Y)
G10 L2 G91 X4. Y0. Z0. M98 Onnnn L4 (Step X back)
I think the main problem with this approach is that not many machines allow the L count with G98.
Finally, you can use G10 to enter individual work corrdinates at all the locations; P1 is G54, P2 is G55, etc., but this is not much different to entering them yourself on the offset page. If you have fixturing that is always located in the same place on the machine, however, this can save a lot of time on repeat jobs.
An open mind is a virtue...so long as all the common sense has not leaked out.
I used the following format, and i encountered some problems.
- Any idea where i fowled up?
Example:
g0 g40 g49 g80 g90
go g90 g54 x0 y0 t1 m6
s5000 m3
g43 h1 z0.05 m8
G54
m98 p20
g10 L2 g90 p1 x-2.5 y0
m98 P20
G10 L2 G90 P1 X-5.0 Y0
M98 P20
G10 L2 G90 P1 X-7.5 Y0
M98 P20
GO Z0.05 M9
M5
G0 G28 G91 Z0
M30
Subprogram p20 example
g1 z-0.05 f15.
X 0.5
Y - 0.8
X - 0.5
Y0
M99
Last edited by Fernando E.; 02-11-2010 at 06:39 PM.
Do you have the subprogram in the control as a separate program to the one with all the G10 and M98 commands.
What you have written should run on my machines if I load the first part under this program name and make the M98 call P20000
O11111
g0 g40 g49 g80 g90
go g90 g54 x0 y0 t1 m6
s5000 m3
g43 h1 z0.05 m8
G54
m98 p20000
g10 L2 g90 p1 x-2.5 y0
m98 P20000
G10 L2 G90 P1 X-5.0 Y0
M98 P20000
G10 L2 G90 P1 X-7.5 Y0
M98 P20000
GO Z0.05 M9
M5
G0 G28 G91 Z0
M30
Then the subprogram as this
O20000
g1 z-0.05 f15.
X 0.5
Y - 0.8
X - 0.5
Y0
M99
An open mind is a virtue...so long as all the common sense has not leaked out.
Yes, i have it down as 2 seperate programs. i am using a fanuc control, tomorrow i will play around with it a little and see where it takes me. Greatly appreciate all the advice!