Skip to main content
CNC.wikiCNC.wiki

Siemens CYCLE84 and CYCLE99 Threading Cycles Programming Guide

Program the Siemens CYCLE84 rigid tapping cycle and CYCLE99 thread turning cycle on SINUMERIK. Avoid spindle alarms, collisions, and tool breakage.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE Co-founder

Understanding CYCLE84 and CYCLE99: Production Risks and Failure Scenarios

A high-speed tap plunging into a pre-drilled block suddenly experiences axis desynchronization, binding with long threads, and snaps with a loud crack, lodging a broken tap into the workpiece. If the safety clearance (SDIS) or retraction plane is set too low, the rapid traverse movements between hole locations risk causing a hard collision between the tool holder and a clamping fixture or the vise jaw on the machine table. Operators must be acutely aware that during the physical execution of CYCLE84, both the feedrate override switch and the cycle stop (maintaining feed) switch are completely locked out and inactive to prevent damaging the thread profile. Similarly, when deploying the CYCLE99 thread turning cycle, neglecting to verify the thread run-out path (ROP) incrementally can cause the tool to fail to retract in time, colliding with a workpiece shoulder or the chuck, generating a scrap part and halting the entire production line.

Technical Summary: Siemens CYCLE84 and CYCLE99 Specifications

Specification FieldTechnical Value / Constraint
Command CodeCYCLE84 (Rigid Tapping) and CYCLE99 (Thread Turning)
Modal GroupTapping Cycle (CYCLE84), Thread Turning Cycle (CYCLE99)
Supported BrandsSiemens
Critical ParametersRTP, RFP, SDIS, SST, SST1 (CYCLE84) | _APP, _ROP, _TDEP, _VARI (CYCLE99)
Main ConstraintFeedrate override and cycle stop switches are locked out during CYCLE84 execution; CYCLE99 ignores global settings DITS/DITE and SD 42010.

Quick Read: High-Impact Takeaways

  • Program active spindle direction commands (M03 or M04) immediately before calling CYCLE84 to prevent Alarm 61102.
  • Utilize the independent retraction spindle speed parameter SST1 to retract the tap at a higher RPM than plunge speed SST, optimizing cycle times.
  • Ensure safety clearance SDIS is set higher than any clamping fixtures or vise jaws to prevent rapid traverse collisions.
  • Verify that CYCLE99 thread run-in _APP and run-out _ROP paths are defined incrementally without a sign, as they bypass global ramping settings.
  • Deactivate modal cycle states explicitly using G80 or implicitly through a Group 01 motion command on SINUMERIK controls.
  • Configure the modal tapping spindle mask SD55484 $SCS_DRILL_TAPPING_SET_MC to determine if the spindle remains in position control between holes.
  • Set valid machining type parameters in VARI to avoid halting the interpreter with Alarm 61002 during cycle setup.

Basic Concepts of Siemens Tapping and Thread Turning

The practical programming effect of the CYCLE84 rigid tapping cycle is the precise mechanical synchronization of the Z-axis feed and the spindle rotation to cut threads without requiring a floating tap holder. During execution, the machine feeds the tap down to the target depth, stops the spindle, dwells to clear the chip root, reverses spindle direction, and retracts to the clearance plane. Programmers must carefully manage their starting positions and clearance parameters (SDIS). Tapping is a high-risk operation compared to standard holemaking operations, which is why deactivating tool radius compensation and verifying coordinate parameters before running is essential to avoid structural damage. Tapping operations can be compared to centering in a siemens-cycle81-centering-drilling-cycle or peck drilling in a cycle83-deep-hole-drilling, yet rigid tapping is uniquely demanding due to the absolute synchronization required between the rotating spindle and the linear feed axis.

