0% found this document useful (0 votes)
295 views91 pages

Schulung - CNC Programming en

This document provides information on CNC programming including: 1. It describes the basic functions and addresses used in CNC programming like program numbers, block numbers, preparative functions, tool selection, and annotations. 2. It lists and explains the most common G-functions used to control axis movement, coordinate systems, tool radius compensation, and fixed cycles. 3. It covers additional topics like sub-programming, machining with C-axis and driven tools, and different interpolation methods for complex tool paths.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
295 views91 pages

Schulung - CNC Programming en

This document provides information on CNC programming including: 1. It describes the basic functions and addresses used in CNC programming like program numbers, block numbers, preparative functions, tool selection, and annotations. 2. It lists and explains the most common G-functions used to control axis movement, coordinate systems, tool radius compensation, and fixed cycles. 3. It covers additional topics like sub-programming, machining with C-axis and driven tools, and different interpolation methods for complex tool paths.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

CNC - Programming T DIN / ISO

Content

1 Foreword...................................................................................................................................... 4
2 Functions and addresses of CNC ................................................................................................. 5
2.1 Program- or Subprogramnumber O ...................................................................................... 5
2.2 Blocknumber N ..................................................................................................................... 5
2.3 Preparative Functions G ......................................................................................................... 6
2.4 Working feed F ......................................................................................................................... 7
2.5 Rotational speed of the Spindle S ........................................................................................... 7
2.6 Selection of the Tool T ............................................................................................................ 7
2.7 M Help .................................................................................................................................. 10
2.8 Skip a block .......................................................................................................................... 11
2.9 Annotations and comments....................................................................................................................11
3 G-Functions ............................................................................................................................... 12
3.1 List of the most important G-Functions ............................................................................... 13
3.2 G0 Linear Movement of the Axis in fast motion .................................................................... 15
3.3 G1 Linear Interpolation in feed motion .................................................................................. 17
3.4 Absolute input (G90) .............................................................................................................. 18
3.5 Incremental input (G91) ........................................................................................................ 19
3.6 Absolute/Incremental input in the G-Code System A ........................................................... 20
3.7 Chamfering / Bending (Option) ............................................................................................ 21
3.8 Direct programming of drawing dimensions (Option) ........................................................... 23
3.9 G2 / G3 circular interpolations ............................................................................................. 27
3.10 G4 Resting time of the axis .................................................................................................. 29
3.11 G95 Feed in mm/U ............................................................................................................... 30
3.12 G94 Feed in mm/min ............................................................................................................ 31
3.13 G97 Spindle rotation with constant drive ............................................................................... 32
3.14 G96 Constant cutting speed.................................................................................................. 33
3.15 G92 Limited motor speed ..................................................................................................... 34
3.16 G33 Thread-cutting motion ................................................................................................... 35
3.16.1 Multiple thread ............................................................................................................. 36
3.17 G41 / G42 / G40 Tool radius compensation .......................................................................... 37
3.18 G54 / G59 Work piece zero points ........................................................................................ 41
3.19 G52 Additive zero point offset ............................................................................................... 43
4 Fix FANUC cycles......................................................................................................................... 45
4.1 G71 Turning - Material abrasion .......................................................................................... 45
4.2 G72 Facing – Material abrasion............................................................................................ 50
4.3 G73 Contour repetition ......................................................................................................... 53
4.4 G70 Finishing cycle .............................................................................................................. 56
4.5 G74 Axially recessing cycle ................................................................................................ 58
4.6 G75 Radially recessing cycle .............................................................................................. 59
4.7 G76 Thread cycle in more than one round.......................................................................... 60
4.8 G83 On face drilling cycle ..................................................................................................... 63
4.9 G84 On face tapping cycles.................................................................................................. 64
5 Sub-program ................................................................................................................................ 66
6 Machining with C-Axis and driven tools ........................................................................................ 69
6.1 Driven tools ............................................................................................................................ 69
6.2 C-Axis ................................................................................................................................... 70
6.3 Programming with realistic coordinates ............................................................................... 71
6.3.1 G83 Drilling cycle on face ................................................................................................. 72
6.3.2 G87 Radial drilling cycle ................................................................................................... 74
6.3.3 G84 On-face tapping cycle ............................................................................................... 76
6.3.4 G88 Radial thread cycle ................................................................................................... 79
6.4 G12.1 Polar coordinate-Interpolation .................................................................................. 82
6.4.1 Circular interpolation in G12.1 ........................................................................................ 85
6.4.2 G40 G41 G42 Milling cutter correction in G12.1 ............................................................... 86
6.5 G7.1 Cylindrical Interpolation ................................................................................................ 88
1 Foreword

At a machine tool with numeric control is the command sequence to program a work piece an
address which is made up of numeric values.

To create the work piece program you can freely chose the origin ( => zero point, which refers to all
dimensions). Imagine a coordinate system.

In the specific case of a turning machine this coordinate system is made up of two or more axis:

X-Axis (Determination of the caliber).


Z-Axis (Determination of the length).
C-Axis (Turning machine with controlled spindle: Determination of the angle division).

X+

Z+

C+

The path of the tool is programmed with coordinated points. These points are written in the correct
order and defined by the work piece contour.
Each single movement of the tool is written separate by commands (blocks) with the necessary
technological data. The whole blocks are called the work piece program.
2 Functions and addresses of CNC

The program is made up of a command sequence. This command sequence is made up of


addresses (letters) and numbers. Each address has an exact meaning.

2.1 Program- or Subprogramnumber O

Programs and sub-programs are characterized by the letter “O“ followed by a number.
The number of the program is in combination with the letter “O”. The number can go from O1 to
O9999. These numbers are subdivided into three channels:

Channel 1:
O1001 - O7999 Program numbers for main or sub programs, which the user can use
without restrictions.

Channel 2:
O8000 - O8999 Program numbers for the closed automation.

O9000 - O9999 Program numbers for sub programs, which are special cycles programmed by
EMAG.

O9999 is the conveyer program. Select channel 2 to use this program.

2.2 Blocknumber N

This block is an entity of terms, which identify the operations.

For example:
N10 G0 X200 Z5 M8

Each block is identified by a number N 1 – 99999 and has to end with the sign for end of block
EOB ( ; ).
The software engineer can choose the block numbers. The automatically numeration of the blocks is
normally not activated. If you want to use them it is necessary to select NR. SEQUENZ in the menu
Einrichten/Manuell. To get there press SETTING on the MDI-Key. Select “1”.
Then the block number is selected automatically. You have to choose a code for EOB ( ; ).
The size of the steps to rise the numbers block number is defined in the parameter 3216 (e.g. 10).
2.3 Preparative Functions G

G-Functions prepare the control system to do special operations. These operations differ in the
number of the code (e.g. G0, G1, G3 etc.).
There are two different modes of preparative functions:
The modal functions and the self-extinguishing functions.
The modal functions are active till they are cancelled by other modal functions. The self-
extinguishing functions are only active in the block, they are.
2.4 Working feed F

The function F (Feed) defines the working feed and can have two different meanings. These
meanings are addicted to the active G-Function (G95 or G94, see chapter 3.6 and 3.7).

mm/U (usually used in turning operation)

mm/min (usually used in milling or to work with a stationary spindle).

The programmed feed F can be changed to variable values of 0% - 120%. The programmed feed is

active till you choose an other feed.

2.5 Rotational speed of the Spindle S

The function S (Speed) defines the rotation speed of the spindle. And can have two different
meanings. These meanings are addicted to the active G-Function (G97 or G96 see chapter 3.13
and 3.14).

U/min (usually used in case of no huge differences of the caliber e.g. drilling, tapping and thread
machining)

m/min (usually used for all turning operations. The rotation speed is adjusted by the caliber)

The programmed speed can be changed at the spindle-potentioneter to variable values of 50% -
120%.

2.6 Selection of the Tool T

The code T (Tool) defines the correction of the tool and the turret position. To work with them you
have to activate them. A whole slew of information is given at the correction of the tool. These
information define the features of the tool (Length, direction, radius etc.).
In most parts the tool call-up is made of 4 digits. The first two numbers define the position of the
tool in the turret.
The last two numbers define the correction of the tool. The memory of the control system has
minimum 32 tool corrections. A software engineer has to select the right correction that fits to each
different tool. It is advantageous to use for tool and the correction the same number.

For example:

N1 T0101
N2 ....
N3 ....
N4 .... Processing the tool T01 Correction 01
N5 ....
N6 ....
N7 T0404
N8 ....
N9 .... Processing the tool T04 Correction 04
N10 ..........
N11 ....

It is possible to correlate another correction to a tool call-up. For example to change the position of
the turret without setting it zero or to use the same tool for a second correction.

For example:

N4 T0121 (Choose the tool T01 with the correction 21)


N5 ....
N6 ....
N7 .... Processing
N8 ....

It can be helpful to use motions without an active correction. That means to ignore the length of the
tools. E.g. to get a minimal disturbance range for the turret (in case of automatic magazines).
Use T0 to deactivate the tool correction. To activate a correction select a tool.
The function T0 causes a rotation of the tool disc.
2.7 M Help

The help functions give commands to the control system and the machine tools. These functions
are subdivided into functions that are active as soon as they are read by the machine and into
functions that are active at the end of a block (M0, M1, M3, M4).
Below are the most common help functions M:

0 => Program pause. This function stops the program. The user has to unblock the
program (cycle start) to continue.

0 => Optional program pause. This function stops the program. The user has to
unblock the program (cycle start) to continue.

0 => Spindle rotation clockwise. The spindle rotates clockwise in the given speed S.

0 => Spindle rotation anticlockwise. The spindle rotates anticlockwise in the given
speed S.

