Independent CNC repair and technical reference Contact

FANUC G93 inverse-time feed: why F must change when one line is split into three blocks

Published Updated

For a G01 linear model on a 0i-F machining center, inverse-time feed formulas calculate time and speed before and after segmentation. The article distinguishes G93 F from feed per minute and recalculates F to preserve ideal speed.

Contents
  1. Convert F back into time and speed
  2. Original segmentation example
  3. A quick check for unequal block lengths
  4. The formula does not extend beyond its scope

When a postprocessor divides one straight line into several short blocks, machining time can change significantly even if the geometric path is identical. With G93 inverse-time feed active, first check whether each block's F was recalculated for its length instead of comparing coordinates alone.

Convert F back into time and speed

This article is limited to 0i-F machining centers (M series) configured with the function. According to FANUC 0i-F B-64602EN/01 Descriptions, §4.21, page 120 (public mirror of the original manual), the G01 inverse-time quantity FRN satisfies 1 / time (minutes) = speed / distance. Here F represents that inverse-time quantity. The model is limited to millimeter input and linear interpolation using translational axes only, initially excluding acceleration/deceleration, smoothing, overrides and axis speed limits.

For one block of length L mm, ideal time is t=60/F seconds and ideal linear speed is v=F×L mm/min. F has units of min⁻¹, unlike the directly specified mm/min value in G94.

Original segmentation example

Assume an original straight line 60 mm long with F=6 min⁻¹. Ideal time is 10 seconds and speed 360 mm/min. Divide it along the same line into three equal blocks of 20 mm each:

ApproachF per blockIdeal time per blockTotal time / linear speed
Original single 60 mm block610 seconds10 seconds / 360 mm/min
Three 20 mm blocks, copying F610 seconds30 seconds / 120 mm/min
Three 20 mm blocks, preserving the original ideal speed1810/3 seconds10 seconds / 360 mm/min

The last row recalculates Fᵢ=v/Lᵢ. Increasing F shortens each block's target time; tripling its numerical value does not require the entire path to run three times faster. Each short block takes one third of the original block time, keeping the total at 10 seconds.

A quick check for unequal block lengths

If the three lengths are instead 10, 20 and 30 mm, with 360 mm/min retained as a purely mathematical target, their F values should be 36, 18 and 12 min⁻¹. The times are approximately 1.667, 3.333 and 5 seconds, still totaling 10 seconds. This proportional relationship is useful for reviewing postprocessor output; the values are not recommended cutting parameters for a particular material or tool.

The formula does not extend beyond its scope

The same book gives a separate definition for arcs. This article does not apply the G01 distance model to G02 / G03 or derive path lengths involving rotary axes or TCP from it. Actual short blocks are also constrained by acceleration/deceleration and other factors, so 10 seconds is an ideal calculation for this example, not a measured cycle-time promise.

When investigating a slower program, confirm the feed mode first, then reconstruct each block's ideal speed from its actual length. If those quantities agree but measured operation is still slower, investigate short-block processing and machine dynamic limits. Attributing the change only to the number of geometric segments could otherwise miss the actual F-semantics error. Other functions are covered in the OPTION section.

Related technical articles

FANUC optional rotary-axis control: how the sign of an absolute command selects directionFANUC direction-dependent high-speed position switches: why one coordinate can give different outputsFANUC flexible synchronization: matching speed and aligning phase are separate conditions