When deploying the CYCLE99 thread turning cycle, programmers automate complex threading passes along a cylindrical or tapered profile, utilizing parameters like APP and ROP to manage the tool's approach and departure from the material. Because the cycle mathematically calculates the thread passes internally, operators must ensure the run-in and run-out paths are verified for clearance. A common failure cause in thread turning is neglecting the fact that CYCLE99 handles thread run-in and run-out through a purely geometric concatenation of separate thread blocks, completely ignoring the dynamic DITS and DITE machine parameters. Thread turning operations, which are detailed in low-level G-code comparisons like the g33-and-g32-threading-commands guide, are simplified by CYCLE99 through conversational parameter arrays.

Siemens distinguishes its control logic from other brands through three highly unique backend behaviors in these cycles. First, Siemens controllers utilize a hidden "shell cycle" mapping architecture. When an ISO-dialect G84 tapping block is read by the controller, it does not execute a hardcoded ISO macro; instead, it captures the addresses into system variables and internally routes them through CYCLE384M or CYCLE384T, automatically translating the inputs into the native conversational CYCLE84 standard cycle.

Command Structure and Address Syntax

Native Siemens programming uses highly structured parameterized cycle calls. Unlike traditional G-codes, Siemens controllers accept complex mathematical arguments directly inside parentheses. The rigid tapping cycle CYCLE84 uses parameters that define the absolute retraction plane, reference plane, and incremental depth.

For thread turning, CYCLE99 provides an expansive block structure that requires precise definitions of the start and end coordinates, infeed paths, and finish allowances. The parameters must be carefully mapped in order because any omission or misplaced comma will cause the parser to shift argument indexes, leading to incorrect cycle execution.

Siemens Conversational Tapping Syntax

CYCLE84(RTP, RFP, SDIS, DP, DPR, DTB, SDAC, MPIT, PIT, POSS, SST, SST1, _AXN, _PITA, _TECHNO, _VARI, _DAM, _VRT, _PITM, _PTAB, _PTABA, _GMODE, _DMODE, _AMODE)

Siemens Conversational Thread Turning Syntax

CYCLE99(_SPL, _SPD, _FPL, _FPD, _APP, _ROP, _TDEP, _FAL, _IANG, _NSP, _NRC, _NID, _PIT, _VARI, _NUMTH, _SDIS, _MID, _GDEP, _PIT1, _FDEP, _GST, _GUD, _IFLANK, _PITA, _PITM, _PTAB, _PTABA, _DMODE, _AMODE, _S_XRS)

Parameter Guide for CYCLE84 and CYCLE99

ParameterDescriptionValue Range
RTPRetraction plane (absolute). The coordinate the tool retracts to after reaching final depth.REAL coordinate
RFPReference plane (absolute). The coordinate value defining the top of the workpiece.REAL coordinate
SDISSafety clearance. Distance added to RFP where feed rate starts. Entered without a sign.REAL (positive)
DPFinal drilling depth (absolute).REAL coordinate
DPRFinal drilling depth relative to reference plane (incremental).REAL (positive)
DTBDwell time at final depth for chip breaking.REAL (seconds)
SDACDirection of rotation after end of cycle.3 (M03), 4 (M04), or 5 (M05)
PITThread pitch. Value range: 0.001 to 2000.000 mm.REAL (signed)
SSTSpindle speed for tapping.REAL (RPM)
SST1Spindle speed for retraction. If set to 0, retraction speed mirrors SST.REAL (RPM)
_APPThread run-in path (incremental, without sign).REAL (positive)
_ROPThread run-out path (incremental, without sign).REAL (positive)
_TDEPThread depth (incremental, without sign).REAL (positive)
_IANGInfeed angle. Value determines rear flank, front flank, or right angle feed.REAL (>0: rear, <0: front, =0: right angle)
_VARI / VARIMachining type definition (e.g. 0 for rigid tapping, 300101 for thread turning).INT

Siemens Brand Applications and Controller Logic

Siemens

