FANUC G09 and G61 exact stop: why short-block programs slow down, and what an in-position check means
The 16i/18i-MB manual distinguishes one-block exact stop, modal exact stop and continuous cutting. An independent acceleration/deceleration model quantifies repeated stopping, while explaining why an in-position range does not mean zero contour error.
Contents
Applying G61 throughout a short-block program may make the path appear to stop more distinctly, but can substantially increase cycle time. To judge whether this is appropriate, first identify which junctions actually require a stop and how much acceleration and deceleration each stop adds.
Command scope and the in-position condition are separate issues
The 16i-MB and 18i-MB / MB5 manual GFZ-63534EN/02 (body reference B-63534EN/02), §5.4–5.4.1, pages 102–103 (public mirror of the original manual) distinguishes G09, effective for the specified block, G61, which is modal, and the continuous-cutting behavior of G64. G09 / G61 involve end-of-block deceleration and an in-position check, but the 1601#5 NCI configuration in this edition can disable that check. The presence of G61 alone therefore does not establish that the check will occur.
The manufacturer's “in-position” condition means entering the servo position range set by the machine-tool builder. It does not mean mathematically zero position error, nor does it guarantee the absence of cutting-force deflection or the accuracy of finished-part dimensions.
Estimate repeated stop/start costs on the same straight path
The following is an original idealized motion model, not the parameters of any particular machine: target velocity v=10 mm/s, equivalent to 600 mm/min; acceleration and deceleration are both 100 mm/s². It assumes a symmetric trapezoidal velocity profile, ignoring jerk, servo lag and in-position waiting time.
One acceleration takes v/a=0.1 seconds and covers v²/(2a)=0.5 mm; deceleration also uses 0.5 mm. A 2 mm segment has 1 mm left for constant-speed travel, so each segment takes 0.1+0.1+0.1=0.3 seconds.
| Same total length of 200 mm | Starts and stops in the model | Theoretical motion time |
|---|---|---|
| 100 segments of 2 mm, each starting and ending at zero speed | 100 complete acceleration/deceleration cycles | 100×0.3=30 seconds |
| Continuous 200 mm motion, starting and stopping only at the ends | 1 complete acceleration/deceleration cycle | 200/10+10/100=20.1 seconds |
The 9.9-second difference comes from 99 additional start/stop cycles, not a larger program file. The continuous-motion row is not a guarantee of actual G64 time; corners, dynamic constraints and control modes also affect the result.
Why raising F alone cannot recover the time
Segments too short to reach target velocity produce a different velocity profile. For this model, the minimum total distance needed for acceleration and deceleration is v²/a=1 mm. With shorter segments, increasing the target F does not mean every segment can reach the new speed. Whether each block must end in a stop should follow the process requirements at each junction, not simply the F value written in the program.
How to make a useful comparison
Distinguish junctions requiring an exact transition from intermediate points used only to discretize a curve, then compare both contour results and cycle time. Record the current in-position-check configuration as well. G09's single-block scope differs from G61's continuing scope, so changes must match the process intent. This article explains the cost of stopping and starting; it does not provide procedures for changing servo ranges or disabling checks. Further resources are in the OPTION section.