Siemens SINUMERIK CYCLE832: High Speed Settings, Tolerance, COMPCAD and G642

3 August 2026

Mentor CNC Editör Ekibi

Die milling asks for three things at once

A die program out of CAM contains hundreds of thousands of very short linear blocks. The control is expected to run them at high feedrate, to micron accuracy, with a good surface finish.

Those three fight each other. Push the speed and accuracy drops; force the accuracy and the machine slows down and leaves marks. CYCLE832 exists to manage exactly that triangle: it brings together the G codes and programming commands needed for HSC machining into one cycle.

The logic is simple: in roughing the aim is speed and surface quality does not matter. In finishing the aim is accuracy and surface quality. In both cases setting a tolerance value is what makes the contour be taken into account — and as a rule the roughing tolerance is set higher than the finishing tolerance.

What this page covers.The three ways of calling CYCLE832, the tolerance parameter and its defaults, the digits of the tolerance mode (machining type, continuous-path mode, feedforward/acceleration, compressor), COMPCAD and the other compressors, G642 and ADIS, programming it by hand when the cycle is not available, and the common mistakes.

Three ways to call the cycle

FormMeaning
CYCLE832(_TOL,_TOLM)Full call: tolerance value and tolerance mode given together
CYCLE832()Shortened call. Corresponds to selecting “Deselect machining” on the input screen.
CYCLE832(0.01)Shortened call with the tolerance only. The active G commands are not changed by the cycle.

The third form is very useful in practice: after a block search, or from the Overstore window, you write CYCLE832(0.02) to change only the tolerance and leave everything else in the program as it is.

The tolerance parameter (_TOL)

This parameter is the machining tolerance of the axes during machining; the unit is mm or inch on linear axes and degrees on rotary axes.

  • The tolerance value applies to G642 and COMPCAD.
  • If G641 is used, the tolerance value corresponds to the ADIS value.
  • If the machining axis is a rotary axis, the tolerance is written to MD33100 with a factor (default factor = 8): COMPRESS_POS_TOL on the rotary axis.

Default tolerance values on first entry

Machining typeLinear axesRotary axes
0 — Deselect0.1 mm0.1°
1 — Finishing0.01 mm0.08°
2 — Pre-finishing0.05 mm0.4°
3 — Roughing0.1 mm0.8°
Rotary axis tolerance does not work by itself.For the tolerance value to be effective on rotary axes as well, the 5-axis transformation has to be set up by the machine manufacturer (OEM). On a 3-axis machine these rows have no counterpart.

The digits of the tolerance mode (_TOLM)

The second parameter is an integer, and each of its digits stands for a separate setting.

Machining type

  • 0 Deselect · 1 Finishing (default) · 2 Pre-finishing · 3 Roughing

Continuous-path (look-ahead) mode

ValueCommandBehaviour
0G64Default. Continuous-path mode; look-ahead only considers corner chamfering.
1G641Corner rounding with ADIS / ADISPOS
2G642Corner rounding with axial tolerance. This is the recommended one for die surfaces.

With an NC block compressor using COMPCAD, G642 is always permanently selected.

Feedforward and acceleration

  • 0FFWON SOFT — feedforward on, acceleration limitation on
  • 1FFWOF SOFT — feedforward off, acceleration limitation on
  • 2FFWOF BRISK — both off

Compressor

  • 0 → none (COMPOF, default) · 1COMPCAD · 3 → B-spline
Do not select FFWON and SOFT unless the machine builder has optimised the machine.The source manual’s condition is explicit: for feedforward control (FFWON) and acceleration limitation (SOFT) to be selectable, the machine manufacturer must have optimised the control or the machining axes. Turning these on unoptimised produces vibration and marks. More generally, every function listed here assumes the OEM has optimised the machine correctly.

Compressors: COMPON, COMPCURV, COMPCAD, COMPOF

To describe a complex contour, CAD/CAM systems generate a large number of linear and circular blocks, partly with very short path lengths. These blocks limit the maximum processing speed you can reach.

The compressor functions replace them with a few polynomial blocks with the greatest possible path lengths, while maintaining the required contour accuracy. The gains:

  • Higher maximum path velocities
  • Fewer traversing blocks
  • Continuous block transitions
CommandWhat it does
COMPONGenerates one polynomial block from up to ten consecutive linear blocks of the form G01 X… Y… Z… F…. Block transitions have continuous velocity.
COMPCURVSame up-to-ten linear blocks; block transitions have continuous velocity and acceleration.
COMPCADCan generate one polynomial block from theoretically any number of linear and circular blocks. Velocity and acceleration are constant at the block transitions, and corners that are desirable are identified as such and taken into account.
COMPOFDeactivates the currently active compressor function.

All four are modal — once written they stay in force until cancelled.

Do not sprinkle COMPCAD everywhere.The manual’s advice is explicit: COMPCAD is very CPU time- and memory-intensive. It is therefore recommended that COMPCAD is used only where surface improvements were not successful using measures in the CAD/CAM program. Fix the tolerance and point density on the CAM side first; treat COMPCAD as the last resort.
Where in the program should it go?The manual notes that the rounding function G642 and the jerk limitation SOFT achieve further improvements in surface quality, and that these commands must be written at the beginning of the program. A compressor switched on halfway through has no effect on the blocks before it.

