iTNC 530 Tables & System Data
The iTNC 530 keeps everything that Fanuc hides behind offset screens and #2000-series variables in plain, editable files: the tool table is a file, the presets are a file, datums are a file — and the control gives your NC program functions to read and write them. This reference maps the table landscape, the FN 26/27/28 functions for your own tables, FN 18: SYSREAD for system data, and FN 16: F-PRINT for formatted output.
The Table Landscape
File type is carried by the extension. The ones a programmer touches:
| File | Extension | What it holds |
|---|---|---|
| Programs | ||
| Klartext / DIN-ISO program | .H / .I | Part programs (smarT.NC adds .HU/.HC/.HP) |
| Tables | ||
| Tool table | .T | Tool geometry & life data. The active one is always TOOL.T in TNC:\; other .T files are archives/test-run tables |
| Pocket table | .TCH | Magazine pockets ↔ tools; TOOL_P.TCH in TNC:\, needed for automatic tool change; up to 9999 pockets |
| Preset table | .PR | Workpiece presets in REF (machine) coordinates — PRESET.PR in TNC:\ |
| Datum tables | .D | Datum shifts in workpiece coordinates, activated per line with Cycle 7 |
| Pallet / point tables | .P / .PNT | Pallet management / machining-position point files |
| Cutting data | .CDT | Cutting-data tables for automatic speed/feed calculation |
| Freely definable tables | .TAB | Your own columns and rows — the FN 26/27/28 target |
| ASCII text (masks, logs) | .A | Plain text — FN 16 format masks and log output |
TOOL.T key columns: T (number, indexed like 5.2), NAME (32 chars max, capitals), L/R/R2 (length, radius, corner radius for toroid cutters), DL/DR/DR2 (delta/wear values, ±999.9999 mm), LCUTS and ANGLE (tooth length and max plunge angle for Cycles 22/208/25x), TL (tool locked), RT (replacement tool), TIME1/TIME2/CUR.TIME (tool life), DOC, PLC, NMAX, plus the TT measuring columns (CUT, LTOL, RTOL, DIRECT, R-OFFS, L-OFFS, LBREAK, RBREAK). It is editable only in a machine operating mode via the TOOL TABLE soft key.
TOOL_P.TCH key columns: P (pocket), T (tool number), ST (special/oversize tool), F (fixed pocket), L (locked pocket), RSV and LOCKED_ABOVE/BELOW/LEFT/RIGHT for box magazines, PTYP and P1…P5 (machine-builder defined).
PRESET.PR: lives in TNC:\, is editable only in Manual / El. Handwheel modes (read-only in Programming and Editing), stores presets referenced to the machine coordinate system, and carries a basic rotation in its ROT column. Line 0 is write-protected — the TNC parks the most recent manually set datum there. Machine-builder lines can be locked (shown red). Activate a preset from a program with Cycle 247 DATUM SETTING.
Datum tables (.D): workpiece-coordinate shifts, always relative to the current preset. Select the table with SEL TABLE (PGM CALL key → DATUM TABLE soft key) before Cycle 7, then activate a line:
77 CYCL DEF 7.0 DATUM SHIFT
78 CYCL DEF 7.1 #5 ; activate datum line 5 (a Q parameter works too)
Manual notes worth respecting: without SEL TABLE you must give the table status M in the file manager before running; datum-table values act only on absolute coordinates; new lines can be inserted only at the end; and old TNC 4xx datum tables referenced to the machine datum (MP7475 = 1) cannot be used on the iTNC 530. Probing cycles can populate both datum tables and the preset table automatically (parameters Q303/Q305 — see the probing article).
FN 26/27/28 — Freely Definable Tables
Create a .TAB file in the file manager (the TNC offers stored table formats; run COPY SAMPLE FILES first if the pop-up doesn’t appear), then shape it in the structure editor: each row of the editor defines one column via NR, NAME, TYPE (N numeric, C alphanumeric, L long, X date/time), WIDTH, DEC (max 4 decimals), and language dialogs. Limits: 30 columns, 200 characters per row.
| Function | Example (verbatim from the manual) | Notes |
|---|---|---|
FN 26: TABOPEN | 56 FN 26: TABOPEN TNC:\DIR1\TAB1.TAB | Only one table open per NC program; a new TABOPEN closes the last one; extension must be .TAB |
FN 27: TABWRITE | 56 FN 27: TABWRITE 5/"RADIUS,DEPTH,D" = Q5 | Writes line 5, columns RADIUS/DEPTH/D from successive Q parameters Q5, Q6, Q7; up to 8 columns per block; numeric fields only |
FN 28: TABREAD | 56 FN 28: TABREAD Q10 = 6/"RADIUS,DEPTH,D" | Reads line 6 into Q10, Q11, Q12; up to 8 columns; numeric fields only |
53 FN0: Q5 = 3.75 ; radius
54 FN0: Q6 = -5 ; depth
55 FN0: Q7 = 7.5 ; D
56 FN 27: TABWRITE 5/"RADIUS,DEPTH,D" = Q5 ; write all three to line 5
Test-run gotcha: FN 27 also writes during Test Run by default. Guard with a mode check — FN 18 ID990 NR2 IDX16 returns 0 in Test Run and 1 in a Program Run mode, so you can jump around the write.
FN 18: SYSREAD — Reading System Data
One block reads any exposed control datum into a Q parameter. The address is a group ID, a number NR within the group, and (where needed) an index IDX:
55 FN 18: SYSREAD Q25 = ID210 NR4 IDX3 ; active scaling factor, Z axis
32 FN 20: WAIT FOR SYNC ; stop look-ahead first...
33 FN 18: SYSREAD Q1 = ID270 NR1 IDX1 ; ...then read real-time X position
Because the TNC pre-calculates blocks, pair position reads with FN 20: WAIT FOR SYNC as shown, or the value may be stale. The most useful groups on the iTNC 530:
| ID | Group | Highlights (NR / IDX) |
|---|---|---|
| Program & machine state | ||
10 | Program information | NR1 mm/inch condition, NR3 number of the active fixed cycle, NR4 number of the active machining cycle (cycles > 200) |
20 | Machine status | NR1 active tool number, NR2 prepared tool, NR3 tool axis (0=X…2=Z), NR4 programmed rpm, NR5 spindle state (−1 undef, 0 M3, 1 M4, 2/3 M5), NR8 coolant, NR9 active feed rate |
30 | Cycle parameters | NR1 set-up clearance, NR2 drilling/milling depth, NR3 plunging depth, NR13 thread pitch (Cyc 17/18), NR14 finishing allowance — of the active fixed cycle |
| Tool & magazine data | ||
50 | Tool table data | IDX = tool number (no IDX = active tool). NR1 L, NR2 R, NR3 R2, NR4 DL, NR5 DR, NR7 tool locked, NR8 replacement tool, NR11 CUR.TIME, NR13 LCUTS, NR14 ANGLE, NR15–22 TT data (CUT, LTOL, RTOL…), NR28 maximum speed NMAX |
51 / 52 | Pocket table / tool pocket | ID51: IDX = pocket → NR1 tool number, NR2 special tool, NR3 fixed, NR4 locked. ID52: IDX = tool → NR1 pocket number P |
56 | File information | NR1 lines in TOOL.T, NR2 lines in the active datum table |
| Transformations & positions | ||
200 | Active tool compensation | NR1 radius incl. deltas, NR2 length incl. deltas |
210 | Active transformations | NR1 basic rotation (Manual mode), NR2 programmed rotation (Cycle 10), NR3 mirrored axes (bit-coded), NR4/IDX scaling per axis, NR5/IDX 3-D ROT, NR6/NR7 tilted-plane active in run/manual |
220 | Active datum shift | NR2/IDX 1–9: shift value per axis |
230 | Traverse range | NR2/NR3 per axis: negative/positive software limit switches |
240 / 270 | Nominal position REF / active system | NR1/IDX 1–9: nominal position per axis |
280 / 310 | M128 / M116, M144 status | Whether the function is active (0 = inactive) |
| Time, probes, datums, mode | ||
320 / 321 | System time | ID320 NR1: seconds since 1970-01-01; ID321 via SYSSTR as formatted text |
350 | Touch probe data | TS: NR10 probe axis, NR11 effective ball radius, NR12 effective length, NR14 center offset, NR15 offset direction. TT: NR20/IDX 1–3 center in REF, NR21 contact radius |
360 | Last touch point | NR1/IDX axis: last TCH PROBE 0 or manual-mode touch point (active system); NR2 in REF |
500–505 | Datum & preset tables | ID500/501 datum-table line (active system / REF) — NR = datum number, IDX = axis; ID502/503 preset table (with / without kinematics); ID504 basic rotation from ROT column; ID505 = 0 means no datum table active |
510 | Pallet table data | NR1 active line, NR2 pallet number |
990 | Operating state | NR2 IDX16: 0 = Test Run, 1 = Program Run (the FN 27 guard); NR6 selects probe input X12/X13 via FN 17: SYSWRITE (OEM territory) |
1010 | Machine parameter exists | NR = MP number, IDX = MP index; 0 if the MP does not exist |
FN 16: F-PRINT — Formatted Output
FN 16 merges a mask file (a .A text file you write once) with live Q values and sends the result to a file, a printer/interface, or the screen. Mask syntax:
| Element | Meaning |
|---|---|
"…" | Output format for text and variables between the quotes |
%9.3LF | Q-parameter format: 9 characters total incl. decimal point, 3 decimals, Long Float |
%S | Format for a text variable (QS parameter) |
, / ; | Separator between format and parameter / end-of-block character |
DAY, MONTH, YEAR4, HOUR, MIN, SEC | Built-in date/time variables |
CALL_PATH | Path of the NC program containing the FN 16 call |
M_CLOSE | Closes the file being written — end your mask with it |
ALL_DISPLAY / MM_DISPLAY / INCH_DISPLAY | Unit handling for output values relative to the MOD setting |
L_ENGLISH, L_GERMAN, … | Emit a line only in the matching conversational language |
Example mask (from the manual) and the program-side call:
; MASK1.A - format file
"MEASURING LOG OF IMPELLER CENTER OF GRAVITY";
"DATE: %2d-%2d-%4d",DAY,MONTH,YEAR4;
"TIME: %2d:%2d:%2d",HOUR,MIN,SEC;
"X1 = %9.3LF", Q31;
"Y1 = %9.3LF", Q32;
"Z1 = %9.3LF", Q33;
M_CLOSE;
; In the NC program - mask file / target:
96 FN 16: F-PRINT TNC:\MASK\MASK1.A/RS232:\PROT1.A ; out the serial interface
96 FN 16: F-PRINT TNC:\MASK\MASK1.A/SCREEN: ; pop-up window on screen
96 FN 16: F-PRINT TNC:\MASK\MASK1.A/SCLR: ; clear the pop-up window
Target a full path (e.g. TNC:\PROT1.TXT) to log on the control’s disk. Relative paths resolve to the directory of the calling program. SCREEN: output is how you show free-form operator messages from a macro — the counterpart to Fanuc #3006.
FN 19 & Datum Shifts from Macros
FN 19: PLC pushes up to two values to the PLC (56 FN 19: PLC=+10/+Q3, increments of 0.1 μm or 0.0001°) — the manual restricts it to use agreed with the machine tool builder, so treat it as OEM plumbing, not a portable macro tool. For shifting work offsets from a program, the portable patterns on this control are: write the shift into a datum-table line (FN 27 works on .TAB only — datum tables are maintained via the editor or probing cycles) and activate it with SEL TABLE + Cycle 7, program Cycle 7 values directly from Q parameters, or let a 4xx probing cycle write the preset/datum table for you (Q303/Q305 — see the probing article).
References
- HEIDENHAIN, iTNC 530 Conversational Programming User's Manual, NC software 606 42x-04, 737759-24.
- HEIDENHAIN, iTNC 530 Cycle Programming User's Manual, NC software 606 42x-04, 670388-25.
Have a question or want to contribute?
Contact us with corrections, additions, or topics you'd like covered.
Get in Touch