Independent CNC repair and technical reference Contact

FANUC program restart: why the block count is not an N number, and why feed hold and RESET can differ by 1

Published Updated

The 0i-D program-restart chapter distinguishes N sequence numbers from the executed block count, including pure macro statements and the FEED HOLD / RESET display boundary. An original table shows why copying a number is not enough to restart.

Contents
  1. The two numbers describe different things
  2. An original table separates labels, text lines and counts
  3. A difference of 1 does not mean “add 1 and start”
  4. After locating the block, position and state still need checking

After machining is interrupted, a displayed block count that differs from the program's N number does not necessarily mean that program content was skipped. Restart analysis must first establish which number was recorded and whether the interruption occurred during a block or after its completion.

The two numbers describe different things

This article is limited to 0i-D / 0i Mate-D systems equipped with the applicable program-restart function. B-64304EN/02, §4.9, pages 399–400 (public mirror of the original manual) explains that NC blocks are counted as machining executes, while pure macro statements do not increment that count. FEED HOLD displays the block being executed; RESET and a stop after single-block completion display the most recently completed block. An N sequence number is a program label, not a direct substitute for this count.

An original table separates labels, text lines and counts

Assume a single execution path from the program beginning, with no jumps, loops, calls or optional block skip. The table describes counting only; it is not an executable restart program:

Content encountered in orderProgram labelBlock count in this model
Program beginningO program number1
Ordinary NC preparation blockN1002
Pure macro-variable assignmentN110Still 2
First ordinary NC motion blockN1503
Second ordinary NC motion blockN3004

If feed hold occurs during block 4, corresponding to N300, the block being executed is 4. If a subsequent RESET returns the display to the most recently completed block, it is 3. The count 3 is not the number 150 in N150, and 4 is not the fourth text line in the file. These three concepts can coincide only in particular simple programs.

A difference of 1 does not mean “add 1 and start”

The difference above results from a change in execution state. If the record omits the stopping method, program revision or position within a loop, the block count alone cannot reconstruct the original intent. Inserting an ordinary NC block, for example, may change subsequent counts, whereas adding a pure macro assignment does not increment the count in the same way. Old records then cease to correspond directly to the new program.

A handover record should therefore preserve the relationship between program revision, nearby N label, count, and whether execution was held mid-block or had already been reset. Interpret the count along the original program's actual execution path before confirming the target block; do not substitute a text editor's line number.

After locating the block, position and state still need checking

Locating a number answers only where to begin analysis. It does not establish that current tool position, compensation, spindle and workholding states permit re-entry into machining. The motion path back to the target position also needs separate confirmation. This article provides no button sequence for starting directly from a count and does not equate searching with restoration of the entire machine state. Further function resources are 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