0 => Stop Spindle rotation. This function Stops the rotation of the spindle.

0 => Activating cooling fluid. This function activates the cooling fluid.

0 => Deactivation cooling fluid. This function stops the cooling fluid.

0 => Spindle orientation. This function stops the spindle in a certain position (spindle angular).
M19 can be programmed when the spindle is rotating.

0 => End of the program. This function ends the program and prepares the CNC to begin with
the first block.

M62 => Selection of the C-Axis.

M63 => Selection of the C-Axis.

M99 => Subprogram END, and go back to the main program.

Notice:
There are other M-Functions. These are specific for the single EMAG machines.
See the Documentation of these machines.
2.8 Skip a block

This function is to skip a block. Press the “Block Skip” key to activate or deactivate.

If the light is off (key is not pressed) will the blocks with slash ( / ) done.

If the light is on (key is pressed) will the blocks with slash ( / ) skipped.

For example:
N10 /T0101
N20 /G54
N30 /G92 S2000
N40 /G96 S180 P1 M3
N50 /G0 X100 Z2 M8
N60 /G1 Z-40 F0.25

2.9 Annotations and comments

It is possible to insert annotations and comments. For example the type of the tool (in the block in
which the tool is chosen).
These annotations or comments can be inserted in brackets ( … ). The length of a comment is not
limited. You can see the comment while programming and while the program works.

For example:
N10 T0101 (roughing tool out 80°)

or

N18 M0 (move work piece)


3 G-Functions

The G-Functions are divided in groups. In each program block can be only one function. The G-
Functions are modal (saved) or block wise active. To find the entire description to the G-
Functions see the programming guide.

MODAL G-Functions are active till they are replaced by new functions of the same group.

