HEIDENHAIN iTNC 530: Configuring Automatic Presets

Jason IP3 min read
Other ManufacturerOther TopicTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Use FN 18: SYSREAD to capture the current axis coordinates and FN 17: SYSWRITE to place those values in a selected preset-table row. The available evidence demonstrates X and Y written to row 10; it does not establish the index mapping or required transformations for A and C.

Confirmed iTNC 530 preset functions

Operation Evidence-supported syntax Purpose
Read X FN 18: SYSREAD Q1 = ID270 NR1 IDX1 Store the current X-axis position in Q1
Read Y FN 18: SYSREAD Q2 = ID270 NR1 IDX2 Store the current Y-axis position in Q2
Write X FN 17: SYSWRITE ID 503 NR10 IDX1 =+Q1 Write Q1 to X in preset row 10
Write Y FN 17: SYSWRITE ID 503 NR10 IDX2 =+Q2 Write Q2 to Y in preset row 10

The cited procedure requires code number 555343 to make the SYSWRITE functions available. Treat preset writing as a controlled setup operation because an incorrect row, index, or coordinate can change the machining datum.

Program the automatic preset write

  1. Position the machine at the coordinates that must become the datum.
  2. Read the current X and Y positions through ID270.
  3. Write the captured values through ID 503, using NR10 to select preset-table row 10.
  4. Open the preset table and confirm that row 10 contains the expected X and Y values before using that preset for machining.
0 BEGIN PGM test MM
1 FN 18: SYSREAD Q1 = ID270 NR1 IDX1 ; Read X-axis position
2 FN 18: SYSREAD Q2 = ID270 NR1 IDX2 ; Read Y-axis position
3 FN 17: SYSWRITE ID 503 NR10 IDX1 =+Q1
4 FN 17: SYSWRITE ID 503 NR10 IDX2 =+Q2
5 END PGM test MM

Change the row number only after confirming the intended destination. The evidence supports NR10 as row 10 but does not document whether another row is active automatically after writing.

Extending the method to X, Y, Z, A, and C

The evidence identifies IDX1 as X, IDX2 as Y, and uses IDX3 for Z in a later preset-related example. It does not identify the indices for A and C or prove that every machine configuration uses a direct, untransformed axis value. Confirm the rotary-axis fields and coordinate conventions in the applicable HEIDENHAIN manual and on the machine before adding those writes.

Implement and verify one field at a time. First write a non-production preset row, compare each stored value against the intended datum, and only then extend the program to additional axes.

Correct the Z stock-offset logic

In the supplied Z-offset sequence, FN 1: Q1604 = Q1603 + Q73 calculates vise-top Z plus stock height. The next instruction then executes another SYSREAD into Q1604, overwriting that calculated result before the write. Remove that second read if the intended value is the calculated sum:

FN 18: SYSREAD Q1603 = ID507 NRQ50 IDX3
FN 1: Q1604 = Q1603 + Q73
FN 17: SYSWRITE ID 507 NRQ50 IDX3 =+Q1604

This correction addresses the Q-parameter overwrite visible in the code. The evidence does not independently define ID507 behavior, so confirm that identifier and the meaning of NRQ50 for the installed control before executing the write.

FAQ

How do I write the current X and Y position to an iTNC 530 preset?

Read X and Y with SYSREAD ID270 NR1 IDX1 and IDX2, then write them with SYSWRITE ID 503. In the demonstrated program, NR10 targets preset-table row 10.

Why does my calculated Z stock offset write the original Z value?

A second SYSREAD into the result parameter overwrites the sum. Calculate Q1604 = Q1603 + Q73 and write Q1604 without rereading Z into Q1604.

What code enables SYSWRITE on the HEIDENHAIN iTNC 530?

The supplied evidence specifies code number 555343 to make SYSWRITE functions available. Verify the destination preset row and every axis value before running the write in a machining setup.

Back to blog