The Siemens controller clearly distinguishes itself from other control brands through its backend cycle processing. First, Siemens relies on a proprietary "shell cycle" mapping architecture: when an ISO G84 block is commanded, the control does not run a rigid ISO macro but instead captures the parameters and routes them through hidden translators (CYCLE384M for milling or CYCLE384T for turning) to execute the highly robust native Siemens CYCLE84. Second, Siemens offers independent spindle speed control natively inside the rigid tapping cycle via the SST (plunge) and SST1 (retraction) parameters, granting programmers the ability to pull the tap out of the hole at a significantly faster RPM than it entered, optimizing cycle times without editing post-processors. Finally, Siemens handles thread run-in and run-out in CYCLE99 via pure geometric block concatenation rather than dynamic acceleration ramps, making the toolpath completely independent of global CNC ramping variables like SD 42010 $SC_THREAD_RAMP_DISP, which are ignored and left unchanged during cycle execution.

Siemens Version and Series Comparison

Comparison AspectSINUMERIK 840D sl (Advanced)SINUMERIK 828D (Standard)SINUMERIK 808D (Compact)
Spindle control for MCALL (SD55484)Fully customizable via SD55484 $SCS_DRILL_TAPPING_SET_MC. Value 1 forces position-control mode between holes to minimize cycle time.Supports standard spindle configuration; SD55484 can be configured to reactivate normal spindle operation (0) or maintain position control.Spindle control defaults to standard reactivation (SD55484 = 0); advanced custom modal overrides are generally locked to factory defaults.
Thread Ramping settings (SD 42010)Ignored inside CYCLE99 thread turning; relies purely on programmed geometric block concatenation for run-in/run-out.Ignored inside CYCLE99; toolpath remains strictly bound to geometric parameters, protecting the setup from global setting modifications.Ignored inside CYCLE99; basic execution relies entirely on conversational parameters without using system ramping settings.
Function Mask Turn Set (SD55218)Full access to configure SD55218 $SCS_FUNCTION_MASK_TURN_SET[5] to explicitly activate or deactivate the DITRB command.Standard parameter access; allows toggling DITRB via the function mask based on workpiece geometries and cutting requirements.Function mask is pre-configured at factory settings; direct operator modification of SD55218 is not supported.

Technical Analysis: Spindle Sync and Ramping Dynamics

The mechanical core of CYCLE84 lies in the rigid synchronization of the spindle's rotational angle and the feedrate of the Z-axis. When executing this cycle, the SINUMERIK controller locks the two axes into an electronic gear relationship. Programmers can utilize the setting data SD55484 $SCS_DRILL_TAPPING_SET_MC to configure how the spindle behaves when using a modal call (MCALL) across multiple holes. If this parameter is set to 1, the spindle remains in position-controlled mode as the tool moves from hole to hole, preventing the spindle from ramping down to speed-controlled stop and ramping back up at each location. Setting this to 0 reactivates normal spindle operation between holes, which is gentler on the motor but extends total machining time.

For thread turning, CYCLE99 handles path generation in a highly deterministic manner. Rather than relying on global system ramping settings like DITS (Thread run-in) and DITE (Thread run-out), which dynamically adjust acceleration based on current feedrates, CYCLE99 performs a pure geometric concatenation of separate thread blocks. The setting data SD 42010 $SC_THREAD_RAMP_DISP is completely ignored and left unchanged. This ensures that the run-in and run-out paths are exactly equal to the programmed incremental values _APP and _ROP under all cutting conditions. This level of geometric control is vital when threading close to shoulders, where dynamic acceleration variations could otherwise cause a catastrophic crash. The usage of the DITRB command inside the cycle can be explicitly toggled by the programmer using the system variable SD55218 $SCS_FUNCTION_MASK_TURN_SET[5] to adapt the cutting path to specific material constraints.

Program Examples and Dry Run Walkthroughs

Siemens CYCLE84 Rigid Tapping Example

; Siemens: N470 CYCLE84(5.00000, 0.00000, 2.00000, -18.00000, 0.00000, 0.50000, 3, 12.00000, 0.00000, 200.00000, 200.00000, 3,0,0,0,,0.00000)

Dry Run Walkthrough for CYCLE84

