Numeryx Home > User/Programmer

Feed Modes

An-109, Copyright © by Gil Hagiz
Last updated Aug-11-2005


Feed Modes

In contemporary CNC's, Feed mode is selected by G-codes as follows:
G93 – Inverse time
G94 – IPM or mm/min
G95 – Inch or mm per revolution

G93 Inverse Time

In the early days of NC inverse time was the only feed format available. Internally the control needs F/L for feed calculations (L= length of cut) and these hi-tech marvels couldn't calculate L from given XY and couldn't divide.
It was called feed-number, and for circular interpolation it was F/R.

Inverse time unit is 1/min (some controls use 1/sec.).
For example the block:
G1 G93 X__ F1
takes 1 minute to cut, regardless of X length.
F2 takes 30 seconds; F3 takes 20, and so on.

G93 must be used when L cannot be calculated by the control. This is the case when:
Since Feed under g93 is based solely on time, its value is independent of the system unit - Inch, metric, or degrees.
The disadvantage of g93 is that a different feed number must be programmed in every block and it doesn't give any clue about the actual feedrate.

G93 cannot be used with newer G-codes; it was defined for g1 to g3. Also, when tool radius compensation is active the programmer cannot calculate L because a single block may insert a series of motions around corners that have nothing to do with the desired feed for the actual cut.

G94 Feed per Minute

G94 is used today on all machines for regular 3-axis milling. L is calculated by the control as the square root of the sum of the squares of X,Y,Z. Since F represents vector feed it is most likely to be the same in the next block so F is modal.
G94 can also be used for 5-axis machines if TCP programming is available, because the XYZ data in the program is the actual XYZ on the part.

G95 Feed per Revolution

G95 is used mostly for turning machines. In milling it may be used internally for thread cutting cycles.