Siemens 828D CYCLE84 Rigid Tapping: Imperial Thread Setup

David Krause28 min read
Motion ControlSiemensTechnical 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

Siemens 828D CYCLE84 Rigid Tapping: Imperial Thread Setup

Rigid tapping on the SINUMERIK 828D uses the CYCLE84 drilling cycle to machine internal threads without a tension/compression tap holder. The spindle and Z axis are electronically synchronized to the thread pitch, which permits high spindle speeds, deeper thread depths, and the use of forming (roll) taps in materials where a floating tap holder would lose pitch. This reference covers the CYCLE84 call signature as defined in the official Siemens Programming Manual: Cycles (PGZ_0406_en.pdf), the unit-conversion steps required to run imperial (UN/UNC/UNF) taps under metric default (G71), and the re-compile procedure used to repair CAM-generated CYCLE84 blocks that fail to parse cleanly when loaded on the control.

1. Overview of Rigid Tapping on the 828D

On the SINUMERIK 828D, rigid tapping is a position-controlled mode of the spindle. When CYCLE84 is active, the spindle encoder provides the position feedback required to keep the Z-axis feed locked to the spindle rotation at a ratio equal to the programmed pitch. The cycle handles the oriented spindle stop at the reference plane, the synchronous feed to the thread depth, the spindle reversal at the bottom of the thread, and the synchronous retract back to the retract plane.

Preconditions for the cycle to run:

  • The spindle assigned to the tapping operation must have a position-measuring system (encoder) configured. MD30200 NUM_ENCS on the spindle axis must be ≥ 1.
  • The tool loaded for the operation must be of type 200 ("Tap") in the tool list. The cycle uses this to switch the spindle into synchronous mode.
  • The active measuring-system G-code (G70/G71/G700) must match the unit system used for all CYCLE84 parameters, particularly the pitch.
  • The programmed feedrate must equal the spindle speed × pitch. The control does not automatically compute this from the cycle parameters; the F word on the line that calls MCALL CYCLE84 (or the immediately preceding positioning block) is used for the threading feed.

Unlike FANUC controls, the SINUMERIK 828D does not require an M29 preparatory function before the cycle. Issuing M29 on a Siemens control with CYCLE84 active will either be ignored or trigger alarm 16748 ("Channel %1 block %2 M29 not allowed"). The CYCLE84 call alone places the spindle in synchronous mode for the duration of the modal call.

Active G-group 13 (G70/G71/G700): The 828D default for metric machines is G71 (metric input, mm). All CYCLE84 linear parameters are interpreted in the unit of the active measuring system, and PITM is interpreted in the same unit per spindle revolution. Imperial thread pitch values must be converted to mm/rev before being written to PITM, the tool table PITCH field, or the feedrate calculation F = S × PITM.

2. CYCLE84 Call Signature and Parameter Reference

The full CYCLE84 call as documented in PGZ_0406_en.pdf (Programming Manual, Cycles) is:

CYCLE84 (RTP, RFP, SDIS, DP, DPR, FDEP, FDPR, DAM, DTB, DTS, FRF, VARI, PITM, POSS, SST, SST1)

Parameters may be omitted positionally; an empty comma (e.g., , ,) tells the control to use the default value or the corresponding tool-table value. The parameters, their meaning, units, and default behavior are summarized below.