Line-by-line block execution details:

  • The tool rapid-traverses to the safe coordinate position above the hole, matching the retraction plane RTP coordinate of 5.0 mm.
  • Upon reading the CYCLE84 block, the controller verifies that the spindle is rotating in the clockwise direction matching the SDAC parameter value of 3 (corresponding to M03). If M03 or M04 is missing, the controller halts and issues Alarm 61102.
  • The tool approaches the workpiece reference plane RFP of 0.0 mm, transitioning from rapid traverse to cutting feedrate at a distance defined by the safety clearance SDIS of 2.0 mm.
  • The Z-axis plunges down at a feedrate precisely synchronized with the spindle rotation speed SST of 200.0 RPM, targeting the absolute depth DP of -18.0 mm (relative depth DPR is set to 0.0 mm and ignored). The pitch is defined by the parameter PIT as 12.0 mm (equivalent to an M12 thread pitch).
  • Upon reaching the final depth of -18.0 mm, the spindle stops and dwells for 0.5 seconds (defined by parameter DTB) to allow chip clearance at the root.
  • The spindle reverses direction automatically and retracts the Z-axis up to the retraction plane RTP of 5.0 mm at the retraction spindle speed SST1 of 200.0 RPM.

Siemens CYCLE99 Thread Turning Example

; Siemens: N50 CYCLE99(0, 42, 35, 42, 5, 7, 2.76, 0, 0, 0, 5, 2, 4.5, 300101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,,,,0)

Dry Run Walkthrough for CYCLE99

Line-by-line block execution details:

  • The threading tool rapid-traverses to the starting point of the longitudinal axis _SPL at 0.0 mm and thread starting diameter _SPD of 42.0 mm.
  • The tool executes a series of 5 roughing cuts (defined by _NRC) and 2 finishing passes (defined by _NID), feeding down to the absolute end point _FPL at 35.0 mm and end diameter _FPD of 42.0 mm.
  • For each cutting pass, the tool approaches the part along the incremental run-in path _APP of 5.0 mm to allow the spindle to synchronize with the axis feed.
  • The tool cuts the thread with a pitch _PIT of 4.5 mm, feeding at an infeed angle _IANG of 0 degrees (perpendicular to the cutting axis) to a total depth _TDEP of 2.76 mm. The machining type _VARI is set to 300101, which represents standard outer threading.
  • At the end of each pass, the tool retracts along the incremental run-out path _ROP of 7.0 mm, bypassing all global ramping settings to ensure instant retraction before hitting any workpiece shoulders.
  • After completing all passes and the finishing allowance _FAL of 0.0 mm, the tool returns to the safe starting position, ready for the next command sequence.

Error Analysis and Diagnostic Alarm Guide

BrandAlarm CodeTrigger ConditionOperator SymptomRoot Cause / Fix
Siemens61101Reference plane defined incorrectly. Programmed geometry contradicts final depth.Interpreter halts, block execution stops, and an alarm is displayed on the screen.Verify and program valid absolute retraction plane RTP, reference plane RFP, and depth DP coordinates so they are logically aligned.
Siemens61102No spindle direction programmed. Spindle direction M03 or M04 is missing before the cycle call.Spindle fails to start and cycle execution is aborted immediately before the tool plunges.Program M03 or M04 in the block preceding CYCLE84 to define the spindle rotation direction.
Siemens61002Machining type incorrectly programmed. Invalid or unsupported value assigned to the VARI parameter.The controller refuses to execute the cycle and halts the program in a fault state.Ensure a valid, supported value (such as 0 for rigid tapping or 300101 for thread turning) is assigned to the VARI / _VARI parameter.

Application Note: Safe Execution and Clearance Limits

A hard collision between the rapid-traversing tool and a clamping fixture or vise jaw is the direct mechanical consequence of setting safety clearances or retraction planes too low during modal hole transfers. In native Siemens CYCLE84, the feedrate override and cycle stop switches are completely locked out and disabled by the controller during execution. If an operator sees an impending crash or a chip binding, they cannot feed-hold or slow down the axis; they must hit the physical emergency stop button, which instantly halts all motion but frequently shears the tap off inside the hole. When deploying CYCLE99 for thread turning, neglecting to verify the run-in _APP and run-out _ROP parameters will lead to a catastrophic crash against the workpiece shoulder or chuck. Because CYCLE99 ignores global dynamic settings like DITS/DITE and SD 42010, assuming the control will dynamically ramp out the thread based on global settings will result in the tool failing to retract in time, converting the expensive workpiece into scrap.

