General information on cycles

General information

 
Machine

The control’s full range of functions is available only if the Z tool axis is used (e.g., PATTERN DEF).

Restricted use of the tool axes X and Y is possible when prepared and configured by the machine manufacturer.

Cycles are stored on the control as subprograms. The cycles can be used to execute different machining operations. This greatly simplifies the task of creating programs. The cycles are also useful for frequently recurring machining operations that comprise several working steps. Most cycles use Q parameters as transfer parameters. The control provides cycles for the following technologies:

  • Drilling processes
  • Thread machining
  • Milling operations such as pockets and studs or even contours
  • Cycles for coordinate transformation
  • Special cycles
 
Notice
Danger of collision!
Cycles execute extensive operations. Danger of collision!
  1. Simulate your program before executing it
 
Notice
Danger of collision!
You can program variables as input values in HEIDENHAIN cycles. Using variables outside of the recommended input ranges can lead to collisions.
  1. Only use the input ranges recommended by HEIDENHAIN
  2. Pay attention to the HEIDENHAIN documentation
  3. Check the machining sequence using a simulation
 
Tip

In inch programs, the feed rate for cycles must be defined in 0.1 inch/min.

Optional parameters

The comprehensive cycle package is continuously further developed by HEIDENHAIN. Every new software version thus may also introduce new Q parameters for cycles. These new Q parameters are optional parameters, which were not all available in some older software versions. Within a cycle, these parameters are always provided at the end of the cycle definition. The section New and Modified Functions gives you an overview of the optional Q parameters that have been added in this software version. You can decide for yourself whether you would like to define optional Q parameters or delete them with the NO ENT key. You can also adopt the default value. If you have accidentally deleted an optional Q parameter or if you would like to extend cycles in your existing NC programs, you can add optional Q parameters in cycles where needed. The following steps describe how this is done.

Proceed as follows:

  1. Call the cycle definition
  2. Press the right arrow key until the new Q parameters are displayed
  3. Confirm the displayed default value
  4. or

  5. Enter a value
  6. To load the new Q parameter, exit the menu by selecting the right arrow key once again or by selecting the END button
  7. If you do not wish to load the new Q parameter, press the NO ENT key

Compatibility

Most NC programs created with older HEIDENHAIN controls (starting with the TNC 150 B) can be run with the new software version of the Bahnsteuerung. Even if new optional parameters have been added to existing cycles, you will generally be able to run your NC programs as usual. This is achieved because the stored default value will be used. The other way around, if you want to run an NC program created with a new software version on an older control, you can delete the respective optional Q parameters from the cycle definition with the NO ENT key. In this way you can ensure that the NC program is downward compatible. If NC blocks contain invalid elements, the control will mark them as ERROR blocks when the file is opened.

Defining cycles

Cycles can be defined in several ways.

Inserting via NC function:

  1. Select Insert NC function
  2. The control opens the Insert NC function window.
  3. Select the desired cycle
  4. The control initiates a dialog and prompts you for all required input values.

Inserting machining cycles via the CYCL DEF key:

  1. Press the CYCL DEF key
  2. The control opens the Insert NC function window.
  3. Select the desired cycle
  4. The control initiates a dialog and prompts you for all required input values.

Inserting touch-probe cycles via the TOUCH PROBE key:

  1. Press the TOUCH PROBE soft key
  2. The control opens the Insert NC function window.
  3. Select the desired cycle
  4. The control initiates a dialog and prompts you for all required input values.
Navigation in the cycle

Key

Function

Navigation within the cycle:

Jump to next parameter

Navigation within the cycle:

Jump to previous parameter

Jump to the same parameter in the next cycle

Jump to the same parameter in the previous cycle

 
Tip

For some cycle parameters, the control provides selectable choices via the action bar or the form.

If an input option specifying a defined behavior is stored in certain cycle parameters, you can open a selection list with the GOTO key or in the form view. For example in cycle 200 DRILLING, the Q395 DEPTH REFERENCE parameter provides the following options:

  • 0 | Tool tip
  • 1 | Cutting edge corner

Cycle input form

The control provides a FORM for various functions and cycles. This FORM allows you to enter various syntax elements or cycle parameters.

The control allocates the cycle parameters in the FORM to groups based on their functions (e.g., geometry, standard, advanced, safety). The control provides selection possibilities for different cycle parameters via switches, for example. The control displays the currently edited cycle parameter in color.

After you have defined all required cycle parameters, you can confirm your input and conclude the cycle.

To open the form:

  1. Select the Editor operating mode

  1. Select the desired Program

  1. Select FORM via the title bar
 
Tip

If an input is invalid, the control displays an information symbol ahead of the syntax element. When you select the information symbol, the control displays information on the error.

Help graphics

When you are editing a cycle, the control shows a help graphic for the current Q parameters. The size of the help graphic depends on the size of the Program workspace.

The control shows the help graphic at the right edge of the workspace, or at the top or bottom edge. The help graphic is positioned in the half that does not contain the cursor.

