Skip to main content
CNC.wikiCNC.wiki

Siemens CYCLE952 Contour Turning Cycle Programming Guide

Master Siemens CYCLE952 contour turning on Sinumerik CNC controls. Learn parameter lists, resolve Alarm 61051, and configure balance cutting.

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

CNC CARE Co-founder

Introduction

Programming an incorrect boundary or assigning a duplicate program name to Siemens CYCLE952 can trigger a sudden turret indexing lock or drive a turret into a hard collision with the chuck during deep longitudinal passes. When the Sinumerik controller encounters a naming collision where the main part program name is identical to the stock removal subprogram or the blank contour update file, it triggers Alarm 61051 and halts execution immediately. Similarly, neglecting the exact geometry boundary definitions causes the lathe tool to engage the raw material unpredictably, causing severe stress on the turret, damaged chuck jaws, or a scrapped workpiece.

Technical Summary

Technical AspectDetails
Command CodeCYCLE952
Modal GroupContour Turning (Non-Modal Cycle)
Supported BrandsSiemens
Critical Parameters_PRG (Subprogram Name), _VARI (Machining Strategy), _BL (Blank Type)
Main ConstraintMust be preceded by at least one CYCLE62 Contour Call

Quick Read

  • Program at least one mandatory CYCLE62 contour call directly preceding CYCLE952 in G-code to define the part geometry.
  • Never assign the exact same name to the main part program and the auxiliary subprograms defined in _PRG or _CONR to prevent Alarm 61051.
  • Enable machine data MD52218 $MCS_FUNCTION_MASK_TURN Bit 6 before attempting to use the Balance Cutting function to avoid Alarm 61059.
  • Use _VARI units digit to determine the machining process: 1 for roughing, 3 for base finishing, 4 for edge finishing, and 5 for chamfering.
  • Define the blank profile in _BL using 1 for cylinder with allowance, 2 for finished part allowance, or 3 for custom blank contour.
  • Configure setting data SD55212 $SCS_FUNCTION_MASK_TECH_SET Bit 3 to automatically manage controller memory by deleting generated subprograms upon execution completion.

Basic Concepts

The Siemens CYCLE952 contour turning cycle is a highly specialized routine for stock removal, residual material machining, and plunge turning. This cycle stands out because it decouples the contour geometry declaration from the machining path commands. By utilizing the auxiliary CYCLE62 command, a programmer can define the shape of both the blank workpiece and the final part before CYCLE952 calculates the optimal stock removal passes.

Siemens controllers allow the cycle to dynamically write updated contour data to external subroutines. These subroutines, declared via parameters like _PRG for the stock removal program and _CONR for the updated blank contour, keep track of the remaining material. This modular approach allows for complex, multi-tool roughing and finishing strategies where each tool automatically knows where the previous tool left off.

Command Structure

The cycle syntax of CYCLE952 contains a long list of parameters that govern geometry, feeds, finishing allowances, and machining modes. To execute a successful stock removal cycle, the control must ingest values for the subprograms, feedrates, and stock allowances. These values determine whether the cycle acts as a standard longitudinal roughing path or performs detailed plunge turning.

Operators configure the cycle by passing both string and numerical variables. The first three parameters determine the names of the associated subroutines for the stock removal, contour definition, and updated blank contour. The subsequent parameters specify cutting parameters such as feedrates, safety clearances, and machining depth limits.

CYCLE952(_PRG, _CON, _CONR, _VARI, _F, _FR, _RP, _D, _DX, _DZ, _UX, _UZ, _U, _U1, _BL, _XD, _ZD, _XA, _ZA, _XB, _ZB, _XDA, _XDB, _N, _DP, _DI, _SC, _DN, _GMODE, _DMODE, _AMODE, _PK, _DCH, _FS)
ParameterData TypeDescription
_PRGSTRINGName of the stock removal program or generated program for finishing.
_CONRSTRINGName of the program into which the updated contour for the blank will be dynamically written.
_VARIINTMachining type and strategy. The units digit specifies the machining process: 1 for Roughing, 3 for Base finishing, 4 for Edge finishing, 5 for Chamfering.
_FREALFeedrate utilized for roughing and finishing passes.
_BLINTDefinition of the blank. Allowed values: 1 (cylinder with allowance), 2 (allowance at finished-part contour), or 3 (blank contour specified).

Brand Applications

Siemens

The Siemens CYCLE952 contour turning cycle is designed for Siemens Sinumerik controllers (e.g. 840D sl and 828D). It executes stock removal using subprograms declared by parameters _PRG and _CONR.

The cycle works in conjunction with G-code programming blocks to establish modular workpiece contours.

CategoryDetails
Parameters_PRG, _CONR, _VARI, _F, _BL
AlarmsAlarm 61051 (naming collision), Alarm 61059 (balance cutting machine data bit 6 check failed)
VersionsIn SW4.4 and higher, SD55212 Bit 3 controls the automatic deletion of generated programs.

Assigning duplicate file names to the main program and cutting files will immediately lock execution and halt the lathe turret.

Brand Comparison

Feature / CapabilitySinumerik ONE & 840D sl (SW 4.4+)Sinumerik 828D (SW 4.4+)Older Sinumerik Systems (Pre-SW 4.4)
Generated Program Memory ManagementSupported via setting data SD55212 Bit 3. Can automatically delete auxiliary files when set to 1.Supported via setting data SD55212 Bit 3. Can automatically delete auxiliary files when set to 1.Not supported. Generated programs remain in controller memory and must be manually cleared.
Balance Cutting IntegrationSupported; requires machine data MD52218 Bit 6 to release functionality.Supported; requires machine data MD52218 Bit 6 to release functionality.— (no source)
Naming Conflict HandlingTriggers Alarm 61051 if main program matches _PRG or _CONR.Triggers Alarm 61051 if main program matches _PRG or _CONR.Triggers Alarm 61051 if main program matches _PRG or _CONR.

