Mike Is Making Stuff sticker

Modal Group Interactions in Fanuc Turning Cycles

By Mike · Published October 6, 2026 · Updated October 9, 2026

Fanuc canned cycles for turning, the G70 through G76 family, are powerful shortcuts, but they interact with modal G-code groups in ways that surprise programmers. A modal command stays active until replaced, and canned cycles change the modal state in specific ways. Understanding these interactions prevents the classic bugs: a cycle that will not cancel, a finish pass that cuts air, or a rapid move that was supposed to be a feed.

Modal Group Interactions in Fanuc Turning Cycles

Modal Groups: The Background Rules

Fanuc organizes G-codes into modal groups, where only one code per group is active at a time. Group 01 holds the motion commands (G00, G01, G02, G03); group 09 holds the canned cycles (G70-G76, plus drilling cycles). When you command a canned cycle, it becomes the active group 09 code and stays active until canceled, typically with G80. Here is the first interaction: while a canned cycle is active, every motion block is interpreted as part of the cycle. Programmers who forget the G80 and then command positioning moves get unexpected cycle executions instead. The discipline is simple: every canned cycle gets its G80, placed deliberately, not assumed.

How Cycles Change Motion Modality

Calling a turning cycle like G71 (roughing) or G70 (finishing) suspends the normal group 01 motion interpretation for the blocks that define the profile. The profile blocks between the P and Q sequence numbers are read as geometry, not executed as motion; the cycle executes them internally. A common mistake is putting non-geometry commands inside the P-Q block, expecting them to execute normally; they do not. Another is forgetting that after the cycle completes and G80 cancels it, the modal motion command reverts to whatever was active before, which may be G00 or G01 depending on history. Explicitly commanding the intended motion mode after each cycle removes the ambiguity. Never rely on remembered modal state across a canned cycle; restate it.

G70 Finishing and Its Special Behavior

G70, the finishing cycle, replays the profile defined for the roughing cycle with finishing feeds and speeds. Its modal interaction catches programmers when the roughing cycle's P-Q profile included approach and retract moves: G70 replays the geometry portion, and the tool's starting position for the finish pass is where the roughing cycle left it. If the program moved the tool between the roughing cycle and the G70, the finish pass starts from the wrong place. The safe pattern is to call G70 immediately after the roughing cycle completes, with no intervening motion, or to explicitly reposition to the cycle start point before the G70. Also note that G70 inherits the profile but uses the currently active tool offsets and feed; set those deliberately before the call.

Threading Cycles and Spindle Modality

G76, the threading cycle, interacts with spindle modal commands. The cycle needs the spindle running at the programmed speed with feed-per-revolution active (G99 on lathes, or the threading feed mode); if the program is in feed-per-minute mode from earlier milling-style work, the thread pitch will be wrong. G76 also performs its own infeed pattern, and the modal state of the infeed method persists; a subsequent G76 inherits the previous cycle's parameters unless they are reprogrammed. Cancel threading cycles cleanly and verify the feed mode before and after. Threading is unforgiving of modal confusion: the part is either threaded correctly or it is scrap, with little room for partial credit.

Defensive Programming Habits

A few habits eliminate most modal bugs. Start every tool's section with a safety block that states the essential modal codes explicitly: motion mode, feed mode, units, positioning mode. Cancel every canned cycle with G80 immediately when done, even if you believe the next cycle call supersedes it; explicit beats assumed. After any canned cycle, restate the motion mode before the next positioning move. Keep the P-Q profile blocks clean, containing only geometry. And when something behaves unexpectedly, the first diagnostic is to check the modal state: single-block through the program and watch which group 09 code is active. Most canned cycle mysteries dissolve the moment you see the modal state the machine is actually in.

Fanuc turning cycles are modal citizens: they activate, they persist until canceled, and they reinterpret the blocks around them. Cancel with G80, restate motion modes after every cycle, keep profiles purely geometric, and open each tool with an explicit safety block. Modal discipline turns canned cycles from a bug source into the productivity tool they are meant to be.

Related Guides

← Back to Resources