When you tap or click on the help graphic, the control maximizes the help graphic.

If the Help workspace is active, the control will display the help graphic in this area instead of showing it in the Program workspace.

The Help workspace with a help graphic for a cycle parameter

Calling cycles

For cycles that remove material, you have to enter not only the cycle definition, but also the cycle call in the NC program. The call always refers to the machining cycle that was defined last in the NC program.

Requirements

Before calling a cycle, be sure to program:

  • BLK FORM for graphic display (only required for simulation)
  • Tool call
  • Spindle direction of rotation (miscellaneous function M3/M4)
  • Cycle definition (CYCL DEF)
 
Tip

For some cycles, additional requirements must be observed. They are detailed in the descriptions and overview tables for each cycle.

You can program the cycle call in the following ways:

Syntax

Further information

CYCL CALL

CYCL CALL PAT

CYCL CALL POS

M89/M99

Calling a cycle with CYCL CALL

The CYCL CALL function calls the most recently defined machining cycle once. The starting point of the cycle is the position that was programmed last before the CYCL CALL block.

  1. Select Insert NC function
  2. or

  1. Press the CYCL CALL key
  2. The control opens the Insert NC function window.
  3. Select CYCL CALL M
  4. Define CYCL CALL M and add an M function, if necessary

Calling a cycle with CYCL CALL PAT

The CYCL CALL PAT function calls the most recently defined machining cycle at all positions that you defined in a PATTERN DEF pattern definition or in a point table.

Pattern definition with PATTERN DEF

Point tables

  1. Select Insert NC function
  2. or

  1. Press the CYCL CALL key
  2. The control opens the Insert NC function window.
  3. Select CYCL CALL PAT
  4. Define CYCL CALL PAT and add an M function , if necessary

Calling a cycle with CYCL CALL POS

The CYCL CALL POS function calls the most recently defined machining cycle once. The starting point of the cycle is the position that you defined in the CYCL CALL POS block.

  1. Select Insert NC function
  2. or

  1. Press the CYCL CALL key
  2. The control opens the Insert NC function window.
  3. Select CYCL CALL POS
  4. Define CYCL CALL POS and add an M function, if necessary

Using positioning logic, the control moves to the position defined in the CYCL CALL POS block:

  • If the tool’s current position in the tool axis is above the upper edge of the workpiece (Q203), the control first moves the tool to the programmed position in the working plane and then to the programmed position in the tool axis
  • If the tool’s current position in the tool axis is below the upper edge of the workpiece (Q203), the control first moves the tool to the clearance height in the tool axis and then to the programmed position in the working plane
 
Tip

Programming and operating notes

  • Three coordinate axes must always be programmed in the CYCL CALL POS block. Using the coordinate in the tool axis, you can easily change the starting position. It serves as an additional datum shift.
  • The feed rate most recently defined in the CYCL CALL POS block is only used to traverse to the start position programmed in this block.
  • As a rule, the control moves without radius compensation (R0) to the position defined in the CYCL CALL POS block.
  • If you use CYCL CALL POS to call a cycle in which a start position is defined (e.g., Cycle 212), then the position defined in the cycle serves as an additional shift of the position defined in the CYCL CALL POS block. You should therefore always define the start position in the cycle as 0.

Calling cycles with additional functions

M99

The M99 miscellaneous function calls the most recently defined machining cycle once. M99 is effective blockwise and at the end of the block (e.g., after the traverse movement)

Example

11 CYCL DEF 257 CIRCULAR STUD

...

12 L X+50 Y+50 R0 FMAX M99

The control traverses at FMAX to the position X+50 and Y+50. Then the control calls Machining Cycle257 CIRCULAR STUD with M99.

M89

If the control is to execute the cycle automatically after every positioning block, program the first cycle call with M89.

You can cancel M89 with the following functions:

  • M99 at the last position
  • New machining cycle with CYCL DEF

Defining and calling an NC program as cycle

With SEL CYCLE, you can define any NC program as a machining cycle.

To define an NC program as a cycle:

  1. Select Insert NC function
  2. The control opens the Insert NC function window.

  1. Select SEL CYCLE

  1. Select file name, string parameter or file

To call an NC program as a cycle:

  1. Press the CYCL CALL key
  2. The control opens the Insert NC function window.
  3. or

  4. Program M99
 
Tip
  • If the called file is located in the same directory as the file you are calling it from, you can also integrate the file name without the path.
  • CYCL CALL PAT and CYCL CALL POS use a positioning logic before the respective cycle is executed. With respect to the positioning logic, SEL CYCLE and Cycle 12 PGM CALL show the same behavior. In point pattern cycles, the clearance height for approaching is calculated based on:
    • the maximum Z position when pattern machining is started
    • all Z positions in the point pattern
  • With CYCL CALL POS, there will be no pre-positioning in the tool-axis direction. This means that you need to manually program any pre-positioning in the file you call.