how to face-cut & zero-program ( basics reloaded : a bit faster, a bit optimized )
hello :) sometimes i try to speed up things
everybody knows how to face-cut and input program zero
please check this :
... manual mode : put face-cut tool above the material
... automatic mode : program select + play
... open the door : if face is not clean, push cycle-start again
program will read tool position, cut a face, reposition for a next cut at a predefined width, and declare Z origin / that's all-inclusive, 3-in-1 :)
- requires less keystrokes
- faster than common-methods
- noex + ctr + system variables + M02 :)
- it uses G97; if you wish for G96, consider also M61, etc
- it reads&uses tool nose radius, but without compensation codes
- i don't use the "wear" field; if you wish to use it, then VTWO* is needed
- positioning is done in feed, not in rapid, so to avoid shocks caused by fast servos
- works on random material diameter and face position, because it reads the tool position
- to cover a wide range of diameters&materials, declare some generic values ( eq 750rpm 0.15mm/rot ) : even if specs are not high, it is still faster to run this "generic" program then operating in MDI; for fast adjustments, use the potentiometers
- tested on osp300 / kindly :)
Code:
G50 S2000
NOEX V1 = 900000 ( n - rpm, o / min )
NOEX V2 = 0.789 ( f - feed, mm / o )
NOEX V3 = 0.50 ( z step )
NOEX LINK = 1 ( turret post )
( * )
T + LINK * 101(01) ( M66 ) G97 S + V1 M42 M03 M08 G00 X + VSIOX - VTOFX [ LINK ] Z + VSIOZ - VTOFZ [ LINK ] M63
G04 F0.345 ( be sure that there is coolant flow over the cutting edge, before feeding begins )
NOEX V4 = VSIOX
NOEX V5 = VNSRX [ LINK ]
G01 X - 2 * V5 F + V2 G95
G91 Z + 0.3
G90 X + V4 F2500 G94 M05 M09 M63
G91 Z - 0.3 - V3 F100
NOEX VSZOZ = VSZOZ + VSIOZ + V3
M02
Re: how to face-cut & zero-program ( basics reloaded : a bit faster, a bit optimized
hi nodochau, pls test this, it's pretty simple :
... download attached file and remove the *.txt extension
... replace "k" with "K" : 1st letter must be capitalized :)
... be sure that LINK variable = face tool turret post
... load it into osp300 lathe + program select
... clamp the material
... manual mode
... put face tool a bit above the material
... on Z, put it where you wish to take the 1st cut
... auto mode + cycle start
tool will start moving down, towards X-, cut the face, then back up, and will put zero
if face is not clean, push cycle start again / kindly :)
Re: how to face-cut & zero-program ( basics reloaded : a bit faster, a bit optimized
It is great and I will try it today.
A question is why do we have this "X + VSIOX - VTOFX [ LINK ]" IF I just put X[VSIOX]? WHAY WE SUBTRACT VTOFX??
Thanks
Re: how to face-cut & zero-program ( basics reloaded : a bit faster, a bit optimized
well, try it as it is :)
after that modify it how you like, and see what happens ... of course, use the feed potentiometer near 0%, thus to be sure that you know were the machine will go
Quote:
A question is why do we have this "X + VSIOX - VTOFX [ LINK ]" IF I just put X[VSIOX]? WHAY WE SUBTRACT VTOFX??
try to discover the answer by running trials yourself
if you won't tell me why i put it there, i will tell you in a few days
actually, that code is the key, this is why i opened this thread / kindly:)
Re: how to face-cut & zero-program ( basics reloaded : a bit faster, a bit optimized
hello all, i have updated this code :)
again, it is created for face cutting + auto Z0 declaration; there is nothing faster
all you have to do, is clamp the bar inside the chuck, at random Z position, then manually bring the face tool above the material, and run the program
parameters inside the program may be set only once, with generic values
i added a parameter ( V4 ), so to choose if you wish to declare Z0 or not
most of the math is buffered in a single-shot, by using noex+$, so to keep the calculations altogether & away from the executional blocks, so to target minimal downtime during program run
kindly :)
Code:
G50 S2000
NOEX V1 = 2000 ( n )
$ V2 = 0.15 ( f )
$ V3 = 0.50 ( z step )
$ V4 = 1 ( 1 : declare Z origin , 0 : don't )
$ LINK = 01 ( turret post )
$
$ ( * )
$
$ LPX = VSIOX - VTOFX [ LINK ]
$ LPZ = VSIOZ - VTOFZ [ LINK ]
T + LINK * 101 G97 S + V1 M42 M03 M08 G00 X + LPX Z + LPZ M63
G01 X - 2 * VNSRX [ LINK ] F + V2 G95
Z + LPZ + 0.3
X + LPX F2500 G94 M05 M09 M63
Z + LPZ - V3 F100
IF [ V4 EQ 0 ] NJUMP
NOEX VSZOZ = VSZOZ + VSIOZ + V3
NJUMP NOEX
M02