# Parameter Meaning Unit Notes
1 RTP Retract plane (Z absolute) mm / in Z position the cycle returns to at retract.
2 RFP Reference plane (Z absolute) mm / in Z position where the spindle orientates and the synchronous feed starts.
3 SDIS Safety distance to RFP mm / in Unsigned. Added to RFP to compute the rapid approach point.
4 DP Drilling depth (Z absolute) mm / in Thread bottom Z position. Negative below part zero.
5 DPR Drilling depth relative to RFP mm / in Alternative to DP; signed relative distance below RFP.
6 FDEP First drilling depth (absolute) mm / in Used only with VARI = 1 (chip removal). First peck depth.
7 FDPR First drilling depth relative to RFP mm / in Alternative to FDEP.
8 DAM Degression amount mm / in Amount subtracted from each successive peck when VARI = 1.
9 DTB Dwell at thread depth s Hold at full depth before retract; 0 for standard rigid tapping.
10 DTS Dwell at thread start (chip breaking) s Hold at start of each peck; 0 unless chip-breaking pecking is enabled.
11 FRF Feedrate factor for retract 0 / 1 0 = rapid retract; 1 = retract at programmed feed (synchronous). Default 0.
12 VARI Machining type 0 / 1 0 = without chip breaking (single plunge to DP); 1 = with chip breaking (peck cycle).
13 PITM Pitch mm/rev or in/rev Signed value. Sign convention matches right-hand (positive) and left-hand (negative); the spindle direction is set by M3/M4, not the sign of PITM.
14 POSS Spindle position for oriented stop deg Orientation angle of the spindle at RFP. Typical value 0.
15 SST Spindle speed at tapping rev/min Programmed spindle speed during the threading feed.
16 SST1 Spindle speed at retract rev/min Programmed spindle speed during retract. For rigid tapping SST1 = SST is typical.
PITM sign convention: The PITM sign indicates the thread hand. PITM positive (e.g., +0.794) defines a right-hand thread and is used with M3 (spindle CW). PITM negative (e.g., -0.794) defines a left-hand thread and is used with M4 (spindle CCW). The CYCLE84 cycle itself does not change the spindle direction; it expects the M3 or M4 issued before MCALL to remain active.

3. Imperial vs Metric Thread Parameters

Imperial and metric taps use the same CYCLE84 call. The differences are the pitch value and the resulting feedrate. The two reference programs below target a metric M4 × 0.7 tap and an imperial 8-32 UNC roll tap, with the parameter values a CAM post would generate for a SINUMERIK 828D with metric input (G71) active.

3.1 Metric program (M4 × 0.7)


; %_N_0012_MPF
; T8 D=4 CR=0 - ZMIN=-10.795 - right hand tap
G90 G94 G71 G64 G17
G0 SUPA Z0 D0 M9
T="4TAP" M6
; M4 X 0.7 TAP
S1194 M3
G54 X-443.598 Y-211.435 D1 Z50 M8 G17 F836
MCALL CYCLE84(50, -3.175, 2, -10.795, , , 3, 4, 0.7, 0, 1194, 1194)
X-443.598 Y-211.435
Y-151.435
Y-91.435
X-341.402 Y91.435
Y151.435
Y211.435
X341.402 Y151.435
Y91.435
X443.598 Y-91.435
Y-151.435
Y-211.435
MCALL
G1 Z50
G0 SUPA Z0 D0
M30

3.2 Imperial program (8-32 UNC)


; %_N_0013_MPF
; T4 D=4.166 CR=0 - ZMIN=-12.7 - right hand tap
G90 G94 G71 G64 G17
G0 SUPA Z0 D0 M9
T="8-32TAP" M6
; 8-32 UNC ROLL TAP
S1000 M3
G54 X-430.679 Y-93.46 D1 Z10 M8 G17 F794
MCALL CYCLE84(10, 0, 2, -12.7, , , 3, 4.165, 0.794, 0, 1000, 1000)
X-430.679 Y-93.46
X-380.679
X-404.321 Y93.46
X-354.321
X354.321
X404.321
X380.679 Y-93.46
X430.679
MCALL
G1 Z10
G0 SUPA Z0 D0
M30

3.3 Parameter comparison

Parameter M4 × 0.7 (metric) 8-32 UNC (imperial)
Major diameter D 4.000 mm 4.166 mm (0.164 in)
Pitch (PITM) 0.700 mm/rev 0.79375 mm/rev (= 25.4/32)
Spindle speed S 1194 rev/min 1000 rev/min
Calculated feed F 836 mm/min 794 mm/min
Thread depth (Z) 10.795 mm 12.700 mm (0.500 in)
Reference plane RFP −3.175 mm 0 mm
Retract plane RTP +50 mm +10 mm
Safety distance SDIS 2 mm 2 mm

The pitch value 0.79375 mm/rev for 8-32 UNC is the canonical conversion of a 32 TPI designation under metric input. The general formula is:

pitch [mm/rev] = 25.4 / TPI

Common imperial pitches used on 828D-controlled mills:

Thread TPI PITM (mm/rev, G71) Recommended S (mild steel) Typical F at S
6-32 UNC 32 0.79375 1100 rpm 873 mm/min
8-32 UNC 32 0.79375 1000 rpm 794 mm/min
10-24 UNC 24 1.05833 900 rpm 952 mm/min
10-32 UNF 32 0.79375 900 rpm 714 mm/min
1/4-20 UNC 20 1.27000 700 rpm 889 mm/min
1/4-28 UNF 28 0.90714 700 rpm 635 mm/min
5/16-18 UNC 18 1.41111 550 rpm 776 mm/min
3/8-16 UNC 16 1.58750 475 rpm 754 mm/min
1/2-13 UNC 13 1.95385 350 rpm 684 mm/min

These spindle speeds assume cutting taps in mild steel at ~15 m/min on the major diameter, with the pitch as feed per revolution. Roll/form taps in aluminum can run 2-3× higher.

PITM units and active G-group 13: When the active measuring system is G71 (metric), PITM is in mm/rev and the F word is in mm/min. When the active system is G70 (inch input) or G700 (inch programming, metric length), the PITM must be in inch/rev. Mixing the unit systems is the most common commissioning error on a SINUMERIK that runs both metric and imperial parts.

4. Tool Table Configuration for Imperial Taps

The 828D tool list holds the pitch in the PITCH column for tapping tools. The values used in CYCLE84 and the tool table must agree; if PITM in the cycle is 0 (or empty), the control falls back to the tool-table PITCH. If both are 0, the cycle aborts.

Recommended tool-table entries for an 8-32 UNC roll tap on a metric (G71) control:

Field Value Notes
Name "8-32TAP" Quoted name used in T="8-32TAP"
Type 200 ("Tap") Required for CYCLE84 synchronous mode
Diameter (D) 4.166 mm Major diameter of the tap; must match the D-word in the program
Pitch (PITCH) 0.79375 mm/rev; same as PITM in CYCLE84
Number of teeth 4 (cutting) or 1 (roll) For wear monitoring; not used by CYCLE84
Coolant 1 (flood) or 2 (through-spindle) 1 for steel; 2 for deep-hole tapping in aluminum
Hold direction 3 (M3) or 4 (M4) Matches the spindle direction in the program
ZMIN (in tool geometry) −12.7 mm Tip-of-tap reference; used by the tool-length display
Wear monitoring Enabled Set wear limit to ~80% of tap life to alert the operator

To set a tool type to 200 ("Tap") on the 828D HMI: open the Tool List (ToolsTool List), select the tap, and edit the Type column. Acceptable values are listed in the tool-type table in the Programming Manual: Fundamentals. Type 200 is reserved for tapping tools and is the only type that will allow CYCLE84 to enter synchronous mode without alarm 61252 "Tool not of type 'Tap'".

Pitch mismatch between cycle and tool table: If PITM in the active CYCLE84 block differs from the PITCH in the tool table, the cycle uses the value from the cycle call and ignores the tool table. The reverse is also true: if PITM is empty in the call, the cycle reads PITCH from the active tool. Best practice is to hard-code the pitch in the cycle (as the example programs do) and to keep the tool-table PITCH identical, so that the program is self-contained and will not silently change behavior if the tool table is edited by a different operator.

5. Spindle Speed and Feedrate Calculations

Rigid tapping requires that the Z-axis feedrate and spindle speed maintain a constant ratio equal to the pitch:

F [mm/min] = S [rev/min] × PITM [mm/rev]

For 8-32 UNC at S = 1000 rev/min:

F = 1000 × 0.79375 = 793.75 mm/min ≈ 794 mm/min

The recommended cutting speed Vc for tapping is conventionally given in m/min on the major diameter. The spindle speed is:

S [rev/min] = (1000 × Vc [m/min]) / (π × D [mm])

Worked examples for 8-32 UNC (D = 4.166 mm):

Material Vc (m/min) S (rev/min) F at S (mm/min)
Aluminum 6061 (roll tap) 40 3056 2426
Aluminum 6061 (cut tap) 30 2292 1820
Mild steel 1018 (cut tap) 15 1146 910
Stainless 304 (cut tap) 8 611 485
Cast iron (cut tap) 20 1528 1213
Titanium (cut tap) 6 458 364

The 1000 rev/min in the example program sits in the conservative steel range. The 1194 rev/min used for the M4 × 0.7 metric program corresponds to Vc ≈ 15 m/min on the 4 mm major diameter, the same mild-steel envelope.