BLOCK WISE G-Functions are only active in the part where they stand.
(Characterized through #).

Notice:
There are three different G-Code systems A, B and C. These are through the bits 6 and 7
from # 3401 defined.
This user guide describes the programming in G-Code system B.

See the chart below for the individual G-Code-System:

#3401 G-Code-System
Bit7 Bit6
0 0 A
0 1 B
1 0 C

You have to program all EMAG machines older than version 30 in G-Code-System B
(See page 13).
3.1 List of the most important G-Functions

Use the following G-Functions to program the FANUC control systems:

Group
A B C
e
G0 G0 G0 Linear movement of the axis in fast motion.
G1 G1 G1 Linear movement of the axis in working speed.
1
G2 G2 G2 Circleinterpolation clockwise.
G3 G3 G3 Circleinterpolation anticlockwise.
G4 G4 G4 # Resting time
0 G10 G10 G10 # Data input of the program.
G11 G11 G11 # Delete Modus Data input of the program.
G17 G17 G17 Choose machining area X Y.
16 G18 G18 G18 Choose machining area Z X.
G19 G19 G19 Choose machining area Y Z.
0 G28 G28 G28 # Return to the origin (Option C-Axis and A-Axis).
1 G32 G33 G33 Thread cutting motion
G40 G40 G40 Deactivating the radius balance.
7 G41 G41 G41 Balance the tool radius (work piece is right of the profile)
G42 G42 G42 Balance the tool radius (work piece is left of the profile)
G52 G52 G52 Absolute programmable zero point offset.
0
G53 G53 G53 # Activates offset of the machine reference zero.
G54 G54 G54 Modifiable zero point offset.
G55 G55 G55 Modifiable zero point offset.
G56 G56 G56 Modifiable zero point offset.
14
G57 G57 G57 Modifiable zero point offset.
G58 G58 G58 Modifiable zero point offset.
G59 G59 G59 Modifiable zero point offset.
0 G65 G65 G65 # Macro instruction calls.
G66 G66 G66 Macro instruction modal calls.
12
G67 G67 G67 Delete macro instruction modal calls.
G70 G70 G72 # Finishing cycle.
G71 G71 G73 # Material loss due turning.
G72 G72 G74 # Material loss due face cutting.
0 G74 G74 G76 # Recessing cycles axial
G75 G75 G77 # Recessing cycles radial
G73 G73 G75 # Contour repetition.
G76 G76 G78 # Thread cutting cycle in more than one way.
10 G80 G80 G80 Delete fix cycles.
G83 G83 G83 Fix cycle for face side drilling.
G84 G84 G84 Fix cycle for face side tapping.
G85 G85 G85 Fix cycle for face side for drill out.
G87 G87 G87 Fix cycle for side-drilling.
G88 G88 G88 Fix cycle for side tapping.
G89 G89 G89 Fix cycle for side drill out.
- G90 G90 Programming with absolute coordinates.
3
- G91 G91 Programming with incremental coordinates.
0 G50 G92 G92 Limit of the spindle speed.
G98 G94 G94 Programming the feed in mm/min.
5
G99 G95 G95 Programming the feed in mm/U.
G96 G96 G96 Programming the constant cutting speed in m/min.
2
G97 G97 G97 Programming the spindle rotation with fix speed U/min.
- G98 G98 Return to the drilling cycle (to starting plane).
11
- G99 G99 Return to the drilling cycle (to R-Plane).
0 G7.1 G7.1 G7.1 Cylindrical Interpolation.
G12.1 G12.1 G12.1 Interpolation in polar coordinates.
21
G13.1 G13.1 G13.1 Delete interpolation in polar coordinates.
3.2 G0 Linear Movement of the Axis in fast motion

The function G0 regulates the operation of the axis in fast motion (maximal speed). This function is
used to position and approach the work piece with a safety distance. In one block has to be entered
one or more target coordinates (X and Y).

It depends on the modulation of the Bits 1 (LRP) parameter 1401:

Positioning through non linear interpolation (LRP=0)


The tool will be positioned axial in fast motion. The path is usually not straight.

Positioning through linear interpolation (LRP=1)


The path is the same than in linear interpolation (G01). The tool will be positioned in the
fastest possible time. The speed may not exceed the rapid motion speed.
G0 is modal active till another command of the same group (G1, G2, G3, G33) is entered. The
function G0 is used to approach the work piece at the beginning of the machining. It is also used
to move away at the end of the cycle.

For example:
N17 ...
N18 G0 X50 Z2 (Fast approach motion)
N19 ...
N20 ...
N21 ...
N22 ...
N23 ... Processing
N24 ...
N25 ...
N26 ...
N27 ...
N28 G0 X200 Z100 (Fast move away motion)
N29 ...
3.3 G1 Linear Interpolation in feed motion

The function G1 regulates a linear movement (with a programmed speed). This function is used to
machine the work piece. The software engineer has to select the speed (Feed F). The machine
approaches the selected point in this speed. In one block you can select one or more target
coordinates (X and Y) and the feed (F) if it is not given.
Programming of G1 X... Z... F... starts the tool from the position where it is located with a linear
movement to a programmed position. The function G1 and the feed F are modal functions.

For example:

N1 ...
N2 G0 X26 Z3 (0) Approach motion
N3 G1 Z0 F0.2 (1) Processing
N4 X30 Z-2 (2) ...
N5 Z-30 (3) ...
N6 X50 Z-65 F0.1 (4) ...
N7 Z-95 (5) ...
N8 G0 X100 Z30 (6) Move away motion
N9 ...
3.4 Absolute dimension input (G90)
Each point of the work piece refers to a benchmark in the absolute dimension input. So it is called
absolute dimensioning or absolute dimension input. The numerical value of the movement
information stands for the target position in the coordinate system.

For Example:
X+
60

40

20 Z+
27

35

Coordinates X / Z Position
N5 G90 X0 Z0
N6 X40 (1)
N7 Z-20 (2)
N8 X60 Z-27 (3)
N9 Z-35 (4)

Notice:
The function G90/G91 only exists in G-Code System B or C. For G-Code
System A see chapter…
3.5 Incremental input (G91)
The movement path accords the programmed commands and has no acquisition to the zero point.
So it is called incremental input. The numeric value stands for the sum that is necessary to
achieve the target position. Only the prefix has an acquisition to the coordinate system of the
machine or the tool.

+ means positive direction of the machine axis.


- means negative direction of the machine axis.

For example:
X+
60

40

20 Z+
27

35

Coordinates X / Z Position
N5 G91 X0 Z0
N6 X40 (1)
N7 Z-20 (2)
N8 X20 Z-7 (3)
N9 Z-8 (4)

The first value at the beginning of the program ad the first positioning of a tool has to be
programmed with absolute coordinates.
3.6 Absolute/Incremental input in the G-Code System A

In the G-Code-System A are all dimensions ( X, Z, C, Y etc) absolute. Incremental dimensions are
programmed through the incremental addresses.

Absolute- Incremental-
Address Adress
X U
Z W
C H
Y V

For example:

G0 X100. Z100. (Moves the X- and the Z-Axis on their position 100. mm ) G1
U20. F0.3 (Moves the X-Axis by 20mm in X+ direction)
G1 X50. W-5. (Moves the X-Axis in position 50mm and at the sam e tim e the Z-Axis by
5mm in Z- direction)
3.7 Chamfering / Bending (Option)

Between the two right angles there can be insert chamfers and bending:
:

For example :
N12 ...
N13 G1 Z... I...(+/-)
N14 ...

N12 ...
N13 G1 X... K...(+/-)
N14 ...

N12 ...
N13 G1 Z... R...(+/-)
N14 ...
Fanu c GE Au tomat ion CNC

N12 ...
N13 G1 X... R...(+/-)
N14 ...

Notice:
� The movement for chamfering or bending has to be a simple programmed movement on the X- or
Z-Axis in modus G01.
� I or K and R are always radial values.
� If the machine does not have a C-Axis, it is possible to program a chamfer with the
address C instead of I or K.

Examples for the use of the function chamfering and bending I,K and R:

17
2 10

2x45°
38
30
20

N5 ..
N6 G0 X0 Z3 Approach motion
N7 G1 Z0 F0.2 Contour description
N8 X20 K-2 ...
N9 Z-10 R2 ...
N10 X30 R-1 ...
N11 Z-17 I2 ...
N12 X38 ...
N13 G0 X100 Z50 Move away motion
N14 ..
3.8 Direct programming of drawing dimensions (Option)

The option „direct programming of drawing dimensions“ helps to program contour profiles. Chamfers
(,C...) radiuses (,R...) and a n g l e s (,A) can be used the same way they are given in the drawing.
The software engineer normally doesn’t has to calculate the program coordinates.

Unlike the easy chamfering/bending can chamfers (,C...) and radiuses (,R...) be programmed as
modulus (without plus/minus sign and without looking at the direction of the axis). It is also possible
to enter chamfers and radiuses at non right angled passages.

The value of the angle that has to be programmed can be positive or negative. It can be from 0°
and 360° . The angle is always in the positive Z-Axis.

X+

+90
-270
+
,A

+180 0
-180 0
Z+

-90
-270

-
Fanu c GE Au tomat ion CNC

The use of the angle ,A it is only allowed to use one endpoint in combination with the motion angle. In
certain circumstances it is only allowed to program the angle of the line without any target
coordinates.

There are two opportunities:

G1 X.(Z.) ,A. (Endpoint in X or Z and angle) eventually with chamfers (,C) or


Transition radius (,R) in the endpoint

G1 ,A. (only angle) eventually with chamfers (,C) or transition radius (,R) in the endpoint. If you use
the second opportunity (only G1 ,A), you have to program the next block with both target coordinates
(X and Z) and the angle (,A) eventually with chamfers (,C) or transition radius (,R) in the endpoint.

For example:
D50

10

N48 G0 X0 Z2
N49 G1 Z0 F0.25
N50 G1 ,A90
N51 G1 X50 Z-10 ,A120

The value of the angle ,A has to be put in degree. It has to be rounded on the third decimal digit.

For example:
N55 G1 ,A15.123
Programmed example with the use of the angles:

N48 G0 X0 Z2
N49 G1 Z0 F0.25
N50 X60 ,51
N51 Z-30 ,R
N52 X100
N53 ,A170 ,R20
N54 X300 Z-180 ,A112, R15
N55 Z-200
N56 G0 X350
Programmed example with the use of the angles:

N48 G0 X0 Z2
N49 G1 Z0 F0.25
N50 X40
N51 Z-7.1 ,A130
N52 X80 ,A150 ,R5
N53 Z-92 ,R4
N54 X140 ,A130 ,C2.65
N55 Z-130
N56 X160
N57 G0 X200 Z200
3.9 G2 / G3 circular interpolations

The functions G2 and G3 are programmed to list arcs clockwise or anti clockwise. See the graph
below:

You can see below how the circular interpolation block is programmed:

N24 G2 X... Z... R... ; Clockwise


N31 G3 X... Z... R... ; Anticlockwise

Or:

N15 G2 X... Z... I... K... ; Clockwise


N18 G3 X... Z... I... K... ; Anticlockwise

G2 / G3 => Direction of the circular interpolation


X => Coordinate of the end point on the X-Axis
Z => Coordinate of the end point on the Z-Axis
R => Circular interpolation radius
I => Incremental distance from the starting point to the middle of the radius on
the X-Axis (radial value).

K => Incremental distance from the starting point to the middle of the radius on
the Z-Axis.
Process of the functions I and K:

Programming example:

N5 .. N5 ...
N6 G0 X38 Z3 N6 G0 X38 Z3
N7 G1 Z-19 F0.2 Alternative: N7 G1 Z-19 F0.2
N8 G3 X44 Z-22.4 R5 N8 G3 X44 Z-22.4 I-2 K-3.4
N9 G1 Z-30 N9 G1 Z-30
N10 ... N10 ...

G2 and G3 are modal functions and can be cancelled through the programming of a G-Function with
a linear movement (G0, G1).
3.10 G4 Resting time of the axis

The function G4 routes a resting time of the machine axis while the program is working. The duration
of the program interruption can be programmed in G4. See the address P (in msec) or X (in sec).

For example resting time 1.5 seconds:


N12 ...
N13 G4 X1.5
N14 ...

For Example resting time 300 milliseconds:


N12 ...
N13 G4 P300
N14 ...

Notice:

G4 => activates the resting time of the machine axis.


X => Defines the duration of the axis resting time in seconds.
P => Defines the duration of the axis resting time in milliseconds.

The function G4 is only active in the block, where it is programmed.


3.11 G95 Feed in mm/U

The function G95 selects the feed F in mm/U. Is this function activated, program the rates of the
feed like this: F0.05, F0.15, F0.3, F0.5 etc.
Normally G95 is automatically activated when you start the machine. This modal function you
can cancel through programming the code G94.

N3 ..
N4 M3 P1 S100
N5 G1 Z-30 F0.3 ; Program with G95 (F= mm/U), at the start active
N6 ...
N7 ...
N8 ...
N9 G94 ; Program withG94 (F= mm/min)
N10 G1 Z50 F500
N11 ...
N12 G95 ; Program with G95 (F= mm/U)
N13 G1 Z-20 F0.2
N14 ..

Notice:
You have to use the function G99 instead of G95 in the G-Code-System.
3.12 G94 Feed in mm/min

The function G94 selects the feed F in mm/min. Is this function activated, program the rates of
the feed like this: F50, F150, F500, F2000 etc.
This function is used for working with feed movements at a fixed spindle or if it is necessary to
make the feed of the axis impartial of the turnings of the spindle (e.g. milling with powered tools).

G94 is a modal function and can be cancelled through programming the G95 code.

N3 ...
N4 M3 P1 S100
N5 G1 X... Z... F0.2 ; feed mm/U (at the start active)
N6 ...
N7 ...
N8 G94 ; Feed in mm/min.
N9 G1 X... Z... F400
N10 ...
N11 ...
N12 G95 ; Feed in mm/U
N13 G1 X... Z... F0.12
N14 ...

Notice:
You have to use the function G98 instead of G94 in the G-Code-System.
3.13 G97 Spindle rotation with constant drive

The function G97 changes the speed S of the spindle in U/min (fix motor speed). Is this function
activated stands the value S for the effective motor speed per minute of the spindle (e.g.: S50,
S160, S500, S1200, S3200, S5000 etc.).

G97 is automatically activated when you start the machine. So it is not necessary to activate this
function in the system. This modal function you can cancel through programming the code G96
(Change of the cutting speed Vt [m/min.]).

This function is suggested for drilling and thread cutting and also is necessary for tapping. If you
know the caliber, you can calculate the value of the cutting speed S through the active function
G97. Use the formula below:

Calculate a cutting speed with a work of 1500 U/min and calibre 40:

Program a block with G97 like this:

N4 T0101
N5 G97 S1500 P1 M3
N6 G0 X100 Z3 M8

Notice:
G97 => Select cutting speed in U/min
S1500 => motor speed/min of the spindle
M3 => Direction of the turning
P1 => Choose main spindle
3.14 G96 Constant Cutting Speed

The function G96 sets the selected movement of the spindle in a constant cutting speed (m/min). Is
this function activated stands the value S for the circulation-speed in meter per minute (e.g. S80,
S100, S120, S200, S350 etc.). This function updates the effective rotation of the spindle according
to the caliber. The cutting speed is constant. G96 is a modal function and can be cancelled through
programming the G97 code (Select U/min).

Use G96 while turning (roughing, finishing).

The value of S depends on the type of the work piece, the material, the machining method
etc.

For example:
N4 T0303
N5 G96 S180 P1 M3
N6 G0 X100 Z3 M8

If you program a value S with the active function G96, you can calculate the rotation speed with the
formula below:

Calculate a rotation speed of 150 m/min and caliber 40:


Program a block with G96:

N4 ..
N5 G96 S150 P1 M3
N6 ..

Notice:
G96 => Select the speed of the spindle Vt [m/min]
S150 => Cutting speed Vt [m/min]
M4 => Direction of the turning
P1 => Choose main spindle

3.15 G92 Limited motor speed

If you use the constant cutting speed (Function G96) it is necessary to limit the maximal motor
speed of the spindle (technology and safety reasons). For example in face turning or cutting off to
the middle of the work piece, the spindle would always reach the maximal motor speed. To limit the
motor speed to e.g. 2500 U/min, you have to program G92 S2500. Then the spindle spins with a
constant speed without overrun the 2500 U/mm limit.

For example:
N2 ..
N3 T0404 (Face turning)
N4 G92 S2000 ; Spindle rotation limited to max. 2000
N5 G96 S150 P1 M3
N6 G0 X100 Z0 M8
N7 G1 X-1.6 F0.2
N8 ...

The limit is active till you program another limited motor speed with G92 S… or you delete the
limited motor speed with G92 S0.

Programming G97 (fix motor speed) deletes the active G92 spindle speed. Ire-programming of
G96 activates the spindle speed. The speed of the spindle is not limited if you do not enter a value
for G92 S at the start of the machine.

Notice:
You have to use the function G50 instead of G92 in the G-Code-System.
3.16 G33 Thread-cutting motion

The function G33 is used for single thread-cutting motions. G33 differs from G1. G33 just starts the
work when control system gets the signal “spindle in position” from the encoder. Then the tool is
able to works in the same direction as the spindle (so you can work on work pieces more than one
times with the CNC, without changing the position).

The G33 block can contain the following instructions:

G33 Endpoint (X or Z) Fall (F)

In the thread-cutting work are the potentiometers of the axis frozen on 100%.

For example:

N1 T0101 (thread cutting)


N2 G97 S1300 P1 M3
N3 G0 X29.5 Z5 M8
N4 G33 Z-26 F1.25
N5 G0 X32
N6 Z5
N7 X29.2
N8 G33 Z-26 F1.25
N9 G0 X32
N10 Z5
N11 ...
3.16.1 Multiple thread

You can program the starting angle of the thread with the address Q when you want to cut a multiple
thread.

Q has to be programmed in whole numbers. The unit is 0.001° that means Q180000 equates a
starting angle of 180°.

For example:

N1 T0101 (thread cutting)


N2 G97 S1300 P1 M3
N3 G0 X29.5 Z10 M8
N4 G33 Z-26 F4 Q0 (thread 1 – starting angle 0°)
N5 G0 X32
N6 Z10
N7 X29.5
N8 G33 Z-26 F4 Q180000 (thread 2 – starting angle 180°)
N9 G0 X32
N10 Z10
N11 X29.2
N12 G33 Z-26 F4 Q0 (thread 1 – starting angle 0°)
N13 G0 X32
N14 Z10
N15 X29.2
N16 G33 Z-26 F4 Q180000 (thread 2 – starting angle 180°)
N17 G0 X32
N18 Z10
N19 ...
N20 ...
3.17 G41 / G42 / G40 Tool radius compensation

All turning tools have a certain rounded flange. The producer of the turning tool specifies the angle
of the flange (e.g. 0.4, 0.8, 1.2 etc.). To measure a tool the virtual top will be measured i.e. the
reference point of the tool is not at the tool edge.

Cutting Plate

Virtual Top

This difference doesn’t matter, as long as only cylindrical work pieces and blocks with 90° are
turned. If slants and/or radiuses are turned, it causes an error because the made profile doesn’t fit
to the programmed profile. The value of the error is proportional to the radius of the turning tool.

Programmed cont our

Generated contour
In the tool radius compensation there are 3 functions you can use:

G40 => Delete tool radius compensation


G41 => Activate tool radius compensation in the direction of the handling left
G42 => Activate tool radius compensation in the direction of the handling right

G41 G42

G41

G42 G41

The compensation of the tool radius is normally only used while the Schlichtphasen, to achieve the
correct completion of the contour. This programming allows to program the specified contour
exactly like it’s shown in the drawing. The control system adjusts that are caused of the position
and the radius of the cutting tip. To use this compensation it is necessary to activate and deactivate
the instructions of this function in the program. You also have to insert the information of the cutting
tip (radius and tool orientation) in the control system.

In machines with the option Opposed Spindle you have to use the functions activate (G41/G42)
and deactivate (G40) like the description above.
In the tool radius compensation it is also necessary to enter the value of the plate radius ( R ) and
the justification of the tool (T) in the working table. The value of the radius is given by the producer
of the plate. For the justification of the tool see the graph below:

To simplify we can say that all left tools have the justification T3 and all middle tools T2. To allocate
the tool is the geometry not important.

G40 is automatically activated when you press RESET or the function M30 after the start of the
machine.

The commands G40 - G42 can only be programmed in one block. There G0 or G1 have to be
active.
Planishing example of a work piece with the radius 0.8:

N1 T0101 (Planishing)
N2 G92 S3000
N3 G96 S180 P1 M3
N4 G0 X-2 Z3 M8
N5 G42 G1 X0 Z0 F0.25 (Activates the tool radius compensation)
N7 X40 Z0
N8 Z-7.1 ,A130
N9 X80 ,A150 ,R5
N10 Z-92 ,R4
N11 X140 ,A130 ,C2.65
N12 Z-130
N13 X160
N14 G40 G0 X200 Z200 M5 (Deactivates the tool radius compensation)
N15 ...
N16 M30

Notice:
Enter radius ( R ) 0.8 and justification of the tool (T) 3 in the correction table.
3.18 G54 / G59 Work piece zero points

The work piece zero points apply to the movement of the tools in a fix point of the turning work
piece. An especial working method defines one or more fix points, to allow the user to have a
benchmark for the movement of the working program. These points are called Work Piece Zero
Points (G54, G55, … G59). These points are normally located on the face side, on the rotation axis
of the spindle of the work piece.
X+

G54
X- Z+

There is also a fix reference point that you can’t change. This reference point is defined by the
producer of the machine and is called machine zero point (G53).

This point is used as primary reference point so you can define the work piece zero points. The
work piece zero points are determined as the distance between the fix benchmark (G53) and the
benchmark on the work piece. There is a table where all distances from the machine zero point to
each work piece zero point are given. It is sufficient to enter the call of the zero point in the working
program to activate this without any value (For example: G54). During the programming phase it is
only possible to have a mode of the machine zero point G53 in fast motion.
In one programmed block of G54 refer all entered positions to the machine zero point. A mode in
reference to the machine zero point is always in fast motion (G0).

G53 is only active in blocks. The proximate block is the before active zero point automatically
active.

For example:
N2 ..
N3 T101
N4 G54 (Activate the work piece zero point)
N5 G92 S2000
N6 G96 S150 P1 M3
N7 G0 X.. Z.. M8
N8 ..
N9 G53 X500 Z300 (Mode of the tool in reference to the machine zero point)
N10 ... (G54 active!!)

Notice:
- When you switch on the machine, the control system activates automatically the zero point
G54.
- The program just opens the saved zero points (G54 – G59). The equal values (X,Z,C) has
first be entered in the zero point table.
3.19 G52 Additive zero point offset

Use G52 to program an additive zero point offset. The function G52 moves the active work piece
zero point (e-g- G54, G55 etc.). The zero point moves by the programmed values in the addresses
X or Z or C.

For example:
G52 X5 Z-10 (Move the active zero point 5mm in X+ and 10mm in Z-Direction)

You can delete the G52 movement through programming G52 again and set the switched axis 0.

For example:
G52 X0 Z0 (Deletes the additive zero point offset. The zero point, which stands in the zero point
table, is active.)

You can’t write other functions in the block of G52.

For example:
N2 ..
N3 G54
N4 ..
N5 G52 Z-10 Absolute zero point offset
N6 ..
N8 G52 Z0 Cancels the zero point offset
N9 ..

If the function G52 is active and you program other zero points (G54, G59) moves the
CNC the new active zero point by the value of G52. When you program a new offset, you
automatically delete the old offset.

For example:
N1 G54
N2 ..
N3 G52 Z-10 (Movement of the active zero point by 10mm in spindle direction)
N4 ..
N5 G52 Z-20
N6 ..
N7 G52 Z-30
N8 ..
N9 G52 Z0 (cancels the offset of the active zero point)
4 Fix FANUC cycles

The fix cycles are functions that facilitate the ISO programming. The most used cycles are
explained below:

4.1 G71 Turning - Material abrasion

The function G71 activates the material abrasion cycle in the turning process. With this function the
tool makes increments on the X-Axis and a turning movement on the Z-Axis. The cycle of material
abrasion always consists of two program blocks:

For example:
N17 ...
N18 G0 X.. Z.. .
N19 G71 U. R.
N20 G71 P. Q. U. W. F.
N21 G0/G1 X. Z.
N22 ... Description of the finished contour
N23 ...
N24 ...

Notice:
X => Coordinate for the begin of the cycle on the X-Axis
Z => Coordinate fort he begin of the cycle on the Z-Axis

First block of G71


U => Radial cutting depth, without leading sign.
R => Radial lifting of the tool at the return of 45°, without leading sign.

Second block of G71


P => Number of the block, where the roughing profile begins.
Q => Number of the block, where the roughing profile ends.
U => Diametrical processing add-on on the X-Axis, value with leading sign.
W => Processing add-on on the Z-Axis, value with leading sign.
F => Roughing feed

The tool works in fast motion on the values X and Z in the first block of the function G71 (this values
determine the beginning point of the tool: X equals the calibre of the raw material, Z is the safety
distance, which facilitates the increment of the cut).
There is an increment that correspond the radial value of the parameter U in the block G71 (the
increment can be in fast motion or in working speed, this depends on the description of the
contour. The block after the second G71 has to start with G0 or G1).

The tool executes the roughing process. An automatically row of cuts is done and it drives from the
block P point to the block Q point.

The tool lifts off at the end of every single cut with a radial value and the angle of 45°. This radial
value correspond the value of the parameter R. The tool also goes in fast motion back to the zero
point Z.

The tool makes a pre-turning process at the end of all roughing processes to hold the machining
allowances constant (parameters U and W with leading sign) and moves back to the zero point.
The value U (determines the working addition on the X-Axis) is for external machining positive and
for internal machining negative. The parameter W (determines the working addition on the Z-Axis)
is for the processing of the tailstock center positive and for the processing from the spindle to the
tailstock center on the opposed spindle negative (in case of machines that have these functions).

If you don’t want to execute the pre-turning process, you have to program the block with the
second G71 where the finished contour begins with X and Z.

The tool works with the programmed feed of the parameter F for the cycle G71 while the execution
of the cycle. The eventually programmed feeds in the blocks of the descriptions of the contours
are only activated while the finishing cycle (see the following cycle G70).

Notice:
The roughing cycle G71 doesn’t plan the compensation of the tool radius (G41, G42, G40). But it
can be activated while finishing (cycle G70). The finished contour can’t be regulated in a sub-
program, but only in the cycle.

For the direction of the working add-on U and W see the graph below:
Example fort he use of the cycle G71:

Chamfer 1.5 x 45°

O3434 (Removal of material while turning)


N1 T0101
N2 G54
N3 G92 S3000
N4 G96 S200 P1 M3
N5 G0 X140 Z3 M8
N6 G71 U3 R1
N7 G71 P8 Q19 U0 W0 F0.35
N8 G0 X26
N9 G1 Z0
N10 X30 ,C1.5
N11 Z-20 ,R2
N12 X50 ,A120 ,R3
N13 Z-78.5 ,R2
N14 X65 ,C1.5
N15 Z-110 ,R1.5
N16 X120 ,C1.5
N17 Z-130 ,R1.5
N18 X140 ,C1.5
N19 Z-132
N20 G0 X200 Z200 M5
N21 M30
If there are undercut elements in the removal profile (with decreasing contours), use the description
below:

The undercut elements to use the same function of the monotonous contours are
described including the angle.
There are maximum 10 undercut blocks in the contour.
The first block of the contour description (block after the second G71) has to contain X and
Z.
Notice that the CNC doesn’t consider the tool radius compensation at the process of the
undercut elements.
Example fort he use of the cycle G71 with undercuts:

O3435 (Removal of material while undercutting)


N1 T0606
N2 G54
N3 G92 S3000
N4 G96 S200 P1 M3
N5 G0 X82 Z3 M8
N6 G71 U2 R1
N7 G71 P8 Q16 U0 W0 F0.35
N8 G0 X56 Z2
N9 G1 Z0
N10 X60 Z-2
N11 Z-30
N12 X40 ,A210
N13 Z-130
N14 X80 ,C2
N15 Z-133
N16 X83
N17 G0 X200 Z200 M5
N18 M30
4.2 G72 Facing – Material abrasion

The function G72 activates the cycle of the material abrasion while facing. This function executes
the tool increment on the Z-Axis and a turning process on the X-Axis.

The cycle of facing always consists of two program blocks.

For example:
N17 ...
N18 G0 X... Z...
N19 G72 W... R...
N20 G72 P... Q... U... W... F...
N21 G0/G1 X... Z...
N22 ...
N23 ... Description of the finished contour
N24 ...

Notice:

X => Coordinate fort he begin of the cycle on the X-Axis


Z => Coordinate fort he begin of the cycle on the Z-Axis

First block of G72

W => Cutting depth on the Z-Axis, without leading sign


R => Lifting of the tool at the return of 45°, value without leading sign

Second block of G72

P => Number of the block, where the roughing profile begins.


Q => Number of the profile, where the roughing profile ends.
U => Diametrical processing add-on on the X-Axis, value with leading sign.
W => Processing add-on on the Z-Axis, value with leading sign
F => Feed
The tool moves in fast motion to the values that are mentioned in the first block of G72 X and Z
(these values determine the point where the tool starts to work: X equals the calibre of the raw
material in addition of a small safety distance, which facilitates the increment of the cut. Z is 0 if the
piece is already roughed or 1 or 2 if there is a process add-on necessary).

There is an increment with corresponds the parameter W of the first block G72 (the increment can
move in fast motion or in working speed. This depends on the description of the contour, the block
after the second G72, which starts with G0 or G1).

The tool executes the roughing, while it does automatically a row of cuts and moves from the points
in block P to the points in block Q.

At the end of every cut lifts the tool off in fast motion and with the angle of 45° in a radial value.
This radial value correspond the value of the parameter R. The tool also goes in fast motion back
to the zero point Z.

The tool makes a pre-turning process at the end of all roughing processes to hold the machining
allowances constant (parameters U and W with leading sign) and moves back to the zero point in
fast motion. The value U (determines the diametrical working addition on the X-Axis) is for external
machining positive and for internal machining negative. The parameter W (determines the working
addition on the Z-Axis) is for the processing of the tailstock center positive and for the processing
from the spindle to the tailstock center on the opposed spindle negative (in case of machines that
have these functions).

If you don’t want to execute the pre-turning process, you have to program the block with the second
G72 where the finished contour begins with X and Z.

The tool works with the programmed feed of the parameter F for the cycle G72 while the execution
of the cycle. The eventually programmed feeds in the blocks of the descriptions of the contours
are only activated while the finishing cycle.

Notice:
The roughing cycle G72 doesn’t plan the compensation of the tool radius (G41, G42, G40). But it
can be activated while finishing (cycle G70). The finished contour can’t be regulated in a sub-
program, but only in the cycle.
Example for the use of the cycle G72:
Chamfer 2 x 45°

O3435 (Removal of material while facing)


N1 T0101
N2 G54
N3 G92 S3000
N4 G96 S200 P1 M3
N5 G0 X122 Z0 M8
N6 G72 W2.5 R1
N7 G72 P8 Q18 F0.35
N8 G0 Z-47
N9 G1 X120
N10 Z-45 ,C2
N11 X80
N12 Z-25 ,C1.5
N13 X60
N14 Z-15
N15 Z-10 ,A-60
N16 X30 ,R1.5
N17 Z0 ,C1.5
N18 X0
N19 G0 X200 Z200 M5
N20 M30
4.3 G73 Contour repetition

The function G73 activates the contour repetition cycle. This function allows repeating the defined
contour several times, in doing so it is shifted by a certain interval. This cycle is able to machine
pressed parts, cast parts or parts that are prior roughed.

The contour repetition cycle always consists of 2 programming blocks:

For example:
N17 ...
N18 G0 X... Z... .
N19 G73 U... W... R...
N20 G73 P... Q... U. W... F...
N21 G0/G1 X... Z...
N22 ...
N23 ... Description of the finished contour
N24 ...

Notice:

X => Coordinate fort he beginning of the cycle on the X-Axis


Z => Coordinate for the beginning of the cycle on the Z-Axis

First block of G73

U => Material that has to be removed on the X-Axis, radial value with leading sign (difference
between the raw and the finished contour)
W => Material that has to be removed on the Z-Axis, value with leading sign (difference
between the raw and the finished contour)
R => Number of contour repetitions

Second block of G73

P => Number of the block, where the roughing profile begins.


Q => Number of the block, where the roughing profile ends.
U => Diametrical processing add-on on the X-Axis, value with leading sign.
W => Processing add-on on the Z-Axis, value with leading sign.
F => Feed
The tool moves in fast motion to the values that are mentioned in the first block of G73 X and Z
(these values determine the point where the tool starts to work).

There is an increment which correspond the relation between the parameters U and W of the first
block G73 and the amount of repetitions of the contours in parameter R.

The tool executes a row of cuttings and moves from the points in block P to the points in block Q.

At the end of all roughing cuts make the tool a pre-turning process to hold the allowance constant
(parameters U and W with leading sign). Then it moves in fast motion back to the zero point.

The value U (determines the diametrical working addition on the X-Axis) is for external machining
positive and for internal machining negative. The parameter W (determines the working addition on
the Z-Axis) is for the processing of the tailstock center positive and for the processing from the
spindle to the tailstock center on the opposed spindle negative (in case of machines that have
these functions).

The tool works with the programmed feed of the parameter F for the cycle G73 while the execution
of the cycle. The eventually programmed feeds in the blocks of the descriptions of the contours
are only activated while the finishing cycle.

Notice:
The roughing cycle G73 doesn’t plan the compensation of the tool radius (G41, G42, G40). But it
can be activated while finishing cycle (cycle G70). The finished contour can’t be regulated in a sub-
program, but only in the cycle.
Example for the use of the cycle G73:

O3436 (Repetition of the contour)


N1 T0101
N2 G54
N3 G92 S3000
N4 G96 S200 P1 M3
N5 G0 X120 Z10 M8
N6 G73 U3 W3 R4
N7 G73 P8 Q12 F0.35
N8 G0 X60 Z2
N9 G1 Z-20
N10 X80 Z-26
N11 Z-54 ,R10
N12 X100 Z-61
N13 G0 X200 Z200 M5
N14 M30
4.4 G70 Finishing cycle

The function G70 activates the finishing cycle. This function can be used in three cycles G71, G72
and G73. The finishing cycle consists only of one cycle and can contain following codes:

P => Number of the first block of the profile for the finishing cycle.
Q => Number of the last block of the profile for the finishing cycle.
F => Finishing feed.

You have to position the tool at the same place where the roughing cycle G71, G72, G73 starts,
before you activate the finishing cycle G70. At the end of the finishing cycle moves the tool back to
the zero point and the CNC executes the next block.

You have 2 opportunities to use the feed:


If you want to do the whole contour with the same feed, it is adequate to specify it in the
block G70 (Parameter F)

If you want to do the contour with different feeds, you have to name these in the roughing
profile (these feeds aren’t considered in the roughing, but in the finishing cycle).
Example fort he use of the cycle G70:
Chamfer 1.5 x 45°

O3437 (Roughing and finishing profiles)


N1 T0101(Roughing)
N2 G54
N3 G92 S3000
N4 G96 S200 P1 M3
N5 G0 X140 Z3 M8
N6 G71 U3 R1
N7 G71 P8 Q19 U0.5 W0.1 F0.35
N8 G0 X26
N9 G1 Z0
N10 X30 ,C1.5
N11 Z-20 R2
N12 X50 A120 R3
N13 Z-78.5 R2
N14 X65 ,C1.5
N15 Z-110 R1.5
N16 X120 ,C1.5
N17 Z-130 R1.5
N18 X140 ,C1.5
N19 Z-132
N20 G0 X200 Z200
N21 T0202 (Finishing)
N22 G54
N23 G92 S3000
N24 G96 S200 P1 M3
N25 G0 X140 Z3 M8
N26 G70 P8 Q19 F0.15
N27 G0 X200 Z200 M5
N28 M30
4.5 G74 Axially recessing cycle

The function G74 activates the axially recessing cycle. This cycle enables to recess a groove at the
frontal area.

The axially recessing cycle always exists of two program blocks:

For example:

N17 ... Z1
N18 G0 X1... Z1...
N19 G74 R1...
N20 G74 X2... Z2... P... Q... R2... F...
N21 ...

R2 Q

P R1
X1

X2
Z2

Notice:
X1 => Coordinate for the beginning of the cycle on the X-Axis
Z1 => Coordinate for the beginning of the cycle on the Z-Axis

First block of G74


R1 => Retraction value for chip breaking

Second block of G74


Z2 => Z-Coordinate of the base of the groove
X2 => X-Coordinate of the last cut in the groove width
P => Delivery in the X-Axis (has to be in µm)
Q => Delivery in the Z-Axis (has to be in µm)
R2 => Lifting value in fast motion on the bottom of the groove. Direction of the
lifting is always against the working direction X1-+X2
F => Feed
4.6 G75 Radial recessing cycle

The function G75 activates the radial recessing cycle. This cycle enables to recess a groove at the
lateral surface.

The radial recessing cycle always exists of 2 program blocks:


Z1
For example:
Z2
N17 ...
N18 G0 X1... Z1...
N19 G75 R1...
N20 G75 X2... Z2... P... Q... R2... F...
N21 ...

R1

P
X1

R2
Q X2

Notice:
X1 => Coordinate for the beginning of the cycle on the X-Axis
Z1 => Coordinate for the beginning of the cycle on the Z-Axis

First block of G75


R1 => Retracting value for chip breaking

Second block of G75


X2 => X-Coordinate of the base of the groove
Z2 => Z-Coordinate of the last cut in the groove
P => Delivery in the X-Axis (has to be in µm)
Q => Delivery in the Z-Axis (has to be in µm)
R2 => Lifting value in fast motion on the bottom of the groove. Direction of the
lifting is always against the working direction Z1-+Z2
F => Feed
4.7 G76 Thread cycle in more than one round

The function G76 activates the thread cutting cycle in more than one round. This function makes
outside threads and inner threads.

The thread cutting cycle in more than one round always exists of 2 program blocks:

For example:
N17 ...
N18 G0 X.. Z.. .
N19 G76 P. Q. R.
N20 G76 X. Z. R. P. Q. F.
N21 G0 X. Z.

Notice:
X => Coordinate for the beginning of the cycle on the X-Axis (is the same value, which is
achieved by the tool in the phase of the lifting at the end of every cut).
Z => Coordinate for the beginning of the cycle on the Z-Axis

First block of G76


P => The parameter P always exists of 6 digits (3 pairs of numbers)
1. Pair: Amount of facing cuts (Value from 00 – 99, always two digits)
e.g.. 00 no facing cut
01 one facing cut
02 two facing cuts
2. Pair: conical spill of the winding (Value from 00 – 99, always two digits)
e.g. 00 vertical spill of the winding
05 conical spill of the winding, 0.5 of the gradient
(value is the half of the gradient)
10 conical spill of the winding, 1 of the gradient
(value is the gradient)
3. Pair: Angle of pressure (value with two digits, only 6 opportunities 00, 29, 30, 55, 60,
80)
e.g. 00 for square threads
55 for Whitworth threads
60 for metrical threads
If you want to execute threads with other angles than the mentioned above,
you have to use the value 00.

For example:
P011060 01 1 facing cut
10 Thread egression = 1x gradient of the thread
60 Metrical thread
Q => Minimum cutting depth (in thousandth and without leading sign)
e.g. Q100=0.1mm.
R => Facing cut depth (radial value in mm and without leading sign)
e.g. R0.02=0.02mm.

Second block of G76


X => Caliber of the thread bottom
Z => Absolute coordinate for the ending of the thread
R => Conicity of the thread (radial difference between the caliber at the beginning of the
thread and the caliber at the ending of the thread), value with leading sign. At cylinder
threads you don’t have to specify R. R = (beginning of the thread – ending of the
thread)/ 2
P => Radial height of the thread (in thousandth, without leading sign).
P is addicted to the type of the thread:
P=613 x gradient for metric threads ISO P=640 x
gradient for Whitworth threads DIN 11
P=500 x gradient for square threads
That means: P1226 (for a metric thread ISO gradient 2)
Q => Radial depth of the first cut (in thousandth, without leading sign)
e.g. Q250=0.25mm.
F => gradient of the thread in mm.
e.g. F1.5 for threads with the gradient 1.5 mm.

Example for a metric outside thread:

N17 T0101 (Outside thread cutting)


N18 G54
N19 G97 S800 P1 M3
N20 G0 X32 Z6 M8
N21 G76 P010060 Q100 R0.02
N22 G76 X28.161 Z-50 P919 Q250 F1.5
N23 G0 X150 Z100

Example for a metric inner thread:

N17 T0101 (Inner thread cutting)


N18 G54
N19 G97 S800 P1 M3
N20 G0 X25 Z6 M8
N21 G76 P010060 Q100 R0.02
N22 G76 X30 Z-40 P919 Q250 F1.5
N23 G0 X150 Z100
Example for a conic outside thread 1. NPT (Gradient 14 thread x Inch) :

N17 T0101 (conic thread cutting)


N18 G54
N19 G97 S800 P1 M3
N20 G0 X33 Z6 M8
N21 G76 P010055 Q100 R0.02
N22 G76 X29.588 Z-17.343 P1161 Q250 F1.814 R-0.729
N23 G0 X150 Z100

Mention the following when using the conic thread:


Calculation of the gradient:
F = (25.4 mm/Zoll) / (14 thread/Zoll) = 1.814 mm
Calculation of the thread depth:
P = F * 640 = (1.814 * 640) = 1161
The dimension X of the thread bottom refers to the end caliber:
31.91 - (2 * 1.161) = 29.588
The starting caliber to calculate R is the starting point of Z (in the example Z6)
In this case is X 30.451, and R is (30.451- 31.91):2=- 0.729
4.8 G83 On face drilling cycle

The function G83 activates the on face drilling cycle.

With this function makes the drill a row of cuts of the desired coverage with chip breaking. Then it
moves in fast motion back to the zero point. The on face drilling cycle can contain the following
codes:

Z => Absolute value of drill ending


R => Incremental movement in fast motion to the work piece
F => Drill feed
Q => Cutting depth (in thousandth)
P => Dwell (in thousandth seconds)

For example:

N12 T0303 (drilling with powered tools)


N13 G54
N14 G97 S800 P2 M4
N15 G0 X0 Z5 M8
N16 G83 Z-50 R-3 F0.12 Q10000
N17 G80
N18 G0 X200 Z200

The codes Q and P can be leaved out if they aren’t needed. This cycle can be used with chip
breaking. It depends on the value of the parameter 5101 Bit 2 (RTR). Normally reserves the producer
of the machine this parameter. The lifting value of the chip breaking or the re-start is reserved in the
parameter 5114. The drilling cycle is always called modal, which means it will be executed with every
next position.
The modal call of the drilling cycle can be deleted with G80.
4.9 G84 On face tapping cycles
The function G84 activates the on face tapping cycle. This function has the following operations:
The tap executes the occurrence with a feed that correlates to the grade of the tapping. At the end
moves the tap back to the zero point.

The on face tapping cycle can contain the following codes:

Z => Absolute value fort he ending of the tapping


R => Incremental movement in fast motion to the work piece
F => Gradient of the tapping in mm/U

For example:
N12 T0404 (tapping M10 x 1.5 with powered tools)
N13 G54
N14 G97 S300 P2 M3
N15 G0 X0 Z10 M8
N16 G84 Z-35 R-5 F1.5
N17 G80
N18 G0 X200 Z200
This cycle can only be used for right turning tappings. That means with inlet in direction of M3 and
outlet in direction of M4. If you want to do a left turning tapping, you have to change the value of
two parameters: the parameter 5112 (direction of turning in inlet normally 3) and the parameter
5113 (direction of turning in outlet normally 4).

To delete the modal tapping call, you have to program the function G80 or any other G-function of
the group 01, that means G0, G1, G3 or G3. This cycle can be used for the tapping with floating tap
or without floating tap (that means rigid tapping).

In case of rigid tapping you have to synchronize the spindle with the feed axis in the block of the
cycle G84. You can do this with the function M29 S…

Example for rigid tapping:


N12 T0404 (rigid tapping M10 x 1.5)
N13 G54
N14 G97 S300 P2 M3
N15 G0 X0 Z5 M8
N16 M29 S300 (Activates the rigid tapping)
N17 G84 Z-35 F1.5
N18 G80
N19 G0 X200 Z200

To cancel the cycle of the rigid tapping, you have to program the function G80 or any other G-
function of the group G01, that means G0, G1, or G3.
5 Sub-program

M98 => Jump from the main-program to the sub-program


M99 => End of the sub-program; return to the main-program

The function M98 causes a program-jump from the main-program to the sub-program, which is in
the same block. The function M99 causes a return from the sub-program or an automatically
repetition of the program in the main-program. That function can facilitate a working program, which
has repeated sequences of movements or the same function sequences.

The program jump functions allow:


The formation of main- and sub-programs
Automatically program repetition

Creation of main- and sub-programs


You can start processing steps, which will be repeated and used more than once, by the program
jump function when you have saved it as a sub-program. The sub-program is like the main-
program an independent program. But the sub-program will be closed with M99. Within one sub-
program you can start another sub-program. It is possible to make a nesting with 4 programs.
You can start a sub-program with M98 and the addition of the program number under the address
P. You also can add the amount of the repetitions, if you want to.

e.g. N120 M98 P246 sub-program Nr. 246


.
N130 M98 P20246 sub-program Nr. 246 with number of repetitions 2 (max.999)

The program number has to be with 4 digits if you use a number of repetitions, e.g. 0246.

For example:
Main-program sub-program2 sub-program2
:123 :246 :357

M98 P20246 M98 P50357

M30 M99 M99


You start the sub-program P357 with M98 in the main-program. It will be done with the programmed
amount of repetitions. Then you return with M99 to the main-program and the next program block.

main-program sub-program
:1234 :357
N1 ...... N1 ........
. …
. … N5
M98 P357. … N6
............. ... N7 M98
P20357. …
N8 ......... N20 M99

Notice:
The machine only makes one cycle, if you don’t program a repetition. You can
program maximal 999 repetitions per request. You don’t have to program the sub-
program request M98 separate.
e.g. N21 X100 M98 P123
The sub-program request is made after the finished process of the axis in the
example above. The sub-program is done with M99. Then it returns to the next
program block of the main-program.
You can save the return from the sub-program to the block P in the main-program M99 in
the program memory. But this block has to stand after the calling block. It is not possible to
return.
Automatically repetition of the program:
The programming of the program jump function M99 in the main menu causes an absolute jump to
the target address P in the main-menu. This function causes a repetition of the program.

For example:
N1 . . . . . . . . . . . . . N2 .
. . . . . . . . . . . . N3 . . . . .
. . . . . . . . N4 . . . . . . . . .
. . . . N5 M99 P2

Notice:
The return to the first block of the main-program is independent of its block number and
happens in one set without the target address P.
The first recognized block number will be used, if there are more than one same block
numbers. It will be error if the target address is not available.
The in one block programmed commands M99 will be done before the jump. At the
automatically repetition of the program will the program parts be repeated in an uncertain
amount.
6 Machining with C-Axis and driven tools

It’s possible to operate the spindle as a positioning axis, if the machine has a C-Axis.
That means that the spindle doesn’t react to the functions S (U/min) and M (turning
direction). The spindle becomes a proper (round) axis that you can program with the
address C from 0° - 360°.

You can do drilling and milling work with the use of driven tools and the C-Axis.

6.1 Driven tools

The use of the C-Axis plans the operation of specific turrets to move driven modules. The driven
modules are radial or axial tool holders, on which the tools for milling, drilling and tapping are
installed.

The specified standard tools can be divided into 2 groups:

The axial driven tools are used for face side processing.
The radial driven tools are used for processing on the caliber of the work piece.

So that the driven tools are turning, you have to program specific M-functions.

Usually there are the following functions in use:

P2 Selection of the spindle for driven tools

M3 Turning direction clockwise


M4 Turning direction anti-clockwise
M5 Stops the turning of the driven tool

For detailed information about the M-functions of your machine see the documentation of the
machine producer.

You have to program the turning direction and the rotation speed of the driven tool. These two
should be programmed in the same block.

For example:
M3 P2 S1200 (Turning direction and rotation speed of the driven tool)
It can be necessary to program additional M-functions to switch from spindle-processing to C-Axis-
processing. E.g.

M Activates the C-Axis-Process


M Deactivates the C-Axis-Process, switch to spindle-processing

For detailed information about the M-functions of your machine see the documentation of the
machine producer.

Notice: In the following examples we will use the functions mentioned above.

6.2 C-Axis

After you have activated the C-Axis-Processing with M14, you should reach the reference point with
the function G28 C0. After that the C-Axis knows its zero point.

For example:
N26 ...
N27 M ; Activates the C-Axis-Processing
N28 G28 C0 ; C-Axis referencing
N29 T505 ; tool request
N30 G54 ; Activates the zero point
N31 M3 P2 S1000 ; Activation of the rotation speed and the
direction of turning
N32 G0 X... Z... C0 ; Positioning of the C-Axis
N33 G94 F500 ; Justification of the feed mm/min
N34 ... ; Processing with driven tools
N35 ...
N36 M5 ; Stops the turning of the module
N37 M ; Deactivates the C-Axis-Processing, switch to spindle-processing
N38 G95 ; Justification of the feed mm/U
N39 ...

The block with the function G28 C0 can’t contain other commands. You have 3

different opportunities to program the C-Axis:


� Real coordinates
� Polar coordinates (G12.1), see chapter 6.4.
� Cylindrical interpolation (G7.1), see chapter 6.5.
6.3 Programming with realistic coordinates

The machine prepares for working with realistic coordinates, after you have activated the C-Axis-
Processing. X... Z… C…

Notice:
X => Absolute coordinate of the X-Axis, has to be programmed with a diametric value.
Z => Absolute coordinate of the Z-Axis.
C => Coordinate to positioning the C-Axis on the main-spindle.

The positive direction is generally the turning direction of the spindle (M4). The code C is an angle
that can be programmed with maximal three decimal places.

For example: N51 G0 C180.123

The C-Axis, which is used in real coordinates, allows to use axial and radial processes. E.g. drilling
or milling.

The C-Axis can be moved absolute (G90) or incremental (G91).


6.3.1 G83 Drilling cycle on face

The function G83 activates the drilling cycle on face with powered tools.

� Use this function to let the driller make a drill on the face side of the work piece with chip breaking and
then moves in fast motion back to the zero point or to the point that is identified with R.

The drilling cycle on face can contain the codes mentioned below:

Z => Absolute value for the ending of the drill


F => Drilling feed (in mm/min)
Q => Cutting depth (in thousandth)
P => Resting time at the bottom of the drill (in thousandth seconds)
R => Incremental route, in fast motion to the work piece
The parameters Z (value for the ending of the drilling) and F (Drilling feed) are obligatory. All other
parameters only have to be programmed when they are actually in use. When you use the
parameter R, will the route between the starting point of the cycle and the starting point of the
drilling move in fast motion.
The driller stays at the end of the drilling point if you use the parameter P.

Return after the drilling cycle:

Use the function G98 and G99 to determine the point at which the tool goes back after the drilling.

G98 => Return to the positioning plane


G99 => Return to the turn on plane (R-Plane)
Positioning plane Positioning plane

G98 G99

R R
Z Z

Turn on plane Turn on plane


For example: Performance of 4 axial drills with the depth 20mm and caliber 50.

N34 (Turning)
N35 M62 (Selection C-Axis)
N36 G28 C0
N37 T101 (Axial driller)
N38 G54
N39 M3 P2 S2000
N40 G94
N41 G0 X50 Z50 M8
N42 C0
N43 G83 Z-20 R-45 Q10000 F100
N44 C90
N45 C180
N46 C270
N47 G80
N48 G0 X200 Z200
N49 M5
N50 M63 (Deselection C-Axis)
N51 G95
N52 M30
6.3.2 G87 Radial drilling cycle

The function G87 activates the radial drilling cycle with driven tools.

� Use this function to let the driller make a drill at the lateral area with chip breaking. The driller
moves in fast motion back to the zero point (G98) or to the point R (G99) at the end of the
cycle.

The radial drilling cycle can contain the codes mentioned below:

X => Absolute value for the ending of the drill


F => Drilling feed (in mm/min)
Q => Cutting depth (in thousandth)
P => Resting time at the bottom of the drill (in thousandth seconds)
R => Incremental distance from the zero point of the cycle to the starting point of the drill

The parameters X (value for the ending of the drilling) and F (Drilling feed) are obligatory. All other
parameters only have to be programmed when they are actually in use. When you use the
parameter R, will the route between the starting point of the cycle and the starting point of the
drilling move in fast motion.
The driller stays at the end of the drilling point if you use the parameter P.
For example: Performance of 4 radial drills, 20mm away of the zero

N34 … Thrilling
N35 M62 (Selection C-Axis)
N36 G28 C0
N37 T101 (Radial driller)
N38 G54
N39 M4 P2 S2000
N40 G94
N41 G0 X55 Z5
N42 Z-20 M8
N43 C0
N44 G87 X40 F100
N45 C90
N46 C180
N47 C270
N48 G80
N49 G0 X200 Z200
N50 M5
N51 M63 (Deselection C-Axis)
N52 G95
N53 M30
6.3.3 G84 On-face tapping cycle

The function G84 activates the axial tapping cycle.

This function has the following operations:


� Reversing the direction of the driven tool turning.
� speed up of the driven tool and the axis. Then return to the starting point.

The axial tapping cycle has the following codes:

Z => Absolute value for the ending of the tapping


F => Gradient of the tapping (in mm/U or in mm/min)
P => Resting time at the bottom of the drill (in thousandth seconds)
R => Incremental distance from the zero point of the cycle to the starting point of the drill

This cycle can be used for tapping with shim plate and tapping without shim plate (that means rigid
tapping).

In case of rigid tapping you have to program the function M29 S… in the block of the cycle G84
(S… is the rotation speed of the driven tool). Notice the information of the machine producer.

You have to program the function G80 to delete the modal call of the rigid tapping cycle.
Example for non rigid tapping with only one hole:

N15 ... Turning


N16 M62
N17 G28 C0
N18 T606 (Axial tapping M8)
N19 G54
N24 G95 M3 P2 S300
N25 G0 X30 Z5 M8
N26 C0
N27 G84 Z-20 F1.25
N28 G80
N33 G0 X200 Z100
N34 M5
N35 M63
N36 M30
Example for a modal call (tapping of more than one hole):

N15 ... Turning


N16 M62
N17 G28 C0
N18 T606 (Axial tapping M8)
N19 G54
N24 G95 M3 P2 S300
N25 G0 X50 Z5 M8
N26 C0
N27 G84 Z-20 F1.25
N28 C90
N29 C180
N30 C270
N31 G80
N36 G0 X150 Z100
N37 M105
N38 M15
6.3.4 G88 Radial thread cycle

The function G88 activates the radial thread cycle. You can use

the following operations:

� Reversing the direction of the driven tool turning


� speed up of the driven tool and the axis. Then return to the starting point.

The radial thread cycle has the following codes:

X => Absolute value for the ending of the tapping


F => Gradient of the tapping (in mm/U or in mm/min)
P => Resting time on the bottom of the drill (in thousandth seconds)
R => Incremental distance of the zero point of the cycle to the starting point of the drill

This cycle can be used for tapping with shim plate and tapping without shim plate (that means rigid
tapping).

In case of rigid tapping you have to program the function M29 S… in the block of the cycle G88
(S… is the rotation speed of the driven tool).

You have to program the function G80 to delete the modal call of the rigid tapping cycle.
Example for a simple call (tapping of only one hole):

N15 ... Turning


N16 M62
N17 G28 C0
N18 T707 (Radial tapping M8)
N19 G54
N24 G95 M3 P2 S300
N25 G0 X35 Z-15 M8
N26 C0
N27 G88 X16 F1.25
N28 G80
N33 G0 X150 Z50
N34 M5
N28 M63
N29 M30
Example for a modal call (tapping of more than one hole):

N15 ... Turning


N16 M62
N17 G28 C0
N18 T707 (Radial tapping M8)
N19 G54
N24 G95 M4 P2 S300
N25 G0 X55 Z-15 M8
N26 G88 X16 F1.25
N27 C0
N28 C90
N29 C180
N30 C270
N31 G80
N35 G0 X150 Z50
N36 M5
N37 M63
N38 M30
6.4 G12.1 Polar coordinate-Interpolation

The function G12.1 is used for the programming on face and changes the real coordinates into a
virtual coordinate system.

X+ C+

C+
X- X+

C-
Real coordinate system Virtual coordinate system

You can achieve the imaginary axis through interpolation of the real X- and C-Axis. If G21.1 is
active, calculates the control system the feed and the points, which are necessary for the process
of the real axis on the imaginary components X and C.
Consequential is that every imaginary move of X and C follows the process of two real axis.

Example for the process in imaginary coordinates:

C+ C+ C+

The function G12.1 is programmed in one block without any other commands. In
the imaginary coordinates of G12.1 are the coordinates of C radial and the
coordinates of X diametric.

Notice:
When you activate the function G12.1, you can not have movements in fast motion (G0) any more.
You also can not make zero offsets (of table G54-G59 and program G52) and you can not change
the tool correction.
Activate the function G12.1 to show the addresses of the new coordinates on the display. The
function G12.1 doesn’t effect the movement of axis.

The activation and deactivation of the compensation of the milling radius (G41, G42 and G40) are
only valid when the function G12.1 is activated.

You have to return to the real coordinates with the function G13.1 before the movement of the C-
Axis and after the milling operation are finished.

Example for the change from the turning process to the process with polar coordinates:

N14 ..
N15 ..(Turning)
N16 ..
N17 M62
N18 G28 C0
N19 T101
N20 G54
N21 M3 P2 S1000
N22 G94 F500
N23 G0 X100 Z10 C0
N24 G12.1 (Activation of the polar coordinates)
N25 ..
N26 ..
N27 .. (Milling)
N28 ..
N29 G13.1 (Activation of the real coordinates)
N30 G0 Z100
N31 M5
N32 M63
N33 G95 P1
N34 ..
N35 .. (Turning)
N36 ..

All workings with G12.1 have to be executed with axial tools.

Within the interpolation G12.1 you can’t use the fix drilling cycles and the tapping cycles.
Example: Milling process without the use of the radius compensation in G12.1:
60
60

N15 .. (Turning)
N16 ..
N17 M62
N18 G28 C0
N19 T101
N20 G54
N21 M3 P2 S1500
N22 G94 F1000
N23 G0 X100 Z2 C0 M8
N24 G12.1
N25 G1 Z-10 F1000
N26 X70 C30 F120
N27 X-60
N28 C-30
N29 X60
N30 C35
N31 Z2 F1000
N32 G13.1
N33 G0 Z100
N34 M5
N35 M63
N36 G95 P1
N37 M30
6.4.1 Circular interpolation in G12.1

The circular interpolation G2/G3 on face (G12.1 active) can be programmed in two different ways:

� Circular interpolation with the radius R


The coordinates X and C are combined with the value of the radius R
� Circular interpolation with interpolation-parameters I and J
The coordinates X and C are combined with the incremental coordinates of the center of the
cycle and the starting point (I refers to the X-Axis, J refers to the C-Axis)

Example:
G2 or G3 X... C... R... (Circular interpolation with radius)
G2 or G3 X... C... I... J.. (Circular interpolation with interpolation-parameters)

Notice:

G2/G3 => Direction of the circular interpolation clockwise/anti-clockwise


X => Coordinate of the endpoint on the X-Axis
C => Coordinate of the endpoint on the C-Axis
R => Radius of the circular interpolation
I => Incremental distance from the starting point to the center of the cycle on the X-Axis
J => Incremental distance from the starting point to the center of the cycle on the C-Axis
6.4.2 G40 G41 G42 Milling cutter correction in G12.1

In milling it is also possible to use a compensation of the tool radius.

Use the milling cutter correction to program the finished part contour directly, without using the
milling radius.

You have to enter the milling radius ( R ) and the orientation of the tool (cut position) in the tool
table. A milling cutter always has the cut position 0 or 9.

You have to program the function G41 or G42 to activate the compensation.
Use G40 to delete the milling cutter compensation.

The correction is done in G41 in left direction and in G42 right direction of the programmed contour.

G40 => Delete milling-radius-path-correction


G41 => Milling-radius-path-correction left of the process direction
G42 => Milling-radius-path-correction right of the process direction

Notice:
The approach path has to be bigger than the milling radius when you use the milling cutter
compensation.
You only can use it in one block, G0 or G1 has to be active.

Information:
Suggestion: Start and finish the process on an extension of the contour.
Example for the milling process with the compensation of the radius in G12.1:

50
50

N16 .. (Turning process)


N17 M62
N18 G28 C0
N19 T0101
N20 G54
N21 M3 P2 S1500
N22 G94
N23 G0 X70 Z2 C0 M8
N24 G12.1
N25 G1 Z-6 F1000
N26 X100 C50 F120
N27 G1 G42 X60 C25 (Activation of the milling compensation)
N28 X-50
N29 C-25
N30 X50
N31 C30
N32 G40 (Deactivation of the milling compensation)
N33 Z2 F1000
N34 G13.1
N35 G0 X200 Z100
N36 M5
N37 M63
N38 G95 P1
N39 M30
6.5 G7.1 Cylindrical Interpolation

The cylindrical interpolation changes the programmed movement path of a rotary axis into a path
on the circumference. Then it is possible to use the linear interpolation and the circle interpolation
with one more axis.

Use this function to program contours on the lateral surface. So it facilitates the programming of
milling of grooves in cylindrical tappets.

Before you activate G7.1 you have to choose a convenient level:

G1 G91 G19 Z0 C0 Specified, to start the process, interpolates the Z-Axis with the C-Axis (Z and
C make the interpolation level)
G7.1 C... G7.1 activates the cylindrical interpolation; C… specifies the radius G90
Z… C… and calculates the path speed G94 F in mm/min subject to the milling radius (the bigger
the radius, the slower the turning speed of the spindle). The value C is also used to calculate the
new contour (that is mentioned by the milling radius). Activate G41 or G42 to use this function.
....
....
....
....
G7.1 C0 Deletes the cylindrical interpolation G7.1
Notice:

� The functions G7.1 C… and G7.1 C0 has to be written together in one block.
� If you use the command G7.1 C…, you only can use the functions G1 G2 G3. You can’t use
the direct programming functions A, C etc.
� The tool radius compensation G41, G42 and G40 has to be activated and deactivated within
the function G7.1.
� All processes in G7.1 has to be done with powered radial tools.

� You can’t use the fix cycles of drilling and tapping within the interpolation G7.1.
� Within the interpolation G7.1 you can’t make zero offsets G52 and G54 – G59.
Example for the use of the function G7.1:

(Processing of a work piece with the caliber 55)

N16 .. (Turning)
N17 M62
N18 G28 C0
N19 T101
N20 G54
N21 M4 P2 S1500
N22 G94 F1000
N23 G0 X70 Z10 C0 M8
N24 G1 G91 G19 Z0 C0 (Selection of the Z-C-level)
N25 G7.1 C27.5 (Selection of the cylindrical interpolation with the cylinder radius)
N26 G1 G90 Z-11 F1000 (Reactivation of the absolute programming)
N27 X55 F120
N28 Z-16
N29 Z-58 C90
N30 Z-63
N31 X70 F1000
N32 Z2
N33 G7.1 C0 (Deselection of the cylindrical interpolation)
N34 G18
N35 G0 X200 Z100
N36 M5
N37 M63
N38 G95 P1
N39 M30
Example 2: Cylindrical Interpolation

30°
30
Ø100

30°
C

10
20

%
O1000 (Cylindrical interpolation)
G53 X400 Z400
M62
G0 G28 C0
N1 T1212 (Miller D4 radial)
G54 G97 G94 S2000 P2 M3
G0 X105 Y0 Z2
G1 G91 G19 Z0 C0
G7.1 C50 (Caliber 100) G1 G90
X102 Z-25 F2000
X96 F150
Z-10 F500
C30
Z-20
G2 Z-20 C-30 R[100*3.14*30/360] G1
Z-10
X102 F2000
G7.1 C0
G53 X400 Z400
M30
%

You might also like