Technical Analysis

The Sinumerik environment establishes a unique architectural structure for contour turning by separating the contour geometry definition from the path execution. The contour call is executed through the CYCLE62 command, while the physical machining path, feeds, and stock allowances are handled by CYCLE952. This modular configuration allows the controller to perform dynamic residual material recognition, calculating only the material that remains after previous operations.

Another distinct technological aspect is how Siemens manages the memory overhead of these auxiliary program runs. In systems running software version SW4.4 and higher, programmers can configure setting data SD55212 Bit 3. When this bit is set to 1, the controller automatically deletes the generated stock removal program (_PRG) or updated contour program (_CONR) immediately after the cycle runs. This prevents the directory clutter typical of older systems where these subprograms were preserved in memory indefinitely.

Lastly, deploying advanced functions such as Balance Cutting requires explicit machine configuration. If the programmer attempts to activate balance cutting without enabling Bit 6 of machine data MD52218, the controller halts with a tool preselection failure (Alarm 61059). The system enforces this link between software functionality and machine configuration to prevent unreleased cutting modes from causing mechanical damage.

Program Examples

; Define the finished-part contour using CYCLE62
N100 CYCLE62("CONTOUR", 1, , )

; Execute Stock Removal Roughing with CYCLE952 N110 CYCLE952("ROUGH", , "CONTOUR", 1101311, 0.3, 0.15, 0, 2.5, 0.1, 0.1, 0.2, 0.1, 0.1, 0, 1)

; Execute Finishing using the same contour definition N120 CYCLE952("FINISH", , "CONTOUR", 1101421, 0.15, 0, 0, 0.1, 0.05, 0.05, 0, 0, 0, 0, 1)

Dry Run Verification Procedure: Before executing the cycle on a raw workpiece, run a dry run program test. Verify that the contour subprogram CONTOUR is loaded in the control directory. Set the feedrate override to 0% and execute the program block-by-block. Watch the graphic simulation window to confirm that the toolpath coordinates do not exceed the machine travel limits and that the tool nose radius compensation is calculated correctly. Check that the blank definition parameters do not cause the tool to engage in rapid traverse (G00) within the stock zone.

Error Analysis

BrandAlarm CodeTrigger ConditionSymptomRoot Cause & Resolution
Siemens61059Tool preselection fails because the Balance Cutting function inside CYCLE952 was called but has not been released.The turret stops indexing during the tool preselection phase, halting the machine.Machine data MD52218 $MCS_FUNCTION_MASK_TURN Bit 6 is not enabled. Enable Bit 6, clear the alarm with the RESET key, and restart the part program.
Siemens61051The main part program name is identical to the cutting file name (_PRG) or updated contour name (_CONR).NC start is blocked, interpreter stops, and an alarm message appears on the screen.Naming conflict in the control's file management system. Ensure the main program has a unique name distinct from subprograms, clear the alarm with RESET, and restart.
Siemens61052Maximum spindle speed for the main spindle has not been entered.The cycle halts before beginning stock removal passes.The maximum spindle speed limit parameter is missing. Enter the value, clear the alarm with the RESET key, and restart.

Application Note

A hard collision with the chuck or vise jaws during deep longitudinal passes will occur if the blank contour boundaries are incorrectly defined in CYCLE952. Operators must ensure that the blank geometry is fully mapped using the preceding CYCLE62 call before running the turning cycles. When programming heavy stock removal, failing to set the blank limits causes the tool to engage in rapid traverse modes inside raw metal, causing severe mechanical force on the turret and spindle. Always verify that machine data MD52218 Bit 6 is activated before attempting balance cutting, as an unconfigured control will refuse to index the turret, leaving the tool trapped in the workspace.

Related Command Network

  • CYCLE62 (Contour Call) — Declares the geometry of the finished part and blank contours that CYCLE952 uses for path generation. Similar to how siemens-cycle84-cycle99-threading-cycles define threading routines, CYCLE952 manages profile turning.
  • CYCLE63 (Contour Milling Cycle) — Employs a similar subprogram generation logic to execute high-speed pocket and contour milling. While CYCLE952 processes external profiles, cycles like pocket3-pocket4-pocket-milling are deployed to mill internal rectangular and circular cavities.
  • CYCLE64 (Contour Pocket Cycle) — Dynamically generates internal programs to rough and finish irregular pocket profiles. Similarly, slot1-slot2-slot-milling-cycles can be programmed for slotting operations on multi-tasking mill-turn centers.

Conclusion

Successful deployment of CYCLE952 depends on modular geometry separation, unique subprogram naming conventions, and correct machine data flags. Ensuring that CYCLE62 is programmed first, and verifying that the main program name remains distinct from subprograms, prevents unexpected cycle errors and mechanical damage on the shop floor.

FAQ

How do I resolve Alarm 61051 during CYCLE952 execution?

This alarm indicates a naming collision because your main program name matches the subprogram defined in _PRG or _CONR. Open your directory, rename your main part program or change the cycle's subroutine parameters, and reload the file to clear the error.

Why does the turret lock up with Alarm 61059 when using balance cutting?

The Siemens controller stops tool preselection because balance cutting is not activated in the parameters. Navigate to your controller's machine data screen, set Bit 6 of machine data MD52218 $MCS_FUNCTION_MASK_TURN to 1, press RESET, and restart the cycle.

How can I automatically delete auxiliary programs generated by CYCLE952?

The controller can automatically clear generated subprograms to free up memory instead of leaving them to clutter your directory. Set Bit 3 of setting data SD55212 $SCS_FUNCTION_MASK_TECH_SET to 1 to automatically delete these files upon cycle execution.

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