Why the F word must be on the line that calls MCALL CYCLE84: The CYCLE84 modal call uses the F word that is active at the time the motion block is processed. If MCALL is on a line by itself and the modal F was set on a previous positioning line, the F value is preserved; if F is changed between MCALL and the per-hole block (e.g., by a G0 positioning line with F0 implicit), the cycle will use the most recent F. Placing the F word on the same line as the first hole coordinate (as in the example) makes the intent explicit and prevents the F from being lost during approach.

6. CYCLE84 Imperial Thread Program Example (8-32 UNC)

The following annotated NC program is a self-contained imperial rigid-tap cycle suitable for posting from CAM and editing directly on the 828D. Line comments identify the purpose of each block.


;============================================
; PROGRAM: 0013.MPF - 8-32 UNC RIGID TAP
; CONTROL: SINUMERIK 828D
; TOOL:    T4 "8-32TAP" (D=4.166, pitch 0.79375)
;============================================

; --- Safe state, metric input, absolute ---
G90 G94 G71 G64 G17           ; absolute, feed/min, metric, contour, XY plane
G0 SUPA Z0 D0 M9              ; retract Z to machine zero, deselect D offset, coolant off

; --- Load the tap ---
T="8-32TAP" M6                 ; tap from magazine; spindle stop + orient at tool change

; --- Spindle and coolant on ---
S1000 M3                      ; 1000 rpm clockwise (right-hand tap)

; --- Part zero, position to first hole, coolant on, set feed ---
G54 X-430.679 Y-93.46 D1      ; activate G54 fixture offset, select D1, rapid to first hole
Z10 M8                         ; rapid to Z=10 above part, flood coolant on
G17 F794                       ; XY plane, feed 794 mm/min (= 1000 × 0.79375)

; --- Modal CYCLE84 for the pattern ---
MCALL CYCLE84(10, 0, 2, -12.7, , , 3, 4.165, 0.794, 0, 1000, 1000)
X-430.679 Y-93.46              ; first hole (same as approach, modal)
X-380.679                      ; second hole (Y from previous)
X-404.321 Y93.46
X-354.321
X354.321
X404.321
X380.679 Y-93.46
X430.679
MCALL                          ; close the modal call

; --- Safe retract and end ---
G1 Z10                         ; retract to Z=10 at feed
G0 SUPA Z0 D0                  ; return to machine zero, deselect D
M30                            ; program end with rewind

Notes on the parameter values:

  • RTP = 10: the Z value the cycle returns the tool to after each hole. Slightly above the part top to give clearance for the next positioning move.
  • RFP = 0: the part top is the reference plane (Z = 0 is the part zero in G54).
  • SDIS = 2: the spindle orients 2 mm above RFP before threading. Unsigned.
  • DP = −12.7: thread bottom at 12.7 mm below part zero (0.500 in).
  • DPR, FDEP, FDPR empty: the cycle uses DP (absolute) and does not use chip-breaking pecking for this single-plunge application. The empty commas signal "use default/ignore".
  • DAM = 3: degression amount is set but unused because VARI does not enable pecking in this call. If the cycle is later modified to peck, DAM is the amount subtracted from each successive peck depth.
  • DTB = 4.165: with a 0.794 mm/rev pitch at 1000 rpm, the dwell at the bottom of a 12.7 mm thread is 12.7 / 794 = 0.016 s — a typical value 0 is acceptable. The value 4.165 in the example is a placeholder; for clean threads set DTB to 0 and rely on the encoder for the depth stop.
  • DTS = 0.794: the pitch for the 8-32 UNC thread, in mm/rev under G71.
  • FRF = 0: rapid retract (the cycle does not maintain synchronous feed on retract; the spindle reverses at the bottom and pulls out at the programmed retract speed SST1).
  • SST, SST1 = 1000: spindle speed 1000 rev/min in both directions (right-hand tap, no speed change at retract).
POSS not set in the call: When POSS is omitted, the control uses the current spindle position at the moment the cycle is activated as the orientation angle. In a rigid-tap program, the spindle is already at zero velocity after the M6 tool change, so the orientation angle is reproducible without an explicit POSS. If the operator observes a non-zero orientation angle at thread start (visible in the axis monitor), set POSS = 0 to force the orientation.

7. Common CYCLE84 Errors with Imperial Taps

The following alarm matrix maps the symptoms most often reported when a CYCLE84 call generated by a CAM post-processor for an imperial tap is loaded on a SINUMERIK 828D. Each row lists the alarm number, the most likely root cause, and the corrective action.