Related Command Network

  • CYCLE840 (Tapping with compensating chuck): Used when the spindle and Z-axis are not mechanically synchronized, relying on a floating tool holder to absorb lead errors.
  • G84 (ISO Dialect Tapping): The legacy ISO tapping standard that Siemens controllers capture and internally translate to native CYCLE84 via hidden shell cycles.
  • MCALL (Modal Subroutine Call): Applies a canned cycle modal state like CYCLE84 to multiple coordinates, executing it automatically at every coordinate point until canceled.
  • CYCLE97 (Standard Thread Cutting): The baseline conversational thread cutting cycle on SINUMERIK, compared to the more advanced tapered and multi-start options in CYCLE99.
  • g33-and-g32-threading-commands: The fundamental ISO G-codes used for constant lead thread cutting, providing low-level block-by-block control of the thread path.
  • siemens-cycle81-centering-drilling-cycle: A standard drilling cycle that operates without the pecking or retraction logic found in rigid tapping cycles.
  • cycle83-deep-hole-drilling: The deep hole peck drilling cycle which, like rigid tapping, utilizes advanced retraction modes to manage continuous chips.

Conclusion

Maximizing the safety and efficiency of threading on Siemens SINUMERIK controllers requires strict attention to preceding command codes and explicit parameter clearance values. Always program M03 or M04 immediately before calling CYCLE84 to avoid Alarm 61102, and set a safety clearance that comfortably clears all workholding fixtures to eliminate rapid-traverse crashes. By configuring the independent retraction speed parameter SST1 and explicitly defining geometric run-out paths in CYCLE99, programmers can optimize cycle times and protect cutting tools from shoulder collisions, ensuring smooth, unattended production runs.

Frequently Asked Questions

Why does the Siemens controller trigger Alarm 61102 during rigid tapping even if the spindle is active?

Alarm 61102 is triggered because the CYCLE84 rigid tapping cycle strictly requires a modal spindle direction (M03 or M04) to be programmed immediately prior to the cycle call or within the same coordinate block. Even if the spindle was turned on earlier in the program, the cycle's internal synchronization logic will halt the machine if it cannot explicitly verify the starting direction. The practical action is to insert an M03 or M04 command in the G-code block immediately preceding the CYCLE84 call, ensuring the controller registers the active spindle rotation direction before executing the tap.

Can I speed up retraction times in Siemens CYCLE84 without altering my plunge speed?

Yes, Siemens controllers provide unique independent speed controls natively inside CYCLE84 via the SST (plunge speed) and SST1 (retraction speed) parameters. Unlike standard canned cycles where retraction mirrors plunge feed, you can retract the tap at a significantly faster RPM to minimize unproductive cycle time. The practical action is to assign your desired high-speed RPM value directly to the SST1 parameter in the cycle call (for instance, setting SST = 200 and SST1 = 400). Leaving SST1 at 0 will default the retraction speed to match the plunge speed.

Why did my thread turning tool crash into the shoulder using CYCLE99 even though global thread ramping is active?

This crash occurs because the CYCLE99 thread turning cycle completely ignores global dynamic machine settings like DITS/DITE and the setting data SD 42010 $SC_THREAD_RAMP_DISP. Instead, it utilizes pure geometric block concatenation for the run-in and run-out paths. If you rely on global acceleration settings to dynamically decelerate or round off the thread exit, the tool will fail to retract in time and strike the shoulder. The practical action is to explicitly program a safe, incremental run-out path _ROP in the CYCLE99 parameter list that accounts for tool geometry and retract clearance before the tool reaches the shoulder.

Still not resolved?

Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

Ask AI Assistant
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.

Related Articles

Other articles on this topic