The source training document additionally states a maximum path length of 5 mm for COMPCAD. That figure is not repeated in this form in the current programming manual; this point could not be independently verified and may vary with the control version.

G642 and ADIS: the corner rounding tolerance

If the continuous-path mode is called inside CYCLE832, the ADIS tolerance for G641 corresponds to _TOL. If you are not using CYCLE832 you have to specify the ADIS value yourself.

G64 G642 ADIS=… or ADISPOS=…
  • ADIS — corner rounding distance for the path functions G1, G2, G3.
  • ADISPOS — blending clearance for rapid traverse G0. Not suitable for die surfaces.

There are two ways of specifying the tolerance for G642: set the individual axes through machine data, or program the retraction distance with ADIS.

What if CYCLE832 is not available?

If your machine does not have the CYCLE832 option you can do the same job by programming it by hand. The subprogram example from the source document looks like this — the tolerance is defined as a variable and passed in when the subprogram is called:

; technology subprogram for 3-axis HSC milling PROC TOL(REAL tolerance) N20 SOFT N30 COMPCAD N35 G642 N40 $MA_COMPRESS_POS_TOL[X]=tolerance N50 $MA_COMPRESS_POS_TOL[Y]=tolerance N60 $MA_COMPRESS_POS_TOL[Z]=tolerance N70 NEWCONF M17

In the main program you call this subprogram with a large tolerance for roughing and a small one for finishing. NEWCONF activates the changed machine data.

This program writes machine data.The example above changes the $MA_COMPRESS_POS_TOL machine data from inside a program. That requires the right access level, directly affects the machine’s dynamic behaviour and calls for a backup beforehand. Do not copy and run it as is; it has to be adapted to your own machine’s axis names and configuration and verified against the machine builder’s manual.

Common mistakes

Using the same tolerance for roughing and finishing

A tight tolerance in roughing slows the machine for nothing; a loose one in finishing ruins the surface. Write a separate CYCLE832 call for each operation.

Confusing this tolerance with the part tolerance

This value is how much the contour may be simplified. Giving it the whole part tolerance leaves no margin for anything else.

Putting COMPCAD in every program

It costs a great deal of CPU time and memory. Try the CAM-side fix first.

Switching the compressor on halfway through the program

G642 and SOFT must be written at the beginning of the program.

Selecting FFWON/SOFT on an unoptimised machine

Whether these work depends on the OEM’s axis optimisation.

Expecting rotary axis tolerance on a 3-axis machine

Rotary axis tolerance needs the 5-axis transformation set up by the OEM.

Relying on ADISPOS for die surfaces

ADISPOS is for rapid traverse and is not suitable for die surfaces.

Frequently asked questions

What tolerance should I use for finishing?

The cycle’s default on linear axes is 0.01 mm. The real value follows from the part tolerance, the machine’s dynamics and the point density in the CAM program; there is no single right number.

Is writing CYCLE832(0.02) enough?

Yes — that is the shortened call and it does not change the active G commands. Use it when you only want to update the tolerance.

How do I deselect the cycle?

A call with no parameters, CYCLE832(), corresponds to “Deselect machining” on the input screen.

What is the difference between COMPON and COMPCAD?

COMPON and COMPCURV generate one polynomial from up to ten linear blocks; COMPCAD can do it from theoretically any number of linear and circular blocks and identifies corners that should be preserved. In exchange it uses far more processor time and memory.

There are marks on the surface — will tightening the tolerance fix it?

Not always. Marks can come from the machine’s dynamic behaviour (backlash, friction, quadrant error), from the point distribution in the CAM program or from the tool holding. Tightening the tolerance lengthens the cycle time and will not solve the problem if the cause is elsewhere.

Mentor CNC note: CYCLE832 and the compressor functions directly change the machine’s dynamic behaviour; at high feedrates a wrong setting can spoil both the surface and the tool. The values on this page are the cycle’s defaults, not the right values for your machine. Whether the functions described here work depends on the machine builder’s optimisation and the options that are active. Try any new setting first at a low feedrate on a test piece. This page is for training and does not replace the machine builder’s manual.

Sources

  • Siemens AG — SINUMERIK 840D sl / 828D Job Planning, Programming Manual, 01/2015, document no. 6FC5398-2BP40-5BA2: Section 5.4 NC block compression — COMPON, COMPCURV, COMPCAD, COMPOF (p.237): how the compressors work, the ten-block limit, the CPU and memory cost of COMPCAD, the note that G642 and SOFT must be written at the beginning of the program, modal effect
  • Siemens AG — SINUMERIK Advanced CNC Operation and Programming, 05/2010: Sections 2.9 and 3.5 High Speed Settings — CYCLE832 (call forms, the _TOL and _TOLM parameters, default tolerance values, MD33100 and the rotary axis factor, the G64/G641/G642 and FFWON/SOFT/BRISK options, ADIS and ADISPOS, the COMPCAD subprogram example)