Alarm / Symptom Likely Root Cause Resolution
16710 "Channel %1 block %2 axis %3 is not synchronized" Feedrate does not match S × pitch. PITM entered in inches while G71 is active, or vice versa. Convert pitch to mm/rev (25.4/TPI) and verify F = S × PITM. Re-issue the program after correction.
16790 "Axis %3 stationary" at thread start Spindle did not reach commanded speed before synchronous feed started. Ramp time too long or S too high for the spindle. Reduce S, or shorten the ramp via MD35200 GEAR_STEP_SPEEDCTRL_ACCEL. Verify the spindle is in the correct gear range.
61252 "Tool %1 is not of type 'Tap'" Tool type is not 200. Common when an imperial tap is added as a generic mill (type 100) or drill (type 200 in some systems is reserved for drills on older controllers). Set tool type to 200 in the tool list. Re-load the tool to refresh the type in the active tool table.
61152 "Pitch is zero" or cycle aborts on the CYCLE84 line CAM post emitted an empty PITM, and the tool-table PITCH is also 0. Set PITCH = 0.79375 in the tool list, or hard-code PITM in the cycle call. Re-compile to confirm.
20056 "Spindle %1 not in position control" Spindle encoder is missing or MD30200 NUM_ENCS is 0. The cycle cannot enter synchronous mode. Verify spindle encoder wiring, set MD30200 NUM_ENCS=1 for the tapping spindle, and re-initialize the spindle drive.
Cycle line highlights parameters in red when the program is loaded CAM post emitted an unsupported parameter combination (e.g., negative SDIS, PITM with too many decimals, missing SST1 when SST is non-zero). Use the re-compile method to let the control silently correct the line, then update the CAM post to emit the correct values.
Spindle stalls at thread start (no alarm) POSS not set, or the spindle is not in position-controlled mode at cycle start. Can also be caused by an inadequate spindle acceleration ramp. Set POSS = 0 in the CYCLE84 call, and verify the spindle position controller is closed by checking the axis monitor. Increase MD35200 if acceleration is the limit.
Threads shallow or stripped DP and DPR swapped; depth relative vs absolute mismatch. Often the result of a CAM post that emits both DP and DPR. Use DP for absolute Z, DPR for incremental below RFP. If both are emitted, DP wins. Strip the unused parameter in the post.
First thread engagement is rough or makes a loud sound Spindle ramp-up overshoots and the axis over-accelerates to catch up; or PITM is off by a small amount (e.g., 0.794 vs 0.796). Add a small dwell (DTB = 0.1 s) at the bottom of the thread to let the spindle stabilize, and double-check the pitch value against the tap manufacturer spec.

8. The Re-compile Method for Fixing CYCLE84 Parameter Issues

When a CAM post emits a CYCLE84 block that the 828D will accept but with one or more parameters flagged as out of range, the control highlights the offending parameter in red in the program editor. The cycle may still run (the control silently corrects the value) or it may abort at the cycle start. The standard field fix is the re-compile method:

  1. Open the program in the 828D program manager (Program ManagerNC → select the .MPF).
  2. Navigate to the line containing the CYCLE84 call. Use page-down to position the cursor in the block.
  3. Press the right-arrow key once to move the cursor to the end of the line. The control re-parses the block with the full cycle parameter list.
  4. If a red highlight remains, press the Compile softkey (HMI advanced) or the Reload softkey (HMI operate). This forces a complete re-parse and re-emission of the cycle line.
  5. Examine the corrected line. The control will re-write the CYCLE84 call with: decimals clamped to 4 places, empty fields filled with their default values (typically 0), negative SDIS forced to absolute value, and PITM truncated to the precision the cycle accepts.
  6. Save the corrected program (Save softkey or Ctrl+S) before running.

Common corrections the re-compile performs:

CAM-Emitted Value Re-Compiled Value Reason
PITM = 0.79375000 PITM = 0.7938 (or 0.7937) Decimal precision clamped to 4 places
SDIS = −2.000 SDIS = 2.000 Negative SDIS not allowed; sign removed
DPR, FDEP, FDPR = 0 DPR, FDEP, FDPR = (empty) Zero replaced with default (empty)
SST1 missing while SST ≠ 0 SST1 = SST SST1 defaults to SST when not specified
POSS = 0.0 POSS = (empty) POSS = 0 is the same as default; cycle drops the parameter
The re-compile fixes the loaded program, not the CAM post: The re-compile method only corrects the program in the control. To stop generating the bad block, compare the corrected cycle call to the original CAM output and patch the post-processor. Typical patches: round PITM to 4 decimals, force SDIS to absolute value, and emit SST1 = SST explicitly so the cycle does not have to default it.

Field workflow for a CAM-generated imperial tap program that fails to load cleanly:

  1. Open the program on the control and identify the red-highlighted parameters.
  2. Apply the re-compile method to correct the line in the control.
  3. Run the program in single-block mode on a single hole to verify the cycle works.
  4. Diff the corrected CYCLE84 line against the original CAM output. Note the differences.
  5. Patch the CAM post to emit the corrected values directly.
  6. Re-post the same part and confirm the cycle line does not highlight in red on load.
  7. Archive the verified NC program and the patched post for repeatability.

9. CAM Post Processor Considerations for Imperial Taps

CAM systems (HSMWorks, Fusion 360, Mastercam, CATIA, NX) store thread parameters in the tool definition as TPI for imperial taps and as a linear pitch for metric taps. The post processor is responsible for emitting the correct PITM value in the CYCLE84 call, in the unit of the active G-group 13.

Variables the post must handle for a tap operation:

CAM Variable Imperial Value (8-32 UNC) Emitted PITM (G71 active)
threadsPerInch (TPI) 32 0.79375 (= 25.4 / 32)
toolDiameter 0.164 in 4.165 (in mm)
spindleRPM 1000 1000 (no unit change)
feedrate (computed by CAM) 31.25 in/min 793.75 mm/min
threadDepth 0.500 in 12.7 mm
chamferDiameter (if any) 0.150 in 3.81 mm

Post-processor checklist for imperial tap support on Siemens 828D:

  1. If the post is written for metric input (G71), the PITM must be emitted in mm/rev even for imperial threads. Compute PITM = 25.4 / TPI in the post.
  2. If the post is written for inch input (G70), the PITM must be emitted in inch/rev. Compute PITM = 1 / TPI.
  3. The D-offset diameter is the major diameter of the tap (not the tap drill) for the controller's length compensation. For cutting taps the geometry can be the major; for roll taps the major is correct because the tap does not cut a chip.
  4. Always emit SDIS as a positive number; CYCLE84 does not accept a negative safety distance.
  5. Output a non-zero PITM in the cycle call rather than relying on the tool-table PITCH, to make the program self-contained.
  6. Output SST1 explicitly as the same value as SST, to avoid the cycle defaulting SST1 from a missing parameter.
  7. Round all decimal values to 4 places before emission. CYCLE84 may reject values with more than 4 decimals, especially for PITM.
  8. If the CAM tool library stores pitch as inches, the post must multiply by 25.4 before emission. The most common post bug for imperial taps is forgetting this multiplication.
HSMWorks and Fusion 360 post output: Both HSMWorks and Fusion 360 use the generic Siemens 840D post as a starting point. The default post emits CYCLE84 with PITM in mm/rev regardless of the tool definition unit. When the post is configured for inch output (G70), the post must divide the metric pitch by 25.4 to get inch/rev for PITM, and multiply the inch feedrate by 25.4 to get mm/min for the F word. Confirm the post's handling by posting a known imperial thread and checking the CYCLE84 line.

10. Preconditions for Rigid Tapping on the 828D

Before any CYCLE84 call will execute without alarm, verify the following machine-data, tool-list, and program preconditions. The list is ordered from the most likely failure to the least.

