Heidenhain TNC7 Touch-Probe Cycles
Probing on a TNC7 (and the TNC7 basic / TNC7 go, which run the same software platform) needs no vendor macro package: workpiece and tool measurement cycles ship in the control, programmed as TCH PROBE blocks and filled out through forms with help graphics. Results land in globally effective Q parameters and an automatic TCHPRAUTO.html log, and measured misalignment can flow straight into the preset table, a basic rotation, or a rotary-axis move. This reference is based on the TNC7 Measuring Cycles manual for NC software 81762x-20 (10/2025).
How TNC7 Probing Differs from Fanuc-Style G65 Packs
On a Fanuc or Haas you call Renishaw macros (G65 P9810…) with letter arguments and read #185-series variables. On a TNC7 the cycles are control firmware: you insert TCH PROBE 1411 PROBING TWO CIRCLES, the editor shows every parameter with a dialog question and picture, and cycles with numbers above 400 use Q-parameter transfer values that are consistent across cycles — Q260 is always clearance height, Q261 always measuring height, Q320 always set-up clearance. Two more differences worth internalizing:
All touch probe cycles are DEF-active — they run as soon as the control reads the definition. No CYCL CALL, no M99. And probing always happens parallel to a machine axis (also under an active basic rotation or tilted plane), with pre-positioning driven by the touch probe table rather than by arguments: the probe approaches at FMAX from the pre-position (offset = ball radius + SET_UP column + Q320), probes at the F column feed rate, and alarms if the stylus isn't deflected within DIST. Positioning logic: if the current position is above Q260, the probe moves in the plane first, then down; if below, it goes to clearance height first.
The machine manufacturer must prepare the control for a touch probe, HEIDENHAIN only guarantees the cycles with HEIDENHAIN probes, and the full feature set requires tool axis Z. Machine-specific probe cycles, if your builder added any, occupy numbers 500–599.
Before You Probe — Rules & Gotchas
These are the ones the manual flags with collision warnings:
| Rule | Detail |
|---|---|
| Probe must be calibrated | Recalibrate after: initial configuration, broken or replaced stylus, change of probing feed rate, thermal irregularities, change of active tool axis. Calibration values become effective immediately — no new tool call needed. |
| No active coordinate transformations | Reset TRANS DATUM/MIRROR/ROTATION/SCALE and Cycles 8, 10, 11, 26 before any probe cycle (applies to 4xx, 444, and 14xx alike). |
| Tool call first | A TOOL CALL must precede the cycle to define the touch probe axis. |
| 4xx and 3D-ROT don't mix | Cycles 400–405 do not work with 3D ROT — use the 14xx cycles instead. Cycles 40x–43x also reset an active basic rotation at cycle start. |
| 3D-ROT consistency check | Machine parameter chkTiltingAxes (no. 204600) makes the control verify that rotary-axis positions match the active tilt angles during probing — mismatch = error message. |
| Probe/calibrate at the same feed | For best accuracy probe at the feed rate you calibrated with; watch the feed override. L-shaped styli (L-TYPE) are supported by 444 and 14xx but need TRACK ON in the touch probe table and their own calibration. |
| Units follow the main program | Log files and return parameters use the main program's unit of measure. |
Calibration Cycles
Calibration determines the effective stylus length and ball radius; length and radius go to the tool table, the center offset to columns CAL_OF1/CAL_OF2 of the touch probe table tchprobe.tp. Every calibration writes a TCHPRAUTO.html log. Make sure the probe number in the tool table matches the number in the touch probe table.
| Cycle | Name | Calibrates |
|---|---|---|
| Workpiece touch probe (TS) | ||
460 | CALIBRATION OF TS ON A SPHERE | Radius and center offset on an exact calibration sphere (pre-position over sphere center); also the route to 3D calibration (#92 / #2-02-1) |
461 | TS CALIBRATION OF TOOL LENGTH | Length against a known surface |
462 | CALIBRATION OF A TS IN A RING | Radius and center offset in a ring gauge |
463 | TS CALIBRATION ON STUD | Radius and center offset on a stud / calibration pin |
| Tool touch probe (TT) | ||
480 | CALIBRATE TT | Automatic TT calibration with a cylindrical calibration tool (HEIDENHAIN recommends tool type CAL_PIN); measures the calibration tool's center offset too |
484 | CALIBRATE IR TT | Calibration of (e.g. infrared) tool touch probes; cuboid probe contacts can compensate misalignment via detectStylusRot (no. 114315) |
The Modern 14xx Workpiece Cycles
The 14xx generation is what HEIDENHAIN steers you toward — the manual explicitly recommends them over the old equivalents (e.g. 1410/1412 instead of 400, 1400 instead of Cycle 0). They account for the active machine kinematics and 3D calibration data, measure rotation and position simultaneously, and add three killer features:
Semi-automatic mode: put a ? before a nominal position (QS1100= "?30") and the control stops so you can jog the probe near the touch point, then presses on from there — for parts whose position is simply unknown. Machine modes only, not simulation. Tolerance evaluation: program nominal dimensions with tolerances — QS1116="+8-2-1", 10H7 (ISO 286-2) or 10m (ISO 2768-1) — and the control monitors the band, writes pass/rework/scrap to Q183, and per Q309 either continues (0), stops on rework-or-scrap (1), or stops on scrap only (2). Actual-position transfer: append @ + actual value (QS1100="10+0.02@10.0123") and no probing occurs — the cycle just computes compensation from nominal vs. supplied actual (all three axes required; Q1900–Q1999 can supply the values).
Common closing parameters decide what happens with the result: Q1120 TRANSFER POSITION (correct the active preset-table row), Q1121 CONFIRM ROTATION (set a basic rotation), Q1126 align rotary axes. If Cycle 1493 EXTRUSION PROBING was defined beforehand, the touch points repeat along a programmed direction/length.
| Cycle | Name | Measures |
|---|---|---|
| Rotation / alignment | ||
1410 | PROBING ON EDGE | Rotation from two points on an edge → basic rotation or rotary-table rotation |
1411 | PROBING TWO CIRCLES | Rotation from two holes or studs |
1412 | INCLINED EDGE PROBING | Rotation from two points on an inclined edge |
1416 | INTERSECTION PROBING | Intersection of two lines, four touch points |
1420 | PROBING IN PLANE | Angles of a plane from three points |
| Preset / position | ||
1400 | POSITION PROBING | Single position, optionally set as preset |
1401 | CIRCLE PROBING | Circle (hole or stud) center + diameter |
1402 | SPHERE PROBING | Sphere center |
1403 | RECTANGLE PROBING | Rectangle (pocket or island) center + side lengths |
1404 | PROBE SLOT/RIDGE | Center of a slot or ridge width |
1430 / 1434 | PROBE POSITION OF UNDERCUT / SLOT-RIDGE UNDERCUT | Undercut features with the L-shaped stylus |
| Cycle-run helpers | ||
1493 | EXTRUSION PROBING | Repeats the touch points of the following cycle along an extrusion (direction, length, number of points) |
The Classic 4xx Cycles (Still Fully Documented)
| Cycle | Purpose |
|---|---|
| Workpiece misalignment → basic rotation / rotary axis | |
400 BASIC ROTATION | Two points on a straight line → basic rotation (Q307 presets a known reference angle) |
401 / 402 | ROT OF 2 HOLES / ROT OF 2 STUDS — Q402 can compensate by rotating the table instead |
403 / 405 | ROT IN ROTARY AXIS / ROT IN C AXIS — compensation via rotary-table move |
404 SET BASIC ROTATION | Writes any basic rotation value directly |
| Preset setting (408–419) | |
408 / 409 | Slot center / ridge center as preset |
410 / 411 | Rectangle inside / outside → center as preset |
412 / 413 | Circle inside (bore) / outside (stud) → center as preset |
414 / 415 | Corner outside / inside → intersection as preset |
416 | Center of a bolt-hole circle (three holes) as preset |
417 / 419 | Position in the touch probe axis / in one selectable axis as preset |
418 | Intersection of the lines connecting four holes as preset |
| Workpiece inspection (0, 1, 420–431) — results to Q150–Q166, log optional | |
0 REF. PLANE / 1 POLAR PRESET | Single coordinate in an axis direction / any polar direction; trigger coordinates also land in Q115–Q119 (no stylus length/radius compensation) |
420 MEASURE ANGLE | Angle of any straight line vs. the main axis (result in Q150) |
421 / 422 | Hole / circular stud: position + diameter, with tolerance and tool monitoring |
423 / 424 | Rectangle inside / outside: position, length, width |
425 / 426 | Slot width / ridge width |
427 MEASURE COORDINATE | Any coordinate in a selectable axis |
430 / 431 | Bolt-hole circle center + diameter / plane angle from three points |
| Special functions | |
3 MEASURING / 4 MEASURING IN 3-D | Raw single-touch cycles intended for OEM cycle authors |
444 PROBING IN 3-D | Probes any point along a surface-normal vector, compares to nominal; results Q151–Q153, deviations Q161–Q164, status Q183 |
441 FAST PROBING | Sets global probe parameters (e.g. Q400 interruption behavior) for subsequent cycles |
With inspection cycles 42x you get tolerance monitoring (enter limit values in the cycle) and tool monitoring via Q330 (tool number or name): measured deviations are written to the tool's DR (milling) or DXL/DZL (turning, cycles 421/422/427), and if the deviation exceeds the breakage tolerance RBREAK/LBREAK, the tool is locked (TL = L) and program run stops. For an indexed tool by name: QS0 = "TOOL NAME", then FN 18: SYSREAD Q0 = ID990 NR10 IDX0 and Q0 = Q0 + 0.2 before assigning Q330 = Q0.
Tool Measurement on the TT (481–485)
With a table-mounted tool touch probe the control measures tools automatically and writes the compensation into the tool table — stationary, rotating, or tooth-by-tooth (up to 20 teeth). Prerequisites in tool.t: approximate radius and length, number of teeth CUT, cutting direction DIRECT.; wear tolerances LTOL/RTOL, breakage tolerances LBREAK/RBREAK, and offsets R-OFFS (rotating-length measurement; 0 = stationary over center) and L-OFFS (radial measurement). For rotating measurement the control computes speed and probing feed itself from maxPeriphSpeedMeas (no. 122712) and measureTolerance1 (no. 122715).
| Cycle | Measures |
|---|---|
481 CAL. TOOL LENGTH | Length — rotating, stationary (drills, ball cutters), or individual teeth (Q341=1) |
482 CAL. TOOL RADIUS | Radius — rotating, optionally individual teeth afterwards |
483 MEASURE TOOL | Length and radius in one cycle |
485 MEASURE LATHE TOOL | Turning tools (option #50 or #158) |
The Q340 mode decides where results go: 0 writes the measured value to L/R and zeroes DL/DR; 1 compares to the stored value and puts the difference into DL/DR (also into Q115/Q116), locking the tool if the wear/break tolerance is exceeded; 2 only reports into Q115/Q116 without touching the table. The measurement status lands in Q199: 0 within LTOL/RTOL, 1 outside wear tolerance (tool locked), 2 outside LBREAK/RBREAK (tool locked). Leave stopOnCheck (no. 122717) at TRUE or the control won't stop on breakage. Tools defined with L=0 can be measured only if the builder set maxToolLengthTT (no. 122607).
11 TOOL CALL 12 Z
12 TCH PROBE 481 CAL. TOOL LENGTH ~
Q340=+1 ;ENTER DELTA VALUES ~
Q260=+100 ;CLEARANCE HEIGHT ~
Q341=+1 ;MEASURE INDIVIDUAL TEETH
Kinematics Measurement (450–453)
With option #48 (KinematicsOpt) the control measures its own rotary-axis kinematics on a calibration sphere: 450 SAVE KINEMATICS (backup/restore), 451 MEASURE KINEMATICS (measure and optionally optimize), 452 PRESET COMPENSATION (align head-change / drift situations), 453 KINEMATICS GRID (grid compensation). These are setup-crew cycles rather than part-program cycles, but they share the touch probe, calibration requirements, and DEF-active behavior described above.
Where the Results Go — Q-Parameter Map
| Parameter | Meaning |
|---|---|
| Classic cycles (0, 1, 42x/43x) | |
Q115–Q119 | Coordinates of the probe at the trigger signal (Cycles 0 and 1; no stylus length/radius compensation). After tool measurement: Q115/Q116 = length/radius deviation |
Q150–Q160 | Measured actual values (angle, positions, diameter/width… per-cycle table in the manual) |
Q161–Q166 | Deviations from nominal values |
Q180 / Q181 / Q182 | Status flags: 1 = in tolerance / rework required / scrap |
Q199 | Tool-measurement status: 0 in tolerance, 1 wear exceeded, 2 breakage exceeded |
| 14xx cycles | |
Q950–Q952 | Measured position/center in main, secondary, and tool axis |
Q966 | Measured diameter (circle cycles) |
Q980–Q982 | Measured deviations (referred to the mean tolerance when tolerances are programmed) |
Q996 | Measured deviation of the diameter |
Q183 | Workpiece status: −1 undefined, 0 good, 1 rework, 2 scrap, 3 stylus not deflected (with Cycle 441) |
Q970 / Q973 | With Cycle 1493: maximum deviations along the extrusion |
Worked Example — Basic Rotation from Two Holes
Straight from the manual: measure two hole centers with Cycle 401, compensate the misalignment by rotating the table (Q402=1), zero the rotary display (Q337=1), then call the part program.
0 BEGIN PGM TOUCHPROBE MM
1 TOOL CALL 600 Z ; Touch probe call
2 TCH PROBE 401 ROT OF 2 HOLES ~
Q268=+25 ;1ST CENTER 1ST AXIS ~
Q269=+15 ;1ST CENTER 2ND AXIS ~
Q270=+80 ;2ND CENTER 1ST AXIS ~
Q271=+35 ;2ND CENTER 2ND AXIS ~
Q261=-5 ;MEASURING HEIGHT ~
Q260=+20 ;CLEARANCE HEIGHT ~
Q307=+0 ;PRESET ROTATION ANG. ~
Q305=+0 ;NUMBER IN TABLE ~
Q402=+1 ;SET ROTATION OF ROTARY TABLE ~
Q337=+1 ;SET A PRESET
3 CALL PGM 35 ; Call the part program
4 END PGM TOUCHPROBE MM
The 14xx version of the same job chains 1420 PROBING IN PLANE (Q1120=+4 compensate to the mean touch point, Q1121=+1 set basic rotation) with 1411 PROBING TWO CIRCLES (Q1120=+3, Q1121=+1) — plane first, then the two holes. And the closed-loop classic: Cycle 424 measures a roughed rectangular stud, then Q1 = Q1 - Q164 / Q2 = Q2 - Q165 feed the measured deviations into the side lengths of the finishing pass with Cycle 256 — measure, correct, finish, all in one program.
References
- HEIDENHAIN, TNC7 User's Manual — Measuring Cycles for Workpieces and Tools, NC software 81762x-20, 10/2025, ID 1358777-24.
- HEIDENHAIN, TNC7 User's Manual — Setup and Program Run, 10/2025, ID 1358774-24 (touch probe table tchprobe.tp).
Have a question or want to contribute?
Contact us with corrections, additions, or topics you'd like covered.
Get in Touch