Heidenhain function M128

Maintaining  the position of the tool tip when positioning with tilted axes  (TCPM): M128

The TNC moves the tool to the positions given in the machining program. If the position of a tilting axis changes in the program, the resulting offset in the linear axes must be calculated and traversed in a positioning block. (M128 function)

If the position of a controlled tilted axis changes in the program, the position of the tool tip to the workpiece remains the same. M128 activation function, the M129 function is cancelled.

If you wish to use the handwheel to change the position of the tilted axis during program run, use M128in conjunction with M118. Handwheel positioning in a machine-based coordinate system is possible when  M128 is active.

M128 on tilting tables
If you program a tilting table movement while M128 is active, the TNC rotates the coordinate system accordingly. If, for example, you rotate the C axis by 90° (through a positioning command or datum shift) and then program a movement in the X axis, the TNC executes the movement in the machine axis Y.
The TNC also transforms the defined datum, which has been shifted by the movement of the rotary table.

M128 with 3d tool compenzation If you carry out a 3-D tool compensation with active  M128and active radius compensation RL/RR, the TNC will automatically position the rotary axes for certain machine geometrical configurations


M128 becomes effective at the start of block,M129 at the end of block. M128 is also effective in the manual operating modes and remains active even after a change of mode. The feed rate for the compensation movement will be effective until you program a new feed rate or until you cancel M128 with M129.

NC Block Example

Feed rate of 1000 mm/min for compensation movements:

L X + 0 Y + 38.5 IB-15 RL F125 M128 F1000

Milling with an inclined cutter without controlled rotary axes

 If you have noncontrolled rotary axes (counting axes) on your machine, then in combination with M128 you can also perform inclined machining operations with these axes.

Proceed as follows:

  1. Manually traverse the rotary axes to the desired positions.M128 must not be active!
  2. Activate M128: The TNC reads the actual values of all rotary axes present, calculates from this the new position of the tool center point, and updates the position display
  3. The TNC performs the necessary compensating movement in the next positioning block
  4. Carry out the machining operation
  5. At the end of program, reset M128 with M129, and return the rotary axes to the initial positions