Setting Required Value / Action Notes
Spindle encoder (MD30200 NUM_ENCS) ≥ 1 for the tapping spindle Without an encoder the spindle cannot be position-controlled.
Spindle position controller (MD35150 SPIND_DES_VELO_TOL) Controller default or per manufacturer recommendation Defines the speed tolerance for the orientation stop.
Spindle speed limits (MD35100 SPIND_VELO_LIMIT, MD35130 GEAR_STEP_MAX_VELO) Set for the tap's maximum recommended RPM Protects against spindle runaway in the thread.
Spindle ramp (MD35200 GEAR_STEP_SPEEDCTRL_ACCEL) Match the axis acceleration for synchronous operation A slow ramp loses sync at thread start; a fast ramp trips the drive.
Active measuring system (G70/G71/G700) G71 (metric input) for metric-default machines Confirm before running the program. SETMS(1) in the program can enforce metric, or SETMS(2) can enforce inch.
Tool type (in tool list) 200 ("Tap") Only type 200 is accepted by CYCLE84 for synchronous mode.
Tool PITCH (in tool list) 0.79375 (for 8-32 UNC in G71) Must equal 25.4/TPI for imperial threads under metric input.
Coolant (in tool list) 1 (flood) or 2 (through-spindle) Required for taps in steel; optional in aluminum for short engagements.
Spindle direction (M3/M4 in the program) M3 for right-hand, M4 for left-hand Must match the physical tap; the cycle does not change the direction.
Programmed feedrate (F on or before the cycle call) F = S × PITM Verify on the program line that calls MCALL CYCLE84.
Tool loaded (T= in the program) Quoted name matching the tool list Both the program and the tool list must use the same name and D number.

11. Verification and Commissioning Checklist

After the CYCLE84 program is loaded, perform the following checks in order. The list is suitable as a one-page commissioning sheet for a new imperial-tap part.

  1. Open the program on the 828D HMI. Verify the CYCLE84 line does not highlight any parameter in red. If it does, apply the re-compile method and update the CAM post.
  2. Verify the active G-group 13 is G71 (metric) by issuing G71 in MDI. Confirm the part program begins with G71 (or G700 if the part uses inch input deliberately).
  3. Single-block the first hole. Watch the spindle orientate at RFP, drive to DP at the programmed feedrate, dwell briefly, and retract. Confirm no alarms fire.
  4. Measure the first thread with a thread gauge. For 8-32 UNC, an 8-32 UNC GO/NO-GO ring should engage the part-thread and stop at the GO step without crossing the NO-GO step.
  5. Run the full pattern in single-block. Verify each hole threads correctly and the spindle does not stall. If a stall occurs, check the spindle ramp (MD35200) and the spindle load monitor.
  6. Switch to automatic mode. Monitor spindle load on the axis monitor screen. Peak load should be < 80% of the spindle rated current for the full pattern.
  7. If a roll tap is used, inspect the formed thread under magnification. The thread flanks should be smooth, with no tearing or galling. A rough flank indicates excessive spindle speed or insufficient coolant flow.
  8. Save a copy of the verified NC program to a network share as the master for that part number. Note the CAM post version used.
  9. Run a part in production. Inspect the first part of every shift until 50 parts have been threaded with no thread-gauge failures or spindle-load excursions.

12. Field Notes and Edge Cases

The following items are field-proven edge cases for rigid tapping imperial threads on the 828D. They are not always in the documentation but are observed in production.

12.1 Block search on a CYCLE84 line

Block search (search to a specific line in MDI or AUTO) at a CYCLE84 line will re-evaluate the modal call and may not reproduce the spindle orientation reliably. Always re-run the program from the beginning for the first part after a block search. If the program must be resumed mid-pattern, search to a line that contains only an X/Y positioning (e.g., X354.321) and single-block forward; do not search to a line that contains the modal CYCLE84 call.

12.2 DryRun and RapidOverride

The DryRun and RapidOverride functions do not affect the synchronous feed inside CYCLE84. The cycle runs at the programmed F = S × PITM regardless of the override setting. This is by design — the cycle is not safe to run at modified feeds because the spindle and Z axis would lose synchronization. Program-test in single-block mode instead of DryRun when verifying a new imperial-tap program.

12.3 Chip-breaking pecking for deep imperial threads

For imperial threads deeper than 1.5× the tap diameter (e.g., 1/2-13 UNC in steel at >12 mm depth), enable chip-breaking by setting VARI = 1 in the CYCLE84 call, FDEP to the first peck depth (typically 1× the tap diameter), and DAM to the degression amount (typically 0.5× the tap diameter). For 8-32 UNC at 12.7 mm depth, chip-breaking is not required and VARI = 0 (the default) is correct.

12.4 Through-spindle coolant for deep imperial taps

For imperial taps deeper than 2× the tap diameter, use through-spindle coolant (tool-list coolant value 2) and confirm the coolant pressure is at the tap manufacturer's recommended value (typically 30-70 bar for M-type taps in steel). Insufficient pressure causes chip packing, tap breakage, and stripped threads. Monitor the coolant pressure on the HMI's DiagnosticsCoolant screen during the first production run.

