Schulung - CNC Programming en
Schulung - CNC Programming en
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+
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
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.
2.2 Blocknumber N
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).
The programmed feed F can be changed to variable values of 0% - 120%. The programmed feed is
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%.
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:
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.
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
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
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.
#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
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).
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.
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.
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:
Or:
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).
Notice:
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:
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).
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:
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
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).
In the thread-cutting work are the potentiometers of the axis frozen on 100%.
For example:
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:
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.
Generated contour
In the tool radius compensation there are 3 functions you can use:
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.)
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:
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
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:
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:
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.
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:
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°
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.
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:
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
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:
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.
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°
The function G74 activates the axially recessing cycle. This cycle enables to recess a groove at the
frontal area.
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
The function G75 activates the radial recessing cycle. This cycle enables to recess a groove at the
lateral surface.
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
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
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.
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:
For example:
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.
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…
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
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 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
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.
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 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.
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.
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
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.
The C-Axis, which is used in real coordinates, allows to use axial and radial processes. E.g. drilling
or milling.
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:
Use the function G98 and G99 to determine the point at which the tool goes back after the drilling.
G98 G99
R R
Z Z
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:
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
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:
The function G88 activates the radial thread cycle. You can use
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):
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.
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 ..
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:
Example:
G2 or G3 X... C... R... (Circular interpolation with radius)
G2 or G3 X... C... I... J.. (Circular interpolation with interpolation-parameters)
Notice:
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.
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
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.
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:
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
%