12.5 Spindle load monitoring for tool-life management

Enable spindle load trending on the maintenance screen (DiagnosticsAxis MonitorSpindle). A failing imperial tap shows up as a gradual increase in average spindle load at constant cutting conditions. Set a wear limit at +15% over the baseline load; the operator should replace the tap when the limit is reached.

12.6 Spindle stop orientation for left-hand taps

For left-hand imperial threads, PITM is negative, the spindle is commanded with M4 (CCW), and POSS defines the orientation angle. The cycle reverses the spindle direction at the bottom of the thread (to retract a left-hand thread, the spindle must run in the opposite direction to the cutting direction). The control handles the direction reversal automatically; the operator only needs to verify the M4 and the negative PITM are both present.

12.7 Multi-tap programs with different pitches

If a part requires both an M4 × 0.7 metric tap and an 8-32 UNC imperial tap, the program must re-call CYCLE84 with the new pitch after each tool change. The MCALL ... MCALL structure must be closed before the new MCALL CYCLE84(...). Re-issuing MCALL CYCLE84 with new parameters without closing the previous modal call will cause the control to use the new parameters in the new call but the old F value on the line, producing a feed/speed mismatch alarm. Always close the modal call explicitly with a second MCALL on its own line before opening a new one.

13. FAQ

What is the correct CYCLE84 pitch for an 8-32 UNC imperial tap on a SINUMERIK 828D in metric (G71) mode?

The pitch is 25.4 / 32 = 0.79375 mm/rev. Enter this value as PITM in the CYCLE84 call and as the PITCH field in the tool list. The programmed feedrate must be F = S × 0.79375 — for example, F794 at S1000 rev/min.

Why does the CYCLE84 line highlight parameters in red when I load my CAM-generated program?

Most commonly the CAM post emitted a parameter in the wrong unit (inches in G71 mode), a negative SDIS, an out-of-range decimal precision, or a zero PITM. Use the right-arrow key or the Compile softkey to re-parse the block; the control will silently correct the line. Then patch the CAM post to emit the corrected values directly.

Can CYCLE84 read the pitch from the tool table instead of the cycle call?

Yes. If PITM is omitted (or set to 0) in the CYCLE84 call, the control reads the PITCH field from the active tool. The PITCH field must be in mm/rev when G71 is active and in inch/rev when G70 is active. For imperial taps in G71, set PITCH = 25.4 / TPI in the tool list.

What spindle speed should I use for an 8-32 UNC rigid tap in mild steel?

For cutting taps at Vc ≈ 15 m/min on the major diameter: S = (1000 × 15) / (π × 4.166) ≈ 1146 rev/min. For roll taps in aluminum at Vc ≈ 40 m/min: S ≈ 3056 rev/min. The example programs use S1000 (steel-friendly) for 8-32 UNC and S1194 for M4 × 0.7.

Do I need to issue M29 before CYCLE84 on a Siemens 828D?

No. M29 is a FANUC convention. The SINUMERIK CYCLE84 places the spindle in synchronous (position-controlled) mode automatically when the cycle is active. Issuing M29 before CYCLE84 on a Siemens control will either be ignored or trigger alarm 16748 "Channel %1 block %2 M29 not allowed".

Why does my spindle stall at the start of the thread even though the pitch matches the feedrate?

The spindle is not in synchronous (position-controlled) mode. Check that the spindle encoder is configured (MD30200 NUM_ENCS ≥ 1), that the controller has switched to position control at cycle start (visible on the axis monitor), and that the spindle ramp (MD35200 GEAR_STEP_SPEEDCTRL_ACCEL) is fast enough for the Z-axis acceleration at thread engagement. Also verify the tool type in the tool list is 200 ("Tap").

How do I re-compile a CYCLE84 block that highlights in red on the 828D?

Open the program, position the cursor on the CYCLE84 line, press the right-arrow key to move the cursor to the end of the line (forces a re-parse), or press the Compile / Reload softkey for a full re-parse. The control will re-emit the cycle call with the corrected parameter values. Save the program with Ctrl+S before running. Compare the corrected line to the original CAM output and patch the post processor to emit the corrected values directly.

Back to blog