Fanuc 0i TF Operator Manual Trang 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 250

FANUC Series 0+-MODEL F

For Lathe System


OPERATOR'S MANUAL

B-64604EN-1/01
• No part of this manual may be reproduced in any form.
• All specifications and designs are subject to change without notice.

The products in this manual are controlled based on Japan’s “Foreign Exchange and
Foreign Trade Law”. The export of from Japan subject to an export license by the
government of Japan. Other models in this manual may also be subject to export controls.
Further, re-export to another country may be subject to the license of the government of
the country from where the product is re-exported. Furthermore, the product may also be
controlled by re-export regulations of the United States government.
Should you wish to export or re-export these products, please contact FANUC for advice.

The products in this manual are manufactured under strict quality control. However, when
a serious accident or loss is predicted due to a failure of the product, pay careful attention
to safety.

In this manual we have tried as much as possible to describe all the various matters.
However, we cannot describe all the matters which must not be done, or which cannot be
done, because there are so many possibilities.
Therefore, matters which are not especially described as possible in this manual should be
regarded as “impossible”.
B-64604EN-1/01 SAFETY PRECAUTIONS

SAFETY PRECAUTIONS
This section describes the safety precautions related to the use of CNC units.
It is essential that these precautions be observed by users to ensure the safe operation of machines
equipped with a CNC unit (all descriptions in this section assume this configuration). Note that some
precautions are related only to specific functions, and thus may not be applicable to certain CNC units.
Users must also observe the safety precautions related to the machine, as described in the relevant manual
supplied by the machine tool builder. Before attempting to operate the machine or create a program to
control the operation of the machine, the operator must become fully familiar with the contents of this
manual and relevant manual supplied by the machine tool builder.

CONTENTS

DEFINITION OF WARNING, CAUTION, AND NOTE.........................................................................s-1


GENERAL WARNINGS AND CAUTIONS ............................................................................................s-2
WARNINGS AND CAUTIONS RELATED TO PROGRAMMING .......................................................s-3
WARNINGS AND CAUTIONS RELATED TO HANDLING ................................................................s-5
WARNINGS RELATED TO DAILY MAINTENANCE .........................................................................s-7

DEFINITION OF WARNING, CAUTION, AND NOTE


This manual includes safety precautions for protecting the user and preventing damage to the machine.
Precautions are classified into Warning and Caution according to their bearing on safety. Also,
supplementary information is described as a Note. Read the Warning, Caution, and Note thoroughly
before attempting to use the machine.

WARNING
Applied when there is a danger of the user being injured or when there is a
danger of both the user being injured and the equipment being damaged if the
approved procedure is not observed.

CAUTION
Applied when there is a danger of the equipment being damaged, if the
approved procedure is not observed.

NOTE
The Note is used to indicate supplementary information other than Warning and
Caution.

• Read this manual carefully, and store it in a safe place.

s-1
SAFETY PRECAUTIONS B-64604EN-1/01

GENERAL WARNINGS AND CAUTIONS


WARNING
1 Never attempt to machine a workpiece without first checking the operation of the
machine. Before starting a production run, ensure that the machine is operating
correctly by performing a trial run using, for example, the single block, feedrate
override, or machine lock function or by operating the machine with neither a tool
nor workpiece mounted. Failure to confirm the correct operation of the machine
may result in the machine behaving unexpectedly, possibly causing damage to
the workpiece and/or machine itself, or injury to the user.
2 Before operating the machine, thoroughly check the entered data.
Operating the machine with incorrectly specified data may result in the machine
behaving unexpectedly, possibly causing damage to the workpiece and/or
machine itself, or injury to the user.
3 Ensure that the specified feedrate is appropriate for the intended operation.
Generally, for each machine, there is a maximum allowable feedrate.
The appropriate feedrate varies with the intended operation. Refer to the manual
provided with the machine to determine the maximum allowable feedrate.
If a machine is run at other than the correct speed, it may behave unexpectedly,
possibly causing damage to the workpiece and/or machine itself, or injury to the
user.
4 When using a tool compensation function, thoroughly check the direction and
amount of compensation.
Operating the machine with incorrectly specified data may result in the machine
behaving unexpectedly, possibly causing damage to the workpiece and/or
machine itself, or injury to the user.
5 The parameters for the CNC and PMC are factory-set. Usually, there is not need
to change them. When, however, there is not alternative other than to change a
parameter, ensure that you fully understand the function of the parameter before
making any change.
Failure to set a parameter correctly may result in the machine behaving
unexpectedly, possibly causing damage to the workpiece and/or machine itself,
or injury to the user.

CAUTION
1 Immediately after switching on the power, do not touch any of the keys on the
MDI unit until the position display or alarm screen appears on the CNC unit.
Some of the keys on the MDI unit are dedicated to maintenance or other special
operations. Pressing any of these keys may place the CNC unit in other than its
normal state. Starting the machine in this state may cause it to behave
unexpectedly.
2 The OPERATOR’S MANUAL and programming manual supplied with a CNC
unit provide an overall description of the machine's functions, including any
optional functions. Note that the optional functions will vary from one machine
model to another. Therefore, some functions described in the manuals may not
actually be available for a particular model. Check the specification of the
machine if in doubt.
3 Some functions may have been implemented at the request of the machine-tool
builder. When using such functions, refer to the manual supplied by the
machine-tool builder for details of their use and any related cautions.
s-2
B-64604EN-1/01 SAFETY PRECAUTIONS

CAUTION
4 The liquid-crystal display is manufactured with very precise fabrication
technology. Some pixels may not be turned on or may remain on. This
phenomenon is a common attribute of LCDs and is not a defect.

NOTE
1 Programs, parameters, and macro variables are stored in non-volatile memory in
the CNC unit. Usually, they are retained even if the power is turned off.
Such data may be deleted inadvertently, however, or it may prove necessary to
delete all data from non-volatile memory as part of error recovery.
To guard against the occurrence of the above, and assure quick restoration of
deleted data, backup all vital data, and keep the backup copy in a safe place.
2 The number of times to write machining programs to the non-volatile memory is
limited.
You must use "High-speed program management" when registration and the
deletion of the machining programs are frequently repeated in such case that the
machining programs are automatically downloaded from a personal computer at
each machining.
In "High-speed program management", the program is not saved to the
non-volatile memory at registration, modification, or deletion of programs.

WARNINGS AND CAUTIONS RELATED TO PROGRAMMING


This section covers the major safety precautions related to programming. Before attempting to perform
programming, read the supplied OPERATOR’S MANUAL carefully such that you are fully familiar with
their contents.

WARNING
1 Coordinate system setting
If a coordinate system is established incorrectly, the machine may behave
unexpectedly as a result of the program issuing an otherwise valid move
command. Such an unexpected operation may damage the tool, the machine
itself, the workpiece, or cause injury to the user.
2 Positioning by nonlinear interpolation
When performing positioning by nonlinear interpolation (positioning by nonlinear
movement between the start and end points), the tool path must be carefully
confirmed before performing programming. Positioning involves rapid traverse. If
the tool collides with the workpiece, it may damage the tool, the machine itself,
the workpiece, or cause injury to the user.
3 Function involving a rotation axis
When programming polar coordinate interpolation or normal-direction
(perpendicular) control, pay careful attention to the speed of the rotation axis.
Incorrect programming may result in the rotation axis speed becoming
excessively high, such that centrifugal force causes the chuck to lose its grip on
the workpiece if the latter is not mounted securely. Such mishap is likely to
damage the tool, the machine itself, the workpiece, or cause injury to the user.

s-3
SAFETY PRECAUTIONS B-64604EN-1/01

WARNING
4 Inch/metric conversion
Switching between inch and metric inputs does not convert the measurement
units of data such as the workpiece origin offset, parameter, and current
position. Before starting the machine, therefore, determine which measurement
units are being used. Attempting to perform an operation with invalid data
specified may damage the tool, the machine itself, the workpiece, or cause injury
to the user.
5 Constant surface speed control
When an axis subject to constant surface speed control approaches the origin of
the workpiece coordinate system, the spindle speed may become excessively
high. Therefore, it is necessary to specify a maximum allowable speed.
Specifying the maximum allowable speed incorrectly may damage the tool, the
machine itself, the workpiece, or cause injury to the user.
6 Stroke check
After switching on the power, perform a manual reference position return as
required. Stroke check is not possible before manual reference position return is
performed. Note that when stroke check is disabled, an alarm is not issued even
if a stroke limit is exceeded, possibly damaging the tool, the machine itself, the
workpiece, or causing injury to the user.
7 Interference check for each path
Interference check for each path function is performed based on the tool data
specified during automatic operation. If the tool specification does not match the
tool actually being used, the interference check cannot be made correctly,
possibly damaging the tool or the machine itself, or causing injury to the user.
After switching on the power, or after selecting a tool post manually, always start
automatic operation and specify the tool number of the tool to be used.
8 Same address command in same block
The G code or M code including the same address cannot be commanded on
the same block. If you use the same address, it may result in the machine
behaving unexpectedly, possibly causing damage to the workpiece and/or
machine itself, or injury to the user. Command on separate block.(About
address P, refer to the appendix “List of functions include address P in the
program command”)

CAUTION
1 Absolute/incremental mode
If a program created with absolute values is run in incremental mode, or vice
versa, the machine may behave unexpectedly.
2 Plane selection
If an incorrect plane is specified for circular interpolation, helical interpolation, or
a canned cycle, the machine may behave unexpectedly. Refer to the
descriptions of the respective functions for details.
3 Torque limit skip
Before attempting a torque limit skip, apply the torque limit. If a torque limit skip
is specified without the torque limit actually being applied, a move command will
be executed without performing a skip.
4 Programmable mirror image
Note that programmed operations vary considerably when a programmable
mirror image is enabled.
s-4
B-64604EN-1/01 SAFETY PRECAUTIONS

CAUTION
5 Compensation function
If a command based on the machine coordinate system or a reference position
return command is issued in compensation function mode, compensation is
temporarily canceled, resulting in the unexpected behavior of the machine.
Before issuing any of the above commands, therefore, always cancel
compensation function mode.

WARNINGS AND CAUTIONS RELATED TO HANDLING


This section presents safety precautions related to the handling of machine tools. Before attempting to
operate your machine, read the supplied OPERATOR’S MANUAL carefully, such that you are fully
familiar with their contents.

WARNING
1 Manual operation
When operating the machine manually, determine the current position of the tool
and workpiece, and ensure that the movement axis, direction, and feedrate have
been specified correctly. Incorrect operation of the machine may damage the
tool, the machine itself, the workpiece, or cause injury to the operator.
2 Manual reference position return
After switching on the power, perform manual reference position return as
required.
If the machine is operated without first performing manual reference position
return, it may behave unexpectedly. Stroke check is not possible before manual
reference position return is performed.
An unexpected operation of the machine may damage the tool, the machine
itself, the workpiece, or cause injury to the user.
3 Manual numeric command
When issuing a manual numeric command, determine the current position of the
tool and workpiece, and ensure that the movement axis, direction, and command
have been specified correctly, and that the entered values are valid.
Attempting to operate the machine with an invalid command specified may
damage the tool, the machine itself, the workpiece, or cause injury to the
operator.
4 Manual handle feed
In manual handle feed, rotating the handle with a large scale factor, such as 100,
applied causes the tool and table to move rapidly. Careless handling may
damage the tool and/or machine, or cause injury to the user.
5 Disabled override
If override is disabled (according to the specification in a macro variable) during
threading, rigid tapping, or other tapping, the speed cannot be predicted,
possibly damaging the tool, the machine itself, the workpiece, or causing injury
to the operator.
6 Origin/preset operation
Basically, never attempt an origin/preset operation when the machine is
operating under the control of a program. Otherwise, the machine may behave
unexpectedly, possibly damaging the tool, the machine itself, the tool, or causing
injury to the user.

s-5
SAFETY PRECAUTIONS B-64604EN-1/01

WARNING
7 Workpiece coordinate system shift
Manual intervention, machine lock, or mirror imaging may shift the workpiece
coordinate system. Before attempting to operate the machine under the control
of a program, confirm the coordinate system carefully.
If the machine is operated under the control of a program without making
allowances for any shift in the workpiece coordinate system, the machine may
behave unexpectedly, possibly damaging the tool, the machine itself, the
workpiece, or causing injury to the operator.
8 Software operator's panel and menu switches
Using the software operator's panel and menu switches, in combination with the
MDI unit, it is possible to specify operations not supported by the machine
operator's panel, such as mode change, override value change, and jog feed
commands.
Note, however, that if the MDI unit keys are operated inadvertently, the machine
may behave unexpectedly, possibly damaging the tool, the machine itself, the
workpiece, or causing injury to the user.
9 RESET key
Pressing the RESET key stops the currently running program. As a result, the
servo axes are stopped. However, the RESET key may fail to function for
reasons such as an MDI unit problem. So, when the motors must be stopped,
use the emergency stop button instead of the RESET key to ensure security.

CAUTION
1 Manual intervention
If manual intervention is performed during programmed operation of the
machine, the tool path may vary when the machine is restarted. Before restarting
the machine after manual intervention, therefore, confirm the settings of the
manual absolute switches, parameters, and absolute/incremental command
mode.
2 Feed hold, override, and single block
The feed hold, feedrate override, and single block functions can be disabled
using custom macro system variable #3004. Be careful when operating the
machine in this case.
3 Dry run
Usually, a dry run is used to confirm the operation of the machine. During a dry
run, the machine operates at dry run speed, which differs from the
corresponding programmed feedrate. Note that the dry run speed may
sometimes be higher than the programmed feed rate.
4 Cutter and tool nose radius compensation in MDI mode
Pay careful attention to a tool path specified by a command in MDI mode,
because cutter or tool nose radius compensation is not applied. When a
command is entered from the MDI to interrupt in automatic operation in cutter or
tool nose radius compensation mode, pay particular attention to the tool path
when automatic operation is subsequently resumed. Refer to the descriptions of
the corresponding functions for details.

s-6
B-64604EN-1/01 SAFETY PRECAUTIONS

CAUTION
5 Program editing
If the machine is stopped, after which the machining program is edited
(modification, insertion, or deletion), the machine may behave unexpectedly if
machining is resumed under the control of that program. Basically, do not
modify, insert, or delete commands from a machining program while it is in use.

WARNINGS RELATED TO DAILY MAINTENANCE


WARNING
1 Memory backup battery replacement
When replacing the memory backup batteries, keep the power to the machine
(CNC) turned on, and apply an emergency stop to the machine. Because this
work is performed with the power on and the cabinet open, only those personnel
who have received approved safety and maintenance training may perform this
work.
When replacing the batteries, be careful not to touch the high-voltage circuits
(marked and fitted with an insulating cover).
Touching the uncovered high-voltage circuits presents an extremely dangerous
electric shock hazard.

NOTE
The CNC uses batteries to preserve the contents of its memory, because it must
retain data such as programs, offsets, and parameters even while external
power is not applied.
If the battery voltage drops, a low battery voltage alarm is displayed on the
machine operator's panel or screen.
When a low battery voltage alarm is displayed, replace the batteries within a
week. Otherwise, the contents of the CNC's memory will be lost.
Refer to the Section "METHOD OF REPLACING BATTERY" in the Chapter,
"ROUTINE MAINTENANCE" of OPERATOR’S MANUAL (Common to
Lathe/Machining Center System) for details of the battery replacement
procedure.

WARNING
2 Absolute pulse coder battery replacement
When replacing the memory backup batteries, keep the power to the machine
(CNC) turned on, and apply an emergency stop to the machine. Because this
work is performed with the power on and the cabinet open, only those personnel
who have received approved safety and maintenance training may perform this
work.
When replacing the batteries, be careful not to touch the high-voltage circuits
(marked and fitted with an insulating cover).
Touching the uncovered high-voltage circuits presents an extremely dangerous
electric shock hazard.

s-7
SAFETY PRECAUTIONS B-64604EN-1/01

NOTE
The absolute pulse coder uses batteries to preserve its absolute position.
If the battery voltage drops, a low battery voltage alarm is displayed on the
machine operator's panel or screen.
When a low battery voltage alarm is displayed, replace the batteries within a
week. Otherwise, the absolute position data held by the pulse coder will be lost.
Refer to the FANUC SERVO MOTOR αi series Maintenance Manual for details
of the battery replacement procedure.

WARNING
3 Fuse replacement
Before replacing a blown fuse, however, it is necessary to locate and remove the
cause of the blown fuse.
For this reason, only those personnel who have received approved safety and
maintenance training may perform this work.
When replacing a fuse with the cabinet open, be careful not to touch the
high-voltage circuits (marked and fitted with an insulating cover).
Touching an uncovered high-voltage circuit presents an extremely dangerous
electric shock hazard.

s-8
B-64604EN-1/01 TABLE OF CONTENTS

TABLE OF CONTENTS
SAFETY PRECAUTIONS........................................................................... S-1
DEFINITION OF WARNING, CAUTION, AND NOTE ............................................. s-1
GENERAL WARNINGS AND CAUTIONS............................................................... s-2
WARNINGS AND CAUTIONS RELATED TO PROGRAMMING ............................ s-3
WARNINGS AND CAUTIONS RELATED TO HANDLING...................................... s-5
WARNINGS RELATED TO DAILY MAINTENANCE ............................................... s-7

I. GENERAL
1 GENERAL ............................................................................................... 3
1.1 GENERAL FLOW OF OPERATION OF CNC MACHINE TOOL ................... 5
1.2 NOTES ON READING THIS MANUAL.......................................................... 6
1.3 NOTES ON VARIOUS KINDS OF DATA ...................................................... 7

II. PROGRAMMING
1 GENERAL ............................................................................................. 11
1.1 OFFSET ...................................................................................................... 11
2 PREPARATORY FUNCTION (G FUNCTION) ...................................... 12
3 INTERPOLATION FUNCTION .............................................................. 16
3.1 POLAR COORDINATE INTERPOLATION (G12.1, G13.1) ......................... 16
3.2 CONSTANT LEAD THREADING (G32) ...................................................... 24
3.3 VARIABLE LEAD THREADING (G34)......................................................... 27
3.4 CIRCULAR THREADING (G35, G36) ......................................................... 28
3.5 CONTINUOUS THREADING....................................................................... 31
3.6 MULTIPLE THREADING ............................................................................. 32
4 FUNCTIONS TO SIMPLIFY PROGRAMMING ..................................... 34
4.1 CANNED CYCLE (G90, G92, G94) ............................................................. 34
4.1.1 Outer Diameter/Internal Diameter Cutting Cycle (G90) ........................................35
4.1.1.1 Straight cutting cycle ......................................................................................... 35
4.1.1.2 Taper cutting cycle ............................................................................................ 36
4.1.2 Threading Cycle (G92)...........................................................................................37
4.1.2.1 Straight threading cycle ..................................................................................... 37
4.1.2.2 Taper threading cycle ........................................................................................ 40
4.1.3 End Face Turning Cycle (G94) ..............................................................................43
4.1.3.1 Face cutting cycle .............................................................................................. 43
4.1.3.2 Taper cutting cycle ............................................................................................ 44
4.1.4 How to Use Canned Cycles (G90, G92, G94)........................................................45
4.1.5 Canned Cycle and Tool Nose Radius Compensation.............................................47
4.1.6 Restrictions on Canned Cycles...............................................................................48
4.2 MULTIPLE REPETITIVE CANNED CYCLE (G70-G76) .............................. 51
4.2.1 Stock Removal in Turning (G71) ...........................................................................52
4.2.2 Stock Removal in Facing (G72) .............................................................................66
4.2.3 Pattern Repeating (G73) .........................................................................................70
4.2.4 Finishing Cycle (G70) ............................................................................................74
c-1
TABLE OF CONTENTS B-64604EN-1/01

4.2.5 End Face Peck Drilling Cycle (G74)......................................................................78


4.2.6 Outer Diameter / Internal Diameter Drilling Cycle (G75) .....................................80
4.2.7 Multiple Threading Cycle (G76) ............................................................................82
4.2.8 Restrictions on Multiple Repetitive Canned Cycle (G70-G76)..............................87
4.3 CANNED CYCLE FOR DRILLING............................................................... 90
4.3.1 Front Drilling Cycle (G83)/Side Drilling Cycle (G87) ..........................................93
4.3.2 Front Tapping Cycle (G84) / Side Tapping Cycle (G88).......................................97
4.3.3 Front Boring Cycle (G85) / Side Boring Cycle (G89) .........................................101
4.3.4 Canned Cycle for Drilling Cancel (G80)..............................................................102
4.3.5 Addition of M Code for Clamp/Unclamp in Canned Cycle for Drilling with......102
4.3.6 Reducing of Waiting Time of Spindle Speed Arrival in the Canned Cycle for
Drilling .................................................................................................................103
4.3.7 Precautions to be Taken by Operator ...................................................................105
4.4 RIGID TAPPING ........................................................................................ 106
4.4.1 Front Face Rigid Tapping Cycle (G84) / Side Face Rigid Tapping Cycle (G88) 107
4.4.2 Peck Rigid Tapping Cycle (G84 or G88) .............................................................112
4.4.3 Canned Cycle Cancel (G80).................................................................................116
4.4.4 Override during Rigid Tapping ............................................................................116
4.4.4.1 Extraction override .......................................................................................... 116
4.4.4.2 Override signal ................................................................................................ 117
4.5 CANNED GRINDING CYCLE (FOR GRINDING MACHINE)..................... 119
4.5.1 Traverse Grinding Cycle (G71)............................................................................121
4.5.2 Traverse Direct Constant-Size Grinding Cycle (G72) .........................................123
4.5.3 Oscillation Grinding Cycle (G73) ........................................................................125
4.5.4 Oscillation Direct Constant-Size Grinding Cycle (G74)......................................127
4.6 CHAMFERING AND CORNER R .............................................................. 129
4.7 MIRROR IMAGE FOR DOUBLE TURRET (G68, G69) ............................. 135
4.8 DIRECT DRAWING DIMENSION PROGRAMMING ................................. 136
5 COMPENSATION FUNCTION ............................................................ 142
5.1 TOOL OFFSET.......................................................................................... 142
5.1.1 Tool Geometry Offset and Tool Wear Offset.......................................................142
5.1.2 T Code for Tool Offset.........................................................................................143
5.1.3 Tool Selection.......................................................................................................144
5.1.4 Offset Number ......................................................................................................144
5.1.5 Offset ....................................................................................................................144
5.1.6 Y-Axis Offset .......................................................................................................147
5.1.6.1 Support of arbitrary axes for Y axis offset ...................................................... 147
5.1.7 2nd Geometry Tool Offset ...................................................................................148
5.1.8 4th/5th Axis Offset ...............................................................................................150
5.2 OVERVIEW OF TOOL NOSE RADIUS COMPENSATION (G40-G42) ..... 153
5.2.1 Imaginary Tool Nose............................................................................................153
5.2.2 Direction of Imaginary Tool Nose .......................................................................155
5.2.3 Offset Number and Offset Value..........................................................................156
5.2.4 Workpiece Position and Move Command............................................................157
5.2.5 Notes on Tool Nose Radius Compensation..........................................................162
5.3 OVERVIEW OF CUTTER COMPENSATION (G40-G42).......................... 165
5.4 DETAILS OF CUTTER OR TOOL NOSE RADIUS COMPENSATION...... 171
5.4.1 Overview ..............................................................................................................171
5.4.2 Tool Movement in Start-up ..................................................................................175
5.4.3 Tool Movement in Offset Mode...........................................................................181
5.4.4 Tool Movement in Offset Mode Cancel...............................................................200
5.4.5 Prevention of Overcutting Due to Cutter or Tool Nose Radius Compensation ...206
c-2
B-64604EN-1/01 TABLE OF CONTENTS
5.4.6 Interference Check ...............................................................................................209
5.4.6.1 Operation to be performed if an interference is judged to occur ..................... 213
5.4.6.2 Interference check alarm function ................................................................... 213
5.4.6.3 Interference check avoidance function ............................................................ 215
5.4.7 Cutter or Tool Nose Radius Compensation for Input from MDI .........................220
5.5 VECTOR RETENTION (G38) .................................................................... 222
5.6 CORNER CIRCULAR INTERPOLATION (G39) ........................................ 223
5.7 EXTENDED TOOL SELECTION ............................................................... 225
5.8 AUTOMATIC TOOL OFFSET (G36, G37)................................................. 228
6 MEMORY OPERATION USING Series 10/11 FORMAT .................... 231
6.1 ADDRESSES AND SPECIFIED RANGE FOR Series 10/11 PROGRAM
FORMAT ................................................................................................... 231
6.2 SUBPROGRAM CALLING ........................................................................ 231
6.3 CANNED CYCLE....................................................................................... 232
6.3.1 Outer Diameter/Internal Diameter Cutting Cycle (G90) ......................................233
6.3.1.1 Straight cutting cycle ....................................................................................... 233
6.3.1.2 Taper cutting cycle .......................................................................................... 234
6.3.2 Threading Cycle (G92).........................................................................................235
6.3.2.1 Straight threading cycle ................................................................................... 235
6.3.2.2 Taper threading cycle ...................................................................................... 238
6.3.3 End Face Turning Cycle (G94) ............................................................................241
6.3.3.1 Face cutting cycle ............................................................................................ 241
6.3.3.2 Taper cutting cycle .......................................................................................... 242
6.3.4 How to Use Canned Cycles..................................................................................244
6.3.5 Canned Cycle and Tool Nose Radius Compensation...........................................245
6.3.6 Restrictions on Canned Cycles.............................................................................246
6.4 MULTIPLE REPETITIVE CANNED CYCLE .............................................. 249
6.4.1 Stock Removal in Turning (G71) .........................................................................250
6.4.2 Stock Removal in Facing (G72) ...........................................................................260
6.4.3 Pattern Repeating (G73) .......................................................................................264
6.4.4 Finishing Cycle (G70) ..........................................................................................267
6.4.5 End Face Peck Drilling Cycle (G74)....................................................................271
6.4.6 Outer Diameter / Internal Diameter Drilling Cycle (G75) ...................................273
6.4.7 Multiple Threading Cycle (G76) ..........................................................................275
6.4.8 Restrictions on Multiple Repetitive Canned Cycle ..............................................281
6.5 CANNED CYCLE FOR DRILLING............................................................. 283
6.5.1 High-speed Peck Drilling Cycle (G83.1) .............................................................287
6.5.2 Drilling Cycle, Spot Drilling Cycle (G81) ...........................................................288
6.5.3 Drilling Cycle, Counter Boring (G82) .................................................................289
6.5.4 Peck Drilling Cycle (G83)....................................................................................290
6.5.5 Tapping Cycle (G84)............................................................................................292
6.5.6 Tapping Cycle (G84.2).........................................................................................293
6.5.7 Boring Cycle (G85) ..............................................................................................295
6.5.8 Boring Cycle (G89) ..............................................................................................296
6.5.9 Canned Cycle for Drilling Cancel (G80)..............................................................297
6.5.10 Precautions to be Taken by Operator ...................................................................297

7 AXIS CONTROL FUNCTIONS............................................................ 298


7.1 POLYGON TURNING (G50.2, G51.2)....................................................... 298
8 MUITI-PATH CONTROL FUNCTION.................................................. 303
8.1 BALANCE CUT (G68, G69)....................................................................... 303

c-3
TABLE OF CONTENTS B-64604EN-1/01

III. OPERATION
1 DATA INPUT/OUTPUT ....................................................................... 307
1.1 INPUT/OUTPUT ON EACH SCREEN ....................................................... 307
1.1.1 Inputting and Outputting Y-axis Offset Data .......................................................307
1.1.1.1 Inputting Y-axis offset data ............................................................................. 307
1.1.1.2 Outputting Y-axis Offset Data......................................................................... 308
1.1.2 Inputting and Outputting Tool Offset / 2nd Geometry Data ................................309
1.1.2.1 Inputting tool offset / 2nd geometry data......................................................... 309
1.1.2.2 Outputting tool offset / 2nd geometry data ...................................................... 310
1.1.3 Inputting and Outputting 4th/5th Axis Offset Data..............................................311
1.1.3.1 Inputting 4th/5th axis offset data ..................................................................... 311
1.1.3.2 Outputting 4th/5th Axis Offset Data................................................................ 312
1.2 INPUT/OUTPUT ON THE ALL IO SCREEN.............................................. 314
1.2.1 Inputting and Outputting Y-axis Offset Data .......................................................315
1.2.2 Inputting and Outputting Tool Offset / 2nd Geometry Tool Offset .....................316

2 SETTING AND DISPLAYING DATA................................................... 319


2.1 SCREENS DISPLAYED BY FUNCTION KEY ................................... 319
2.1.1 Setting and Displaying the Tool Offset Value .....................................................319
2.1.2 Direct Input of Tool Offset Value ........................................................................324
2.1.3 Direct Input of Tool Offset Value Measured B....................................................327
2.1.4 Counter Input of Offset value...............................................................................329
2.1.5 Setting the Workpiece Coordinate System Shift Value........................................330
2.1.6 Setting Tool Offset / 2nd Geometry Tool Offset Values......................................334
2.1.7 Setting the Y-Axis Offset .....................................................................................337
2.1.8 Setting the 4th/5th Axis Offset .............................................................................343
2.1.9 Chuck and Tail Stock Barriers .............................................................................348

APPENDIX
A PARAMETERS.................................................................................... 359
A.1 DESCRIPTION OF PARAMETERS........................................................... 359
A.2 DATA TYPE............................................................................................... 408
A.3 STANDARD PARAMETER SETTING TABLES......................................... 409
B LIST OF FUNCTIONS INCLUDE ADDRESS P IN THE PROGRAM
COMMAND.......................................................................................... 410
B.1 LIST OF FUNCTIONS INCLUDE ADDRESS P IN THE ARGUMENT OF
G CODE .................................................................................................... 410
B.2 LIST OF FUNCTIONS INCLUDE ADDRESS P IN THE ARGUMENT OF
M AND S CODE ........................................................................................ 414

c-4
I. GENERAL
B-64604EN-1/01 GENERAL 1.GENERAL

1 GENERAL
This manual consists of the following parts:

About this manual


I. GENERAL
Describes chapter organization, applicable models, related manuals, and notes for reading this
manual.
II. PROGRAMMING
Describes each function: Format used to program functions in the NC language, characteristics, and
restrictions.
III. OPERATION
Describes the manual operation and automatic operation of a machine, procedures for inputting and
outputting data, and procedures for editing a program.
APPENDIX
Lists parameters.

NOTE
1 This manual describes the functions that can operate in the CNC model for lathe
system (path control type). For other functions not specific to the lathe system,
refer to the Operator's Manual (Common to Lathe System/Machining Center
System) (B-64604EN).
2 This manual does not detail the parameters not mentioned in the text. For details
of those parameters, refer to the Parameter Manual (B-64610EN).
Parameters are used to set functions and operating conditions of a CNC
machine tool, and frequently-used values in advance. Usually, the machine tool
builder factory-sets parameters so that the user can use the machine tool easily.
3 This manual describes not only basic functions but also optional functions. Look
up the options incorporated into your system in the manual written by the
machine tool builder.

Applicable models
This manual describes the models indicated in the table below.
In the text, the abbreviations indicated below may be used.

Model name Abbreviation


FANUC Series 0i-TF 0i-TF Series 0i-F Series 0i

NOTE
1 For explanatory purposes, the following descriptions may be used according to
the CNC model :
- 0i-TF : Lathe system (T series)
2 For the FANUC Series 0i-MODEL F, parameters need to be set to enable or
disable some basic functions. For these parameters, refer to "PARAMETERS
OF 0i-F BASIC FUNCTIONS" in the PARAMETER MANUAL (B-64610EN).

-3-
1.GENERAL GENERAL B-64604EN-1/01

Special symbols
This manual uses the following symbols:

- IP
Indicates a combination of axes such as X_ Y_ Z_
In the underlined position following each address, a numeric value such as a coordinate value is placed
(used in PROGRAMMING.).

- ;
Indicates the end of a block. It actually corresponds to the ISO code LF or EIA code CR.

Related manuals of Series 0i- MODEL F


The following table lists the manuals related to Series 0i-F. This manual is indicated by an asterisk(*).

Table 1 (a) Related manuals


Manual name Specification number
DESCRIPTIONS B-64602EN
CONNECTION MANUAL (HARDWARE) B-64603EN
CONNECTION MANUAL (FUNCTION) B-64603EN-1
OPERATOR’S MANUAL (Common to Lathe System/Machining Center System) B-64604EN
OPERATOR’S MANUAL (For Lathe System) B-64604EN-1 *
OPERATOR’S MANUAL (For Machining Center System) B-64604EN-2
MAINTENANCE MANUAL B-64605EN
PARAMETER MANUAL B-64610EN
Programming
Macro Executor PROGRAMMING MANUAL B-63943EN-2
Macro Compiler PROGRAMMING MANUAL B-66263EN
C Language Executor PROGRAMMING MANUAL B-63943EN-3
PMC
PMC PROGRAMMING MANUAL B-64513EN
Network
PROFIBUS-DP Board CONNECTION MANUAL B-63993EN
Fast Ethernet / Fast Data Server OPERATOR’S MANUAL B-64014EN
DeviceNet Board CONNECTION MANUAL B-64043EN
CC-Link Board CONNECTION MANUAL B-64463EN
Operation guidance function
MANUAL GUIDE i (Common to Lathe System/Machining Center System) B-63874EN
OPERATOR’S MANUAL
MANUAL GUIDE i (For Machining Center System) OPERATOR’S MANUAL B-63874EN-2
MANUAL GUIDE i (Set-up Guidance Functions) OPERATOR’S MANUAL B-63874EN-1
MANUAL GUIDE 0i OPERATOR’S MANUAL B-64434EN
TURN MATE i OPERATOR’S MANUAL B-64254EN
Dual Check Safety
Dual Check Safety CONNECTION MANUAL B-64483EN-2

Related manuals of SERVO MOTOR αi/βi series


The following table lists the manuals related to SERVO MOTOR αi/βi series

Table 1 (b) Related manuals


Manual name Specification number
FANUC AC SERVO MOTOR αi series DESCRIPTIONS B-65262EN
FANUC AC SPINDLE MOTOR αi series DESCRIPTIONS B-65272EN
FANUC AC SERVO MOTOR βi series DESCRIPTIONS B-65302EN
FANUC AC SPINDLE MOTOR βi series DESCRIPTIONS B-65312EN
-4-
B-64604EN-1/01 GENERAL 1.GENERAL

Manual name Specification number


FANUC SERVO AMPLIFIER αi series DESCRIPTIONS B-65282EN
FANUC SERVO AMPLIFIER βi series DESCRIPTIONS B-65322EN
FANUC SERVO MOTOR αis series
FANUC SERVO MOTOR αi series
FANUC AC SPINDLE MOTOR αi series B-65285EN
FANUC SERVO AMPLIFIER αi series
MAINTENANCE MANUAL
FANUC SERVO MOTOR βis series
FANUC AC SPINDLE MOTOR βi series
B-65325EN
FANUC SERVO AMPLIFIER βi series
MAINTENANCE MANUAL
FANUC AC SERVO MOTOR αi series
FANUC AC SERVO MOTOR βi series
FANUC LINEAR MOTOR LiS series B-65270EN
FANUC SYNCHRONOUS BUILT-IN SERVO MOTOR DiS series
PARAMETER MANUAL
FANUC AC SPINDLE MOTOR αi/βi series,
BUILT-IN SPINDLE MOTOR Bi series B-65280EN
PARAMETER MANUAL

The above servo motors and the corresponding spindles can be connected to the CNC covered in this
manual. In the αi SV, αi SP, αi PS, and βi SV series, however, they can be connected only to 30
i-B-compatible versions. In the βi SVSP series, they cannot be connected.
This manual mainly assumes that the FANUC SERVO MOTOR αi series of servo motor is used. For
servo motor and spindle information, refer to the manuals for the servo motor and spindle that are actually
connected.

1.1 GENERAL FLOW OF OPERATION OF CNC MACHINE


TOOL
When machining the part using the CNC machine tool, first prepare the program, then operate the CNC
machine by using the program.
(1) First, prepare the program from a part drawing to operate the CNC machine tool.
How to prepare the program is described in the Part II, "PROGRAMMING".
(2) The program is to be read into the CNC system. Then, mount the workpieces and tools on the
machine, and operate the tools according to the programming. Finally, execute the machining
actually.
How to operate the CNC system is described in the Part III, "OPERATION".

Part Part
drawing program

CNC Machine Tool

PART II, "PROGRAMMING" PART III, "OPERATION"

Before the actual programming, make the machining plan for how to machine the part.
Machining plan)
1. Determination of workpieces machining range
2. Method of mounting workpieces on the machine tool
3. Machining sequence in every cutting process
4. Cutting tools and cutting conditions
-5-
1.GENERAL GENERAL B-64604EN-1/01

Decide the cutting method in every cutting process.


Cutting process 1 2 3
Cutting procedure End face cutting Outer diameter cutting Grooving
1. Cutting method :
Rough
Semi
Finish
2. Cutting tools
3. Cutting conditions :
Feedrate
Cutting depth
4. Tool path

Outer
diameter
Grooving cutting End face cutting

Workpiece

Prepare the program of the tool path and cutting condition according to the workpiece figure, for each
cutting.

1.2 NOTES ON READING THIS MANUAL


CAUTION
1 The function of an CNC machine tool system depends not only on the CNC, but on
the combination of the machine tool, its magnetic cabinet, the servo system, the
CNC, the operator's panels, etc. It is too difficult to describe the function,
programming, and operation relating to all combinations. This manual generally
describes these from the stand-point of the CNC. So, for details on a particular
CNC machine tool, refer to the manual issued by the machine tool builder, which
should take precedence over this manual.
2 In the header field of each page of this manual, a chapter title is indicated so that
the reader can reference necessary information easily.
By finding a desired title first, the reader can reference necessary parts only.
3 This manual describes as many reasonable variations in equipment usage as
possible. It cannot address every combination of features, options and commands
that should not be attempted.
If a particular combination of operations is not described, it should not be
attempted.

-6-
B-64604EN-1/01 GENERAL 1.GENERAL

1.3 NOTES ON VARIOUS KINDS OF DATA


CAUTION
1 Machining programs, parameters, offset data, etc. are stored in the CNC unit
internal non-volatile memory. In general, these contents are not lost by the
switching ON/OFF of the power. However, it is possible that a state can occur
where precious data stored in the non-volatile memory has to be deleted,
because of deletions from a maloperation, or by a failure restoration. In order to
restore rapidly when this kind of mishap occurs, it is recommended that you
create a copy of the various kinds of data beforehand.
2 The number of times to write machining programs to the non-volatile memory is
limited.
You must use "High-speed program management" when registration and the
deletion of the machining programs are frequently repeated in such case that the
machining programs are automatically downloaded from a personal computer at
each machining.
In "High-speed program management", the program is not saved to the
non-volatile memory at registration, modification, or deletion of programs.

-7-
II. PROGRAMMING
B-64604EN-1/01 PROGRAMMING 1.GENERAL

1 GENERAL
Chapter 1, "GENERAL", consists of the following sections:

1.1 OFFSET ..............................................................................................................................................11

1.1 OFFSET
Explanation
- Tool offset
Usually, several tools are used for machining one workpiece. The tools have different tool length. It is
very troublesome to change the program in accordance with the tools.
Therefore, the length of each tool used should be measured in advance. By setting the difference between
the length of the standard tool and the length of each tool in the CNC (see Chapter, “Setting and
Displaying Data” in the OPERATOR’S MANUAL (Common to Lathe System/Machining Center
System)), machining can be performed without altering the program even when the tool is changed. This
function is called tool offset.
Standard Rough Finishing Grooving Threading
tool cutting tool tool tool
tool

Workpiece

Fig. 1.1 (a) Tool offset

- 11 -
2. PREPARATORY FUNCTION
(G FUNCTION) PROGRAMMING B-64604EN-1/01

2 PREPARATORY FUNCTION (G FUNCTION)


A number following address G determines the meaning of the command for the concerned block.
G codes are divided into the following two types.

Type Meaning
One-shot G code The G code is effective only in the block in which it is specified.
Modal G code The G code is effective until another G code of the same group is specified.

(Example)
G01 and G00 are modal G codes in group 01.
G01 X_ ;
Z_ ; G01 is effective in this range.
X_ ;
G00 Z_ ; G00 is effective in this range.
X_ ;
G01 X_ ;
:
There are three G code systems in the lathe system : A,B, and C (Table 2 (a)). Select a G code system
using bits 6 (GSB) and 7 (GSC) parameter No. 3401. Generally, OPERATOR’S MANUAL describes the
use of G code system A, except when the described item can use only G code system B or C. In such
cases, the use of G code system B or C is described.

Explanation
1. When the clear state (bit 6 (CLR) of parameter No. 3402) is set at power-up or reset, the modal G
codes are placed in the states described below.
(1) The modal G codes are placed in the states marked with as indicated in Table.
(2) G20 and G21 remain unchanged when the clear state is set at power-up or reset.
(3) Which status G22 or G23 at power on is set by bit 7 (G23) of parameter No. 3402. However,
G22 and G23 remain unchanged when the clear state is set at reset.
(4) The user can select G00 or G01 by setting bit 0 (G01) of parameter No. 3402.
(5) The user can select G90 or G91 by setting bit 3 (G91) of parameter No. 3402.
When G code system B or C is used in the lathe system, setting bit 3 (G91) of parameter No.
3402 determines which code, either G90 or G91, is effective.
2. G codes other than G10 and G11 are one-shot G codes.
3. When a G code not listed in the G code list is specified, or a G code that has no corresponding
option is specified, alarm PS0010, “IMPROPER G-CODE” occurs.
4. Multiple G codes can be specified in the same block if each G code belongs to a different group. If
multiple G codes that belong to the same group are specified in the same block, only the last G code
specified is valid.
5. If a G code belonging to group 01 is specified in a for drilling, the canned cycle for drilling is
cancelled. This means that the same state set by specifying G80 is set. Note that the G codes in
group 01 are not affected by a G code specifying a canned cycle.
6. When G code system A is used, absolute or incremental programming is specified not by a G code
(G90/G91) but by an address word (X/U, Z/W, C/H, Y/V). Only the initial level is provided at the
return point of the canned cycle for drilling..
7. G codes are indicated by group.

- 12 -
2.PREPARATORY FUNCTION
B-64604EN-1/01 PROGRAMMING (G FUNCTION)
Table 2 (a) G code list
G code system
Group Function
A B C
G00 G00 G00 Positioning (Rapid traverse)
G01 G01 G01 Linear interpolation (Cutting feed)
01
G02 G02 G02 Circular interpolation CW or helical interpolation CW
G03 G03 G03 Circular interpolation CCW or helical interpolation CCW
G04 G04 G04 Dwell
G04.1 G04.1 G04.1 G code preventing buffering
G05.1 G05.1 G05.1 AI contour control
G05.4 G05.4 G05.4 HRV3 on/off
G07.1 G07.1 G07.1
Cylindrical interpolation
(G107) (G107) (G107)
00
AI contour control (advanced preview control compatible
G08 G08 G08
command)
G09 G09 G09 Exact stop
G10 G10 G10 Programmable data input
G10.6 G10.6 G10.6 Tool retract and recover
G11 G11 G11 Programmable data input mode cancel
G12.1 G12.1 G12.1
Polar coordinate interpolation mode
(G112) (G112) (G112)
21
G13.1 G13.1 G13.1
Polar coordinate interpolation cancel mode
(G113) (G113) (G113)
G17 G17 G17 XpYp plane selection
G18 G18 G18 16 ZpXp plane selection
G19 G19 G19 YpZp plane selection
G20 G20 G70 Input in inch
06
G21 G21 G71 Input in mm
G22 G22 G22 Stored stroke check function on
09
G23 G23 G23 Stored stroke check function off
G25 G25 G25 Spindle speed fluctuation detection off
08
G26 G26 G26 Spindle speed fluctuation detection on
G27 G27 G27 Reference position return check
G28 G28 G28 Return to reference position
G28.2 G28.2 G28.2 In-position check disable reference position return
G29 G29 G29 Movement from reference position
00
G30 G30 G30 2nd, 3rd and 4th reference position return
In-position check disable 2nd, 3rd, or 4th reference position
G30.2 G30.2 G30.2
return
G31 G31 G31 Skip function
G32 G33 G33 Threading
G34 G34 G34 Variable lead threading
G35 G35 G35 Circular threading CW
Circular threading CCW (When bit 3 (G36) of parameter No.
G36 G36 G36 3405 is set to 1) or Automatic tool offset (X axis) (When bit 3
(G36) of parameter No. 3405 is set to 0)
Automatic tool offset (Z axis) (When bit 3 (G36) of parameter
G37 G37 G37
01 No. 3405 is set to 0)
Automatic tool offset (X axis) (When bit 3 (G36) of parameter
G37.1 G37.1 G37.1
No. 3405 is set to 1)
Automatic tool offset (Z axis) (When bit 3 (G36) of parameter
G37.2 G37.2 G37.2
No. 3405 is set to 1)
G38 G38 G38 Tool radius/tool nose radius compensation: with vector held
Tool radius/tool nose radius compensation: corner rounding
G39 G39 G39
interpolation

- 13 -
2. PREPARATORY FUNCTION
(G FUNCTION) PROGRAMMING B-64604EN-1/01

Table 2 (a) G code list


G code system
Group Function
A B C
G40 G40 G40 Tool radius/tool nose radius compensation : cancel
G41 G41 G41 Tool radius/tool nose radius compensation : left
G42 G42 G42 Tool radius/tool nose radius compensation : right
G43.7 G43.7 G43.7 07 Tool offset
(G44.7) (G44.7) (G44.7) (Bit 3 (TCT) of parameter No. 5040 must be "1".)
G49 G49 G49 Tool length compensation cancel
(G49.1) (G49.1) (G49.1) (Bit 3 (TCT) of parameter No. 5040 must be "1".)
G50 G92 G92 Coordinate system setting or max spindle speed clamp
00
G50.3 G92.1 G92.1 Workpiece coordinate system preset
G50.1 G50.1 G50.1 Programmable mirror image cancel
22
G51.1 G51.1 G51.1 Programmable mirror image
G50.2 G50.2 G50.2
Polygon turning cancel
(G250) (G250) (G250)
20
G51.2 G51.2 G51.2
Polygon turning
(G251) (G251) (G251)
G50.4 G50.4 G50.4 Cancel synchronous control
G50.5 G50.5 G50.5 Cancel composite control
G50.6 G50.6 G50.6 Cancel superimposed control
G51.4 G51.4 G51.4 Start synchronous control
00
G51.5 G51.5 G51.5 Start composite control
G51.6 G51.6 G51.6 Start superimposed control
G52 G52 G52 Local coordinate system setting
G53 G53 G53 Machine coordinate system setting
G54 G54 G54
Workpiece coordinate system 1 selection
(G54.1) (G54.1) (G54.1)
G55 G55 G55 Workpiece coordinate system 2 selection
G56 G56 G56 14 Workpiece coordinate system 3 selection
G57 G57 G57 Workpiece coordinate system 4 selection
G58 G58 G58 Workpiece coordinate system 5 selection
G59 G59 G59 Workpiece coordinate system 6 selection
G61 G61 G61 Exact stop mode
G62 G62 G62 Automatic corner override mode
15
G63 G63 G63 Tapping mode
G64 G64 G64 Cutting mode
G65 G65 G65 00 Macro call
G66 G66 G66 Macro modal call A
G66.1 G66.1 G66.1 12 Macro modal call B
G67 G67 G67 Macro modal call A/B cancel
G68 G68 G68 04 Mirror image on for double turret or balance cutting mode
Coordinate system rotation start or 3-dimensional coordinate
G68.1 G68.1 G68.1 17
system conversion mode on
04 Mirror image off for double turret or balance cutting mode
G69 G69 G69
cancel
Coordinate system rotation cancel or 3-dimensional
G69.1 G69.1 G69.1 17
coordinate system conversion mode off

- 14 -
2.PREPARATORY FUNCTION
B-64604EN-1/01 PROGRAMMING (G FUNCTION)
Table 2 (a) G code list
G code system
Group Function
A B C
G70 G70 G72 Finishing cycle
G71 G71 G73 Stock removal in turning
G72 G72 G74 Stock removal in facing
G73 G73 G75 00 Pattern repeating cycle
G74 G74 G76 End face peck drilling cycle
G75 G75 G77 Outer diameter/internal diameter drilling cycle
G76 G76 G78 Multiple-thread cutting cycle
G71 G71 G72 Traverse grinding cycle
G72 G72 G73 Traverse direct sizing/grinding cycle
01
G73 G73 G74 Oscillation grinding cycle
G74 G74 G75 Oscillation direct sizing/grinding cycle
G80 G80 G80 10 Canned cycle cancel for drilling
G81.1 G81.1 G81.1 00 High precision oscillation function
G81 G81 G81 Spot drilling (FS10/11-T format)
G82 G82 G82 Counter boring (FS10/11-T format)
G83 G83 G83 Cycle for face drilling
G83.1 G83.1 G83.1 High-speed peck drilling cycle (FS10/11-T format)
G83.5 G83.5 G83.5 High-speed peck drilling cycle
G83.6 G83.6 G83.6 Peck drilling cycle
G84 G84 G84 Cycle for face tapping
10
G84.2 G84.2 G84.2 Rigid tapping cycle (FS10/11-T format)
G85 G85 G85 Cycle for face boring
G87 G87 G87 Cycle for side drilling
G87.5 G87.5 G87.5 High-speed peck drilling cycle
G87.6 G87.6 G87.6 Peck drilling cycle
G88 G88 G88 Cycle for side tapping
G89 G89 G89 Cycle for side boring
G90 G77 G20 Outer diameter/internal diameter cutting cycle
G92 G78 G21 01 Threading cycle
G94 G79 G24 End face turning cycle
G91.1 G91.1 G91.1 00 Maximum specified incremental amount check
G96 G96 G96 Constant surface speed control
02
G97 G97 G97 Constant surface speed control cancel
G96.1 G96.1 G96.1 Spindle indexing execution (waiting for completion)
G96.2 G96.2 G96.2 Spindle indexing execution (not waiting for completion)
00
G96.3 G96.3 G96.3 Spindle indexing completion check
G96.4 G96.4 G96.4 SV speed control mode ON
G98 G94 G94 Feed per minute
05
G99 G95 G95 Feed per revolution
- G90 G90 Absolute programming
03
- G91 G91 Incremental programming
- G98 G98 Canned cycle : return to initial level
11
- G99 G99 Canned cycle : return to R point level

- 15 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

3 INTERPOLATION FUNCTION
Chapter 3, "INTERPOLATION FUNCTION", consists of the following sections:

3.1 POLAR COORDINATE INTERPOLATION (G12.1, G13.1)...........................................................16


3.2 CONSTANT LEAD THREADING (G32) .........................................................................................24
3.3 VARIABLE LEAD THREADING (G34) ..........................................................................................27
3.4 CIRCULAR THREADING (G35, G36) .............................................................................................28
3.5 CONTINUOUS THREADING...........................................................................................................31
3.6 MULTIPLE THREADING.................................................................................................................32

3.1 POLAR COORDINATE INTERPOLATION (G12.1, G13.1)


Overview
Polar coordinate interpolation is a function that exercises contour control in converting a command
programmed in a Cartesian coordinate system to the movement of a linear axis (movement of a tool) and
the movement of a rotary axis (rotation of a workpiece). This function is useful for grinding a cam shaft.

NOTE
When bit 5 (NPI) of parameter No.8137 is 0, this function can be used.

Format
G12.1; Starts polar coordinate interpolation mode (enables polar coordinate
interpolation).
Specify linear or circular interpolation using coordinates in a Cartesian
coordinate system consisting of a linear axis and rotary axis (hypothetical
axis).
G13.1; Polar coordinate interpolation mode is cancelled (for not performing polar
coordinate interpolation).
Specify G12.1 and G13.1 in Separate Blocks.

Explanation
- Polar coordinate interpolation mode (G12.1)
The axes of polar coordinate interpolation (linear axis and rotary axis) should be specified in advance,
with corresponding parameters. Specifying G12.1 places the system in the polar coordinate interpolation
mode, and selects a plane (called the polar coordinate interpolation plane) formed by one linear axis and a
hypothetical axis intersecting the linear axis at right angles. The linear axis is called the first axis of the
plane, and the hypothetical axis is called the second axis of the plane. Polar coordinate interpolation is
performed in this plane.
In the polar coordinate interpolation mode, both linear interpolation and circular interpolation can be
specified by absolute or incremental programming.
Tool radius compensation can also be performed. The polar coordinate interpolation is performed for a
path obtained after tool radius compensation.
The tangential velocity in the polar coordinate interpolation plane (Cartesian coordinate system) is
specified as the feedrate, using F.

- Polar coordinate interpolation cancel mode (G13.1)


Specifying G13.1 cancels the polar coordinate interpolation mode.

- 16 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

- Polar coordinate interpolation plane


G12.1 starts the polar coordinate interpolation mode and selects a polar coordinate interpolation plane
(Fig. 3.1 (a)). Polar coordinate interpolation is performed on this plane.

Rotary axis (hypothetical axis)


(unit: mm or inch)

Linear axis
(unit: mm or inch)

Origin of the local coordinate system (G52 command)


(Or origin of the workpiece coordinate system)

Fig. 3.1 (a) Polar coordinate interpolation plane

When the power is turned on or the system is reset, polar coordinate interpolation is canceled (G13.1).
The linear and rotation axes for polar coordinate interpolation must be set in parameters Nos. 5460 and
5461 beforehand.

CAUTION
The plane used before G12.1 is specified (plane selected by G17, G18, or G19)
is canceled. It is restored when G13.1 (canceling polar coordinate interpolation)
is specified.
When the system is reset, polar coordinate interpolation is canceled and the
plane specified by G17, G18, or G19 is used.

- Distance moved and feedrate for polar coordinate interpolation


• The unit for coordinates on the hypothetical axis is the same as the unit for the linear axis (mm/inch).
In the polar coordinate interpolation mode, program commands are specified with Cartesian
coordinates on the polar coordinate interpolation plane. The axis address for the rotary axis is used
as the axis address for the second axis (hypothetical axis) in the plane. Whether a diameter or radius
is specified for the first axis in the plane is the same as for the rotary axis regardless of the
specification for the first axis in the plane.
The hypothetical axis is at coordinate 0 immediately after G12.1 is specified. Polar interpolation is
started assuming the rotation angle of 0 for the position of the tool when G12.1 is specified.
Example)
When a value on the X-axis (linear axis) is input in millimeters
G12.1;
G01 X10.0 F1000. ; ...... A 10.0-mm movement is made on the Cartesian coordinate system.
C20.0 ;........................... A 20.0-mm movement is made on the Cartesian coordinate system.
G13.1;

When a value on the X-axis (linear axis) is input in inches


G12.1;
G01 X10.0 F1000. ; .... A 10.0-inch movement is made on the Cartesian coordinate system.
C20.0 ;........................... A 20.0-inch movement is made on the Cartesian coordinate system.
G13.1;

• The unit for the feedrate is mm/min or inch/min.


- 17 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

Specify the feedrate as a speed (relative speed between the workpiece and tool) tangential to the
polar coordinate interpolation plane (Cartesian coordinate system) using F.

- G codes which can be specified in the polar coordinate interpolation mode


G01.......................Linear interpolation
G02, G03..............Circular interpolation
G04.......................Dwell, Exact stop
G40, G41, G42 .....Tool radius compensation (Polar coordinate interpolation is applied to the path
after tool radius compensation.)
G65, G66, G67 .....Custom macro command
G90, G91..............Absolute programming, incremental programming (For G code system B or C)
G94, G95..............Feed per minute, feed per revolution

- Circular interpolation in the polar coordinate plane


The addresses for specifying the radius of an arc for circular interpolation (G02 or G03) in the polar
coordinate interpolation plane depend on the first axis in the plane (linear axis).
• I and J in the Xp-Yp plane when the linear axis is the X-axis or an axis parallel to the X-axis.
• J and K in the Yp-Zp plane when the linear axis is the Y-axis or an axis parallel to the Y-axis.
• K and I in the Zp-Xp plane when the linear axis is the Z-axis or an axis parallel to the Z-axis.
The radius of an arc can be specified also with an R command.

NOTE
The parallel axes U, V, and W can be used in the G code system B or C.

- Movement along axes not in the polar coordinate interpolation plane in the
polar coordinate interpolation mode
The tool moves along such axes normally, independent of polar coordinate interpolation.

- Current position display in the polar coordinate interpolation mode


Actual coordinates are displayed. However, the remaining distance to move in a block is displayed based
on the coordinates in the polar coordinate interpolation plane (Cartesian coordinates).

- Coordinate system for the polar coordinate interpolation


Basically, before G12.1 is specified, a local coordinate system (or workpiece coordinate system) where
the center of the rotary axis is the origin of the coordinate system must be set.
In the G12.1 mode, the coordinate system must not be changed (G50, G52, G53, relative coordinate reset,
G54 through G59, etc.).

- Compensation in the direction of the hypothetical axis in polar coordinate


interpolation
If the first axis of the plane has an error from the center of the rotary axis in the hypothetical axis
direction, in other words, if the rotary axis center is not on the X-axis, the hypothetical axis direction
compensation function in the polar coordinate interpolation mode is used. With the function, the error is
considered in polar coordinate interpolation. The amount of error is specified in parameter No. 5464.

- 18 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

Hypothetical axis (C-axis)

Rotary axis

(X, C)

X-axis
Error in the direction of
hypothetical axis (P)
Center of rotary axis

(X, C) : Point in the X-C plane (The center of the rotary axis is considered to be the origin of
the X-C plane.)
X : X coordinate in the X-C plane
C : Hypothetical axis coordinate in the X-C plane
P : Error in the direction of the hypothetical axis (specified in parameter No. 5464)

- Shifting the coordinate system in polar coordinate interpolation


In the polar coordinate interpolation mode, the workpiece coordinate system can be shifted. The current
position display function shows the position viewed from the workpiece coordinate system before the
shift. The function to shift the coordinate system is enabled when bit 2 (PLS) of parameter No. 5450 is
specified accordingly.
The shift can be specified in the polar coordinate interpolation mode, by specifying the position of the
center of the rotary axis C (A, B) in the X-C (Y-A, Z-B) interpolation plane with reference to the origin of
the workpiece coordinate system, in the following format.

G12.1 X_ C_ ; (Polar coordinate interpolation for the X-axis and C-axis)


G12.1 Y_ A_ ; (Polar coordinate interpolation for the Y-axis and A-axis)
G12.1 Z_ B_ ; (Polar coordinate interpolation for the Z-axis and B-axis)

C
G12.1 Xx Cc ;

Center of C-axis

X
Origin of workpiece
coordinate system x

Limitation
- Changing the coordinate system during polar coordinate interpolation
In the G12.1 mode, the coordinate system must not be changed (G92, G52, G53, relative coordinate reset,
G54 through G59, etc.).

- 19 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

- Tool radius/tool nose radius compensation


The polar coordinate interpolation mode (G12.1 or G13.1) cannot be started or terminated in the tool
radius/tool nose radius compensation mode (G41 or G42). G12.1 or G13.1 must be specified in the tool
radius/tool nose radius compensation canceled mode (G40).
For the tool radius/tool nose radius compensation canceled mode (G40) command, be sure to specify the
polar coordinate axis to cancel the offset vector.
If the polar coordinate interpolation mode (G12.1 or G13.1) is switched without canceling the offset
vector, the alarm PS0037, “CAN NOT CHANGE PLANE IN G41/G42” is occurred.

- Tool offset command


A tool offset must be specified before the G12.1 mode is set. No offset can be changed in the G12.1
mode.

- Program restart
For a block in the G12.1 mode, the program and the block cannot be restarted.

- Cutting feedrate for the rotary axis


Polar coordinate interpolation converts the tool movement for a figure programmed in a Cartesian
coordinate system to the tool movement in the rotary axis (C-axis) and the linear axis (X-axis). When the
tool comes close to the center of the workpiece, the C-axis velocity component increases. If the maximum
cutting feedrate for the C-axis (parameter No. 1430) is exceeded, the automatic feedrate override function
and automatic speed clamp function are enabled.
If the maximum cutting feedrate for the X-axis is exceeded, the automatic feedrate override function and
automatic speed clamp function are enabled.

- 20 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

WARNING
1 Consider lines L1, L2, and L3. ΔX is the distance the tool moves per time unit at
the feedrate specified with address F in the Cartesian coordinate system. As the
tool moves from L1 to L2 to L3, the angle at which the tool moves per time unit
corresponding to ΔX in the Cartesian coordinate system increases from θ1 to θ2
to θ3. In other words, the C-axis component of the feedrate becomes larger as
the tool moves closer to the center of the workpiece. The C component of the
feedrate may exceed the maximum cutting feedrate for the C-axis because the
tool movement in the Cartesian coordinate system has been converted to the
tool movement for the C-axis and the X-axis.
ΔX

θ1 L1
θ2
L2
θ3
L3

L: Distance (in mm) between the tool center and workpiece center when the
tool center is the nearest to the workpiece center
R: Maximum cutting feedrate (deg/min) of the C axis
Then, a speed specifiable with address F in polar coordinate interpolation can be
given by the formula below. If the maximum cutting feedrate for the C-axis is
exceeded, the automatic speed control function for polar coordinate interpolation
automatically controls the feedrate.
π
F<L×R× (mm/min)
180

- Automatic speed control for polar coordinate interpolation


If the velocity component of the rotary axis exceeds the maximum cutting feedrate in the polar coordinate
interpolation mode, the speed is automatically controlled.

- Automatic override
If the velocity component of the rotary axis exceeds the permissible velocity (maximum cutting feedrate
multiplied by the permission factor specified in parameter No. 5463), the feedrate is automatically
overridden as indicated below.
Override = (Permissible velocity) ÷ (Velocity component of rotary axis) × 100(%)

- Automatic speed clamp


If the velocity component of the rotary axis after automatic override still exceeds the maximum cutting
feedrate, the speed of the rotary axis is automatically clamped. As a result, the velocity component of the
rotary axis will not exceed the maximum cutting feedrate.
The automatic speed clamp function works only when the center of the tool is very close to the center of
the rotary axis.

- 21 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

C-axis
[Example]
G90 G00 X10.0 C0. ; D C B A
G12.1 ;
G01 C0.1 F1000 ; X-axis
-10. +10.
X-10.0 :
G13.1 ;

Automatic speed control for polar coordinate interpolation

Suppose that the maximum cutting feedrate of the rotary axis is 360 (3600 deg/min) and that the
permission factor of automatic override for polar coordinate interpolation (parameter No. 5463) is 0
(90%). If the program indicated above is executed, the automatic override function starts working when
the X coordinate becomes 2.273 (point A). The automatic speed clamp function starts working when the
X coordinate becomes 0.524 (point B).
The minimum value of automatic override for this example is 3%. The automatic speed clamp function
continues working until the X coordinate becomes -0.524 (point C). Then, the automatic override
function works until the X coordinate becomes -2.273 (point D).
(The coordinates indicated above are the values in the Cartesian coordinate system.)

NOTE
1 While the automatic speed clamp function is working, the machine lock or
interlock function may not be enabled immediately.
2 If a feed hold stop is made while the automatic speed clamp function is working,
the automatic operation halt signal *SP is output. However, the operation may
not stop immediately.
3 The clamped speed may exceed the clamp value by a few percent.

- 22 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

Example
Sample program for polar coordinate interpolation in a Cartesian coordinate system consisting of the
X-axis (a linear axis) and a hypothetical axis

Hypothetical axis

C axis Path after cutter compensation

Path before cutter compensation

N204 N203

N205
N202 N201 N200
X axis
Tool
N208
N206
N207
Z axis

O0001;
.
N010 T0101
.
N0100 G90 G00 X60.0 C0 Z ; Positioning to start point
N0200 G12.1; Start of polar coordinate interpolation
N0201 G42 G01 X20.0F ;
N0202 C10.0;
N0203 G03 X10.0 C20.0 R10.0;
N0204 G01 X-20.0; Geometry program
N0205 C-10.0; (program based on cartesian coordinates on
N0206 G03 X-10.0 C-20.0 I10.0 J0; X axis-hypothetical axis plane)
N0207 G01 X20.0;
N0208 C0;
N0209 G40 X60.0;
N0210 G13.1; Cancellation of polar coordinate interpolation
N0300 Z ;
N0400 X C ;
.
N0900M30;

- 23 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

3.2 CONSTANT LEAD THREADING (G32)


Tapered screws and scroll threads in addition to equal lead straight threads can be cut by using a G32
command.
The spindle speed is read from the position coder on the spindle in real time and converted to a cutting
feedrate for feed-per minute mode, which is used to move the tool.
L

L L

Straight thread Tapered screw Scroll thread

Fig. 3.2 (a) Thread types

Format
G32IP_F_; X axis
End point_
IP_: End point
F _: Lead of the long axis
(always radius programming)
δ2
X α Start point
Z
δ1
Z axis
0

Fig. 3.2 (b) Example of threading

Explanation
In general, threading is repeated along the same tool path in rough cutting through finish cutting for a
screw. Since threading starts when the position coder mounted on the spindle outputs a
one-spindle-rotation signal, threading is started at a fixed point and the tool path on the workpiece is
unchanged for repeated threading. Note that the spindle speed must remain constant from rough cutting
through finish cutting. If not, incorrect thread lead will occur.

- 24 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION
X

Tapered thread

LX

Z
LZ

α≤45° lead is LZ
α≥45° lead is LX

Fig. 3.2 (c) LZ and LX of a tapered thread

In general, the lag of the servo system, etc. will produce somewhat incorrect leads at the starting and
ending points of a thread cut. To compensate for this, a threading length somewhat longer than required
should be specified.
Table 3.2 (a) lists the ranges for specifying the thread lead.

Table 3.2 (a) Ranges of lead sizes that can be specified


Least command increment
Metric input 0.0001 to 500.0000 mm
Inch input 0.000001 to 9.999999 inch

- Continuous threading
The "continuous threading" is effective for G32.

- 25 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

Example
1. Straight threading

The following values are used in programming :


Thread lead :4mm
X axis δ1=3mm
30mm
δ2=1.5mm
Depth of cut :1mm (cut twice)
δ1 (Metric input, diameter programming)
δ2
G00 U-62.0 ;
Z axis G32 W-74.5 F4.0 ;
G00 U62.0 ;
W74.5 ;
U-64.0 ;
(For the second cut, cut 1mm more)
70
G32 W-74.5 ;
G00 U64.0 ;
W74.5 ;

2.Tapered threading

The following values are used in programming :


Thread lead : 3.5mm in the direction of the Z axis
δ1=2mm
X axis δ2=1mm
Cutting depth in the X axis direction is 1mm (cut twice)
φ50 δ2 (Metric input, diameter programming)
G00 X 12.0 Z72.0 ;
φ43 G32 X 41.0 Z29.0 F3.5 ;
δ1 G00 X 50.0 ;
Z 72.0 ;
0 Z axis X 10.0 ;
φ14 (Cut 1mm more for the second cut)
G32 X 39.0 Z29.0 ;
G00 X 50.0 ;
Z 72.0 ;
30 40

WARNING
1 Feedrate override is effective (fixed at 100%) during threading.
2 It is very dangerous to stop feeding the thread cutter without stopping the
spindle. This will suddenly increase the cutting depth. Thus, the feed hold
function is ineffective while threading. If the feed hold button is pressed during
threading, the tool will stop after a block not specifying threading is executed as
if the SINGLE BLOCK button were pushed. However, the feed hold lamp (SPL
lamp) lights when the FEED HOLD button on the machine control panel is
pushed. Then, when the tool stops, the lamp is turned off (Single Block stop
status).
3 When the FEED HOLD button is pressed again in the first block after threading
mode that does not specify threading (or the button has been held down), the
tool stops immediately at the block that does not specify threading.
4 When threading is executed in the single block status, the tool stops after
execution of the first block not specifying threading.

- 26 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

WARNING
5 When the mode was changed from automatic operation to manual operation
during threading, the tool stops at the first block not specifying threading as
when the feed hold button is pushed as mentioned in Warning 3.
However, when the mode is changed from one automatic operation mode to
another, the tool stops after execution of the block not specifying threading as for
the single block mode in Note 4.
6 When the previous block was a threading block, cutting will start immediately
without waiting for detection of the one-spindle-rotation signal even if the present
block is a threading block.
(Example)
G00 Z0.0 X50.0 ; One-rotation signal is
G32 Z10.0 F_ ; : Detected
Z20.0 ; : Not detected
G32 Z30.0 ; : Not detected
7 Because the constant surface speed control is effective during scroll thread or
tapered screw cutting and the spindle speed changes, the correct thread lead
may not be cut. Therefore, do not use the constant surface speed control during
threading. Instead, use G97.
8 A movement block preceding the threading block must not specify chamfering or
corner R.
9 A threading block must not specifying chamfering or corner R.
10 The spindle speed override function is disabled during threading. The spindle
speed is fixed at 100%.
11 Thread cycle retract function is ineffective to G32.
12 If tool offset (with the T code or G43.7) is specified in during of the threading
mode, or in a block for threading, alarm PS0509, “TOOL OFFSET COMMAND
IS NOT AVAILABLE”, is issued.

3.3 VARIABLE LEAD THREADING (G34)


Specifying an increment or a decrement value for a lead per screw revolution enables variable lead
threading to be performed.

Fig. 3.3 (a) Variable lead screw

NOTE
When bit 1 (NVL) of parameter No.8137 is 0, this function can be used.

- 27 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

Format
G34 IP_ F_ K_ Q_ ;
IP_ : End point
F_ : Lead in longitudinal axis direction at the start point
K_ : Increment and decrement of lead per spindle revolution
Q_ : Shift amount of starting angle of thread cutting

Explanation
Address other than K are the same as in straight/taper thread cutting with G32.
The K value depends on the increment system of the reference axis, as indicated in Table 3.3 (a).
If the specified K value exceeds the range indicated in Table 3.3 (a), if the maximum lead is exceeded
after a change due to the K value, or if the lead value is negative, an alarm PS0313, "ILLEGAL LEAD
COMMAND", will be issued.

Table 3.3 (a) Range of valid K values


Increment system
Metric input (mm/rev) Inch input (inch/rev)
of reference axis
IS-A ±0.001 to ±500.000 ±0.00001 to ±50.00000
IS-B ±0.0001 to ±500.0000 ±0.000001 to ±50.000000
IS-C ±0.00001 to ±50.00000 ±0.0000001 to ±5.0000000

Table3.3 (b) Range of valid lead values


Metric input (mm) Inch input (inch)
0.0001 to 500.0000 0.000001 to 50.000000

- Continuous threading
The "continuous threading" is effective for G34.

CAUTION
The "thread cutting cycle retract" is not effective for G34.

Example
Lead at the start point: 8.0 mm
Lead increment: 0.3 mm/rev
G34 Z-72.0 F8.0 K0.3 ;

3.4 CIRCULAR THREADING (G35, G36)


Using the G35 and G36 commands, a circular thread, having the specified lead in the direction of the
major axis, can be machined.
L

L: Lead

Fig. 3.4 (a) Circular threading

- 28 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

NOTE
This function is an optional function.

Format
A sample format for the G18 plane (Z-X plane) is indicated below. When using the format for the G17
plane (X-Y plane), change the addresses Z, X, K, and I to X, Y, I, and J respectively. When using the
format for the G19 plane (Y-Z plane), change the addresses Z, X, K, and I to Y, Z, J, and K respectively.

G35 I_ K_
X(U)_ Z(W)_ F_ Q_ ;
G36 R_

G35 : Clockwise circular threading command


G36 : Counterclockwise circular threading command

X(U), Z(W) : Specify the arc end point (in the same way as for G02, G03).

I, K : Specify the arc center relative to the start point, using relative coordinates (in the
same way as for G02, G03).
R : Specify the arc radius.
F : Specify the lead in the direction of the major axis.
Q : Specify the shift of the threading start angle
(0° to 360°, with least input increment of 0.001)
(The value cannot be programmed with a decimal point.)

X F

Start point
End point (Z, X)

I R
Z

K
Arc center

Explanation
- Specifying the arc radius
If R is specified with I and K, only R is effective.

- Shift angle
If an angle greater than 360° is programmed, it is set to 360°.

- Continuous threading
The "continuous threading" is effective for G35, G36.

- Thread cutting cycle retract


The "thread cutting cycle retract" is not effective for G35, G36.

- 29 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

- Automatic tool compensation


The G36 command is used to specify the following two functions: Automatic tool compensation X and
counterclockwise circular threading. The function for which G36 is to be used depends on bit 3 (G36) of
parameter No. 3405.
• When parameter G36 is set to 0, the G36 command is used for automatic tool compensation X.
• When parameter G36 is set to 1, the G36 command is used for counterclockwise circular threading.
G37.1 can be used to specify automatic tool compensation X and G37.2 can be used to specify automatic
tool compensation Z.
(Specification method)
G37.1 X_
G37.2 Z_

• G code when bit 3 (G36) of parameter No. 3405 is set to 1


G code G code group Function
G35 Clockwise circular threading
01
G36 Counterclockwise circular threading
G37 Automatic tool compensation Z
G37.1 00 Automatic tool compensation X
G37.2 Automatic tool compensation Z

Limitation
- Range of specifiable arc
An arc must be specified such that it falls within a range in which the major axis of the arc is always the
Z-axis or always the X-axis, as shown in Fig. 3.4 (b) and Fig. 3.4 (c). If the arc includes a point at which
the major axis changes from the X-axis to Z-axis, or vice versa, as shown in Fig. 3.4 (d), an alarm PS5058,
"G35/G36 FORMAT ERROR", is issued.
X

Start point End point

Z
45°

Fig. 3.4 (b) Range in which the Z-axis is the major axis

Start point

45°

End point

Fig. 3.4 (c) Range in which the X-axis is the major axis
- 30 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION

Start point The major axis changes at this point.

End point

Z
45°

Fig. 3.4 (d) Example of arc specification which causes an alarm

- End point not on an arc


If the end point is not on an arc, a movement on an axis is made to a position of which coordinate matches
the corresponding coordinate of the end point. Then, a movement is made on another axis to reach the end
point.

End point

End point

r
r
Center Center
Start point
Start point

Fig. 3.4 (e) Movement when the end point is not on an arc

3.5 CONTINUOUS THREADING


Threading blocks can be programmed successively to eliminate a discontinuity due to a discontinuous
movement in machining by adjacent blocks.

Explanation
Since the system is controlled in such a manner that the synchronism with the spindle does not deviate in
the joint between blocks wherever possible, it is possible to performed special threading operation in
which the lead and shape change midway.

G32 G32
G32

Fig. 3.5 (a) Continuous threading (Example of G32 in G code system A)

Even when the same section is repeated for threading while changing the depth of cut, this system allows
a correct machining without impairing the threads.

- 31 -
3.INTERPOLATION FUNCTION PROGRAMMING B-64604EN-1/01

- Available threading commands


G32: Constant lead threading (G code system A)
G33: Constant lead threading (G code system B/C)
G34: Variable lead threading
G35, G36: Circular threading

- Start angle
The address Q (Angle for shifting the threading start angle) is only effective the first threading command
block of continuous threading.
In the continuous threading, the addresses Q of the threading in the blocks after the first are ignored.

3.6 MULTIPLE THREADING


Using the Q address to specify an angle between the one-spindle-rotation signal and the start of threading
shifts the threading start angle, making it possible to produce multiple-thread screws with ease.

L : Lead

Fig. 3.6 (a) Multiple thread screws.

Format
(Constant lead threading)
G32 IP _ F_ Q_ ;
IP : End point
F_ : Lead in longitudinal direction
G32 IP _ Q_ ;
Q_ : Angle for shifting the threading start angle
(Increment: 0.001 degrees, Valid setting range: 0 to 360 degrees)

Explanation
- Available threading commands
G32: Constant lead threading
G34: Variable lead threading
G35, G36: Circular threading
G76/G78: Multiple threading cycle (Only when the FS10/11 tape format is used.)
G92: Threading cycle

Limitation
- Start angle
The start angle is not a continuous state (modal) value. It must be specified each time it is used. If a value
is not specified, 0 is assumed.

- Start angle increment


The start angle (Q) increment is 0.001 degrees. Note that no decimal point can be specified.
Example:
- 32 -
B-64604EN-1/01 PROGRAMMING 3.INTERPOLATION FUNCTION
For a shift angle of 180 degrees, specify Q180000.
Q180.000 cannot be specified, because it contains a decimal point.
Note: Q1 is the command of 0.001 degree for the angle for shifting the threading start angle, regardless of
the setting of the followings.
- Increment system IS-A/B/C(Parameter No.1013#1,#0)

- Pocket calculator type decimal point programming (Bit 0(DPI) of parameter No.3401)

- The least input increment is 10 times greater than the least command increment (Bit 7(IPR) of

parameter No.1004)

- Specifiable start angle range


A start angle (Q) of between 0 and 360000 (in 0.001-degree units) can be specified. If a value greater than
360000 (360 degrees) is specified, it is rounded down to 360000 (360 degrees).
If a minus value is specified, it works as a plus value.
Example:
If Q-90000 (-90 degrees) is specified, it works as Q90000 (90 degrees).

- Multiple threading cycle (G76 (G code system A/B)) (G78 (G code system C))
The address Q of the G76/G78 multiple threading cycle command is used for the minimum cutting depth
or the depth of cut in 1st cut. For this reason, the angle for shifting the threading start angle can not be
commanded.
However, if the FS10/11 tape format is used, in G76/G78 multiple threading cycle, the address Q is
possible to specify the angle for shifting the threading start angle.

Example
Program for producing double-threaded screws (with start angles of 0 and 180
degrees)
X40.0 ;
W-38.0 F4.0 Q0 ;
X72.0 ;
W38.0 ;
X40.0 ;
W-38.0 F4.0Q180000 ;
X72.0 ;
W38.0 ;

- 33 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4 FUNCTIONS TO SIMPLIFY PROGRAMMING


Chapter 4, "FUNCTIONS TO SIMPLIFY PROGRAMMING", consists of the following sections:

4.1 CANNED CYCLE (G90, G92, G94)..................................................................................................34


4.2 MULTIPLE REPETITIVE CANNED CYCLE (G70-G76) ...............................................................52
4.3 CANNED CYCLE FOR DRILLING .................................................................................................91
4.4 RIGID TAPPING..............................................................................................................................106
4.5 CANNED GRINDING CYCLE (FOR GRINDING MACHINE)....................................................119
4.6 CHAMFERING AND CORNER R ..................................................................................................129
4.7 MIRROR IMAGE FOR DOUBLE TURRET (G68, G69) ...............................................................135
4.8 DIRECT DRAWING DIMENSION PROGRAMMING .................................................................136

4.1 CANNED CYCLE (G90, G92, G94)


There are three canned cycles : the outer diameter/internal diameter cutting canned cycle (G90), the
threading canned cycle (G92), and the end face turning canned cycle (G94).

NOTE
1 Explanatory figures in this section use the ZX plane as the selected plane,
diameter programming for the X-axis, and radius programming for the Z-axis.
When radius programming is used for the X-axis, change U/2 to U and X/2 to X.
2 A canned cycle can be performed on any plane (including parallel axes for plane
definition). When G-code system A is used, however, U, V, and W cannot be set
as a parallel axis.
3 The direction of the length means the direction of the first axis on the plane as
follows:
ZX plane: Z-axis direction
YZ plane: Y-axis direction
XY plane: X-axis direction
4 The direction of the end face means the direction of the second axis on the
plane as follows:
ZX plane: X-axis direction
YZ plane: Z-axis direction
XY plane: Y-axis direction

- 34 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.1.1 Outer Diameter/Internal Diameter Cutting Cycle (G90)


This cycle performs straight or taper cutting in the direction of the length.

4.1.1.1 Straight cutting cycle


Format
G90X(U)_Z(W)_F_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.1.1 (a)) in the direction
of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.1.1 (a)) in the
direction of the length
F_ : Cutting feedrate

X axis
(R)....Rapid traverse
Z (F) ....Cutting feed
W
4(R)
A
3(F) 2(F) 1(R) U/2
A’
X/2
Z axis

Fig. 4.1.1.1 (a) Straight cutting cycle

Explanation
- Operations
A straight cutting cycle performs four operations:
(1) Operation 1 moves the tool from the start point (A) to the specified coordinate of the second axis on
the plane (specified X-coordinate for the ZX plane) in rapid traverse.
(2) Operation 2 moves the tool to the specified coordinate of the first axis on the plane (specified
Z-coordinate for the ZX plane) in cutting feed. (The tool is moved to the cutting end point (A') in the
direction of the length.)
(3) Operation 3 moves the tool to the start coordinate of the second axis on the plane (start X-coordinate
for the ZX plane) in cutting feed.
(4) Operation 4 moves the tool to the start coordinate of the first axis on the plane (start Z-coordinate for
the ZX plane) in rapid traverse. (The tool returns to the start point (A).)

NOTE
In single block mode, operations 1, 2, 3 and 4 are performed by pressing the
cycle start button once.

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- 35 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.1.1.2 Taper cutting cycle


Format
G90 X(U)_Z(W)_R_F_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.1.2 (a)) in the direction
of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.1.2 (a)) in the
direction of the length
R_ : Taper amount (R in the Fig. 4.1.1.2 (a))
F_ : Cutting feedrate

X a xis
(R ) ....R apid trave rse
4(R ) (F ) ....C utting feed
A
3(F )
U /2 1(R )
A’
2(F )
R
X/2 W
Z
Z axis

Fig. 4.1.1.2 (a) Taper cutting cycle

Explanation
The figure of a taper is determined by the coordinates of the cutting end point (A') in the direction of the
length and the sign of the taper amount (address R). For the cycle in the Fig. 4.1.1.2 (a), a minus sign is
added to the taper amount.

NOTE
The increment system of address R for specifying a taper depends on the
increment system for the reference axis. Specify a radius value at R.

- Operations
A taper cutting cycle performs the same four operations as a straight cutting cycle.
However, operation 1 moves the tool from the start point (A) to the position obtained by adding the taper
amount to the specified coordinate of the second axis on the plane (specified X-coordinate for the ZX
plane) in rapid traverse.
Operations 2, 3, and 4 after operation 1 are the same as for a straight cutting cycle.

NOTE
In single block mode, operations 1, 2, 3, and 4 are performed by pressing the
cycle start button once.

- Relationship between the sign of the taper amount and tool path
The tool path is determined according to the relationship between the sign of the taper amount (address R)
and the cutting end point in the direction of the length in the absolute or incremental programming as
Table 4.1.1.2 (a).
- 36 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Table 4.1.1.2 (a)


Outer diameter machining Internal diameter machining
1. U < 0, W < 0, R < 0 2. U > 0, W < 0, R > 0

X X

Z W
Z
4(R)
2(F)
R
U/2 3(F) 1(R)

X U/2 3(F) 1(R)


R
X 2(F)
W 4(R)

3. U < 0, W < 0, R > 0 4. U > 0, W < 0, R < 0


at |R|≤|U/2| at |R|≤|U/2|

X X
Z Z W
4(R)

1(R) R
2(F)
U/2 X U/2 3(F)
3(F)
2(F) 1(R)
R
4(R)
X W

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

4.1.2 Threading Cycle (G92)

4.1.2.1 Straight threading cycle


Format
G92 X(U)_Z(W)_F_Q_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.2.1 (a)) in the direction
of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.2.1 (a)) in the
direction of the length
Q_ : Angle for shifting the threading start angle
(Increment: 0.001 degrees, Valid setting range: 0 to 360 degrees)
F_ : Thread lead (L in the Fig. 4.1.2.1 (a))

- 37 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

X axis
Z W

3(R) 4(R) A
2(F) 1(R) U/2
A’
X/2
Z axis
(R) ... Rapid traverse
(F).... Cutting feed

Approx.
(The chamfered angle in the left figure is 45
45°
degrees or less because of the delay in the
r servo system.)

Detailed chamfered thread

Fig. 4.1.2.1 (a) Straight threading

Explanation
The ranges of thread leads and restrictions related to the spindle speed are the same as for threading with
G32.

- Operations
A straight threading cycle performs four operations:
(1) Operation 1 moves the tool from the start point (A) to the specified coordinate of the second axis on
the plane (specified X-coordinate for the ZX plane) in rapid traverse.
(2) Operation 2 moves the tool to the specified coordinate of the first axis on the plane (specified
Z-coordinate for the ZX plane) in cutting feed. At this time, thread chamfering is performed.
(3) Operation 3 moves the tool to the start coordinate of the second axis on the plane (start X-coordinate
for the ZX plane) in rapid traverse. (Retraction after chamfering)
(4) Operation 4 moves the tool to the start coordinate of the first axis on the plane (start Z-coordinate for
the ZX plane) in rapid traverse. (The tool returns to the start point (A).)

CAUTION
Notes on this threading are the same as in threading in G32. However, a stop by
feed hold is as follows; Stop after completion of path 3 of threading cycle.

NOTE
In the single block mode, operations 1, 2, 3, and 4 are performed by pressing
cycle start button once.

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- Acceleration/deceleration after interpolation for threading


Acceleration/deceleration after interpolation for threading is acceleration/deceleration of exponential
interpolation type. By setting bit 5 (THLx) of parameter No. 1610, the same acceleration/deceleration as
for cutting feed can be selected. (The settings of bits 1 (CTBx) and 0 (CTLx) of parameter No. 1610 are
followed.) However, as a time constant and FL feedrate, the settings of parameter No. 1626 and No. 1627
for the threading cycle are used.

- 38 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Time constant and FL feedrate for threading


The time constant for acceleration/deceleration after interpolation for threading specified in parameter No.
1626 and the FL feedrate specified in parameter No. 1627 are used.
The FL feedrate is valid only for exponential acceleration/deceleration after interpolation.

- Thread chamfering
Thread chamfering can be performed. A signal from the machine tool, initiates thread chamfering. The
chamfering distance r is specified in a range from 0.1L to 12.7L in 0.1L increments by parameter No.
5130. (In the above expression, L is the thread lead.)
A thread chamfering angle between 1 to 89 degrees can be specified in parameter No. 5131. When a
value of 0 is specified in the parameter, an angle of 45 degrees is assumed.
For thread chamfering, the same type of acceleration/deceleration after interpolation, time constant for
acceleration/deceleration after interpolation, and FL feedrate as for threading are used.

NOTE
Common parameters for specifying the amount and angle of thread chamfering
are used for this cycle and threading cycle with G76.

- Retraction after chamfering


The Table 4.1.2.1 (a) lists the feedrate, type of acceleration/deceleration after interpolation, and time
constant of retraction after chamfering.

Table 4.1.2.1 (a)


Bit 0 (CFR) of Parameter No.
Description
parameter No. 1611 1466
Uses the type of acceleration/deceleration after interpolation for threading,
0 Other than 0 time constant for threading (parameter No. 1626), FL feedrate (parameter
No. 1627), and retraction feedrate specified in parameter No. 1466.
Uses the type of acceleration/deceleration after interpolation for threading,
0 0 time constant for threading (parameter No. 1626), FL feedrate (parameter
No. 1627), and rapid traverse rate specified in parameter No. 1420.
Before retraction a check is made to see that the specified feedrate has
become 0 (delay in acceleration/deceleration is 0), and the type of
1 acceleration/deceleration after interpolation for rapid traverse is used
together with the rapid traverse time constant and the rapid traverse rate
(parameter No. 1420).

By setting bit 4 (ROC) of parameter No. 1403 to 1, rapid traverse override can be disabled for the feedrate
of retraction after chamfering.

NOTE
During retraction, the machine does not stop with an override of 0% for the
cutting feedrate regardless of the setting of bit 4 (RF0) of parameter No. 1401.

- Shifting the start angle


Address Q can be used to shift the threading start angle.
The start angle (Q) increment is 0.001 degrees and the valid setting range is between 0 and 360 degrees.
No decimal point can be specified.

- 39 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Feed hold in a threading cycle (Threading cycle retract)


When feed hold is applied during threading (operation 2), the tool immediately retracts with chamfering
and returns to the start point on the second axis (X-axis), then the first axis (Z-axis) on the plane.
X a xis O rdinary cycle

M otion at feed hold


Z axis Start point

R apid traverse

C utting feed

F eed hold is effected here.

The chamfered angle is the same as that at the end point.

CAUTION
Another feed hold cannot be made during retreat.

- Inch threading
Inch threading specified with address E is not allowed.

4.1.2.2 Taper threading cycle


Format
G92 X(U)_Z(W)_R_F_Q_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.2.2 (a)) in the direction
of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.2.2 (a)) in the
direction of the length
Q_ : Angle for shifting the threading start angle
(Increment: 0.001 degrees, Valid setting range: 0 to 360 degrees)
R_ : Taper amount (R in the Fig. 4.1.2.2 (a))
F_ : Thread lead (L in the Fig. 4.1.2.2 (a))

- 40 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

X axis

Z W

A
4(R)
U/2 (R) ....Rapid traverse
3(R) 1(R)
A’ (F) ....Cutting feed

2(F)
R
X/2

Z axis

(The chamfered angle in the left figure


is 45 degrees or less because of the
Approx. 45°
delay in the servo system.)

Detailed chamfered thread

Fig. 4.1.2.2 (a) Taper threading cycle

Explanation
The ranges of thread leads and restrictions related to the spindle speed are the same as for threading with
G32.
The figure of a taper is determined by the coordinates of the cutting end point (A') in the direction of the
length and the sign of the taper amount (address R). For the cycle in the Fig. 4.1.2.2 (a), a minus sign is
added to the taper amount.

NOTE
The increment system of address R for specifying a taper depends on the
increment system for the reference axis. Specify a radius value at R.

- Operations
A taper threading cycle performs the same four operations as a straight threading cycle.
However, operation 1 moves the tool from the start point (A) to the position obtained by adding the taper
amount to the specified coordinate of the second axis on the plane (specified X-coordinate for the ZX
plane) in rapid traverse.
Operations 2, 3, and 4 after operation 1 are the same as for a straight threading cycle.

CAUTION
Notes on this threading are the same as in threading in G32. However, a stop by
feed hold is as follows; Stop after completion of path 3 of threading cycle.

- 41 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

NOTE
In the single block mode, operations 1, 2, 3, and 4 are performed by pressing
cycle start button once.

- Relationship between the sign of the taper amount and tool path
The tool path is determined according to the relationship between the sign of the taper amount (address R)
and the cutting end point in the direction of the length in the absolute or incremental programming as
Table 4.1.2.2 (a).

Table 4.1.2.2 (a)


Outer diameter machining Internal diameter machining
1. U < 0, W < 0, R < 0 2. U > 0, W < 0, R > 0

X X

Z W
Z
4(R)
2(F)
R
U/2 3(F) 1(R)

X U/2 3(F) 1(R)


R
X 2(F)
W 4(R)

3. U < 0, W < 0, R > 0 4. U > 0, W < 0, R < 0


at |R|≤|U/2| at |R|≤|U/2|

X X
Z Z W
4(R)

1(R) R
2(F)
U/2 X U/2 3(F)
3(F)
2(F) 1(R)
R
4(R)
W
X

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- Acceleration/deceleration after interpolation for threading


- Time constant and FL feedrate for threading
- Thread chamfering
- Retraction after chamfering
- Shifting the start angle
- Threading cycle retract
- Inch threading
See the pages on which a straight threading cycle is explained.

- 42 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.1.3 End Face Turning Cycle (G94)

4.1.3.1 Face cutting cycle


Format
G94 X(U)_Z(W)_F_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.3.1 (a)) in the direction
of the end face
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.3.1 (a)) in the
direction of the end face
F_ : Cutting feedrate

X a xis

1 (R ) (R ) ... R a p id tra v e rs e
A (F ).... C u ttin g fe e d

2 (F ) 4 (R )
U /2

A’ 3 (F )

X /2 W
Z a x is

Fig. 4.1.3.1 (a) Face cutting cycle

Explanation
- Operations
A face cutting cycle performs four operations:
(1) Operation 1 moves the tool from the start point (A) to the specified coordinate of the first axis on the
plane (specified Z-coordinate for the ZX plane) in rapid traverse.
(2) Operation 2 moves the tool to the specified coordinate of the second axis on the plane (specified
X-coordinate for the ZX plane) in cutting feed. (The tool is moved to the cutting end point (A') in
the direction of the end face.)
(3) Operation 3 moves the tool to the start coordinate of the first axis on the plane (start Z-coordinate for
the ZX plane) in cutting feed.
(4) Operation 4 moves the tool to the start coordinate of the second axis on the plane (start X-coordinate
for the ZX plane) in rapid traverse. (The tool returns to the start point (A).)

NOTE
In single block mode, operations 1, 2, 3, and 4 are performed by pressing the
cycle start button once.

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- 43 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.1.3.2 Taper cutting cycle


Format
G94 X(U)_Z(W)_R_F_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 4.1.3.2 (a)) in the direction
of the end face
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 4.1.3.2 (a)) in the
direction of the end face
R_ : Taper amount (R in the Fig. 4.1.3.2 (a))
F_ : Cutting feedrate

X axis

1(R)
A
(R) ... Rapid traverse
2(F) 4(R) (F) ... Cutting feed
U/2

A’ 3(F)

X/2 R W
Z axis
Z

Fig. 4.1.3.2 (a) Taper cutting cycle

Explanation
The figure of a taper is determined by the coordinates of the cutting end point (A') in the direction of the
end face and the sign of the taper amount (address R). For the cycle in the Fig. 4.1.3.2 (a), a minus sign is
added to the taper amount.

NOTE
The increment system of address R for specifying a taper depends on the
increment system for the reference axis. Specify a radius value at R.

- Operations
A taper cutting cycle performs the same four operations as a face cutting cycle.
However, operation 1 moves the tool from the start point (A) to the position obtained by adding the taper
amount to the specified coordinate of the first axis on the plane (specified Z-coordinate for the ZX plane)
in rapid traverse.
Operations 2, 3, and 4 after operation 1 are the same as for a face cutting cycle.

NOTE
In single block mode, operations 1, 2, 3, and 4 are performed by pressing the
cycle start button once.

- 44 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Relationship between the sign of the taper amount and tool path
The tool path is determined according to the relationship between the sign of the taper amount (address R)
and the cutting end point in the direction of the end face in the absolute or incremental programming as
Table 4.1.3.2 (a).

Table 4.1.3.2 (a)


Outer diameter machining Internal diameter machining
1. U < 0, W < 0, R < 0 2. U > 0, W < 0, R < 0

X X Z
1(R)
Z R W
Z

3(F)
U/2 2(F) 4(R)
U/2 2(F) 4(R)
3(F)
1(R)
R W
Z

3. U < 0, W < 0, R > 0 4. U > 0, W < 0, R > 0


at |R|≤|W| at |R|≤|W|

X X W
R
Z Z
3(F)
1(R)
2(F) 4(R)
U/2 4(R) U/2
2(F)
1(R)
3(F)
Z Z R
W

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

4.1.4 How to Use Canned Cycles (G90, G92, G94)


An appropriate canned cycle is selected according to the shape of the material and the shape of the
product.

- Straight cutting cycle (G90)


Shape of material

Shape of
product

- 45 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Taper cutting cycle (G90)

Shape of material

Shape of product

- Face cutting cycle (G94)

Shape of material

Shape of product

- Face taper cutting cycle (G94)

Shape of material

Shape of product

- 46 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.1.5 Canned Cycle and Tool Nose Radius Compensation


When tool nose radius compensation is applied, the tool nose center path and offset direction are as
shown below. At the start point of a cycle, the offset vector is canceled. Offset start-up is performed for
the movement from the start point of the cycle. The offset vector is temporarily canceled again at the
return to the cycle start point and offset is applied again according to the next move command. The offset
direction is determined depending of the cutting pattern regardless of the G41 or G42 mode.

Outer diameter/internal diameter cutting cycle (G90)


Tool nose radius center path Offset direction

0
Tool nose radius
center path 8 3
Total tool nose 4

5 7

1 2
6

Total tool nose Total tool


nose

Programmed path

End face cutting cycle (G94)


Tool nose radius center path Offset direction

Tool nose radius 0


center path 8
Total tool nose 4 3

5 7

1 6 2

Total tool nose Total tool


nose

Programmed path

Threading cycle (G92)


Tool nose radius compensation cannot be applied.

- 47 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Differences between this CNC and the FANUC Series 0i-C


NOTE
This CNC is the same as the FANUC Series 0i-C in the offset direction, but
differs from the series in the tool nose radius center path.
- For this CNC
Cycle operations of a canned cycle are replaced with G00 or G01. In the first
block to move the tool from the start point, start-up is performed. In the last
block to return the tool to the start point, offset is canceled.
- For the FANUC Series 0i-C
This series differs from this CNC in operations in the block to move the tool
from the start point and the last block to return it to the start point. For details,
refer to "FANUC Series 0i-C Operator's Manual."

How compensation is applied for the FANUC Series 0i-C


G90 G94
Tool nose radius center path Tool nose radius center path
4,8,3 0 4,8,3 0
8 8
5,0,7 4 3 5,0,7 4 3

5 7 5 7

2 1 2
1,6,2 1 6 1,6,2 6
Total tool
Total tool 4,5,1 8,0,6 nose 4,5,1 8,0,6
nose
3,7,2 3,7,2

Programmed path Programmed path

4.1.6 Restrictions on Canned Cycles


Limitation
- Modal
Since data items X (U), Z (W), and R in a canned cycle are modal values common to G90, G92, and G94.
For this reason, if a new X (U), Z (W), or R value is not specified, the previously specified value is
effective.
Thus, when the travel distance along the Z-axis does not vary as shown in the program example below, a
canned cycle can be repeated only by specifying the travel distance along the X-axis.

- 48 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Example
X axis 66

4
8 12
16

Workpiece
0

The cycle in the above figure is executed by the following program:


N030 G90 U-8.0 W-66.0 F0.4;
N031 U-16.0;
N032 U-24.0;
N033 U-32.0;

The modal values common to canned cycles are cleared when a one-shot G code other than G04 is
specified.
Since the canned cycle mode is not canceled by specifying a one-shot G code, a canned cycle can be
performed again by specifying modal values. If no modal values are specified, no cycle operations are
performed.
When G04 is specified, G04 is executed and no canned cycle is performed.

- Block in which no move command is specified


In a block in which no move command is specified in the canned cycle mode, a canned cycle is also
performed. For example, a block containing only EOB or a block in which none of the M, S, and T codes,
and move commands are specified is of this type of block. When an M, S, or T code is specified in the
canned cycle mode, the corresponding M, S, or T function is executed together with the canned cycle. If
this is inconvenient, specify a group 01 G code (G00 or G01) other than G90, G92, or G94 to cancel the
canned cycle mode, and specify an M, S, or T code, as in the program example below. After the
corresponding M, S, or T function has been executed, specify the canned cycle again.

Example
N003 T0101;
:
:
N010 G90 X20.0 Z10.0 F0.2;
N011 G00 T0202; ← Cancels the canned cycle mode.
N012 G90 X20.5 Z10.0;

- Plane selection command


Specify a plane selection command (G17, G18, or G19) before setting a canned cycle or specify it in the
block in which the first canned cycle is specified.
If a plane selection command is specified in the canned cycle mode, the command is executed, but the
modal values common to canned cycles are cleared.
If an axis which is not on the selected plane is specified, alarm PS0330, “ILLEGAL AXIS COMMAND
IS IN THE TURNING CANNED CYCLE” is issued.

- Parallel axis
When G code system A is used, U, V, and W cannot be specified as a parallel axis.

- 49 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Reset
If a reset operation is performed during execution of a canned cycle when any of the following states for
holding a modal G code of group 01 is set, the modal G code of group 01 is replaced with the G01 mode:
• Reset state (bit 6 (CLR) of parameter No. 3402 = 0)
• Cleared state (bit 6 (CLR) of parameter No. 3402 = 1) and state where the modal G code of group 01
is held at reset time (bit 1 (C01) of parameter No. 3406 = 1)
Example of operation)
If a reset is made during execution of a canned cycle (X0 block) and the X20.Z1. command is
executed, linear interpolation (G01) is performed instead of the canned cycle.

- Manual intervention
After manual intervention is performed with the manual absolute on command before the execution of a
canned cycle or after the stop of the execution, when a cycle operation starts, the manual intervention
amount is canceled even with an incremental cycle start command.

Example of G94
Cancellation
Manual intervention
1(R)

2(F) 4(R)

3(F)

- 50 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.2 MULTIPLE REPETITIVE CANNED CYCLE (G70-G76)


The multiple repetitive canned cycle is canned cycles to make CNC programming easy. For instance, the
data of the finish work shape describes the tool path for rough machining. And also, a canned cycles for
the threading is available.

NOTE
1 When bit 3 (NMR) of parameter No.8137 is 0, "Multiple repetitive canned cycle"
can be used.
Though, a canned grinding cycle and multiple repetitive canned cycle cannot be
used simultaneously. When the canned grinding cycle (the option, "Grinding
function A" or "Grinding function B") is enabled, the multiple repetitive canned
cycle is disabled.
2 Explanatory figures in this section use the ZX plane as the selected plane,
diameter programming for the X-axis, and radius programming for the Z-axis.
When radius programming is used for the X-axis, change U/2 to U and X/2 to X.
3 A multiple repetitive canned cycle can be performed on any plane (including
parallel axes for plane definition). When G-code system A is used, however, U,
V, and W cannot be set as a parallel axis.

- 51 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.1 Stock Removal in Turning (G71)


There are two types of stock removals in turning : Type I and II.

Format
ZpXp plane
G71 U(Δd) R(e) ;
G71 P(ns) Q(nf) U(Δu) W(Δw) F(f ) S(s ) T(t ) ;
N (ns) ; The move commands for the target figure from A
... to A’ to B are specified in the blocks with
N (nf) ; sequence numbers ns to nf.
YpZp plane
G71 W(Δd) R(e) ;
G71 P(ns) Q(nf) V(Δw) W(Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;
XpYp plane
G71 V(Δd) R(e) ;
G71 P(ns) Q(nf) U(Δw) V(Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;

Δd : Depth of cut
The cutting direction depends on the direction AA'. This designation is modal and is
not changed until the other value is designated. Also this value can be specified by
the parameter No. 5132, and the parameter is changed by the program command.
e : Escaping amount
This designation is modal and is not changed until the other value is designated. Also
this value can be specified by the parameter No. 5133, and the parameter is changed
by the program command.
ns : Sequence number of the first block for the program of finishing shape.
nf : Sequence number of the last block for the program of finishing shape.
Δu : Distance of the finishing allowance in the direction of the second axis on the plane
(X-axis for the ZX plane)
Δw : Distance of the finishing allowance in the direction of the first axis on the plane (Z-axis
for the ZX plane)
f,s,t : Any F , S, or T function contained in blocks ns to nf in the cycle is ignored, and the F,
S, or T function in this G71 block is effective.

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment Not
Δd Radius programming Allowed
system for the reference axis. required
Depends on the increment Not
e Radius programming Allowed
system for the reference axis. required

- 52 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment Depends on diameter/radius programming
Δu Required Allowed
system for the reference axis. for the second axis on the plane.
Depends on the increment Depends on diameter/radius programming
Δw Required Allowed
system for the reference axis. for the first axis on the plane.

(R) C
B
A
(R) Δd
(F)
45° e
(F)

Target figure

Δu/2
+X A’

(F): Cutting feed ΔW


+Z (R): Rapid traverse e: Escaping amount

Fig. 4.2.1 (a) Cutting path in stock removal in turning (type I)

Explanation
- Operations
When a target figure passing through A, A', and B in this order is given by a program, the specified area
is removed by Δd (depth of cut), with the finishing allowance specified by Δu/2 and Δw left. After the last
cutting is performed in the direction of the second axis on the plane (X-axis for the ZX plane), rough
cutting is performed as finishing along the target figure. After rough cutting as finishing, the block next to
the sequence block specified at Q is executed.

NOTE
1 While both Δd and Δu are specified by the same address, the meanings of them
are determined by the presence of addresses P and Q.
2 The cycle machining is performed by G71 command with P and Q specification.
3 F, S, and T functions which are specified in the move command between points
A and B are ineffective and those specified in G71 block or the previous block
are effective. M and second auxiliary functions are treated in the same way as F,
S, and T functions.
4 When the constant surface speed control function is enabled (bit 0 (SSC) of
parameter No. 8133 is set to 1), the G96 or G97 command specified in the move
command between points A and B are ineffective, and that specified in G71
block or the previous block is effective.

- Target figure
Patterns
The following four cutting patterns are considered. All of these cutting cycles cut the workpiece with
moving the tool in parallel to the first axis on the plane (Z-axis for the ZX plane). At this time, the signs
of the finishing allowances of Δu and Δw are as follows:

- 53 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

B A A B
U(+)…W (+) U(+)…W (-)

A' A' Both linear and


A' A' circular interpolation
are possible

U(-)…W (+) U(-)…W (-)


B A A B

+X

+Z

Fig. 4.2.1 (b) Four target figure patterns

Limitation
(1) For U(+), a figure for which a position higher than the cycle start point is specified cannot be
machined.
For U(-), a figure for which a position lower than the cycle start point is specified cannot be
machined.
(2) For type I, the figure must show monotone increase or decrease along the first and second axes on
the plane.
(3) For type II, the figure must show monotone increase or decrease along the first axis on the plane.

- Start block
In the start block in the program for a target figure (block with sequence number ns in which the path
between A and A' is specified), G00 or G01 must be specified. If it is not specified, alarm PS0065,
“G00/G01 IS NOT IN THE FIRST BLOCK OF SHAPE PROGRAM” is issued.
When G00 is specified, positioning is performed along A-A'. When G01 is specified, linear interpolation
is performed with cutting feed along A-A'.
In this start block, also select type I or II.
If X-axis does not move at start block, alarm PS0325 “UNAVAILABLE COMMAND IS IN SHAPE
PROGRAM” is issued.

- Check functions
During cycle operation, whether the target figure shows monotone increase or decrease is always
checked.

NOTE
When tool nose radius compensation is applied, the target figure to which
compensation is applied is checked.

The following checks can also be made.

Check Related parameter


Checks that a block with the sequence number specified at address Enabled when bit 2 (QSR) of parameter No.
Q is contained in the program before cycle operation. 5102 is set to 1.
Checks the target figure before cycle operation. Enabled when bit 2 (FCK) of parameter No.
(Also checks that a block with the sequence number specified at 5104 is set to 1.
address Q is contained.)

- 54 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Types I and II
Selection of type I or II
For G71, there are types I and II.
When the target figure has pockets, be sure to use type II.
Escaping operation after rough cutting in the direction of the first axis on the plane (Z-axis for the ZX
plane) differs between types I and II. With type I, the tool escapes to the direction of 45 degrees. With
type II, the tool cuts the workpiece along the target figure. When the target figure has no pockets,
determine the desired escaping operation and select type I or II.

NOTE
To use type II, the multiple repetitive canned cycle II option is required.

Selecting type I or II
In the start block for the target figure (sequence number ns), select type I or II.
(1) When type I is selected
Specify the second axis on the plane (X-axis for the ZX plane). Do not specify the first axis on the
plane (Z-axis for the ZX plane).
(2) When type II is selected
Specify the second axis on the plane (X-axis for the ZX plane) and first axis on the plane (Z-axis for
the ZX plane).
When you want to use type II without moving the tool along the first axis on the plane (Z-axis for
the ZX plane), specify the incremental programming with travel distance 0 (W0 for the ZX plane).

- Type I
(1) In the block with sequence number ns, only the second axis on the plane (X-axis (U-axis) for the ZX
plane) must be specified.

Example
ZX plane
G71 U10.0 R5.0 ;
G71 P100 Q200....;
N100 X(U)_ ; (Specifies only the second axis on the plane.)
: ;
: ;
N200…………;

(2) The figure along path A'-B must show monotone increase or decrease in the directions of both axes
forming the plane (Z- and X-axes for the ZX plane). It must not have any pocket as shown in the Fig.
4.2.1 (c).
B
A

A’

Z No pockets are allowed.

Fig. 4.2.1 (c) Figure which does not show monotone increase or decrease (type I)

- 55 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

CAUTION
If a figure does not show monotone change along the first or second axis on the
plane, alarm PS0064, “THE FINISHING SHAPE IS NOT A MONOTONOUS
CHANGE(FIRST AXES)” or PS0329, “THE FINISHING SHAPE IS NOT A
MONOTONOUS CHANGE(SECOND AXES)” is issued. If the movement does
not show monotone change, but is very small, and it can be determined that the
movement is not dangerous, however, the permissible amount can be specified
in parameters Nos. 5145 and 5146 to specify that the alarm is not issued in this
case.

(3) The tool escapes to the direction of 45 degrees in cutting feed after rough cutting.

Escaping amount e (specified in the


45° command or parameter No. 5133)

Fig. 4.2.1 (d) Cutting in the direction of 45 degrees (type I)

(4) Immediately after the last cutting, rough cutting is performed as finishing along the target figure. Bit
1 (RF1) of parameter No. 5105 can be set to 1 so that rough cutting as finishing is not performed.

- Type II
(R)
(F) C
(R) A
B Δd
(R)
(F)
Δd
(F)

Target figure Δu/2


A’
+X

(F): Cutting feed ΔW


+Z (R): Rapid traverse

Fig. 4.2.1 (e) Cutting path in stock removal in turning (type II)

When a target figure passing through A, A', and B in this order is given by the program for a target figure
as shown in the Fig. 4.2.1 (e), the specified area is removed by Δd (depth of cut), with the finishing
allowance specified by Δu/2 and Δw left. Type II differs from type I in cutting the workpiece along the
figure after rough cutting in the direction of the first axis on the plane (Z-axis for the ZX plane).
After the last cutting, the tool returns to the start point specified in G71 and rough cutting is performed as
finishing along the target figure, with the finishing allowance specified by Δu/2 and Δw left.

Type II differs from type I in the following points:

- 56 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
(1) In the block with sequence number ns, the two axes forming the plane (X-axis (U-axis) and Z-axis
(W-axis) for the ZX plane) must be specified. When you want to use type II without moving the tool
along the Z-axis on the ZX plane in the first block, specify W0.

Example
ZX plane
G71 U10.0 R5.0;
G71 P100 Q200.......;
N100 X(U)_ Z(W)_ ; (Specifies the two axes forming the plane.)
: ;
: ;
N200…………;

(2) The figure need not show monotone increase or decrease in the direction of the second axis on the
plane (X-axis for the ZX plane) and it may have concaves (pockets).

+X

+Z 10 ... 3 2 1

Fig. 4.2.1 (f) Figure having pockets (type II)

The figure must show monotone change in the direction of the first axis on the plane (Z-axis for the
ZX plane), however. The Fig. 4.2.1 (g) cannot be machined.

Monotone change is not


observed along the Z-
axis.
+X

+Z

Fig. 4.2.1 (g) Figure which cannot be machined (type II)

CAUTION
For a figure along which the tool moves backward along the first axis on the
plane during cutting operation (including a vertex in an arc command), the
cutting tool may contact the workpiece. For this reason, for a figure which does
not show monotone change, alarm PS0064 “THE FINISHING SHAPE IS NOT A
MONOTONOUS CHANGE(FIRST AXES)” is issued. If the movement does not
show monotone change, but is very small, and it can be determined that the
movement is not dangerous, however, the permissible amount can be specified
in parameter No. 5145 to specify that the alarm is not issued in this case.

The first cut portion need not be vertical. Any figure is permitted if monotone change is shown in
the direction of the first axis on the plane (Z-axis for the ZX plane).

- 57 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

+X

+Z

Fig. 4.2.1 (h) Figure which can be machined (type II)

(3) After turning, the tool cuts the workpiece along its figure and escapes in cutting feed.

Escaping amount e (specified in the command or


parameter No. 5133)

Escaping after cutting

Depth of cut Δd (specified in the


command or parameter No. 5132)

Fig. 4.2.1 (i) Cutting along the workpiece figure (type II)

The escaping amount after cutting (e) can be specified at address R or set in parameter No. 5133.
When moving from the bottom, however, the tool escapes to the direction of 45 degrees.

e (specified in the command or


45° parameter No. 5133)

Bottom

Fig. 4.2.1 (j) Escaping from the bottom to the direction of 45 degrees

(4) When a position parallel to the first axis on the plane (Z-axis for the ZX plane) is specified in a
block in the program for the target figure, it is assumed to be at the bottom of a pocket.

(5) After all rough cutting terminates along the first axis on the plane (Z-axis for the ZX plane), the tool
temporarily returns to the cycle start point. At this time, when there is a position whose height equals
to that at the start point, the tool passes through the point in the position obtained by adding depth of
cut Δd to the position of the figure and returns to the start point.
Then, rough cutting is performed as finishing along the target figure. At this time, the tool passes
through the point in the obtained position (to which depth of cut Δd is added) when returning to the
start point.
Bit 2 (RF2) of parameter No. 5105 can be set to 1 so that rough cutting as finishing is not performed.

- 58 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Escaping operation after rough cutting Escaping operation after


as finishing rough cutting

Start point
{ {

Depth of cut Δd

Fig. 4.2.1 (k) Escaping operation when the tool returns to the start point (type II)

(6) Order and path for rough cutting of pockets


Rough cutting is performed in the following order.
(a) When the figure shows monotone decrease along the first axis on the plane (Z-axis for the ZX
plane)
Rough cutting is performed in the order <1>, <2>, and <3>
from the rightmost pocket.

<3> <2> <1>

+X

+Z

Fig. 4.2.1 (l) Rough cutting order in the case of monotone decrease (type II)

(b) When the figure shows monotone increase along the first axis on the plane (Z-axis for the ZX
plane)
Rough cutting is performed in the order <1>, <2>, and <3> from
the leftmost pocket.

<1> <2> <3>

+X

+Z
Fig. 4.2.1 (m) Rough cutting order in the case of monotone increase (type II)

The path in rough cutting is as shown Fig. 4.2.1 (n).

- 59 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

35

4
3 34 1
5
24

9 10
25 2
23 29 22 21

28 11 6
30 26 8
15
27
7
33 31 16 12
14 20
32

13
19 18 17

Fig. 4.2.1 (n) Cutting path for multiple pockets (type II)

The following figure shows how the tool moves after rough cutting for a pocket in detail.
g Rapid traverse
22 21

D
20
Escaping from
the bottom
Cutting feed 19

Fig. 4.2.1 (o) Details of motion after cutting for a pocket (type II)

Cuts the workpiece at the cutting feedrate and escapes to the direction of 45 degrees. (Operation 19)
Then, moves to the height of point D in rapid traverse. (Operation 20)
Then, moves to the position the amount of g before point D. (Operation 21)
Finally, moves to point D in cutting feed.
The clearance g to the cutting feed start position is set in parameter No. 5134.
For the last pocket, after cutting the bottom, the tool escapes to the direction of 45 degrees and returns to
the start point in rapid traverse. (Operations 34 and 35)

CAUTION
1 This CNC differs from the FANUC Series 0i-C in cutting of a pocket.
The tool first cuts the nearest pocket to the start point. After cutting of the pocket
terminates, the tool moves to the nearest but one pocket and starts cutting.
2 When the figure has a pocket, generally specify a value of 0 for Δw (finishing
allowance). Otherwise, the tool may dig into the wall on one side.

This CNC differs from the FANUC Series 0i-C in the path of cutting after turning depending on the
figure of the workpiece. When the tool becomes moving only along the first axis on the plane (Z-axis for
the ZX plane) according to the figure of the workpiece during cutting, it starts retraction along the second
axis on the plane (X-axis for the ZX plane).
When bit 0 (R16) of parameter No. 5108 is set to 1, the cutting can be continued along the first axis on
the plane.
The cutting path that the target figure program of Fig. 4.2.1 (n) is executed by the setting of bit 0 (R16) of
parameter No. 5108, is shown in Fig. 4.2.1 (p).

- 60 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Fig. 4.2.1 (p) Cutting path (No.5108#0 is set to 1)

- Tool nose radius compensation


When using tool nose radius compensation, specify a tool nose radius compensation command (G41,
G42) before a multiple repetitive canned cycle command (G70, G71, G72, G73) and specify the cancel
command (G40) outside the programs (from the block specified with P to the block specified with Q)
specifying a target finishing figure.
If tool nose radius compensation is specified in the program specifying a target finishing figure, alarm
PS0325, “UNAVAILABLE COMMAND IS IN SHAPE PROGRAM”, is issued.

Program example
G42;..............................Specify this command before a multiple repetitive canned cycle command.
G71U1.0R0.5;
G71P10Q20;
N10G00X0;
:
N20X50.0;
G40;..............................Specify this command after the program specifying a target finishing figure.

When this cycle is specified in the tool nose radius compensation mode, offset is temporarily canceled
during movement to the start point. Start-up is performed in the first block. Offset is temporarily canceled
again at the return to the cycle start point after termination of cycle operation. Start-up is performed again
according to the next move command. This operation is shown in the Fig. 4.2.1 (q).
Start-up

Offset cancel

Cycle start point z

Offset cancel

Start-up

Fig. 4.2.1 (q)

- 61 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

This cycle operation is performed according to the figure determined by the tool nose radius
compensation path when the offset vector is 0 at start point A and start-up is performed in a block
between path A-A'.

B A

Position between A-
A' in which start-up is
Target figure program for
performed
which tool nose radius
compensation is not applied

+X
A’

Tool nose center path when tool nose radius


+Z
compensation is applied with G42

Fig. 4.2.1 (r) Path when tool nose radius compensation is applied

A
B

A’

Position between
+X A-A' in which start-
up is performed
Target figure program for
Tool nose center path when tool
which tool nose radius
+Z nose radius compensation is
compensation is not applied
applied with G42

Fig. 4.2.1 (s)

NOTE
To perform pocketing in the tool nose radius compensation mode, specify the
linear block A-A' outside the workpiece and specify the figure of an actual
pocket. This prevents a pocket from being dug.

When the bit 2 (NT1) of parameter No. 5106 is set to 1, the tool nose radius compensation G40/G41/G42
commanded in the target figure program of the multiple repetitive cycle G71/G72/G73 is ignored and no
alarm is occurred.

When the bit 3 (NT2) of parameter No. 5106 is set to 1, the tool nose radius compensation commanded in
the target figure program of the multiple repetitive cycle G70 is valid. However there is following
limitations.
(1) The tool nose radius compensation cancel G40 is selected as the modal when the finishing cycle G70
is commanded.
If the tool nose radius compensation is commanded in the target figure program when G41/G42 is
selected as the modal at the finishing cycle G70 command, the alarm PS0325 “UNAVAILABLE
COMMAND IS IN SHAPE PROGRAM” is occurred.
- 62 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
(2) Do not command G41/G42 excluding the end block in the target figure program.
If G41 or G42 is specified at the last block of the target figure program, the PS0325 alarm
(UNAVAILABLE COMMAND IS IN SHAPE PROGRAM) is issued.
(3) Command G40 at the last block of the target figure program (commanded by Q address)
If G40 is not commanded at the last block of the target figure program when G41 or G42 is
commanded at the first block, the PS0538 alarm “OFFSET IS NOT CANCELED” is occurred.

Program example of the tool nose radius compensation in the target figure of G70)
G40 ;
G70 P10 Q20 ... ;
N10 G41 ... ;
:
N20 G40 ... ;

- Reducing the cycle time


In the multiple repetitive cycle G71/G72 of typeⅠ, if bit 1 (DTP) of parameter No. 5108 is set to 1, the
tool return to the cycle start point directly from the end point of the finishing program after rough cutting
of the finishing shape program is finished.

Cycle start point



Distance of the finishing
Path of DTP = 0
allowance

Path of DTP = 1

Cycle start point


End point of finishing
shape

Fig. 4.2.1 (t) Return to cycle start point

In the multiple repetitive cycle G71/G72 of type II, when bit 3 (NSP) of parameter No. 5108 is set to 1,
the cutting is executed not to repeat the same cutting path. (When bit 3 (NSP) of parameter No. 5108 is
set to 1, the operation of bit 0 (R16) of parameter No. 5108 = 1 is always selected.)
- Case of target figure without pocket.
In the conventional method, the path AB is cut twice as Fig. 4.2.1 (w).
When bit 3 (NSP) of parameter No. 5108 is set to 1, the overlap is avoided as Fig. 4.2.1(x).

B A

Fig. 4.2.1 (u) Target figure without pocket (No.5108#3=0)

- 63 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

B A

Fig. 4.2.1 (v) Target figure without pocket (No.5108#3=1)

- Case of target figure with pocket.


In the conventional method, the path AB and CD are cut twice as Fig. 4.2.1 (y).
The cutting path when bit 3 (NSP) of parameter No. 5108 is set to 1 is shown in Fig. 4.2.1(z). The
path AB is overlapped as same as Fig. 4.2.1 (y), however the path AB is executed by rapid traverse
at second times. The overlap path CD is avoided.

(3)

(2)
D C (4) B A

(1)

Fig. 4.2.1 (w) Target figure with pocket (No.5108#3=0)

(3)

(2)
D C (4) B A

(1)

Fig. 4.2.1 (x) Target figure with pocket (No.5108#3=1)

- Case of consecutive pockets


In the conventional method, the tool moves to point I after finish the cutting of a pocket and
positioning to the start point of a next pocket as Fig. 4.2.1 (aa). In this way, the path is overlapped at
BI, DI, FI and HI.
The cutting path when bit 3 (NSP) of parameter No. 5108 is set to 1 is shown in Fig. 4.2.1(bb). The
movement to point I is executed just first time and then the pocket cutting is executed one after
another.
I H G F E D C B A

Fig. 4.2.1 (y) Consecutive pockets (No.5108#3=0)

- 64 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

I H G F E D C B A

Fig. 4.2.1 (z) Consecutive pockets (No.5108#3=1)

- 65 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.2 Stock Removal in Facing (G72)


This cycle is the same as G71 except that cutting is performed by an operation parallel to the second axis
on the plane (X-axis for the ZX plane).

Format
ZpXp plane
G72 W(Δd) R(e) ;
G72 P(ns) Q(nf) U(Δu) W(Δw) F(f ) S(s ) T(t ) ;
N (ns) ; The move commands for the target figure from A
... to A’ to B are specified in the blocks with
N (nf) ; sequence numbers ns to nf.
YpZp plane
G72 V(Δd) R(e) ;
G72 P(ns) Q(nf) V(Δw) W(Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;
XpYp plane
G72 U(Δd) R(e) ;
G72 P(ns) Q(nf) U(Δw) V (Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;
Δd : Depth of cut
The cutting direction depends on the direction AA'. This designation is modal and is not
changed until the other value is designated. Also this value can be specified by the
parameter No. 5132, and the parameter is changed by the program command.
e : Escaping amount
This designation is modal and is not changed until the other value is designated. Also
this value can be specified by the parameter No. 5133, and the parameter is changed
by the program command.
ns : Sequence number of the first block for the program of finishing shape.
nf : Sequence number of the last block for the program of finishing shape.
Δu : Distance of the finishing allowance in the direction of the second axis on the plane
(X-axis for the ZX plane)
Δw : Distance of the finishing allowance in the direction of the first axis on the plane (Z-axis
for the ZX plane)
f,s,t : Any F , S, or T function contained in blocks ns to nf in the cycle is ignored, and the F, S,
or T function in this G72 block is effective.

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment Not
Δd Radius programming Allowed
system for the reference axis. required
Depends on the increment Not
e Radius programming Allowed
system for the reference axis. required

- 66 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment Depends on diameter/radius programming
Δu Required Allowed
system for the reference axis. for the second axis on the plane.
Depends on the increment Depends on diameter/radius programming
Δw Required Allowed
system for the reference axis. for the first axis on the plane.

Δd
(F): Cutting feed
C (R): Rapid traverse
A'
A
Tool path
(F)

e (R)

(R) 45°

Target figure

(F)
+X Δu/2
B
+Z Δw

Fig. 4.2.2 (a) Cutting path in stock removal in facing (type I)

Explanation
- Operations
When a target figure passing through A, A', and B in this order is given by a program, the specified area
is removed by Δd (depth of cut), with the finishing allowance specified by Δu/2 and Δw left.

NOTE
1 While both Δd and Δu are specified by the same address, the meanings of them
are determined by the presence of addresses P and Q.
2 The cycle machining is performed by G72 command with P and Q specification.
3 F, S, and T functions which are specified in the move command between points
A and B are ineffective and those specified in G72 block or the previous block
are effective. M and second auxiliary functions are treated in the same way as F,
S, and T functions.
4 When the constant surface speed control function is enabled (bit 0 (SSC) of
parameter No. 8133 is set to 1), G96 or G97 command specified in the move
command between points A and B are ineffective, and that specified in G72
block or the previous block is effective.

- Target figure
Patterns
The following four cutting patterns are considered. All of these cutting cycles cut the workpiece with
moving the tool in parallel to the second axis on the plane (X-axis for the ZX plane). At this time, the
signs of the finishing allowances of Δu and Δw are as follows:

- 67 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

+X

B B
U(-)...W(+)... U(-)...W(-)... +Z

A A
A' A' Both linear and circular
interpolation are possible
A' A'
A A

U(+)...W(+)... U(+)...W(-)...

B B

Fig. 4.2.2 (b) Signs of the values specified at U and W in stock removal in facing

Limitation
(1) For W(+), a figure for which a position higher than the cycle start point is specified cannot be
machined.
For W(-), a figure for which a position lower than the cycle start point is specified cannot be
machined.
(2) For type I, the figure must show monotone increase or decrease along the first and second axes on
the plane.
(3) For type II, the figure must show monotone increase or decrease along the second axis on the plane.

- Start block
In the start block in the program for a target figure (block with sequence number ns in which the path
between A and A' is specified), G00 or G01 must be specified. If it is not specified, alarm PS0065,
“G00/G01 IS NOT IN THE FIRST BLOCK OF SHAPE PROGRAM” is issued.
When G00 is specified, positioning is performed along A-A’. When G01 is specified, linear interpolation
is performed with cutting feed along A-A’.
In this start block, also select type I or II.
If Z-axis does not move at start block, alarm PS0325 “UNAVAILABLE COMMAND IS IN SHAPE
PROGRAM” is issued.

- Check functions
During cycle operation, whether the target figure shows monotone increase or decrease is always
checked.

NOTE
When tool nose radius compensation is applied, the target figure to which
compensation is applied is checked.

The following checks can also be made.

Check Related parameter


Checks that a block with the sequence number specified at address Enabled when bit 2 (QSR) of parameter
Q is contained in the program before cycle operation. No. 5102 is set to 1.
Checks the target figure before cycle operation. Enabled when bit 2 (FCK) of parameter
(Also checks that a block with the sequence number specified at No. 5104 is set to 1.
address Q is contained.)

- 68 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Types I and II
Selection of type I or II
For G72, there are types I and II.
When the target figure has pockets, be sure to use type II.
Escaping operation after rough cutting in the direction of the second axis on the plane (X-axis for the ZX
plane) differs between types I and II. With type I, the tool escapes to the direction of 45 degrees. With
type II, the tool cuts the workpiece along the target figure. When the target figure has no pockets,
determine the desired escaping operation and select type I or II.

Selecting type I or II
In the start block for the target figure (sequence number ns), select type I or II.
(1) When type I is selected
Specify the first axis on the plane (Z-axis for the ZX plane). Do not specify the second axis on the
plane (X-axis for the ZX plane).
(2) When type II is selected
Specify the second axis on the plane (X-axis for the ZX plane) and first axis on the plane (Z-axis for
the ZX plane).
When you want to use type II without moving the tool along the second axis on the plane (X-axis for
the ZX plane), specify the incremental programming with travel distance 0 (U0 for the ZX plane).

- Type I
G72 differs from G71 in the following points:
(1) G72 cuts the workpiece with moving the tool in parallel with the second axis on the plane (X-axis on
the ZX plane).
(2) In the start block in the program for a target figure (block with sequence number ns), only the first
axis on the plane (Z-axis (W-axis) for the ZX plane) must be specified.

- Type II
G72 differs from G71 in the following points:
(1) G72 cuts the workpiece with moving the tool in parallel with the second axis on the plane (X-axis on
the ZX plane).
(2) The figure need not show monotone increase or decrease in the direction of the first axis on the
plane (Z-axis for the ZX plane) and it may have concaves (pockets). The figure must show
monotone change in the direction of the second axis on the plane (X-axis for the ZX plane),
however.
(3) When a position parallel to the second axis on the plane (X-axis for the ZX plane) is specified in a
block in the program for the target figure, it is assumed to be at the bottom of a pocket.
(4) After all rough cutting terminates along the second axis on the plane (X-axis for the ZX plane), the
tool temporarily returns to the start point. Then, rough cutting as finishing is performed.

- Tool nose radius compensation


See the pages on which G71 is explained.

- Reducing the cycle time


See the pages on which G71 is explained.

- 69 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.3 Pattern Repeating (G73)


This function permits cutting a fixed pattern repeatedly, with a pattern being displaced bit by bit. By this
cutting cycle, it is possible to efficiently cut work whose rough shape has already been made by a rough
machining, forging or casting method, etc.

Format
ZpXp plane
G73 W(Δk) U(Δi) R(d) ;
G73 P(ns) Q(nf) U(Δu) W(Δw) F(f ) S(s ) T(t ) ;
N (ns) ; The move commands for the target figure from A
... to A’ to B are specified in the blocks with
N (nf) ; sequence numbers ns to nf.
YpZp plane
G73 V(Δk) W(Δi) R(d) ;
G73 P(ns) Q(nf) V(Δw) W(Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;
XpYp plane
G73 U(Δk) V(Δi) R(d) ;
G73 P(ns) Q(nf) U(Δw) V(Δu) F(f ) S(s ) T(t ) ;
N (ns) ;
...
N (nf) ;
Δi : Distance of escape in the direction of the second axis on the plane (X-axis for the ZX
plane)
This designation is modal and is not changed until the other value is designated. Also
this value can be specified by the parameter No. 5135, and the parameter is changed
by the program command.
Δk : Distance of escape in the direction of the first axis on the plane (Z-axis for the ZX
plane)
This designation is modal and is not changed until the other value is designated. Also
this value can be specified by the parameter No. 5136, and the parameter is changed
by the program command.
d : The number of division
This value is the same as the repetitive count for rough cutting. This designation is
modal and is not changed until the other value is designated. Also, this value can be
specified by the parameter No. 5137, and the parameter is changed by the program
command.
ns : Sequence number of the first block for the program of finishing shape.
nf : Sequence number of the last block for the program of finishing shape.
Δu : Distance of the finishing allowance in the direction of the second axis on the plane
(X-axis for the ZX plane)
Δw : Distance of the finishing allowance in the direction of the first axis on the plane (Z-axis
for the ZX plane)
f, s, t : Any F, S, and T function contained in the blocks between sequence number "ns" and
"nf" are ignored, and the F, S, and T functions in this G73 block are effective.

- 70 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment
Δi Radius programming Required Allowed
system for the reference axis.
Depends on the increment
Δk Radius programming Required Allowed
system for the reference axis.
Depends on the increment Depends on diameter/radius programming for
Δu Required Allowed
system for the reference axis. the second axis on the plane.
Depends on the increment Depends on diameter/radius programming for
Δw Required Allowed
system for the reference axis. the first axis on the plane.

NOTE
Decimal point input is allowed with d. However, a value rounded off to an integer
is used as the number of division, regardless of the setting of bit 0 (DPI) of
parameter No. 3401. When an integer is input, the input integer is used as the
number of division.

Δk+Δw
D
Δw
Δi+Δu/2
Δu/2
C
A
(R)

B (R)
(F)

Δu/2
A'

+X Δw
Target figure (F): Cutting feed
(R): Rapid traverse
+Z
Fig. 4.2.3 (a) Cutting path in pattern repeating

Explanation
- Operations
When a target figure passing through A, A', and B in this order is given by a program, rough cutting is
performed the specified number of times, with the finishing allowance specified by Δu/2 and Δw left.

NOTE
1 While the values Δi and Δk, or Δu and Δw are specified by the same address
respectively, the meanings of them are determined by the presence of
addresses P and Q.
2 The cycle machining is performed by G73 command with P and Q specification.
3 After cycle operation terminates, the tool returns to point A.
4 F, S, and T functions which are specified in the move command between points
A and B are ineffective and those specified in G73 block or the previous block
are effective. M and second auxiliary functions are treated in the same way as F,
S, and T functions.

- 71 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Target figure
Patterns
As in the case of G71, there are four target figure patterns. Be careful about signs of Δu, Δw, Δi, and Δk
when programming this cycle.

- Start block
In the start block in the program for the target figure (block with sequence number ns in which the path
between A and A' is specified), G00 or G01 must be specified. If it is not specified, alarm PS0065,
“G00/G01 IS NOT IN THE FIRST BLOCK OF SHAPE PROGRAM” is issued.
When G00 is specified, positioning is performed along A-A’. When G01 is specified, linear interpolation
is performed with cutting feed along A-A’.

- Check function
The following check can be made.

Check Related parameter


Checks that a block with the sequence number specified at address Enabled when bit 2 (QSR) of parameter
Q is contained in the program before cycle operation. No. 5102 is set to 1.

- Tool nose radius compensation


Like G71, this cycle operation is performed according to the figure determined by the tool nose radius
compensation path when the offset vector is 0 at start point A and start-up is performed in a block
between path A-A'.

- Single block operation


The single block stop position can be selected by setting of bit 2 (PRS) of parameter No. 5125.
When bit 2 (PRS) of parameter No. 5125 is set to 0, the stop position of single block operation are the end
point of each cycles and the end point of each blocks in the finishing shape.
When bit 2 (PRS) of parameter No. 5125 is set to 1, the stop position of single block operation are the end
point of each cycles and the end point of escape from the cycle start point. (FS16i compatible
specification)

It explains that the movement when the O0001 shown in Fig. 4.2.3 (b) is executed by the single block
operation.
The finishing shape specified by N10-N30 of the O0001 is shown in Fig. 4.2.3 (c).

O0001;
G00X100.0Z0.0;
G73U6.0W6.0R3.0;
N30
G73P10Q30U6.0W3.0F1.0S500; N10
N10G00X60.0W0.0;
N15G01Z-10.0;
N20G02X80.0Z-20.0R10.0;
N30G01X100.0; N20
M30; N15
Fig. 4.2.3 (b) Sample program Fig. 4.2.3 (c) Finishing shape of O0001

When bit 2 (PRS) of parameter No. 5125 is set to 0, in case the O0001 is executed by the single block
operation, the stop position of single block operation are the end point of each cycles and the end point of
each blocks in the finishing shape as shown in Fig. 4.2.3 (d). The single block stop does not executed at
the end point of escape from the cycle start point.

- 72 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
When bit 2 (PRS) of parameter No. 5125 is set to 1, in case the O0001 is executed by the single block
operation, the stop position of single block operation are the end point of each cycles and the end point of
escape from the cycle start point as shown in Fig. 4.2.3 (e).

“S” in following figures stands for the single stop position.


S S
S S S
S S S
S S
S
S
S
S S
S S
S S
Fig. 4.2.3 (d) PRS(No.5125#2)=0 Fig. 4.2.3 (e) PRS(No.5125#2)=1

- 73 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.4 Finishing Cycle (G70)


After rough cutting by G71, G72 or G73, the following command permits finishing.

Format
G70 P(ns) Q(nf) ;
ns : Sequence number of the first block for the program of finishing shape.
nf : Sequence number of the last block for the program of finishing shape.

Explanation
- Operations
The blocks with sequence numbers ns to nf in the program for a target figure are executed for finishing.
The F, S, T, M, and second auxiliary functions specified in the G71, G72, or G73 block are ignored and
the F, S, T, M, and second auxiliary functions specified in the blocks with sequence numbers ns to nf are
effective.
When cycle operation terminates, the tool is returned to the start point in rapid traverse and the next G70
cycle block is read.

- Target figure
Check function
The following check can be made.

Check Related parameter


Checks that a block with the sequence number specified at address Enabled when bit 2 (QSR) of parameter
Q is contained in the program before cycle operation. No. 5102 is set to 1.

- Storing P and Q blocks


When rough cutting is executed by G71, G72, or G73, up to three memory addresses of P and Q blocks
are stored. By this, the blocks indicated by P and Q are immediately found at execution of G70 without
searching memory from the beginning for them. After some G71, G72, and G73 rough cutting cycles are
executed, finishing cycles can be performed by G70 at a time. At this time, for the fourth and subsequent
rough cutting cycles, the cycle time is longer because memory is searched for P and Q blocks.

Example
G71 P100 Q200 ...;
N100 ...;
...;
...;
N200 ...;
G71 P300 Q400 ...;
N300 ...;
...;
...;
N400 ...;
...;
...;
G70 P100 Q200 ; (Executed without a search for the first to third cycles)
G70 P300 Q400 ; (Executed after a search for the fourth and subsequent
cycles)

- 74 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

NOTE
The memory addresses of P and Q blocks stored during rough cutting cycles by
G71, G72, and G73 are erased after execution of G70.
All stored memory addresses of P and Q blocks are also erased by a reset.

- Return to the cycle start point


In a finishing cycle, after the tool cuts the workpiece to the end point of the target figure, it returns to the
cycle start point in rapid traverse.

NOTE
The tool returns to the cycle start point always in the nonlinear positioning mode
regardless of the setting of bit 1 (LRP) of parameter No. 1401.
Before executing a finishing cycle for a target figure with a pocket cut by G71 or
G72, check that the tool does not interfere with the workpiece when returning
from the end point of the target figure to the cycle start point.

- Tool nose radius compensation


When using tool nose radius compensation, specify a tool nose radius compensation command (G41 or
G42) before a multiple repetitive canned cycle command (G70) and specify the cancel command (G40)
after the multiple repetitive canned cycle command (G70).

Program example
G42;..............................Specify this command before a multiple repetitive canned cycle command.
G70P10Q20;
G40;..............................Specify this command after a multiple repetitive canned cycle command.

Like G71, this cycle operation is performed according to the figure determined by the tool nose radius
compensation path when the offset vector is 0 at start point A and start-up is performed in a block
between path A-A'.

- 75 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Example

Stock removal in facing (G72)

X axis 2
Start point
7

2
88
φ160

φ120

φ40
φ80

Z axis

60 10 10 10 20 20 2

190

(Diameter designation for X axis, metric input)

N010 G50 X220.0 Z190.0 ;


N011 G00 X176.0 Z132.0 ;
N012 G72 W7.0 R1.0 ;
N013 G72 P014 Q019 U4.0 W2.0 F0.3 S550 ;
N014 G00 Z56.0 S700 ;
N015 G01 X120.0 W14.0 F0.15 ;
N016 W10.0 ;
N017 X80.0 W10.0 ;
N018 W20.0 ;
N019 X36.0 W22.0 ;
N020 G70 P014 Q019 ;

Escaping amount: 1.0


Finishing allowance (4.0 in diameter in the X direction, 2.0 in the Z direction)

- 76 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Pattern repeating (G73)

16

16
B

X axis

130
110
14
2
φ180

φ160

φ120

φ80
Z axis
0

2 14

20

40 10 40 10 20 40

220

(Diameter designation, metric input)

N010 G50 X260.0 Z220.0 ;


N011 G00 X220.0 Z160.0 ;
N012 G73 U14.0 W14.0 R3 ;
N013 G73 P014 Q019 U4.0 W2.0 F0.3 S0180 ;
N014 G00 X80.0 W-40.0 ;
N015 G01 W-20.0 F0.15 S0600 ;
N016 X120.0 W-10.0;
N017 W-20.0 S0400 ;
N018 G02 X160.0 W-20.0 R20.0 ;
N019 G01 X180.0 W-10.0 S0280 ;
N020 G70 P014 Q019 ;

- 77 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.5 End Face Peck Drilling Cycle (G74)


This cycle enables chip breaking in outer diameter cutting. If the second axis on the plane (X-axis
(U-axis) for the ZX plane) and address P are omitted, operation is performed only along the first axis on
the plane (Z-axis for the ZX plane), that is, a peck drilling cycle is performed.

Format
G74R (e) ;
G74X(U)_ Z(W)_ P(Δi) Q(Δk) R(Δd) F (f ) ;
e : Return amount
This designation is modal and is not changed until the other value is designated.
Also this value can be specified by the parameter No. 5139, and the parameter is
changed by the program command.
X_,Z_ : Coordinate of the second axis on the plane (X-axis for the ZX plane) at point B and
Coordinate of the first axis on the plane (Z-axis for the ZX plane) at point C
U_,W_ : Travel distance along the second axis on the plane (U for the ZX plane) from point A
to B
Travel distance along the first axis on the plane (W for the ZX plane) from point A to
C
(When G code system A is used. In other cases, X_,Z_ is used for specification.)
Δi : Travel distance in the direction of the second axis on the plane (X-axis for the ZX
plane)
Δk : Depth of cut in the direction of the first axis on the plane (Z-axis for the ZX plane)
Δd : Relief amount of the tool at the cutting bottom
f : Feedrate

Diameter/radius Decimal point


Unit Sign
programming input
Depends on the increment system for
e Radius programming Not required Allowed
the reference axis.
Depends on the increment system for
Δi Radius programming Not required Not allowed
the reference axis.
Depends on the increment system for
Δk Radius programming Not required Not allowed
the reference axis.
Depends on the increment system for
Δd Radius programming NOTE Allowed
the reference axis.

NOTE
Normally, specify a positive value for Δd. When X (U) and Δi are omitted, specify
a value with the sign indicating the direction in which the tool is to escape.

- 78 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Δk' Δk Δk Δk Δk [0 < Δk’ ≤ Δk]

Δd A

Δi
C
(R) (R)
(F) (F) (F)
(F) (F) U/2
(R) (R) (R) (R) Δi

[0 < Δi’ ≤ Δi]


Δi’

X
Z W B

+X
(R) ... Rapid traverse
e (F) ... Cutting feed
+Z

Fig. 4.2.5 (a) Cutting path in end face peek drilling cycle

Explanation
- Operations
A cycle operation of cutting by Δk and return by e is repeated.
When cutting reaches point C, the tool escapes by Δd. Then, the tool returns in rapid traverse, moves to
the direction of point B by Δi, and performs cutting again.

NOTE
1 While both e and Δd are specified by the same address, the meanings of them
are determined by specifying the X, Y, or Z axis. When the axis is specified, Δd
is used.
2 The cycle machining is performed by G74 command with specifying the axis.

- Tool nose radius compensation


Tool nose radius compensation cannot be applied.

- 79 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.6 Outer Diameter / Internal Diameter Drilling Cycle (G75)


This cycle is equivalent to G74 except that the second axis on the plane (X-axis for the ZX plane)
changes places with the first axis on the plane (Z-axis for the ZX plane). This cycle enables chip breaking
in end facing. It also enables grooving during outer diameter cutting and cutting off (when the Z-axis
(W-axis) and Q are omitted for the first axis on the plane).

Format
G75R (e) ;
G75X(U)_ Z(W)_ P(Δi) Q(Δk) R(Δd) F (f ) ;
e : Return amount
This designation is modal and is not changed until the other value is designated.
Also this value can be specified by the parameter No. 5139, and the parameter is
changed by the program command.
X_, Z_ : Coordinate of the second axis on the plane (X-axis for the ZX plane) at point B and
Coordinate of the first axis on the plane (Z-axis for the ZX plane) at point C
U_, W_ : Travel distance along the second axis on the plane (U for the ZX plane) from point
A to B
Travel distance along the first axis on the plane (W for the ZX plane) from point A
to C
(When G code system A is used. In other cases, X_,Z_ is used for specification.)
Δi : Depth of cut in the direction of the second axis on the plane (X-axis for the ZX
plane)
Δk : Travel distance in the direction of the first axis on the plane (Z-axis for the ZX
plane)
Δd : Relief amount of the tool at the cutting bottom
f : Feedrate

Decimal point
Unit Diameter/radius programming Sign
input
Depends on the increment system for
e Radius programming Not required Allowed
the reference axis.
Depends on the increment system for
Δi Radius programming Not required Not allowed
the reference axis.
Depends on the increment system for
Δk Radius programming Not required Not allowed
the reference axis.
Depends on the increment system for
Δd Radius programming NOTE Allowed
the reference axis.

NOTE
Normally, specify a positive value for Δd. When Z (W) and Δk are omitted,
specify a value with the sign indicating the direction in which the tool is to
escape.

- 80 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

C (R) A
(R)

(F) Δi

(R) e

(F)
Δi
(R)

U/2
(F) Δi

(R)

(F)
Δi

(R)

(F) Δi’
B
Δd
Δk
X
Z W
+X
(R) ... Rapid traverse
(F) ... Cutting feed
+Z
Fig. 4.2.6 (b) Outer diameter/internal diameter drilling cycle

Explanation
- Operations
A cycle operation of cutting by Δi and return by e is repeated.
When cutting reaches point B, the tool escapes by Δd. Then, the tool returns in rapid traverse, moves to
the direction of point C by Δk, and performs cutting again.

Both G74 and G75 are used for grooving and drilling, and permit the tool to relief automatically. Four
symmetrical patterns are considered, respectively.

- Tool nose radius compensation


Tool nose radius compensation cannot be applied.

- 81 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.2.7 Multiple Threading Cycle (G76)


This threading cycle performs one edge cutting by the constant amount of cut.

Format
G76 P(m) (r) (a) Q(Δdmin) R(d ) ;
G76 X(U)_ Z(W)_ R(i ) P(k ) Q(Δd) F (L ) ;
m : Repetitive count in finishing (1 to 99)
This value can be specified by the parameter No. 5142, and the parameter is changed by
the program command.
r : Chamfering amount (0 to 99)
When the thread lead is expressed by L, the value of L can be set from 0.0L to 9.9L in
0.1L increment (2-digit number). This value can be specified by the parameter No. 5130,
and the parameter is changed by the program command.
a : Angle of tool nose
One of six kinds of angle, 80°, 60°, 55°, 30°, 29°, and 0°, can be selected, and specified
by 2-digit number. This value can be specified by the parameter No. 5143, and the
parameter is changed by the program command.
m, r, and a are specified by address P at the same time.
(Example) When m=2, r=1.2L, a=60°, specify as shown below (L is lead of thread).
P 02 12 60
a
r
m
Δdmin : Minimum cutting depth
When the cutting depth of one cycle operation becomes smaller than this limit, the
cutting depth is clamped at this value. This value can be specified by parameter
No. 5140, and the parameter is changed by the program command.
d : Finishing allowance
This value can be specified by parameter No. 5141, and the parameter is changed
by the program command.
X_, Z_ : Coordinates of the cutting end point (point D in the Fig. 4.2.7 (a)) in the direction of
the length
U_, W_ : Travel distance to the cutting end point (point D in the Fig. 4.2.7 (a)) in the direction
of the length
(When G code system A is used. In other cases, X_,Z_ is used for specification.)
i : Taper amount
If i = 0, ordinary straight threading can be made.
k : Height of thread
Δd : Depth of cut in 1st cut
L : Lead of thread

Diameter/radius Decimal point


Unit Sign
programming input
Depends on the increment system for
Δdmin Radius programming Not required Not allowed
the reference axis.
Depends on the increment system for
d Radius programming Not required Allowed
the reference axis.
Depends on the increment system for
i Radius programming Required Allowed
the reference axis.
Depends on the increment system for
k Radius programming Not required Not allowed
the reference axis.

- 82 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Diameter/radius Decimal point


Unit Sign
programming input
Depends on the increment system for
Δd Radius programming Not required Not allowed
the reference axis.

E (R) A

(R) (R)

U/2
B
(F)
Δd

D
X i k

r C

Z W

+X

+Z

Fig. 4.2.7 (a) Cutting path in multiple threading cycle

Tool nose

a Δd
Δd√n
1st
2nd k
3rd
nth

Fig. 4.2.7 (b) Detail of cutting

- Repetitive count in finishing


The last finishing cycle (cycle in which the finishing allowance is removed by cutting) is repeated.

- 83 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

+X k

+Z Last finishing cycle d (finishing allowance)

Fig. 4.2.7 (c)

Explanation
- Operations
This cycle performs threading so that the length of the lead only between C and D is made as specified in
the F code. In other sections, the tool moves in rapid traverse.
The time constant for acceleration/deceleration after interpolation and FL feedrate for thread chamfering
and the feedrate for retraction after chamfering are the same as for thread chamfering with G92 (canned
cycle).

NOTE
1 The meanings of the data specified by address P, Q, and R determined by the
presence of X (U) and Z (W).
2 The cycle machining is performed by G76 command with X (U) and Z (W)
specification.
3 The values specified at addresses P, Q, and R are modal and are not changed
until another value is specified.
4 Specify a value smaller than the height of thread as the finishing allowance. (d <
k)

CAUTION
Notes on threading are the same as those on G32 threading. For feed hold in a
threading cycle, however, see "Feed hold in a threading cycle" described below.

- Relationship between the sign of the taper amount and tool path
The signs of incremental dimensions for the cycle shown in Fig. 4.2.7 (a) are as follows:
Cutting end point in the direction of the length for U and W:
Minus (determined according to the directions of paths A-C and C-D)
Taper amount (i): Minus (determined according to the direction of path A-C)
Height of thread (k): Plus (always specified with a plus sign)
Depth of cut in the first cut (Δd): Plus (always specified with a plus sign)
The four patterns shown in the Table 4.2.7 (a) are considered corresponding to the sign of each address. A
female thread can also be machined.

- 84 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
Table 4.2.7 (a)
Outer diameter machining Internal diameter machining
1. U < 0, W < 0, i < 0 2. U > 0, W < 0, i > 0

X X

Z W
Z
4(R)
2(F)
i
U/2 3(R) 1(R)

X U/2 3(R) 1(R)


i
X 2(F)
W 4(R)

3. U < 0, W < 0, i > 0 4. U > 0, W < 0, i < 0


at |i|≤|U/2| at |i|≤|U/2|

X X
Z Z W
4(R)

1(R) i
2(F)
U/2 X U/2 3(R)
3(R)
2(F) 1(R)
i
4(R)
W
X

- Acceleration/deceleration after interpolation for threading


Acceleration/deceleration after interpolation for threading is acceleration/deceleration of exponential
interpolation type. By setting bit 5 (THLx) of parameter No. 1610, the same acceleration/deceleration as
for cutting feed can be selected. (The settings of bits 1 (CTBx) and 0 (CTLx) of parameter No. 1610 are
followed.) However, as a time constant and FL feedrate, the settings of parameter No. 1626 and No. 1627
for the threading cycle are used.

- Time constant and FL feedrate for threading


The time constant for acceleration/deceleration after interpolation for threading specified in parameter No.
1626 and the FL feedrate specified in parameter No. 1627 are used.
The FL feedrate is valid only for exponential acceleration/deceleration after interpolation.

- Thread chamfering
Thread chamfering can be performed in this threading cycle. A signal from the machine tool initiates
thread chamfering.
The maximum amount of thread chamfering (r) that can be specified in the command is 99 (9.9L). The
amount can be specified in a range from 0.1L to 12.7L in 0.1L increments in parameter No. 5130.
A thread chamfering angle between 1 to 89 degrees can be specified in parameter No. 5131. When a
value of 0 is specified in the parameter, an angle of 45 degrees is assumed.
For thread chamfering, the same type of acceleration/deceleration after interpolation, time constant for
acceleration/deceleration after interpolation, and FL feedrate as for threading are used.

NOTE
Common parameters for specifying the amount and angle of thread chamfering
are used for this cycle and G92 threading cycle.

- 85 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Retraction after chamfering


The Table 4.2.7 (b) lists the feedrate, type of acceleration/deceleration after interpolation, and time
constant of retraction after chamfering.

Table 4.2.7 (b)


Bit 0 (CFR) of Parameter No.
Description
parameter No. 1611 1466
Uses the type of acceleration/deceleration after interpolation for threading,
0 Other than 0 time constant for threading (parameter No. 1626), FL feedrate (parameter
No. 1627), and retraction feedrate specified in parameter No. 1466.
Uses the type of acceleration/deceleration after interpolation for threading,
0 0 time constant for threading (parameter No. 1626), FL feedrate (parameter
No. 1627), and rapid traverse rate specified in parameter No. 1420.
Before retraction a check is made to see that the specified feedrate has
become 0 (delay in acceleration/deceleration is 0), and the type of
1 acceleration/deceleration after interpolation for rapid traverse is used
together with the rapid traverse time constant and the rapid traverse rate
(parameter No. 1420).

By setting bit 4 (ROC) of parameter No. 1403 to 1, rapid traverse override can be disabled for the feedrate
of retraction after chamfering.

NOTE
During retraction, the machine does not stop with an override of 0% for the
cutting feedrate regardless of the setting of bit 4 (RF0) of parameter No. 1401.

- Shifting the start angle


The threading start angle cannot be shifted.
However, if the Series 10/11 format is used, the threading start angle can be shifted.
Please refer to the "MEMORY OPERATION USING Series 10/11 FORMAT".

- Feed hold in a threading cycle (threading cycle retract)


When feed hold is applied during threading in a combined threading cycle (G76), the tool quickly retracts
in the same way as for the last chamfering in a threading cycle and returns to the start point in the current
cycle.
When cycle start is triggered, the multiple threading cycle resumes.
X -a xis O rd in a ry cycle
M otio n a t fe ed h old
Z -a xis
Sta rt p o in t
in the curre n t cycle

R a p id tra ve rse

C u ttin g fe ed

F e e d h o ld is a p plied a t this po in t

Fig. 4.2.7 (d)

The angle of chamfering during retraction is the same as that of chamfering at the end point.

- 86 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

CAUTION
Another feed hold cannot be performed during retraction.

- Inch threading
Inch threading specified with address E is not allowed.

- Tool nose radius compensation


Tool nose radius compensation cannot be applied.

Example

1.8

3.68
X axis

1.8
ϕ60.64
ϕ68

0 Z axis

25 105

G80 X80.0 Z130.0;


G76 P011060 Q100 R200 ;
G76 X60.64 Z25.0 P3680 Q1800 F6.0 ;
Fig. 4.2.7 (e)

4.2.8 Restrictions on Multiple Repetitive Canned Cycle (G70-G76)


Programmed commands
- Program memory
Programs using G70, G71, G72, or G73 must be stored in the program memory. The use of the mode in
which programs stored in the program memory are called for operation enables these programs to be
executed in other than the MEM mode. Programs using G74, G75, or G76 need not be stored in the
program memory.

- Blocks in which data related to a multiple repetitive canned cycle is specified


The addresses P, Q, X, Z, U, W, and R should be specified correctly for each block.

In a block in which G70, G71, G72, or G73 is specified, the following functions cannot be specified:
- Custom macro calls (simple call, modal call, and subprogram call)

- 87 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Blocks in which data related to a target figure is specified


In the block which is specified by address P of a G71, G72 or G73, G00 or G01 code in group 01 should
be commanded. If it is not commanded, alarm PS0065, “G00/G01 IS NOT IN THE FIRST BLOCK OF
SHAPE PROGRAM” is generated.

In blocks with sequence numbers between those specified at P and Q in G70, G71, G72, and G73, the
following commands can be specified:
(1) Dwell (G04)
(2) G00, G01, G02, and G03
When a circular interpolation command (G02, G03) is used, there must be no radius difference
between the start point and end point of the arc. If there is a radius difference, the target finishing
figure may not be recognized correctly, resulting in a cutting error such as excessive cutting.
(3) Custom macro branch and repeat command
The branch destination must be between the sequence numbers specified at P and Q, however.
High-speed branch specified by bits 1 and 4 of parameter No. 6000 is invalid. No custom macro call
(simple, modal, or subprogram call) cannot be specified.
(4) Direct drawing dimension programming command and chamfering and corner R command
Direct drawing dimension programming and chamfering and corner R require multiple blocks to be
specified. The block with the last sequence number specified at Q must not be an intermediate block
of these specified blocks.

When G70, G71, G72, or G73 is executed, the sequence number specified by address P and Q should not
be specified twice or more in the same program.
When #1 = 2500 is executed using a custom macro, 2500.000 is assigned to #1. In such a case, P#1 is
equivalent to P2500.

Relation with other functions


- Manual intervention
After manual intervention is performed with the manual absolute on command before the execution of a
multiple repetitive canned cycles (G70 to G76) or after the stop of the execution, when a cycle operation
starts, the manual intervention amount is canceled even with an incremental cycle start command. When
only the first plane axis is specified in G74 or only the second plane axis is specified in G74, however, the
manual intervention amount is canceled only along the specified axis.
Example of G72

Cancellation
Manual intervention

Fig. 4.2.8 (a)

- Interruption type macro


Any interruption type macro program cannot be executed during execution of a multiple repetitive canned
cycle.

- Program restart and tool retract and recover


These functions cannot be executed in a block in a multiple repetitive canned cycle.

- 88 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Axis name and second auxiliary functions


Even if address U, V, or W is used as an axis name or second auxiliary function, data specified at address
U, V, or W in a G71 to G73 block is assumed to be that for the multiple repetitive canned cycle.

- Tool nose radius compensation


When using tool nose radius compensation, specify a tool nose radius compensation command (G41,
G42) before a multiple repetitive canned cycle command (G70, G71, G72, G73) and specify the cancel
command (G40) outside the programs (from the block specified with P to the block specified with Q)
specifying a target finishing figure. If tool nose radius compensation is specified in the program
specifying a target finishing figure, alarm PS0325, “UNAVAILABLE COMMAND IS IN SHAPE
PROGRAM”, is issued.

- Multi-spindle control
When a spindle selection by address P of multi-spindle control or the command by the extended spindle
name is used, S code cannot be specified at the block of multiple repetitive canned cycle command
(G71-G73). (The alarm PS5305 “ILLEGAL SPINDLE NUMBER” is issued.)
In this case, instead of specifying S code at the block of multiple repetitive canned cycle command
(G71-G73) is specified, specify S code before the multiple repetitive canned cycle command (G71-G73)
block.

- 89 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.3 CANNED CYCLE FOR DRILLING


Canned cycles for drilling make it easier for the programmer to create programs. With a canned cycle, a
frequently-used machining operation can be specified in a single block with a G function; without canned
cycles, more than one block is required. In addition, the use of canned cycles can shorten the program to
save memory.
Table 4.3 (a) lists canned cycles for drilling.

Table 4.3 (a) Canned cycles for drilling


Hole machining Operation in the
G code Drilling axis bottom hole position Retraction operation Applications
operation
G80 - - - - Cancel
Cutting feed /
G83 Z axis Dwell Rapid traverse Front drilling cycle
intermittent
Dwell →
G84 Z axis Cutting feed Cutting feed Front tapping cycle
spindle CCW
G85 Z axis Cutting feed Dwell Cutting feed Front boring cycle
Cutting feed /
G87 X axis Dwell Rapid traverse Side drilling cycle
intermittent
Dwell →
G88 X axis Cutting feed Cutting feed Side tapping cycle
Spindle CCW
G89 X axis Cutting feed Dwell Cutting feed Side boring cycle

NOTE
When bit 4 (NCD) of parameter No.8137 is 0, this function can be used.

Explanation
The canned cycle for drilling consists of the following six operation sequences.
Operation 1 Positioning of X (Z) and C axis
Operation 2 Rapid traverse up to point R level
Operation 3 Hole machining
Operation 4 Operation at the bottom of a hole
Operation 5 Retraction to point R level
Operation 6 Rapid traverse up to the initial level

Operation 1
Initial level

Operation 2 Operation 6

Point R level

Operation 5
Operation 3

Rapid traverse
Operation 4
Feed

Fig. 4.3 (a) Operation sequence of canned cycle for drilling

- 90 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Positioning axis and drilling axis


The C-axis and X- or Z-axis are used as positioning axes. The X- or Z-axis, which is not used as a
positioning axis, is used as a drilling axis. A drilling G code specifies positioning axes and a drilling axis
as shown below.
Although canned cycles include tapping and boring cycles as well as drilling cycles, in this chapter, only
the term drilling will be used to refer to operations implemented with canned cycles.

Table 4.3 (b) Positioning axis and drilling axis


G code Positioning axis Drilling axis
G83, G84, G85 X axis, C axis Z axis
G87, G88, G89 Z axis, C axis X axis

G83 and G87, G84 and G88, and G85 and G89 have the same function respectively except for axes
specified as positioning axes and a drilling axis.

- Drilling mode
G83 to G85/G87 to G89 are modal G codes and remain in effect until canceled. When in effect, the
current state is the drilling mode.
Once drilling data is specified in the drilling mode, the data is retained until modified or canceled.
Specify all necessary drilling data at the beginning of canned cycles; when canned cycles are being
performed, specify data modifications only.
The feedrate specified at F is retained also after the drilling cycle is canceled. When Q data is required, it
must be specified in each block. Once specified, the M code used for C-axis clamp/unclamp functions as
a modal code. It is canceled by specifying G80.

- Return point level


In G code system A, the tool returns to the initial level from the bottom of a hole. In G code system B or
C, specifying G98 returns the tool to the initial level from the bottom of a hole and specifying G99 returns
the tool to the point R level from the bottom of a hole.
The following illustrates how the tool moves when G98 or G99 is specified (Fig. 4.3 (b)). Generally, G99
is used for the first drilling operation and G98 is used for the last drilling operation.
The initial level does not change even when drilling is performed in the G99 mode.
G98 (Return to initial level) G99 (Return to point R level)

Initial level

Point R level

Fig. 4.3 (b)

- Number of repeats
To repeat drilling for equally-spaced holes, specify the number of repeats in K_.
K is effective only within the block where it is specified.
Specify the first hole position in incremental programming.
If it is specified in absolute programming, drilling is repeated at the same position.

Number of repeats K The maximum command value = 9999

- 91 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

When K0 is specified, drilling data is just stored without drilling being performed.

NOTE
For K, specify an integer of 0 or 1 to 9999.

- M code used for C-axis clamp/unclamp


When an M code specified in parameter No. 5110 for C-axis clamp/unclamp is coded in a program, the
following operations occur.
(1) The CNC issues the M code for C-axis clamp after the tool is positioned and while the tool is being
fed in rapid traverse to the point-R level.
(2) The CNC issues the M code for C-axis unclamp (the M code for C-axis clamp +1) after the tool
retracts to the point-R level.
(3) After the CNC issues the M code for C-axis unclamp, the tool dwells for the time specified in
parameter No. 5111.

- Cancel
To cancel a canned cycle, use G80 or a group 01 G code.

Group 01 G codes (Example)


G00 : Positioning (rapid traverse)
G01 : Linear interpolation
G02 : Circular interpolation (CW)
G03 : Circular interpolation (CCW)

- Symbols in figures
Subsequent subsections explain the individual canned cycles. Figures in these explanations use the
following symbols:

Positioning (rapid traverse G00)


Cutting feed (linear interpolation G01)
P1 Dwell specified in the program
P2 Dwell specified in parameter No.5111
Mα Issuing the M code for C-axis clamp
(The value of α is specified with parameter No. 5110.)
M (α + 1) Issuing the M code for C-axis unclamp

- 92 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

CAUTION
1 In each canned cycle, addresses R, Z, and X are handled as follows:
R_ : Always handled as a radius.
Z_ or X_ : Depends on diameter/radius programming.
2 For the B or C G-code system, G90 or G91 can be used to select an incremental
or absolute programming for hole position data (X, C or Z, C), the distance from
point R to the bottom of the hole (Z or X), and the distance from the initial level to
the point R level (R).
3 For canned cycles for drilling specified in the Series 10/11 format (by setting bit 1
(FCV) of parameter No. 0001 to 1 and bit 3 (F16) of parameter No. 5102 to 0),
incremental programming is used for point R data when bit 6 (RAB) of parameter
No. 5102 is set to 0.
When bit 6 (RAB) of parameter No. 5102 is set to 1, in G code system A,
absolute programming is used, and in G code system B or C, absolute or
incremental programming is used according to G90 or G91.
For canned cycles for drilling in the Series 0i-C format, incremental programming
is used for point R data.

4.3.1 Front Drilling Cycle (G83)/Side Drilling Cycle (G87)


The peck drilling cycle or high-speed peck drilling cycle is used depending on the setting in RTR, bit 2 of
parameter No. 5101. If depth of cut for each drilling is not specified, the normal drilling cycle is used.
Without using parameter RTR, the high-speed peck drilling cycle can be specified with G83.5 or G87.5
and the peck drilling cycle can be specified with G83.6 or G87.6.

- High-speed peck drilling cycle (G83, G87) (bit 2 (RTR) of parameter No. 5101
=0)
This cycle performs high-speed peck drilling. The drill repeats the cycle of drilling at the cutting feedrate
and retracting the specified retraction distance intermittently to the bottom of a hole. The drill draws
cutting chips out of the hole when it retracts.

- 93 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Format
G83 X(U)_ C(H)_ Z(W)_ R_ P_ Q_ F_ K_ M_ ;
or
G87 Z(W)_ C(H)_ X(U)_ R_ P_ Q_ F_ K_ M_ ;
X_ C_ or Z_ C_ : Hole position data
Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
Q_ : Depth of cut for each cutting feed
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed)
M_ : M code for C-axis clamp (When it is needed.)
G83 or G87 (G98 mode) G83 or G87 (G99 mode)

Mα Initial level Mα

M (α + 1), P2
Point R M (α + 1), P2 Point R Point R level

q q
d d

q d q d

q q
Point Z Point Z

P1 P1

Mα : M code for C-axis clamp


M (α + 1) : M code for C-axis unclamp
P1 : Dwell specified in the program
P2 : Dwell specified in parameter No. 5111
d : Retraction distance specified in parameter No. 5114

- 94 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Peck drilling cycle (G83, G87) (bit 2 (RTR) of parameter No. 5101 =1)

Format
G83 X(U)_ C(H)_ Z(W)_ R_ P_ Q_ F_ K_ M_ ;
or
G87 Z(W)_ C(H)_ X(U)_ R_ P_ Q_ F_ K_ M_ ;
X_ C_ or Z_ C_ : Hole position data
Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
Q_ : Depth of cut for each cutting feed
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed.)
M_ : M code for C-axis clamp (When it is needed.)
G83 or G87 (G98 mode) G83 or G87 (G99 mode)

Mα Initial level Mα
M (α + 1), P2
M (α + 1), P2 Point R level
Point R Point R

q q
d d

q q
d d

q q
Point Z Point Z
P1 P1

Mα : M code for C-axis clamp


M (α + 1) : M code for C-axis unclamp
P1 : Dwell specified in the program
P2 : Dwell specified in parameter No. 5111
d : Retraction distance specified in parameter No. 5115

Example
M51 ; Setting C-axis index mode ON
M3 S2000 ; Rotating the drill
G00 X50.0 C0.0 ; Positioning the drill along the X- and C-axes
G83 Z-40.0 R-5.0 Q5000 F5.0 M31 ; Drilling hole 1
C90.0 Q5000 M31 ; Drilling hole 2
C180.0 Q5000 M31 ; Drilling hole 3
C270.0 Q5000 M31 ; Drilling hole 4
G80 M05 ; Canceling the drilling cycle and stopping drill rotation
M50 ; Setting C-axis index mode off

NOTE
If the depth of cut for each cutting feed (Q) is not commanded, normal drilling is
performed. (See the description of the drilling cycle.)

- 95 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Drilling cycle (G83 or G87)


If depth of cut (Q) is not specified for each drilling, the normal drilling cycle is used. The tool is then
retracted from the bottom of the hole in rapid traverse.

Format
G83 X(U)_ C(H)_ Z(W)_ R_ P_ F_ K_ M_ ;
or
G87 Z(W)_ C(H)_ X(U)_ R_ P_ F_ K_ M_ ;
X_ C_ or Z_ C_ : Hole position data
Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed.)
M_ : M code for C-axis clamp (When it is needed.)
G83 or G87 (G98 mode) G83 or G87 (G99 mode)

Mα Initial level Mα

Point R Point R level Point R Point R level


M (α + 1), P2 M (α + 1), P2

Point Z Point Z
P1 P1

Mα : M code for C-axis clamp


M (α + 1) : M code for C-axis unclamp
P1 : Dwell specified in the program
P2 : Dwell specified in parameter No. 5111

Example
M51 ; Setting C-axis index mode ON
M3 S2000 ; Rotating the drill
G00 X50.0 C0.0 ; Positioning the drill along the X- and C-axes
G83 Z-40.0 R-5.0 P500 F5.0 M31 ; Drilling hole 1
C90.0 M31 ; Drilling hole 2
C180.0 M31 ; Drilling hole 3
C270.0 M31 ; Drilling hole 4
G80 M05 ; Canceling the drilling cycle and stopping drill rotation
M50 ; Setting C-axis index mode off

- 96 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.3.2 Front Tapping Cycle (G84) / Side Tapping Cycle (G88)


This cycle performs tapping.
In this tapping cycle, when the bottom of the hole has been reached, the spindle is rotated in the reverse
direction.

Format
G84 X(U)_ C(H)_ Z(W)_ R_ P_ F_ K_ M_ ;
or
G88 Z(W)_ C(H)_ X(U)_ R_ P_ F_ K_ M_ ;
X_ C_ or Z_ C_ : Hole position data
Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed.)
M_ : M code for C-axis clamp (when it is needed.)
G84 or G88 (G98 mode) G84 or G88 (G99 mode)

Mα Initial level Mα

Spindle CW Spindle CW
M (α + 1), P2 M (α + 1), P2
Point R Point R
Point R level

P1 Point Z P1 Point Z

Spindle CCW Spindle CCW

Mα : M code for C-axis clamp


M (α + 1) : M code for C-axis unclamp
P1 : Dwell specified in the program
P2 : Dwell specified in parameter No. 5111

Explanation
Tapping is performed by rotating the spindle clockwise. When the bottom of the hole has been reached,
the spindle is rotated in the reverse direction for retraction. This operation creates threads.
Feedrate overrides are ignored during tapping. A feed hold does not stop the machine until the return
operation is completed.

NOTE
Bit 3 (M5T) of parameter No. 5105 specifies whether the spindle stop command
(M05) is issued before the direction in which the spindle rotates is specified with
M03 or M04. For details, refer to the operator's manual created by the machine
tool builder.

- Q command
After setting bit 6 (PCT) of parameter No. 5104 to 1, add address Q to the ordinary tapping cycle
command format and specify the depth of cut for each tapping.

- 97 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

In the peck tapping cycle, the tool is retracted to point R for each tapping. In the high-speed peck
tapping cycle, the tool is retracted by the retraction distance specified for parameter No. 5213 in advance.
Which operation is to be performed can be selected by setting bit 5 (PCP) of parameter No. 5200.

Operation
First, ordinary tapping cycle operation is explained as basic operation.

Before specifying a tapping cycle, rotate the spindle using a miscellaneous function.
1. When a command to position the tool to a hole position, positioning is performed.
2. When point R is specified, positioning to point R is performed.
3. Tapping is performed to the bottom of the hole in cutting feed.
4. When a dwell time (P) is specified, the tool dwells.
5. Miscellaneous function M05 (spindle stop) is output and the machine enters the FIN wait state.
6. When FIN is returned, miscellaneous function M04 (reverse spindle rotation) is output and the
machine enters the FIN wait state.
7. When FIN is returned, the tap is removed until point R is reached in cutting feed.
8. When a dwell time (P) is specified, the tool dwells.
9. Miscellaneous function M05 (spindle stop) is output and the machine enters the FIN wait state.
10. When FIN is returned, miscellaneous function M03 (forward spindle rotation) is output, and the
machine enters the FIN wait state.
11. When FIN is returned, the tool returns to the initial point in rapid traverse when return to the initial
level is specified.

When the repetitive count is specified, operation is repeated from step 1.

Tapping

<1> Positioning to a hole <1> Positioning to the next hole

<11> Positioning to the initial point


<2> Positioning to point R

Point R level

<8> Dwell

<3> Tapping to the bottom of the hole <9> Output of miscellaneous function M05

<10> Output of miscellaneous function M03

<7> Return to point R

<4> Dwell Hole bottom level


<5> Output of miscellaneous function M05
Workpiece
<6> Output of miscellaneous function M04

Peck tapping cycle


When bit 6 (PCT) of parameter No. 5104 is set 1 and bit 5 (PCP) of parameter No. 5200 is set to 1, the
peck tapping cycle is used.
Step 3 of the tapping cycle operation described above changes as follows:

3-1. The tool cuts the workpiece by the depth of cut q specified by address Q.
3-2. Miscellaneous function M05 (spindle stop) is output, and the machine enters the FIN wait state.
3-3. When FIN is returned, miscellaneous function M04 (reverse spindle rotation) is output, and the
machine enters the FIN wait state.
- 98 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
3-4. When FIN is returned, the tool is retracted to point R in cutting feed.
3-5. Miscellaneous function M05 (spindle stop) is output, and the machine enters the FIN wait state.
3-6. When FIN is returned, miscellaneous function M03 (forward spindle rotation) is output, and the
machine enters the FIN wait state.
3-7. When FIN is returned, the tool moves to the position the clearance d (parameter No. 5213) apart
from the previous cutting point in cutting feed (approach).

3-1. The tool cuts the workpiece by the clearance d (parameter No. 5213) + depth of cut q (specified by
address Q).

Tapping is performed to the bottom of the hole by repeating the above steps.
When a dwell time (P) is specified, the tool dwells only when it reaches at the bottom of the hole and
reaches point R last.

q: Depth of cut <5> Output of miscellaneous function M05

d: Clearance <6> Output of miscellaneous function M03

<7> Approach Point R level

<1> Tapping
q <4> Retraction

d <4> Retraction <7> Approach

<1> Tapping
q

<1> Tapping q
<2> Output of miscellaneous function M05

<3> Output of miscellaneous function M04

Repeated until the bottom of the hole is reached.


Workpiece
Hole bottom level

High-speed peck tapping cycle


When bit 6 (PCT) of parameter No. 5104 is set 1 and bit 5 (PCP) of parameter No. 5200 is set to 0, the
high-speed peck tapping cycle is used.
Step 3 of the tapping cycle operation described above changes as follows:

3-1. The tool cuts the workpiece by the depth of cut q specified by address Q.
3-2. Miscellaneous function M05 (spindle stop) is output, and the machine enters the FIN wait state.
3-3. When FIN is returned, miscellaneous function M04 (reverse spindle rotation) is output, and the
machine enters the FIN wait state.
3-4. When FIN is returned, the tool is retracted by the retraction distance d specified by parameter No.
5213 in cutting feed.
3-5. Miscellaneous function M05 (spindle stop) is output, and the machine enters the FIN wait state.
3-6. When FIN is returned, miscellaneous function M03 (forward spindle rotation) is output, and the
machine enters the FIN wait state.

- 99 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

3-1. When FIN is returned, the tool cuts the workpiece by the retraction distance d (parameter No. 5213)
+ depth of cut q (specified by address Q).

Tapping is performed to the bottom of the hole by repeating the above steps.
When a dwell time (P) is specified, the tool dwells only when it reaches at the bottom of the hole and
reaches point R.

q: Depth of cut

d: Retraction distance

Point R level

<1> Tapping q <5> Output of miscellaneous function M05

<6> Output of miscellaneous function M03


d <4> Retraction

<1> Tapping q

d <4> Retraction

<1> Tapping
q
<2> Output of miscellaneous function M05

<3> Output of miscellaneous function M04

Repeated until the bottom of the hole is reached.


Workpiece
Hole bottom level

Notes
1. The depth of cut specified by address Q is stored as a modal value until the canned cycle mode is
canceled.
In both examples 1 and 2 below, address Q is not specified in the N20 block, but the peck tapping
cycle is performed because the value specified by address Q is valid as a modal value. If this
operation is not suitable, specify G80 to cancel the canned cycle mode as shown in N15 in example
3 or specify Q0 in the tapping block as shown in N20 in example 4.

Example 1
N10 G84 X100.0 C0.0 Z-100.0 Q20.0 ;
N20 X150.0 C90.0 ; ← The peck tapping cycle is also performed in this block.
N30 G80 ;

Example 2
N10 G83 X100.0 C0.0 Z-100.0 Q20.0 ;
N20 G84 Z-100.0 ; ← The peck tapping cycle is also performed in this block.
N30 G80 ;

Example 3
N10 G83 X100.0 C0.0 Z-100.0 Q20.0 ;
N15 G80 ; ← The canned cycle mode is canceled.
N20 G84 Z-100.0 ;
N30 G80 ;
- 100 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Example 4
N10 G83 X100.0 C0.0 Z-100.0 Q20.0 ;
N20 G84 Z-100.0 Q0 ; ←Q0 is added.
N30 G80 ;

2. The unit for the drilling axis is used as the unit of Q. Any sign is ignored.

3. Specify a radius value at address Q even when a diameter axis is used.

4. Perform operation in the peck tapping cycle within point R. That is, set a value which does not
exceed point R for d (parameter No. 5213).

Example
M51 ; Setting C-axis index mode ON
M3 S2000 ; Rotating the drill
G00 X50.0 C0.0 ; Positioning the drill along the X- and C- axes
G84 Z-40.0 R-5.0 P500 F5.0 M31 ; Drilling hole 1
C90.0 M31 ; Drilling hole 2
C180.0 M31 ; Drilling hole 3
C270.0 M31 ; Drilling hole 4
G80 M05 ; Canceling the drilling cycle and stopping drill rotation
M50 ; Setting C-axis index mode off

4.3.3 Front Boring Cycle (G85) / Side Boring Cycle (G89)


This cycle is used to bore a hole.

Format
G85 X(U)_ C(H)_ Z(W)_ R_ P_ F_ K_ M_ ;
or
G89 Z(W)_ C(H)_ X(U)_ R_ P_ F_ K_ M_ ;
X_ C_ or Z_ C_ : Hole position data
Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed.)
M_ : M code for C-axis clamp (When it is needed.)
G85 or G89 (G98 mode) G85 or G89 (G99 mode)

Mα Initial level Mα

Point R level
Point R M (α + 1), P2 M (α + 1), P2
Point R

Point Z Point Z
P1 P1

Mα : M code for C-axis clamp


M (α + 1) : M code for C-axis unclamp
- 101 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

P1 : Dwell specified in the program


P2 : Dwell specified in parameter No. 5111

Explanation
After positioning, rapid traverse is performed to point R.
Drilling is performed from point R to point Z.
After the tool reaches point Z, it returns to point R at a feedrate twice the cutting feedrate.

Example
M51 ; Setting C-axis index mode ON
M3 S2000 ; Rotating the drill
G00 X50.0 C0.0 ; Positioning the drill along the X- and C-axes
G85 Z-40.0 R-5.0 P500 F5.0 M31 ; Drilling hole 1
C90.0 M31 ; Drilling hole 2
C180.0 M31 ; Drilling hole 3
C270.0 M31 ; Drilling hole 4
G80 M05 ; Canceling the drilling cycle and stopping drill rotation
M50 ; Setting C-axis index mode off

4.3.4 Canned Cycle for Drilling Cancel (G80)


G80 cancels canned cycle for drilling.

Format
G80 ;

Explanation
Canned cycle for drilling is canceled to perform normal operation. Point R and point Z are cleared.
Other drilling data is also canceled (cleared).

Example
M51 ; Setting C-axis index mode ON
M3 S2000 ; Rotating the drill
G00 X50.0 C0.0 ; Positioning the drill along the X- and C-axes.
G83 Z-40.0 R-5.0 P500 F5.0 M31 ; Drilling hole 1
C90.0 M31 ; Drilling hole 2
C180.0 M31 ; Drilling hole 3
C270.0 M31 ; Drilling hole 4
G80 M05 ; Canceling the drilling cycle and stopping drill rotation
M50 ; Setting C-axis index mode off

4.3.5 Addition of M Code for Clamp/Unclamp in Canned Cycle for


Drilling with
Overview
Up to two pairs of M codes used for C-axis clamp/unclamp in canned cycles for drilling can be set for
each path.

Details
Set the M codes for C-axis clamp/unclamp in the following parameters.

- 102 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Bit 4 of parameter No. 5161=1


Bit 4 of parameter No. 5161=0
Pair 1 Pair 2
M code for clamp No.5110 No.13544 No.5110
M code for unclamp No.13543 No.13545 (Setting in parameter No. 5110 + 1)

When the M code for clamp set in parameter No. 5110 or 13544 (valid when bit 4 (CME) of parameter
No. 5161 is set to 1) is specified in the block for a canned cycle for drilling, the specified M code is
output before the tool is fed in rapid traverse to the point-R level after positioned. The M code for
unclamp paired with that specified M code is output after the tool retracts to the point-R level.

Example 1:
When bit 4 of parameter No. 5161 is set to 1, and 68, 78, 168, and 178 are specified in parameters
Nos. 5110, 13543, 13544 and 13545, respectively, the following M codes are output.
Command Clamp Unclamp
G83X_C_...M68 M68 M78
G83X_C_...M168 M168 M178

Example 2:
When bit 4 of parameter No. 5161 is set to 0, and 68 is specified in parameter No. 5110, respectively,
the following M codes are output.
Command Clamp Unclamp
G83X_C_...M68 M68 M69

NOTE
1 Both the M codes for clamp and unclamp are set to 0, the setting of the pair is
invalid.
2 If the same M code for clamp is set for pairs 1 and 2, the setting for pair 1 that is
specified in parameter No. 13543 is used as the M code for unclamp.

4.3.6 Reducing of Waiting Time of Spindle Speed Arrival in the


Canned Cycle for Drilling
Overview
When bit 7 (SAC) of parameter No.11507 is set to 1, this function checks the spindle speed arrival signal
SAR without waiting time that is set a parameter No.3740 at starting of drilling since the second times in
canned cycle for drilling.
Also, this function is available rapid traverse to the initial lever and block overlap in rapid traverse of
positioning to a next position of hole in canned cycle for drilling. These improvements reduce the cycle
time.

Explanation
A canned cycle for drilling consists of a sequence of six operations.
Operation 1 Positioning of axes X (Z) and C (including also another axis)
Operation 2 Rapid traverse up to point R level
Operation 3 Hole machining
Operation 4 Operation at the bottom of a hole
Operation 5 Retraction to point R level
Operation 6 Rapid traverse up to the initial point

- 103 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Operation 1
Initial level

Operation 2 Operation 6

Point R level

Operation 5
Operation 3

Rapid traverse
Operation 4
Feed

Fig. 4.3.6 (a) Operation sequence of canned cycle for drilling

When bit 7 (SAC) of parameter No.11507 is set to 0, the spindle speed arrival signal SAR is checked after
waiting for elapsing time that is set parameter No.3740 for each drilling.
When bit 7 (SAC) of parameter No.11507 is set to 1, in drilling since the second times, the spindle speed
arrival signal SAR is checked immediately that is set parameter No.3740 is not related.
However, when command and state are the following conditions, CNC is waiting for elapsing time that is
set parameter No.3740 before checking the spindle speed arrival signal SAR.
- Canned cycle for drilling is canceled by G80 or G code of group 01.
- S code is commanded.
- G code of canned cycle for drilling is commanded which is different modal G code.
- The spindle speed arrival signal SAR becomes “0”.
- CNC becomes reset state.

Applied of speed-up of each command


Table of canned cycle for drilling (Series 0i -Fformat)
Reducing of waiting Block overlap in rapid
G code Function
time for SAR traverse
G83 Front drilling cycle available available
Front tapping cycle
G84 - available
Front face rigid tapping cycle
G85 Front boring cycle available available
G87 Side drilling cycle available available
Side tapping cycle
G88 - available
Side face rigid tapping cycle
G89 Side boring cycle available available

Table of canned cycle for drilling (Series 10/11 format)


Reducing of waiting Block overlap in rapid
G code Function
time for SAR traverse
G81 Drilling cycle, spot drilling cycle available available
G82 Drilling cycle, counter boring available available
G83 Peck drilling cycle available available
G83.1 High-speed peck drilling cycle available available
G84 Tapping cycle - available
G84.2 Rigid tapping cycle - available
G85 Boring cycle available available
G89 Boring cycle available available
- 104 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Manual Handle Retrace


This function is available in the check mode of manual handle retrace.
In case of canceling of canned cycle for drilling
Forward Backward Re-forward
G00 X_ Z_ ;
G83 Z_ C_ F_ ; Parameter No.3740 is Not waiting time. Parameter No.3740 is
available. available.
C_ ; Not waiting time. Not waiting time. Not waiting time.
C_ ; Not waiting time. Parameter No.3740 is Not waiting time.
available.
G80 ;

In case of not canceling of canned cycle for drilling


Forward Backward Re-forward
G00 X_ Z_ ;
G83 Z_ C_ F_ ; Parameter No.3740 is Not waiting time. Not waiting time.
available.
C_ ; Not waiting time. Not waiting time. Not waiting time.
C_ ; Not waiting time. Not waiting time. Not waiting time.
G80 ;

4.3.7 Precautions to be Taken by Operator


- Reset and emergency stop
Even when the controller is stopped by resetting or emergency stop in the course of drilling cycle, the
drilling mode and drilling data are saved; with this mind, therefore, restart operation.

- Single block
When drilling cycle is performed with a single block, the operation stops at the end points of operations 1,
2, 6 in Fig. 4.3 (a).
Consequently, it follows that operation is started up 3 times to drill one hole. The operation stops at the
end points of operations 1, 2 with the feed hold lamp ON. If there is a remaining repetitive count at the
end of operation 6, the operation is stopped by feed hold. If there is no remaining repetitive count, the
operation is stopped in the single block stop state.

- Feed hold
When "Feed Hold" is applied between operations 3 and 5 by G84/G88, the feed hold lamp lights up
immediately if the feed hold is applied again to operation 6.

- Override
During operation with G84 and G88, the feedrate override is 100%.

- 105 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

4.4 RIGID TAPPING


Front face tapping cycles (G84) and side face tapping cycles (G88) can be performed either in
conventional mode or rigid mode.
In conventional mode, the spindle is rotated or stopped, in synchronization with the motion along the
tapping axis according to miscellaneous functions M03 (spindle CW rotation), M04 (spindle CCW
rotation), and M05 (spindle stop).
In rigid mode, the spindle motor is controlled in the same way as a control motor, by the application of
compensation to both motion along the tapping axis and that of the spindle.
For rigid tapping, each turn of the spindle corresponds to a certain amount of feed (screw lead) along the
spindle axis. This also applies to acceleration/deceleration. This means that rigid tapping does not demand
the use of float tappers as in the case of conventional tapping, thus enabling high-speed, high-precision
tapping.
When the multi-spindle control function is valid (the bit 3 (MSP) of parameter No. 8133 is 1), the second
or third spindles can be used for rigid tapping.

NOTE
When bit 3 (NRG) of parameter No.8135 is 0, this function can be used.

- 106 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.4.1 Front Face Rigid Tapping Cycle (G84) / Side Face Rigid
Tapping Cycle (G88)
Controlling the spindle motor in the same way as a servo motor in rigid mode enables high-speed tapping.

Format
G84 X (U)_ C (H)_ Z (W)_ R_ P_ F_ K_ M_ ;
or
G88 Z (W)_ C (H)_ X (U)_ R_ P_ F_ K_ M_ ;

X_ C_ or Z_ C_ : Hole position data


Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
K_ : Number of repeats (When it is needed.)
Number of repeats is specified by address L_, in case of bit 1 (FCV)
of parameter No.0001 = 1.
M_ : M code for C-axis clamp (when it is needed.)

G84 or G88 (G98 mode) G84 or G88 (G99 mode)

Spindle stop Spindle stop


Initial level

Operation 1
Operation 6
Operation 2 Spindle stop
Spindle stop
Spindle CW P2 Spindle CW P2
Point R Point R level Point R Point R level

Operation 3 Operation 5

Point Z Point Z
P P
Spindle stop Spindle stop Spindle CCW
Operation 4 Spindle CCW

P2 performs dwelling of C-axis unclamp. (The dwell time is set in parameter No. 5111.)

In front face rigid tapping (G84), the plane first axis is used as the drilling axis and the other axes are used
as positioning axes.
Bit 0 (RTX) of parameter No. 5209 Plane selection Drilling axis
G17: Xp-Yp plane Xp
0 G18: Zp-Xp plane Zp
G19: Yp-Zp plane Yp
1 Zp

Xp: X axis or its parallel axis


Yp: Y axis or its parallel axis
Zp: Z axis or its parallel axis

- 107 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

In side face rigid tapping (G88), the plane first axis is used as the drilling axis and the other axes are used
as positioning axes.
Bit 0 (RTX) of parameter No. 5209 Plane selection Drilling axis
G17: Xp-Yp plane Yp
0 G18: Zp-Xp plane Xp
G19: Yp-Zp plane Zp
1 Xp

Xp: X axis or its parallel axis


Yp: Y axis or its parallel axis
Zp: Z axis or its parallel axis

(Series 10/11 format)


G84.2 X (U)_ C (H)_ Z (W)_ R_ P_ F_ L_ S_ ;

X_ C_ or Z_ C_ : Hole position data


Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of a hole
F_ : Cutting feedrate
L_ : Number of repeats (When it is needed.)
S_ : Spindle speed
C-axis clamp cannot be performed during specification of the Series 10/11
format.

G84.2 (G98 mode) G84.2 (G99 mode)

Spindle stop Spindle stop


Initial level

Operation 1
Operation 6
Operation 2 Spindle stop
Spindle stop Spindle CW
Spindle CW

Point R Point R level Point R Point R level

Operation 3 Operation 5

Point Z Point Z
P P
Spindle Spindle stop Spindle CCW
Spindle stop Operation 4

A G code cannot discriminate between front face tapping cycle and side face tapping cycle using Series
10/11 format commands(G84.2). The drilling axis is determined by plane selection (G17/G18/G19).
Specify the plane selection that becomes equivalent to front face tapping cycle or side face tapping cycle
as appropriate. (When FXY (bit 0 of parameter No. 5101) is 0, the Z-axis is used as the drilling axis.
When FXY is 1, plane selection is as Table 4.4.1 (a).)

Table 4.4.1 (a)


Plane selection Drilling axis
G17: Xp-Yp plane Zp
G18: Zp-Xp plane Yp
G19: Yp-Zp plane Xp
Xp: X axis or its parallel axis
Yp: Y axis or its parallel axis
- 108 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
Zp: Z axis or its parallel axis

Thus, the rigid tapping mode can be specified in two formats: G84/G88(FS0i-F format) and
G84.2(FS10/11 format). A usable format can be selected by parameter setting.
Parameter
Bit 1 (FCV) of Bit 3 (F16) of Executable command format
parameter No. 0001 parameter No. 5102
FS0i-F format only (The number of repeats is specified using address
0 -
K.)
FS10/11 format or
1 0
FS0i-F format (The number of repeats is specified using address L.)
1 1 FS0i-F format only (The number of repeats is specified using address L.)

Explanation
Once positioning for the X-axis (G84) or Z-axis (G88) has been completed, the spindle is moved, by
rapid traverse, to point R. Tapping is performed from point R to point Z, after which the spindle stops and
observes a dwell time. Then, the spindle starts reverse rotation, retracts to point R, stops rotating, then
moves to the initial level by rapid traverse.
During tapping, the feedrate override and spindle override are assumed to be 100%. For retraction
(operation 5), however, a fixed override of up to 2000% can be applied by setting bit 4 (DOV) of
parameter No. 5200, bit 3 (OVU) of parameter No. 5201, and parameter No. 5211.

- Rigid mode
Rigid mode can be specified by applying any of the following methods:
(1) Specifying M29S***** before a tapping block
(2) Specifying M29S***** within a tapping block
(3) Handling G84 or G88 as a G code for rigid tapping (Set bit 0 (G84) of parameter No. 5200 to 1.)

- Thread lead
In feed per minute mode, the feedrate divided by the spindle speed is equal to the thread lead. In feed per
rotation mode, the feedrate is equal to the thread lead.

- Series 10/11 format command


Rigid tapping can be performed using Series 10/11 format commands.

- Acceleration/deceleration after interpolation


Linear or bell-shaped acceleration/deceleration can be applied.
Details are given later.

- Look-ahead acceleration/deceleration before interpolation


Look-ahead acceleration/deceleration before interpolation is invalid.

- Override
Various types of override functions are invalid. The following override functions can be enabled by
setting corresponding parameters:
(1) Extraction override
(2) Override signal

- Dry run
Dry run can be executed also in G84 (G88). When dry run is executed at the feedrate for the drilling axis
in G84 (G88), tapping is performed according to the feedrate. Note that the spindle speed becomes faster
at a higher dry run feedrate.

- 109 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Machine lock
Machine lock can be executed also in G84 (G88).
When G84 (G88) is executed in the machine lock state, the tool does not move along the drilling axis.
Therefore, the spindle does not also rotate.

- Reset
When a reset is performed during rigid tapping, the rigid tapping mode is canceled and the spindle motor
enters the normal mode. Note that the G84 (G88) mode is not canceled in this case when bit 6 (CLR) of
parameter No. 3402 is set.

- Interlock
Interlock can also be applied in G84 (G88).

- Feed hold and single block


When bit 6 (FHD) of parameter No. 5200 is set to 0, feed hold and single block are invalid in the G84
(G88) mode. When this bit is set to 1, they are valid.

- Manual feed
For rigid tapping by manual handle feed, see the section "Rigid Tapping by Manual Handle."
With other manual operations, rigid tapping cannot be performed.

- Backlash compensation
In the rigid tapping mode, backlash compensation is applied to compensate the lost motion when the
spindle rotates clockwise or counterclockwise. Set the amount of backlash in parameters Nos. 5321 to
5324.
Along the drilling axis, backlash compensation has been applied.

- C-axis clamp, C-axis unclamp


It is possible to specify an M code for mechanically fixing or releasing the C-axis during rigid tapping.
Adding an M code for clamp to the G84 (G88) block outputs both M codes. Descriptions of timing are
provided later.
An M code for clamp is set in parameter No. 5110. An M code for unclamp is assumed as Table 4.4.1 (b)
depending on the setting of parameter No. 5110.

Table 4.4.1 (b)


Parameter No.5110
0 Non-0
No M codes are output. The setting of parameter No.5110 + 1 is assumed.

Limitation
- Axis switching
Before the drilling axis can be changed, the canned cycle must be canceled. If the drilling axis is changed
in rigid mode, alarm PS0206, “CAN NOT CHANGE PLANE (RIGID TAP)” is issued.

- S commands
When a value exceeding the maximum rotation speed for the gear being used is specified, alarm PS0200,
“ILLEGAL S CODE COMMAND” is issued. If such a command that the number of pulses of 8 msec is
32768 or more on the detection unit level or the number of pulses of 8 msec is 32768 or more for a serial
spindle is specified, alarm PS0202, “POSITION LSI OVERFLOW” is issued.

<Example>
For a built-in motor equipped with a detector having a resolution of 4095 pulses per rotation, the
maximum spindle speed during rigid tapping is as follows:
- 110 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

(4095×1000÷8×60)÷4095=7500 (min-1)
For a serial spindle
(32767×1000÷8×60)÷4095=60012(min-1) [Note: Ideal value]

- F commands
Specifying a value larger than the upper limit for cutting feed will cause alarm PS0201, “FEEDRATE
NOT FOUND IN RIGID TAP” to be issued.

- Unit of F command
Metric input Inch input Remarks
G98 1mm/min 0.01inch/min Decimal point programming allowed
G99 0.01mm/rev 0.0001inch/rev Decimal point programming allowed

- M29
If an S command and axis movement are specified between M29 and G84, alarm PS0203, “PROGRAM
MISS AT RIGID TAPPING” is issued. If M29 is specified in a tapping cycle, alarm PS0204, “ILLEGAL
AXIS OPERATION” is issued.

- P
Specify P in a block that performs drilling. If P is specified in a non-drilling block, it is not stored as
modal data.

- Cancel
Do not specify a G code of the 01 group (G00 to G03) and G84 in a single block. Otherwise, G84 will be
canceled.

- Tool offset
In the canned cycle mode, tool offsets are ignored.

- Program restart
A program cannot be restarted during rigid tapping.

- R
The value of R must be specified in a block which performs drilling. If the value is specified in a block
which does not perform drilling, it is not stored as modal data.

- Subprogram call
In the canned cycle mode, specify the subprogram call command M98P_ in an independent block.

- Constant surface speed control


If rigid tapping is commanded during constant surface speed control, alarm (PS0200), ”ILLEGAL S
CODE COMMAND” is issued. Command rigid tapping after canceling constant surface speed control.

Example
Tapping axis feedrate: 1000 mm/min
Spindle speed: 1000 min-1
Screw lead: 1.0 mm
<Programming for feed per minute>
G98 ; ...................................... Command for feed per minute
G00 X100.0 ;................................. Positioning
M29 S1000;................................... Command for specifying rigid mode
G84 Z-100.0 R-20.0 F1000 ;......... Rigid tapping
<Programming for feed per rotation>
- 111 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

G99 ; ...................................... Command for feed per rotation


G00 X100.0 ;................................. Positioning
M29 S1000 ;.................................. Command for specifying rigid mode
G84 Z-100.0 R-20.0 F1.0 ;............ Rigid tapping

4.4.2 Peck Rigid Tapping Cycle (G84 or G88)


Tapping a deep hole in rigid tapping mode may be difficult due to chips sticking to the tool or increased
cutting resistance. In such cases, the peck rigid tapping cycle is useful.
In this cycle, cutting is performed several times until the bottom of the hole is reached. Two peck tapping
cycles are available: High-speed peck tapping cycle and standard peck tapping cycle. These cycles are
selected using the bit 5 (PCP) of parameter No. 5200.

Format
When rigid tapping is specified with G84 (G88) if bit 5 (PCP) of parameter No. 5200 = 0, high-speed
peck rigid tapping is assumed.
G84 X(U)_ C(H)_Z(W)_ R_ P_ Q_ F_ K_ M_ ;
or
G88 Z(W)_ C(H)_X(U)_ R_ P_ Q_ F_ K_ M_ ;

X_ C_ or Z_ C_ : Hole position data


Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of the hole
Q_ : Depth of cut for each cutting feed
F_ : The cutting feedrate
K_ : Number of repeats (when it is needed.)
M_ : M code for C-axis clamp (when it is needed.)

G84 or G88(G98 mode) G84 or G88(G99 mode)

- High-speed peck rigid tapping cycle


In the first cutting from point R, perform
Spindle stop d = Amount of Spindle stop

cutting by depth "q" specified by address Q return


while rotating the spindle in the forward
Mα Mα
direction (operation <1>). Initial level
Spindle stop
Then, perform returning by the amount Spindle CW
Spindle stop Spindle stop
specified by parameter No. 5213 while Spindle CW Spindle CW
Point R
M(α+1) Spindle CW Point R Spindle stop
rotating the spindle in the reverse direction Point R level Point R level M(α+1)
P2 P2
(operation <2>).
Then, perform tapping by (d+q) while q (1) q (1)
d d
rotating the spindle in the forward direction (2) (2)
(operation <3>).
(3)
q q (3)
d d
Repeat operations <2> and <3> until the
bottom of the hole is reached.
Spindle stop Spindle stop
q Spindle CCW q Spindle CCW
The cutting speed and rigid tapping time
constant are used for operations <1> and
<3>.
For operation <2> and travel from the
bottom of the hole (point Z) to point R, rigid
tapping extract override is enabled and the Point Z Point Z
rigid tapping extract time constant is used.
Spindle stop P1 Spindle CCW Spindle stop P1 Spindle CCW

When rigid tapping is specified with G84 (G88) if bit 5 (PCP) of parameter No. 5200 = 1, peck rigid
tapping is assumed.

- 112 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
G84 X(U)_ C(H)_Z(W)_ R_ P_ Q_ F_ K_ M_ ;
or
G88 Z(W)_ C(H)_X(U)_ R_ P_ Q_ F_ K_ M_ ;

X_ C_ or Z_ C_ : Hole position data


Z_ or X_ : The distance from point R to the bottom of the hole
R_ : The distance from the initial level to point R level
P_ : Dwell time at the bottom of the hole
Q_ : Depth of cut for each cutting feed
F_ : The cutting feedrate
K_ : Number of repeats (when it is needed.)
M_ : M code for C-axis clamp (when it is needed.)

G84 or G88(G98 mode) G84 or G88(G99 mode)

- Peck rigid tapping cycle d = Cutting start distance


In the first cutting from point R, perform Spindle stop Spindle stop Spindle stop Spindle stop
cutting by depth "q" specified by address Q Spindle CW Spindle CW
while rotating the spindle in the forward Mα Mα
Initial level
direction (operation <1>).
Then, return to point R by rotating the Spindle CW Spindle CW
Spindle stop
Spindle stop
spindle in the reverse direction (operation Point R M(α+1) Point R M(α+1)
Point R Point R
<2>). level (3) P2 level (3) P2
Then, rotate the spindle in the forward (1) (1)
direction and perform cutting to the position q q
(2) d (2) d
indicated by [(Position to which cutting was
performed previously) - (Cutting start q
(4)
q
(4)
distance set in parameter No. 5213)] as d d
movement to the cutting start point
(operation <3>). Spindle stop Spindle stop
q q
Continue cutting by (d+q) (operation <4>). Spindle CCW Spindle CCW
d d

Repeat operations <2> to <4> until the


bottom of the hole is reached.

The cutting speed and rigid tapping time


constant are used for operations <1> and Point Z Point Z
<4>.
For operations <2>, <3>, and travel from Spindle stop P1 Spindle CCW Spindle stop P1 Spindle CCW
the bottom of the hole (point Z) to point R,
rigid tapping extract override is enabled
and the rigid tapping extract time constant The symbols in the figure above indicate the following operations.
is used.
: Positioning (Rapid traverse G00)
: Cutting feed (Linear interpolation G01)
P1 : Dwell programmed by the address P command
Mα : Output of the M code for C-axis clamp (The α value is set in parameter No. 5110.)
M(α+1) : Output of the M code for C-axis unclamp
P2 : Dwell set by parameter No.5111

Note P1, Mα, M(α+1), and P2 are not executed or output without being specified or set.

Explanation
- Cutting start distance
Cutting start distance d is set by parameter No. 5213.

- Amount of return
Amount of return for each time d is set by parameter No. 5213.

- Return speed
For the speed of return operation, a maximum of 2000% of override can be enabled by setting bit 4
(DOV) of parameter No. 5200, bit 3 (OVU) of parameter No. 5201, and parameter No. 5211 as with
travel from the bottom of the hole (point Z) to point R.

- 113 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Speed during cutting into the cutting start point


For the speed during cutting into the cutting start point, a maximum of 2000% of override can be enabled
by setting bit 4 (DOV) of parameter No. 5200, bit 3 (OVU) of parameter No. 5201, and parameter No.
5211 as with travel from the bottom of the hole (point Z) to point R.

- Acceleration/deceleration after interpolation


Linear or bell-shaped acceleration/deceleration can be applied.

- Look-ahead acceleration/deceleration before interpolation


Look-ahead acceleration/deceleration before interpolation is invalid.

- Override
Various types of override functions are invalid. The following override functions can be enabled by
setting corresponding parameters:
- Extraction override
- Override signal
Details are given later.

- Dry run
Dry run can be executed also in G84 (G88). When dry run is executed at the feedrate for the drilling axis
in G84 (G88), tapping is performed according to the feedrate. Note that the spindle speed becomes faster
at a higher dry run feedrate.

- Machine lock
Machine lock can be executed also in G84 (G88).
When G84 (G88) is executed in the machine lock state, the tool does not move along the drilling axis.
Therefore, the spindle does not also rotate.

- Reset
When a reset is performed during rigid tapping, the rigid tapping mode is canceled and the spindle motor
enters the normal mode. Note that the G84 (G88) mode is not canceled in this case when bit 6 (CLR) of
parameter No. 3402 is set.

- Interlock
Interlock can also be applied in G84 (G88).

- Feed hold and single block


When bit 6 (FHD) of parameter No. 5200 is set to 0, feed hold and single block are invalid in the G84
(G88) mode. When this bit is set to 1, they are valid.

- Manual feed
For rigid tapping by manual handle feed, see the section "Rigid Tapping by Manual Handle."
With other manual operations, rigid tapping cannot be performed.

- Backlash compensation
In the rigid tapping mode, backlash compensation is applied to compensate the lost motion when the
spindle rotates clockwise or counterclockwise. Set the amount of backlash in parameters Nos. 5321 to
5324.
Along the drilling axis, backlash compensation has been applied.

- Series 10/11 format


When bit 1 (FCV) of parameter No. 0001 is set to 1, execution is enabled with G84.2. The same operation
as with G84 is performed. However, the command format for the repetitive count is L.

- 114 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Limitation
- Axis switching
Before the drilling axis can be changed, the canned cycle must be canceled. If the drilling axis is changed
in rigid mode, alarm PS0206, “CAN NOT CHANGE PLANE (RIGID TAP)” is issued.

- S commands
- If a speed higher than the maximum speed for the gear being used is specified, alarm PS0200,
“ILLEGAL S CODE COMMAND” is
issued.
- When the rigid tapping canned cycle is cancelled, the S command used for rigid tapping is cleared to
S0.

- Distribution amount for the spindle


The maximum distribution amount is as follows (displayed on diagnostic data No. 451):
- For a serial spindle: 32,767 pulses per 4 msec
This amount is changed according to the gear ratio setting for the position coder or rigid tapping
command. If a setting is made to exceed the upper limit, alarm PS0202, “POSITION LSI
OVERFLOW” is issued.

- F command
Specifying a value larger than the upper limit for cutting feed will cause alarm PS0011, “FEED ZERO
( COMMAND )” to be issued.

- Unit of F command
Metric input Inch input Remarks
G98 1mm/min 0.01inch/min Decimal point programming allowed
G99 0.01mm/rev 0.0001inch/rev Decimal point programming allowed

- M29
If an S command and axis movement are specified between M29 and G84, alarm PS0203 is issued. If
M29 is specified in a tapping cycle, alarm PS0204 is issued.

- P/Q
Specify P and Q in a block that performs drilling. If they are specified in a block that does not perform
drilling, they are not stored as modal data.
When Q0 is specified, the peck rigid tapping cycle is not performed.

- Cancel
Do not specify a G code of the 01 group (G00 to G03) and G84 in a single block. Otherwise, G84 will be
canceled.

- Tool offset
In the canned cycle mode, tool offsets are ignored.

- Subprogram call
In the canned cycle mode, specify the subprogram call command M98P_ in an independent block.

- Amount of return and cutting start distance


Set the amount of return and cutting start distance (parameter No. 5213) so that the tool does not
overshoot point R.

- 115 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Constant surface speed control


If rigid tapping is commanded during constant surface speed control, alarm (PS0200), ”ILLEGAL S
CODE COMMAND” is issued. Command rigid tapping after canceling constant surface speed control.

4.4.3 Canned Cycle Cancel (G80)


The rigid tapping canned cycle is canceled. For how to cancel this cycle, see II-4.3.4.

NOTE
When the rigid tapping canned cycle is cancelled, the S value used for rigid
tapping is also cleared (as if S0 is specified).
Accordingly, the S command specified for rigid tapping cannot be used in a
subsequent part of the program after the cancellation of the rigid tapping canned
cycle.
After canceling the rigid tapping canned cycle, specify a new S command as
required.

4.4.4 Override during Rigid Tapping


Various types of override functions are invalid. The following override functions can be enabled by
setting corresponding parameters:
- Extraction override
- Override signal

4.4.4.1 Extraction override


For extraction override, the fixed override set in the parameter or override specified in a program can be
enabled at extraction (including retraction during peck drilling/high-speed peck drilling).

Explanation
- Specifying the override in the parameter
Set bit 4 (DOV) of parameter No. 5200 to 1 and set the override in parameter No. 5211.
An override from 0% to 200% in 1% steps can be set. Bit 3 (OVU) of parameter No. 5201 can be set to 1
to set an override from 0% to 2000% in 10% steps.

- Specifying the override in a program


Set bit 4 (DOV) of parameter No. 5200 and bit 4 (OV3) of parameter No. 5201 to 1. The spindle speed at
extraction can be specified in the program.
Specify the spindle speed at extraction using address "J" in the block in which rigid tapping is specified.
Example)
To specify 1000 min-1 for S at cutting and 2000 min-1 for S at extraction
.
M29 S1000 ;
G84 Z-100.0 F1000.0 J2000 ;
.

The difference in the spindle speed is converted to the actual override by the following calculation.
Therefore, the spindle speed at extraction may not be the same as that specified at address "J". If the
override does not fall in the range between 100% and 200%, it is assumed to be 100%.
Spindle speed at extraction (specified at J )
Override (%) = × 100
Spindle speed (specified at S )

- 116 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
The override to be applied is determined according to the setting of parameters and that in the command
as shown in the Table 4.4.4.1 (a).

Table 4.4.4.1 (a)


Parameter setting DOV = 1
DOV = 0
Command OV3 = 1 OV3 = 0
Within the range between 100% Command in the
Spindle speed at extraction to 200% program
Parameter No.
specified at address "J" Outside the range between 100%
100% 5211
100% to 200%
No spindle speed at extraction specified at address "J" Parameter No. 5211

NOTE
1 Do not use a decimal point in the value specified at address "J".
If a decimal point is used, the value is assumed as follows:
Example)
When the increment system for the reference axis is IS-B
- When pocket calculator type decimal point programming is not used
The specified value is converted to the value for which the least input
increment is considered.
"J200." is assumed to be 200000 min-1.
- When pocket calculator type decimal point programming is used
The specified value is converted to the value obtained by rounding down
to an integer.
"J200." is assumed to be 200 min-1.
2 Do not use a minus sign in the value specified at address "J".
If a minus sign is used, a value outside the range between 100% to 200% is
assumed.
3 The maximum override is obtained using the following equation so that the
spindle speed to which override at extraction is applied do not exceed the
maximum used gear speed (specified in parameters Nos. 5241 to 5244). For this
reason, the obtained value is not the same as the maximum spindle speed
depending on the override.
Maximum spindle speed (specified in parameters)
Maximum override (%) = × 100
Spindle speed (specified at S )
4 When a value is specified at address "J" for specifying the spindle speed at
extraction in the rigid tapping mode, it is valid until the canned cycle is canceled.

4.4.4.2 Override signal


By setting bit 4 (OVS) of parameter No. 5203 to 1, override can be applied to cutting/extraction operation
during rigid tapping as follows:
(1) Applying override using the feedrate override signal
(When the second feedrate override signal is enabled, the second feedrate override is applied to the
feedrate to which feedrate override is applied.)
(2) Canceling override using the override cancel signal

There are the following relationships between this function and override to each operation:
(1) At cutting
When the override cancel signal is set to 0: Value specified by the override signal
When the override cancel signal is set to 1: 100%

- 117 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

(2) At extraction
- When the override cancel signal is set to 0: Value specified by the override signal
- When the override cancel signal is set to 1 and extraction override is disabled:
100%
- When the override cancel signal is set to 1 and extraction override is enabled:
Value specified for extraction override

NOTE
1 The maximum override is obtained using the following equation so that the
spindle speed to which override is applied do not exceed the maximum used
gear speed (specified in parameters Nos. 5241 to 5244). For this reason, the
obtained value is not the same as the maximum spindle speed depending on the
override.
Maximum spindle speed (specified in parameters)
Maximum override (%) = × 100
Spindle speed (specified at S )
2 Since override operation differs depending on the machine in use, refer to the
manual provided by the machine tool builder.

- 118 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.5 CANNED GRINDING CYCLE (FOR GRINDING MACHINE)


With the canned grinding cycle, repetitive machining operations that are specific to grinding and are
usually specified using several blocks can be specified using one block including a G function. So, a
program can be created simply. At the same time, the size of a program can be reduced, and the memory
can be used more efficiently. Four types of canned grinding cycles are available:

- Traverse grinding cycle (G71) (G72 when G code system C is used)


- Traverse direct constant-size grinding cycle (G72) (G73 when G code system C is used)
- Oscillation grinding cycle (G73) (G74 when G code system C is used)
- Oscillation direct constant-size grinding cycle (G74) (G75 when G code system C is used)

In the descriptions below, an axis used for cutting with a grinding wheel and an axis used for grinding
with a grinding wheel are referred to as follows:

Axis used for cutting with a grinding wheel: Cutting axis


Axis used for grinding with a grinding wheel: Grinding axis

During execution of a canned grinding cycle, the following functions cannot be used:

- Programmable mirror image


- Coordinate system rotation
- 3-dimensional coordinate conversion

For a depth of cut on a cutting axis and a distance of grinding on a grinding axis, the incremental system
(parameter No. 1013) for the reference axis (parameter No. 1031) is used. If 0 is set in parameter No.
1031 (reference axis), the incremental system for the first axis is used.

WARNING
The G codes for canned grinding cycles G71, G72, G73, and G74 (G72, G73,
G74, and G75 when G code system C is used) are G codes of group 01. A G
code for cancellation such as G80 used for a canned cycle for drilling is
unavailable. By specifying a G code of group 00 other than G04, modal
information such as a depth of cut is cleared but no canned grinding cycle can
be canceled. To cancel a canned grinding cycle, a G code of group 01 other
than G71, G72, G73, and G74 needs to be specified. So, when switching to
another axis move command from G71, G72, G73 or G74, for example, be sure
to specify a G code of group 01 such as G00 or G01 to cancel the canned
grinding cycle. If another axis move command is specified without canceling the
canned grinding cycle, an unpredictable operation can result because of
continued cycle operation.

NOTE
1 To use this function, the option "Grinding function A" or "Grinding function B" is
required.
2 A canned grinding cycle and multiple repetitive canned cycle cannot be used
simultaneously.
When the canned grinding cycle is enabled, the multiple repetitive canned cycle
is disabled.

- 119 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

NOTE
3 If the G code for a canned grinding cycle (G71, G72, G73, or G74) is specified,
the canned grinding cycle is executed according to the values of A, B, W, U, I,
and K preserved as modal data while the cycle is valid, even if a block specified
later specifies none of G71, G72, G73, and G74.
Example:
G71 A_ B_ W_ U_ I_ K_ H_ ;
; ← The canned grinding cycle is executed even if an empty block is specified.
%
4 When switching from a canned cycle for drilling to a canned grinding cycle,
specify G80 to cancel the canned cycle for drilling.
5 When switching from a canned grinding cycle to another axis move command,
cancel the canned cycle according to the warning above.

- 120 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.5.1 Traverse Grinding Cycle (G71)


A traverse grinding cycle can be executed.

Format
G71 A_ B_ W_ U_ I_ K_ H_ ;
A_ : First depth of cut (The cutting direction depends on the sign.)
B_ : Second depth of cut (The cutting direction depends on the sign.)
W_ : Grinding range (The grinding direction depends on the sign.)
U_ : Dwell time
I_ : Feedrate for A and B
K_ : Feedrate for W
H_ : Repetitive count (from 1 to 9999)
G71

X
W

A <1>(I) <3>(K)

<2>U <4>(I)
B
<6>(K) <5>U

Explanation
The traverse grinding cycle consists of six operations.
The operations from <1> to <6> are repeated until the repetitive count specified in address H is reached.
In the case of single block operation, the operations from <1> to <6> are executed with one cycle start
operation.

- Operation sequence in a cycle


<1> Cutting with a grinding wheel
By the first depth of cut specified in A, cutting is performed by cutting feed in the X-axis
direction. The feedrate specified in I is used.
<2> Dwell
A dwell operation is performed for the time specified in U.
<3> Grinding
A movement is made by the distance specified in W by cutting feed. Set a grinding axis in
parameter No.5176. The feedrate specified in K is used.
<4> Cutting with a grinding wheel
By the second depth of cut specified in B, cutting is performed by cutting feed in the
X-axis direction. The feedrate specified in I is used.
<5> Dwell
A dwell operation is performed for the time specified in U.
<6> Grinding (return direction)
A movement is made at the feedrate specified in K in the reverse direction by the distance
specified in W.

- 121 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Limitation
- Cutting axis
As a cutting axis, the first controlled axis is used. By setting bit 0 (FXY) of parameter No. 5101 to 1, the
axis can be switched using a plane selection command (G17, G18, or G19).
- Grinding axis
Specify a grinding axis by setting an axis number for other than the cutting axis in parameter No. 5176.
Specify a grinding command in W without using an axis name. The axis name corresponding to the set
axis number can also be used for specification.
- A, B, W
The commands of A, B, and W are all incremental commands.
When none of A and B are specified or A=B=0, spark-out operation (execution of only movement in the
grinding direction) is performed.
- H
When H is not specified or H=0, the specification of H=1 is assumed.
The specification of H is valid only in the block where H is specified.
- Clear
The data A, B, W, U, I, and K in the canned cycle is modal information common to G71, G72, G73, and
G74. So, the data remains valid until new data is specified. The data is cleared when a G code of group 00
other than G04 or a G code of group 01 other than G71, G72, G73, and G74 is specified. The
specification of H is valid only in the block where H is specified.
- B code
During the canned cycle, no B code (second auxiliary function) can be specified.

NOTE
1 If no grinding axis is specified when G71 is specified, alarm PS0455, “ILLEGAL
COMMAND IN GRINDING” is issued.
2 If the specified cutting axis number and grinding axis number are the same,
alarm PS0456, “ILLEGAL PARAMETER IN GRINDING” is issued.
3 Even if G90 (absolute command) is specified while this cycle is valid, each of the
A, B, and W commands is an incremental command.

- 122 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.5.2 Traverse Direct Constant-Size Grinding Cycle (G72)


A traverse direct constant-size grinding cycle can be executed.

Format
G72 P_ A_ B_ W_ U_ I_ K_ H_ ;
P_ : Gage number (1 to 4)
A_ : First depth of cut (The cutting direction depends on the sign.)
B_ : Second depth of cut (The cutting direction depends on the sign.)
W_ : Grinding range (The grinding direction depends on the sign.)
U_ : Dwell time
I_ : Feedrate for A and B
K_ : Feedrate for W
H_ : Repetitive count (from 1 to 9999)
G72
X
W

A <1>(I) <3>(K)

<2>U <4>(I)
B
<6>(K) <5>U

Explanation
If the multi-step skip option is specified, a gage number can be specified. The method of gage number
specification is the same as for the multi-step skip option. If the multi-step skip option is not specified, the
conventional skip signal is used.
The commands and operations other than gage number specification are the same as for G71.

- Operation performed when the skip signal is input


A G72 cycle can be terminated after interrupting the current operation (or after ending the current
operation) by inputting the skip signal during execution of the cycle.
Each operation of the sequence performed when the skip signal is input is described below.

- If the skip signal is input during operation <1> or <4> (movement by A or B), cutting is immediately
stopped to return to coordinate α selected as the cycle start point.

Skip signal Skip signal


(End)

(End)

- If the skip signal is input during operation <2> or <5> (dwell), dwell operation is immediately
stopped to return to coordinate α selected as the cycle start point.

- 123 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- If the skip signal is input during operation <3> or <6> (grinding feed), the tool returns to coordinate
α selected as the cycle start point after the end of movement over W.

Skip signal

(End) Skip signal


(End)

Limitation
- Cutting axis
As a cutting axis, the first controlled axis is used. By setting bit 0 (FXY) of parameter No. 5101 to 1, the
axis can be switched using a plane selection command (G17, G18, or G19).

- Grinding axis
Specify a grinding axis by setting an axis number for other than the cutting axis in parameter No. 5177.
Specify a grinding command in W without using an axis name. The axis name corresponding to the set
axis number can also be used for specification.

- P
If a value other than P1 to P4 is specified, the skip function is disabled.
The specification of P is valid only in the block where P is specified.

- A, B, W
The commands of A, B, and W are all incremental commands.
When none of A and B are specified or A=B=0, spark-out operation (execution of only movement in the
grinding direction) is performed.

- H
When H is not specified or H=0, the specification of H=1 is assumed.
The specification of H is valid only in the block where H is specified.

- Clear
The data A, B, W, U, I, and K in the canned cycle is modal information common to G71, G72, G73, and
G74. So, the data remains valid until new data is specified. The data is cleared when a G code of group 00
other than G04 or a G code of group 01 other than G71, G72, G73, and G74 is specified. The
specification of P or H is valid only in the block where P or H is specified.

- B code
During the canned cycle, no B code (second auxiliary function) can be specified.

NOTE
1 If no grinding axis is specified when G72 is specified, alarm PS0455, “ILLEGAL
COMMAND IN GRINDING” is issued.
2 If the specified cutting axis number and grinding axis number are the same,
alarm PS0456, “ILLEGAL PARAMETER IN GRINDING” is issued.
3 Even if G90 (absolute command) is specified while this cycle is valid, each of the
A, B, and W commands is an incremental command.

- 124 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

NOTE
4 If a value from P1 to P4 is specified without specifying the multi-step skip option,
alarm PS0370, “G31P/G04Q ERROR” is issued.

4.5.3 Oscillation Grinding Cycle (G73)


An oscillation grinding cycle can be executed.

Format
G73 A_ (B_) W_ U_ K_ H_ ;
A_ : First depth of cut (The cutting direction depends on the sign.)
B_ : Second depth of cut (The cutting direction depends on the sign.)
W_ : Grinding range (The grinding direction depends on the sign.)
U_ : Dwell time
K_ : Feedrate for W
H_ : Repetitive count (from 1 to 9999)
G73
X
W

<1>U
<2>(K)
A

A(B) <3>U
<4>(K)

Explanation
The oscillation grinding cycle consists of four operations.
The operations from <1> to <4> are repeated until the repetitive count specified in address H is reached.
In the case of single block operation, the operations from <1> to <4> are executed with one cycle start
operation.

- Operation sequence in a cycle


<1> Dwell
A dwell operation is performed for the time specified in U.
<2> Cutting + grinding with a grinding wheel
Cutting feed is performed on the cutting axis (X-axis) and a grinding axis at the same time. The
amount of movement on the cutting axis (depth of cut) is the first depth of cut specified in A,
and the amount of movement on a grinding axis is the distance specified in W. Set a grinding
axis in parameter No.5178. The feedrate specified in K is used.
<3> Dwell
A dwell operation is performed for the time specified in U.
<4> Cutting + grinding with a grinding wheel (return direction)
Cutting feed is performed on the cutting axis (X-axis) and a grinding axis at the same time. The
amount of movement on the cutting axis (depth of cut) is the second depth of cut specified in B,
and the amount of movement on the grinding axis is the distance specified in W. The feedrate
specified in K is used.

- 125 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Limitation
- Cutting axis
As a cutting axis, the first controlled axis is used. By setting bit 0 (FXY) of parameter No. 5101 to 1,
the axis can be switched using a plane selection command (G17, G18, or G19).

- Grinding axis
Specify a grinding axis by setting an axis number for other than the cutting axis in parameter No.
5178. Specify a grinding command in W without using an axis name. The axis name corresponding to the
set axis number can also be used for specification.

- B
If B is not specified, B=A is assumed.
The specification of B is valid only in the block where B is specified.

- A, B, W
The commands of A, B, and W are all incremental commands.
When none of A and B are specified or A=B=0, spark-out operation (execution of only movement in the
grinding direction) is performed.

- H
When H is not specified or H=0, the specification of H=1 is assumed.
The specification of H is valid only in the block where H is specified.

- Clear
The data A, W, U, and K in the canned cycle is modal information common to G71, G72, G73, and G74.
So, the data remains valid until new data is specified. The data is cleared when a G code of group 00 other
than G04 or a G code of group 01 other than G71, G72, G73, and G74 is specified. The specification of B
or H is valid only in the block where B or H is specified.

- B code
During the canned cycle, no B code (second auxiliary function) can be specified.

NOTE
1 If no grinding axis is specified when G73 is specified, alarm PS0455, “ILLEGAL
COMMAND IN GRINDING” is issued.
2 If the specified cutting axis number and grinding axis number are the same,
alarm PS0456, “ILLEGAL PARAMETER IN GRINDING” is issued.
3 Even if G90 (absolute command) is specified while this cycle is valid, each of the
A, B, and W commands is an incremental command.

- 126 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.5.4 Oscillation Direct Constant-Size Grinding Cycle (G74)


An oscillation direct constant-size grinding cycle can be executed.

Format
G74 P_ A_ (B_) W_ U_ K_ H_ ;
P_ : Gage number (1 to 4)
A_ : First depth of cut (The cutting direction depends on the sign.)
B_ : Second depth of cut (The cutting direction depends on the sign.)
W_ : Grinding range (The grinding direction depends on the sign.)
U_ : Dwell time
K_ : Feedrate for W
H_ : Repetitive count (from 1 to 9999)
G74

X
W

<1>U
<2>(K)
A

A(B) <3>U
<4>(K)

Explanation
If the multi-step skip option is specified, a gage number can be specified. The method of gage number
specification is the same as for the multi-step skip option. If the multi-step skip option is not specified, the
conventional skip signal is used.
The commands and operations other than gage number specification are the same as for G73.

- Operation performed when the skip signal is input


A G74 cycle can be terminated after interrupting the current operation (or after ending the current
operation) by inputting the skip signal during execution of the cycle.
Each operation of the sequence performed when the skip signal is input is described below.

- If the skip signal is input during operation <1> or <3> (dwell), dwell operation is immediately
stopped to return to coordinate α selected as the cycle start point.
- If the skip signal is input during operation <2> or <4> (A, B, grinding feed), the tool returns to
coordinate α selected as the cycle start point after the end of movement over W.
Skip signal Skip signal

(End)
(End)

- 127 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Limitation
- Cutting axis
As a cutting axis, the first controlled axis is used. By setting bit 0 (FXY) of parameter No. 5101 to 1, the
axis can be switched using a plane selection command (G17, G18, or G19).

- Grinding axis
Specify a grinding axis by setting an axis number for other than the cutting axis in parameter No. 5179.
Specify a grinding command in W without using an axis name. The axis name corresponding to the set
axis number can also be used for specification.

- P
If a value other than P1 to P4 is specified, the skip function is disabled.
The specification of P is valid only in the block where P is specified.

- B
If B is not specified, B=A is assumed.
The specification of B is valid only in the block where B is specified.

- A, B, W
The commands of A, B, and W are all incremental commands.
When none of A and B are specified or A=B=0, spark-out operation (execution of only movement in the
grinding direction) is performed.

- H
When H is not specified or H=0, the specification of H=1 is assumed.
The specification of H is valid only in the block where H is specified.

- Clear
The data A, W, U, and K in the canned cycle is modal information common to G71, G72, G73, and G74.
So, the data remains valid until new data is specified. The data is cleared when a G code of group 00 other
than G04 or a G code of group 01 other than G71, G72, G73, and G74 is specified. The specification of P,
B, or H is valid only in the block where P, B, or H is specified.

- B code
During the canned cycle, no B code (second auxiliary function) can be specified.

NOTE
1 If no grinding axis is specified when G74 is specified, alarm PS0455, “ILLEGAL
COMMAND IN GRINDING” is issued.
2 If the specified cutting axis number and grinding axis number are the same,
alarm PS0456, “ILLEGAL PARAMETER IN GRINDING” is issued.
3 Even if G90 (absolute command) is specified while this cycle is valid, each of the
A, B, and W commands is an incremental command.
4 If a value from P1 to P4 is specified without specifying the multi-step skip option,
alarm PS0370, “G31P/G04Q ERROR” is issued.

- 128 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.6 CHAMFERING AND CORNER R


Overview
A chamfering or corner R block can automatically be inserted between linear interpolation (G01) along a
single axis and that along a single axis normal to that single axis.
Chamfering or corner R is inserted for a command to move the tool along two axes on the plane
determined by the plane selection (G17, G18, or G19) command.

NOTE
When bit 2 (CCR) of parameter No.8134 is 1, this function can be used.

Format
- Chamfering
First axis on the selected plane → second axis on the selected plane
(G17 plane: XP → YP, G18 plane: ZP → XP, G19 plane: YP → ZP)
Format
G17 plane: G01 XP(U)_ J(C)±j ;
G18 plane: G01 ZP(W)_ I(C)±i ;
G19 plane: G01 YP(V)_ K(C)±k ;
Explanation Tool movement
XP(U)__ Specifies movement from point a to
YP(V)__ point b with an absolute or incremental Positive direction along
the second axis on the
ZP(W)__ programming in the figure on the right. selected plane c
XP is the address of the X-axis of the
i, j, k
three basic axes or an axis parallel to a d
45°
the X-axis. YP is the address of the 45° b
Start point
Y-axis of the three basic axes or an axis i, j, k
parallel to the Y-axis. ZP is the address Negative direction c
of the Z-axis of the three basic axes or along the second axis
on the selected plane
an axis parallel to the Z-axis.
I(C)±i Specify the distance between points b Moves from a to d and c.
J(C)±j and c in the figure shown at right with a (Positive direction along the second axis on the
K(C)±k sign following address I, J, K, or C. (Use selected plane when a plus sign is specified at I, J, K,
I, J, or K when bit 4 (CCR) of parameter or C or negative direction when a minus sign is
No. 3405 is set to 0 or C when the bit is specified at I, J, K, or C)
set to 1.)

- 129 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

- Chamfering
Second axis on the selected plane → first axis on the selected plane
(G17 plane: YP → XP, G18 plane: XP → ZP, G19 plane: ZP → YP)
Format
G17 plane: G01 YP(V)_ I(C)±i ;
G18 plane: G01 XP(U)_ K(C)±k ;
G19 plane: G01 ZP(W)_ J(C)±j ;
Explanation Tool movement
XP(U)__ Specifies movement from point a to Moves from a to d and c.
YP(V)__ point b with an absolute or incremental (Positive direction along the first axis on the selected
ZP(W)__ programming in the figure on the right. plane when a plus sign is specified at I, J, K, or C or
XP is the address of the X-axis of the negative direction when a minus sign is specified at I,
three basic axes or an axis parallel to J, K, or C)
the X-axis. YP is the address of the
Y-axis of the three basic axes or an axis a Start point
parallel to the Y-axis. ZP is the address
of the Z-axis of the three basic axes or
an axis parallel to the Z-axis.
I(C)±i Specify the distance between points b
d
J(C)±j and c in the figure shown at right with a
K(C)±k sign following address I, J, K, or C. (Use 45° 45°
I, J, or K when bit 4 (CCR) of parameter
No. 3405 is set to 0 or C when the bit is Negative direction c b c Positive direction
along the first axis on i, j, k i, j, k along the first axis on
set to 1.) the selected plane the selected plane

- Corner R
First axis on the selected plane → second axis on the selected plane
(G17 plane: XP → YP, G18 plane: ZP → XP, G19 plane: YP → ZP)
Format
G17 plane: G01 XP(U)_ R±r ;
G18 plane: G01 ZP(W)_ R±r ;
G19 plane: G01 YP(V)_ R±r ;
Explanation Tool movement
XP(U)__ Specifies movement from point a to Positive direction along
the second axis on the
YP(V)__ point b with an absolute or incremental selected plane c
ZP(W)__ programming in the figure on the right. r
XP is the address of the X-axis of the
a d
three basic axes or an axis parallel to
b
the X-axis. YP is the address of the Start point
Y-axis of the three basic axes or an axis
parallel to the Y-axis. ZP is the address r
c
of the Z-axis of the three basic axes or Negative direction along
the second axis on the
an axis parallel to the Z-axis. selected plane
R±r Specify the radius of the arc connecting
Moves from a to d and c.
points d and c in the figure shown at
(Positive direction along the second axis on the
right with a sign following address R.
selected plane when +r is specified at R or negative
direction when -r is specified at R)

- 130 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Corner R
Second axis on the selected plane → first axis on the selected plane
(G17 plane: YP → XP, G18 plane: XP → ZP, G19 plane: ZP → YP)
Format
G17 plane: G01 YP(V)_ R±r ;
G18 plane: G01 XP(U)_ R±r ;
G19 plane: G01 ZP(W)_ R±r ;
Explanation Tool movement
XP(U)__ Specifies movement from point a to Moves from a to d and c.
YP(V)__ point b with an absolute or incremental (Positive direction along the first axis on the selected
ZP(W)__ programming in the figure on the right. plane when +r is specified at R or negative direction
XP is the address of the X-axis of the when -r is specified at R)
three basic axes or an axis parallel to a Start point
the X-axis. YP is the address of the
Y-axis of the three basic axes or an axis
parallel to the Y-axis. ZP is the address
of the Z-axis of the three basic axes or
an axis parallel to the Z-axis. d
r r
R±r Specify the radius of the arc connecting
points d and c in the figure shown at
right with a sign following address R. Negative direction c b c Positive direction
along the first axis on along the first axis on
the selected plane the selected plane

Explanation
By G01 specified for chamfering or corner R, the tool must be moved only along one of the two axes on
the selected plane. The command in the next block must move the tool only along the other axis on the
selected plane.
Example:
When the A-axis is set as an axis parallel to the basic X-axis (by setting parameter No. 1022 to 5),
the following program performs chamfering between cutting feed along the A-axis and that along
the Z-axis:
G18 A0 Z0
G00 A100.0 Z100.0
G01 A200.0 F100 K30.0
Z200.0
The following program causes an alarm. (Because chamfering is specified in the block to move the
tool along the X-axis, which is not on the selected plane)
G18 A0 Z0
G00 A100.0 Z100.0
G01 X200.0 F100 K30.0
Z200.0
The following program also causes an alarm. (Because the block next to the chamfering command
moves the tool along the X-axis, which is not on the selected plane)
G18 A0 Z0
G00 A100.0 Z100.0
G01 Z200.0 F100 I30.0
X200.0
A radius value is specified at I, J, K, R, and C.

In an incremental programming, use point b in the figure in "Format" as the start point in the block next to
a chamfering or corner R block. That is, specify the distance from point b. Do not specify the distance
from point c.

- 131 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Example
X
N001 G18 ;
N002 G00 X268.0 Z530.0 ;
530.0 N003 G01 Z270.0 R6.0 ;
N004 X860.0 K-3.0 ;
270.0 N005 Z0 ;
N004
End point K3.0

N003

R6
N002
Cutting start point

Z
φ860

φ268

Limitation
- Alarms
In the following cases, an alarm is issued:
1) Chamfering or corner R is specified in a block for threading (alarm PS0050, “CHF/CNR NOT
ALLOWED IN THRD BLK”).
2) G01 is not specified in the block next to the G01 block in which chamfering or corner R is specified
(alarm PS0051, “MISSING MOVE AFTER CNR/CHF” or PS0052, “CODE IS NOT G01 AFTER
CHF/CNR”).
3) An axis which is not on the selected plane is specified as a move axis in the block in which
chamfering or corner R is specified or the next block (alarm PS0051 or PS0052).
4) A plane selection command (G17, G18, or G19) is specified in the block next to the block in which
chamfering or corner R is specified (alarm PS0051).
5) When bit 4 (CCR) of parameter No. 3405 is set to 0 (to specify chamfering at I, J, or K), two or
more of I, J, K, and R are specified in G01 (alarm PS0053, “TOO MANY ADDRESS
COMMANDS”).
6) Chamfering or corner R is specified in the G01 block to move the tool along more than one axis
(alarm PS0054, “NO TAPER ALLOWED AFTER CHF/CNR”).
7) The travel distance along an axis specified in the block in which chamfering or corner R is specified
is smaller than the amount of chamfering or corner R (alarm PS0055, “MISSING MOVE VALUE
IN CHF/CNR”). (See the Fig. 4.6 (a).)
G18 The solid line indicates
G01 W30.0 F100.0 I50.0 ; the tool path when
G01 U100.0 ; chamfering is not
performed.
Chamfering block to
be inserted

50.0

x
30.0 (smaller than 50.0)
z
50.0

Fig. 4.6 (a) Example of machining which causes alarm PS0055

- 132 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING
8) An invalid combination of a move axis and I, J, or K is specified for chamfering (alarm PS0306,
“MISMATCH AXIS WITH CNR/CHF”).
9) An invalid sign is specified at I, J, K, R, or C (chamfering or corner R in the direction opposite to the
movement in the next block is specified) (alarm PS0051). (See the Fig. 4.6 (b).)
Chamfering block to
G18 be inserted (positive X
G01 W100.0 F100.0 I50.0 ; direction)
G01 U-100.0 ;

The solid line indicates the


x tool path when chamfering
is not performed.
z (negative X direction)

Fig. 4.6 (b) Example of machining which causes alarm PS0051

- Single block operation


When the block in which chamfering or corner R is specified is executed in the single block mode,
operation continues to the end point of the inserted chamfering or corner R block and the machine stops
in the feed hold mode at the end point. When bit 0 (SBC) of parameter No. 5105 is set to 1, the machine
stops in the feed hold mode also at the start point of the inserted chamfering or corner R block.

- Cutter compensation or tool nose radius compensation


When applying cutter or tool nose radius compensation, note the following points:

1. If the amount of inner chamfering or corner R is too small as compared with compensation and
cutting is generated, alarm PS0041, “INTERFERENCE IN CUTTER COMPENSATION” is issued.
(See the Fig. 4.6 (c).)

Example of machining which does not Example of machining which


cause alarm PS0041 causes alarm PS0041

(The solid line indicates the programmed path after chamfering. The
dotted line indicates the tool center path or tool nose radius center path.)
Fig. 4.6 (c)

2. A function is available which intentionally changes the compensation direction by specifying the I, J,
or K command in the G01 block in the cutter or tool nose radius compensation mode (see the
explanations of cutter or tool nose radius compensation). To use this function when the chamfering
and corner R function is enabled (bit 2 (CCR) of parameter No. 8134 is set to 1), set bit 4 (CCR) of
parameter No. 3405 to 1 so that the I, J, and K commands are not used as chamfering commands.
Operation to be performed under each condition is explained below.

(1) When the chamfering and corner R function is not used (bit 2 (CCR) of parameter No.8134 =
0)
In the G01 block in the cutter or tool nose radius compensation mode, the cutter or tool nose
radius compensation direction can be specified at address I, J, or K.
No chamfering is performed.

- 133 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

(2) When the chamfering and corner R function is used (bit 2 (CCR) of parameter No.8134 = 1)
(2-1) When bit 4 (CCR) of parameter No. 3405 is set to 0
In the G01 block in the cutter or tool nose radius compensation mode, chamfering can be
specified at address I, J, or K. Corner R can also be specified at address R.
The cutter or tool nose radius compensation direction cannot be specified.
(2-2) When bit 4 (CCR) of parameter No. 3405 is set to 1
In the G01 block in the cutter or tool nose radius compensation mode, the cutter or tool
nose radius compensation direction can be specified at address I, J, or K.
Chamfering or corner R can also be specified at address C or R.

- 134 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

4.7 MIRROR IMAGE FOR DOUBLE TURRET (G68, G69)


Overview
When a unit has a double turret consisting of two tool posts which face each other on the same controlled
axis, mirror image can be applied to the X-axis with a G code command. Symmetrical cutting can be
performed by creating a machining program for the facing tool posts as if they were in the coordinate
system on the same side.

Format
G68 : Double turret mirror image on
G69 : Mirror image cancel

Explanation
Mirror image can be applied to the X-axis of the three basic axes that is set by parameter No. 1022 with
the G code command.
When G68 is designated, the coordinate system is shifted to the double turret side, and the X-axis sign is
reversed from the programmed command to perform symmetrical cutting. This function is called the
mirror image for double turret.
To use this function, set the distance between the two tool posts to a parameter No. 1290.
Use this command in the independent block, do not use other commands in the same line.

Example
- For turning

Offset value of tool


post A

<3> Tool post A

60

120
<1> Z
φ80 φ40
180

φ120
<2> 120

Offset value of tool


post B

Tool post B

X40.0 Z180.0 T0101 ; Position tool post A at <1>


G68 ; Shift the coordinate system by the distance A to B (120mm), and turn mirror
image on.
X80.0 Z120.0 T0202 ; Position tool post B at <2>
G69 ; Shift the coordinate system by the distance B to A, and cancel mirror image.
X120.0 Z60.0 T0101 ; Position tool post A at <3>

- 135 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

NOTE
A diameter value is specified for the X-axis.

Limitation
NOTE
1 When the G68 command based on this function is enabled, the X-axis
coordinate value that can be read with the custom macro system variables
#5041 and up or #100101 and up (current specified position (in the workpiece
coordinate system)) is a position with mirror image applied.
2 This function cannot be used together with the balance cut function. The
operation depends on the combination of the systems as follows:
System in which this function is used
- One-path system
System in which this function does not operate
- System with two paths

4.8 DIRECT DRAWING DIMENSION PROGRAMMING


Overview
Angles of straight lines, chamfering value, corner R values, and other dimensional values on machining
drawings can be programmed by directly inputting these values. In addition, the chamfering and corner R
can be inserted between straight lines having an optional angle.
This programming is only valid in memory operation mode.

NOTE
When bit 2 (NDD) of parameter No.8137 is 0, this function can be used.

Format
Examples of command formats for the G18 plane (ZX plane) are shown. This function can be specified in
the following formats also for the G17 plane (XY plane) and G19 plane (YZ plane).
The following formats are changed as follows:
For the G17 plane: Z → X, X → Y
For the G19 plane: Z → Y, X → Z

Table 4.8 (a) Commands table


Commands Movement of tool

X
(X2 , Z2)

1 X2_ (Z2_), A_ ; A

(X1 , Z1)
Z

- 136 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Commands Movement of tool

X
(X3 , Z3)
A2
,A1_ ;
2 A1
X3_ Z3_, A2_ ; (X2 , Z2)
(X1 , Z1)
Z

X
(X3 , Z3)
X2_ Z2_, R1_ ;
A2
X3_ Z3_ ; R1
3 or
,A1_, R1_ ; A1
(X2 , Z2)
X3_ Z3_, A2_ ;
(X1 , Z1)
Z

X
(X3 , Z3)
X2_ Z2_, C1_ ; A2
X3_ Z3_ ;
4 or
,A1_, C1_ ; C1 A1
X3_ Z3_, A2_ ; (X2 , Z2)
(X1 , Z1)
Z

X
(X4 , Z4)
(X3 , Z3)
X2_ Z2_ , R1_ ;
X3_ Z3_ , R2_ ; A2
R2
X4_ Z4_ ;
5 or R1
,A1_, R1_ ;
A1
X3_ Z3_, A2_, R2_ ; (X2 , Z2)
X4_ Z4_ ;
(X1 , Z1)
Z

X
C2
X2_ Z2_ , C1_ ;
X3_ Z3_ , C2_ ; (X4 , Z4) (X3 , Z3)
X4_ Z4_ ; A2
6 or
,A1_, R1_ ;
(X2 , Z2)
X3_ Z3_, A2_, C2_ ;
C1 A1
X4_ Z4_ ;
(X1 , Z1)
Z

- 137 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

Commands Movement of tool

X
C2
X2_ Z2_ , R1_ ; (X3 , Z3)
X3_ Z3_ , C2_ ; (X4 , Z4)
X4_ Z4_ ; A2
7 or
,A1_, R1_ ; R1
X3_ Z3_, A2_, C2_ ; A1
X4_ Z4_ ; (X2 , Z2)
(X1 , Z1)
Z

X
(X4 , Z4)
X2_ Z2_ , C1_ ; (X3 , Z3)
X3_ Z3_ , R2_ ;
X4_ Z4_ ; A2
8 or R2
,A1_, C1_ ;
(X2 , Z2)
X3_ Z3_, A2_, R2_ ;
C1 A1
X4_ Z4_ ;
(X1 , Z1)
Z

Explanation
A program for machining along the curve shown in Fig. 4.8 (a) is as follows :
+X
X (x 2) Z (z2) , C (c 1) ; a3
X (x 3) Z (z3) , R (r2) ;
X (x 4) Z (z4) ; (x3, z3) +Z
(x4, z4)
or r2 a2
,A (a1) , C (c 1) ;
X (x 3) Z (z3) , A (a2) , R (r 2) ;
X (x 4) Z (z4) ; (x2, z2)
c1 a1

(x1, z 1)
Start point

Fig. 4.8 (a) Machining Drawing (example)

For command a straight line, specify one or two out of X, Z, and A.


If only one is specified, the straight line must be primarily defined by a command in the next block.
To command the degree of a straight line or the value of chamfering or corner R, command with a comma
(,) as follows :
,A_
,C_
,R_
By specifying 1 to bit 4 (CCR) of parameter No.3405 on the system which does not use A or C as an axis
name, the degree of a straight line or the value of chamfering or corner R can be commanded without a
comma (,) as follows :
A_
C_
R_

- 138 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

- Command using a supplement


When bit 5 (DDP) of parameter No. 3405 is set to 1, an angle can be specified using a supplement.
There is the following relationship, assuming that the supplement is A' and the actual specified angle is A:
A = 180 – A'

+X
A
A’
+Z

Fig. 4.8 (b) Supplement

Limitation
NOTE
1 Direct drawing dimension programming commands are valid only during memory
operation.
2 The following G codes are not applicable to the same block as commanded by
direct input of drawing dimensions or between blocks of direct input of drawing
dimensions which define sequential figures.
(a) G codes other than G04 in group 00
(b) G codes other than G00, G01, and G33 in group 01
(c) G codes in group 10 (canned cycle for drilling)
(d) G codes in group 16 (plane selection)
(e) G22 and G23
3 Corner R cannot be inserted into a threading block.
4 When the chamfering and corner R function is enabled (bit 2 (CCR) of parameter
No. 8134 is set to 1), both functions cannot be used simultaneously. When bit 0
(CRD) of parameter No. 3453 is set to 1, direct drawing dimension programming
is enabled. (At this time, chamfering and corner R are disabled.)
5 When the end point of the previous block is determined in the next block
according to sequential commands of direct drawing dimension programming
during single block operation, the machine does not stop in the single block stop
mode, but stop in the feed hold stop mode at the end point of the previous block.
6 The angle allowance in calculating the point of intersection in the program below
is ±1°.
(Because the travel distance to be obtained in this calculation is too large.)
(a) X_ ,A_ ; (If a value within 0°±1° or 180°±1° is specified for the angle
instruction A, the alarm PS0057, “NO SOLUTION OF BLOCK END” occurs.)
(b) Z_ ,A_ ; (If a value within 90°±1° or 270°±1° is specified for the angle
instruction A, the alarm PS0057 occurs.)
7 An alarm PS0058, “END POINT NOT FOUND” occurs if the angle made by the 2
lines is within ±1° when calculating the point of intersection.
8 Chamfering or corner R is ignored if the angle made by the 2 lines is within ±1°.

- 139 -
4. FUNCTIONS TO SIMPLIFY
PROGRAMMING PROGRAMMING B-64604EN-1/01

NOTE
9 Both a dimensional command (absolute programming) and angle instruction
must be specified in the block following a block in which only the angle
instruction is specified.
(Example)
N1 X_ ,A_ ,R_ ;
N2 ,A_ ;
N3 X_ Z_ ,A_ ;
In addition to the dimensional command, angle command must be specified in
block N3. If the angle command is not specified, alarm PS0056, “NO END
POINT & ANGLE IN CHF/CNR” is issued. If the coordinates are not specified
with an absolute programming, alarm PS0312, “ILLEGAL COMMAND IN
DIRECT DRAWING DIMENSIONS PROGRAMMING” is issued.
10 In the tool nose radius compensation mode, a block in which only the angle
command is specified in direct drawing dimension programming is assumed to
be a block with no move command. For details of compensation when sequential
blocks with no move command are specified, see the explanation of tool nose
radius compensation.
11 If two or more blocks with no move command are specified between sequential
commands of direct drawing dimension programming, alarm PS0312 is issued.
12 When bit 4 (CCR) of parameter No. 3405 is set to 1, address A in the G76
(multiple threading cycle) block specifies the tool nose angle.
When A or C is used as an axis name, it cannot be used in the angle or
chamfering command in direct drawing dimension programming. Use ,A_ or ,C_
(when bit 4 (CCR) of parameter No. 3405 is set to 0).
13 In a multiple repetitive canned cycle, in blocks with sequence numbers between
those specified at P and Q, a program using direct drawing dimension
programming can be used. The block with the last sequence number specified at
Q must not be an intermediate block of these specified blocks.
14 If a minus value is commanded as a chamfering value / corner R value, alarm
PS0055, “MISSING MOVE VALUE IN CHF/CNR” is issued. When bit 7 (CRC) of
parameter No. 3458 is set to 1, alarm is not issued even if a minus value is
commanded as a chamfering value / corner R value and a minus value is
converted to a plus value.

- 140 -
4.FUNCTIONS TO SIMPLIFY
B-64604EN-1/01 PROGRAMMING PROGRAMMING

Example
X

R20

R15 R6

φ100

φ300
φ60
10°

1 × 45°
30

180

22°

(Diameter specification, metric input)

N001 G50 X0.0 Z0.0 ;


N002 G01 X60.0 ,A90.0 ,C1.0 F80 ;
N003 Z-30.0 ,A180.0 ,R6.0 ;
N004 X100.0 ,A90.0 ;
N005 ,A170.0 ,R20.0 ;
N006 X300.0 Z-180.0 ,A112.0 ,R15.0 ;
N007 Z-230.0 ,A180.0 ;
:
:

- 141 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5 COMPENSATION FUNCTION
Chapter 5, "COMPENSATION FUNCTION", consists of the following sections:

5.1 TOOL OFFSET.................................................................................................................................142


5.2 OVERVIEW OF TOOL NOSE RADIUS COMPENSATION (G40-G42)......................................153
5.3 OVERVIEW OF CUTTER COMPENSATION (G40-G42) ............................................................165
5.4 DETAILS OF CUTTER OR TOOL NOSE RADIUS COMPENSATION ......................................171
5.5 VECTOR RETENTION (G38).........................................................................................................222
5.6 CORNER CIRCULAR INTERPOLATION (G39) ..........................................................................223
5.7 EXTENDED TOOL SELECTION ...................................................................................................225
5.8 AUTOMATIC TOOL OFFSET (G36, G37) ....................................................................................228

5.1 TOOL OFFSET


Tool offset is used to compensate for the difference when the tool actually used differs from the imagined
tool used in programming (usually, standard tool). Tool nose moves on the programmed path by this
compensation.

Standard tool

Actual tool

Offset amount
on X axis

Offset amount
on Z axis

Fig. 5.1 (a) Tool offset

5.1.1 Tool Geometry Offset and Tool Wear Offset


Tool geometry offset and tool wear offset are possible to divide the tool offset to the tool geometry offset
for compensating the tool shape or tool mounting position and the tool wear offset for compensating the
tool nose wear. The tool geometry offset value and tool wear offset value can be set individually. When
these values are not distinguished from each other, the total of the values is set as the tool offset value.

NOTE
Tool geometry offset and tool wear offset are valid, when the bit 6 (NGW) of
parameter No. 8136 is 0.

- 142 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Point on the program Point on the program


X

X axis geometry
offset value
Offset amount
Actual tool on X axis
X axis wear offset value
Imaginary tool

Z axis wear offset value Offset amount on Z axis


Z axis geometry offset value

Fig. 5.1.1 (a) If tool geometry offset and tool wear offset are distinguished
from each other (left) and if they are not (right)

Set the distance from tool nose to the point on the program ( tool nose of standard tool, or tool mounting
position ) to a tool geometry offset value.

Generally, a sign of tool wear offset value is the opposite to a sign of tool geometry offset value. In the
example of the above figure, the geometry offset value is a positive and the wear offset value is a
negative.

5.1.2 T Code for Tool Offset


Format
Select a tool with a numeric value after a T code. A part of the numeric value is used as a tool offset
number for specifying data such as a tool offset value. The following selections can be made according to
the specification method and parameter setting:

Meaning of T code (*1)


Parameter setting for specifying of
Bit 1 (LGN) of parameter No. Bit 1 (LGN) of parameter No.
offset No. (*2)
5002=0 5002=1
Txxxxxxx y Txxxxxxx y A tool wear offset number is specified
xxxxxxx : Tool selection xxxxxxx : Tool selection and tool using the lower one digit of a T code.
y : Tool wear and tool geometry offset
When parameter No. 5028 is set to 1
geometry offset y : Tool wear offset
Txxxxxx yy Txxxxxx yy A tool wear offset number is specified
xxxxxx : Tool selection xxxxxx : Tool selection and tool using the lower two digits of a T code.
yy : Tool wear and tool geometry offset
When parameter No. 5028 is set to 2
geometry offset yy : Tool wear offset
Txxxxx yyy Txxxxx yyy A tool wear offset number is specified
xxxxx : Tool selection xxxxx : Tool selection and tool using the lower three digits of a T code.
yyy : Tool wear and tool geometry offset
When parameter No. 5028 is set to 3
geometry offset yyy : Tool wear offset

*1 The maximum number of digits of a T code can be specified using parameter No. 3032. (1 to 8
digits)
*2 When parameter No. 5028 is set to 0, the number of digits of a T code used for offset number
specification depends on the number of tool offsets.
Example)
When the number of tool offsets is 1 to 9: Lower one digit
When the number of tool offsets is 10 to 99: Lower two digits

- 143 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

When the number of tool offsets is 100 to 999: Lower three digits

5.1.3 Tool Selection


Tool selection is made by specifying the T code corresponding to the tool number. Refer to the machine
tool builder's manual for the relationship between the tool selection number and the tool.

5.1.4 Offset Number


Tool offset number has two meanings. It is specifies the offset distance corresponding to the number that
is selected to begin the offset function. A tool offset number of 0 indicates that the offset amount is 0 and
the offset is cancelled.

5.1.5 Offset
Explanation
- Offset methods
Two methods are available to geometry offset and wear compensation, offset with tool movement and
compensation with coordinate shift. Which offset method to select can be specified with bit 2 (LWT) and
bit 4 (LGT) of parameter No. 5002. When tool geometry and wear compensation is disabled (bit 6
(NGW) of parameter No. 8136 is set to 1), offset with tool movement is assumed unconditionally.

Parameter
Bit 6(NGW) of
Compensation element LWT=0 LWT=1 LWT=0 LWT=1
No.8136
LGT=0 LGT=0 LGT=1 LGT=1
Wear and geometry not
1 Tool movement
distinguished
Wear compensation Tool movement Coordinate shift Tool movement Coordinate shift
0
Geometry compensation Coordinate shift Coordinate shift Tool movement Tool movement

- Offset with tool movement


The tool path is offset by the X, Y, and Z tool offset values for the programmed path. The tool offset
distance corresponding to the number specified by the T code is added to or subtracted from the end
position of each programmed block.
The vector with tool offset X, Y, and Z is called the offset vector. Offset is the same as the offset vector.
Tool path after offset

This move command block


contains the offset command
with T code

Programmed path

Offset by tool offset X, Z (offset vector)

Offset operation with tool movement

NOTE
1 When G50 X_Z_T_ ; is specified, the tool is not moved.
The coordinate system in which the coordinate value of the tool position (X,Z) is
set. The tool position is obtained by subtracting the offset value corresponding to
the tool offset number specified in the T code.

- 144 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

NOTE
2 The G codes in the 00 group other than G50 must not be specified in the same
block as that containing a T code. If one of G28, G29, G30, and G53 is specified
in the same block as that containing a T code, alarm PS0245, “T-CODE NOT
ALLOWED IN THIS BLOCK”, is issued.

- Offset with coordinate shift


The workpiece coordinate system is shifted by the X, Y, and Z tool offset amounts. Namely, the offset
amount corresponding to the number designated with the T code is added to or subtracted from the
absolute coordinates.
The movement to this point is
by an absolute command.

Programmed path after


workpiece coordinate system shift

Tool path after offset


Offset amount by offset in
X, Z axis (offset vector)
Programmed path before
workpiece coordinate system shift

Offset operation with coordinate shift

- Starting and canceling offset by specifying a T code


Specifying a tool offset number with a T code means to select the tool offset value corresponding to it and
to start offset. Specifying 0 as a tool offset number means to cancel offset.
For offset with tool movement, whether to start or cancel the offset can be specified with bit 6 (LWN) of
parameter No. 5002. For compensation with coordinate shift, the offset is started and canceled when a T
code is specified. For the cancellation of geometry compensation, its operation can be selected with bit 5
(LGC) of parameter No. 5002.

Offset method Bit 6 (LWM) of parameter No. 5002=0 Bit 6 (LWM) of parameter No. 5002=1
Tool movement When a T code is specified When an axial movement is specified
When a T code is specified
Coordinate shift
(Note that geometry offset can be canceled only if bit 5 (LGC) of parameter No. 5002 = 1.)

- Canceling offset with reset


Tool offset is canceled under one of the following conditions:

<1> The power to the CNC is turned off and turned back on
<2> The reset button on the MDI unit is pressed
<3> A reset signal is input from the machine to the CNC

In cases <2> and <3> above, it is possible to select a cancel operation using bit 3 (LVC) of parameter No.
5006 and bit 7 (TGC) of parameter No. 5003.

Parameter
Offset method LVC=0 LVC=1 LVC=0 LVC=1
TGC=0 TGC=0 TGC=1 TGC=1
Wear offset Canceled. Canceled.
Tool
Not canceled. (When axial movement is Not canceled. (When axial movement
movement Geometry offset
specified) is specified)
Coordinate Wear offset Not canceled. Canceled. Not canceled. Canceled.
shift Geometry offset Not canceled. Not canceled. Canceled. Canceled.

- 145 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Example
N1 X60.0 Z50.0 T0202 ; Creates the offset vector corresponding to tool offset number 02.
N2 Z100.0 ;
N3 X200.0 Z150.0 T0200 ; Cancels the offset vector with offset number 0.

Tool path after offset


N3

N2

Programmed tool path


N1

Limitation
- Helical interpolation (G02, G03)
Tool offset cannot be specified in a block in which helical interpolation is used.

- Thread cutting (G32,G34,G35,G36)


Tool offset cannot be specified in a block in which thread cutting is specified. If tool offset is specified,
alarm PS0509, “TOOL OFFSET COMMAND IS NOT AVAILABLE”, is issued.

- Coordinate system rotation (G68.1)


Coordinate system rotation is executed on the command program first, followed by tool offset.

- 3-dimensional coordinate conversion (G68.1)


If tool offset is used, tool offset with coordinate shift cannot be used. Offset with tool movement must be
specified inside a nest of 3-dimensional coordinate conversion. At the beginning block of the
3-dimensional coordinate conversion, tool does not move for a converted tool offset value.

Example) G68.1 ... ;


T0101;
:
T0100;
G69.1 ... ;

- Workpiece coordinate system preset (G50.3)


When the bit 7(WTC) of parameter No.1205 is 0, performing workpiece coordinate system preset causes
tool offset with tool movement to be canceled; this does not cause tool offset with coordinate shift to be
canceled.
When the bit 7(WTC) of parameter No.1205 is 1, performing workpiece coordinate system preset does
not cause neither tool position offset with tool movement nor tool position offset with coordinate shift to
be canceled.

- 146 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Machine coordinate system setting (G53), reference position return (G28),


second, third, and fourth reference position return (G30), and manual
reference position return
Basically, before performing these commands or operations, cancel tool offset. These operations do not
cause tool offset to be canceled. The following actions take place:

When the command or operation is When the next axial movement command
specified is specified
Tool movement The tool offset value is temporarily The tool offset value is reflected.
canceled.
Coordinate shift Coordinates with the tool offset value Coordinates with the tool offset value
reflected are assumed. reflected are assumed.

- Offset command in the coordinate system rotation or programmable mirror


image mode
If tool offset is specified when offset with coordinate system shift is enabled (when bit 2 (LWT) of
parameter No. 5002 is set to 1 or bit 4 (LGT) of parameter No. 5002 is set to 0) in the coordinate system
rotation or programmable mirror image mode, alarm PS0509 is issued. The same alarm is issued when bit
6 (EVO) of parameter No. 5001 is set to 1 and the offset amount is changed.

- Auxiliary function output in moving axis (G50.9)


The alarm PS5330, “G50.9 FORMAT ERROR” is issued when a T-code and auxiliary function output in
moving axis (G50.9) are specified in the same block.

- Programmable parameter input (G10)


The alarm PS1144, “G10 FORMAT ERROR” is issued when a T-code is specified during programmable
parameter input.

5.1.6 Y-Axis Offset


Overview
When the Y axis, one of the basic three axes, is used with a lathe system, this function performs Y axis
offset.
If the tool geometry and wear offset options are valid (the bit 6 (NGW) of parameter No. 8136 is 0), the
both tool geometry offset and tool wear offset are effective to Y-axis offset.

NOTE
When bit 1 (YOF) of parameter No.8132 is 1, this function can be used.

Explanation
Y axis offset results in the same operation as tool offset. For an explanation of the operation, related
parameters, and the like, refer to the item “Tool Offset.”

5.1.6.1 Support of arbitrary axes for Y axis offset


Overview
In a lath system, Y axis offset has been usable with the basic three axes only. This function enables Y axis
offset to be used with arbitrary axes other than the Y axis, which is one of the basic three axes.

- 147 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5.1.7 2nd Geometry Tool Offset


Overview
To compensate for a difference in tool attachment position or selection position, this function adds second
geometry tool offset to the X axis, Y axis, and Z axis with all paths.
In contrast to this offset, the ordinary tool geometry offset is called the first geometry tool offset.
It is possible to apply a tool offset value (tool wear offset + tool geometry offset) in the reverse direction,
using an appropriate signal.
This function may be used if the offset value differs even with a single tool for a mechanical reason
depending on the mounting position (inside/outside) or the selected position (right/left).

NOTE
1 This function is an optional function.
To use this function, this option and "Tool geometry offset and Tool wear offset"
are required. "Tool geometry offset and Tool wear offset" can be used, when bit
6 (NGW) of parameter No.8136 is 0.
2 When the "Y-axis offset" is enabled (bit 1 (YOF) of parameter No.8132 is 1), the
"2nd Geometry tool offset" for Y axis can be used.

Format
• If bit 1 (LGN) of parameter No. 5002 = 1
M (M code that enables second geometry tool offset) ;
T ;

Tool wear offset number


First geometry tool offset number or
first + second geometry tool offset numbers
• If bit 1 (LGN) of parameter No. 5002 = 0
M (M code that enables second geometry tool offset) ;
T ;

Tool wear offset number + first geometry tool offset


number or wear + first + second geometry tool offset
numbers

Explanation
- Specification method
Offset using the second geometry tool offset is performed with a program command.
Specify the second geometry tool offset with a T code command, and using the second geometry tool
offset signal G2SLC, specify whether to set the offset value of the specified tool geometry offset number
to the first geometry tool offset only or to the first geometry tool offset plus the second geometry tool
offset. If using the first geometry tool offset plus the second geometry tool offset, specify the axis to
which the second geometry tool offset is to be applied, using the appropriate one of the second geometry
tool offset axis select signal G2X, G2Z, and G2Y.

Generally, before a T code command, specify the M code to enable the second geometry tool offset. For
details, refer to the manual supplied by the machine tool builder. The same number as the first geometry
tool offset number is always selected as the second geometry tool offset number.
During execution, the tool offset value for each axis is either of the following:
• First geometry tool offset value + tool wear offset value
• First geometry tool offset value + second geometry tool offset value + tool wear offset value

- 148 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
Example)
• The code is a 4-digit code. (The number of digits of a T code is specified with parameter No. 3032.)
• The offset type is tool movement (bit 4 (LGT) of parameter No. 5002 = 1).
• The lower two digits of the T code is the tool geometry offset number (parameter No. 5028 = 2).
• Offset is performed when the T code block is executed (bit 6 (LWM) of parameter No. 5002 = 0).
• The X axis data for first geometry tool offset number 1 is 1.000.
• The X axis data for second geometry tool offset number 1 is 10.000.
• The tool geometry offset number is specified with the tool selection number (bit 1 (LGN) of
parameter No. 5002 = 1).
• Signals G2SLC = '1', G2X = '1', and G2Z = G2Y = '0'

If T0102 is specified under the above conditions, the upper two digits 01 of the T code cause the first
and second geometry tool offset numbers 1 to be selected, so that the absolute and machine
coordinates will be 11.000 on the X axis only.

- Offset data
The data for the second geometry tool offset can be set for each path. The number of items of the data can
be set with parameter No. 5024. The data remains stored even after the power is turned off.
If the data is to be made common to paths, use the common memory between each path.

Example
X

X First path (standard turret)


T01/X (first) : 20
Z
O (workpiece origin)

T01
T11 to T16/X
(second) : 120

T01/Z (first) : 5
Z
O

T13

T11 - T16
T12

Second path - - -
(linear turret)

T11/Z (second) : 10

T12/Z (second) : - 30

T13/Z (second) : - 70

T16/Z (second) : - 190

Fig. 5.1.7 (a) Example of the application of the second geometry tool offset

- 149 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

In the machine configuration shown in the Fig. 5.1.7 (a), for the offset data for the tool mounted to the
first path (standard turret), set the offset data of the tool itself as the first geometry tool offset data. (The
second geometry tool offset data is 0.) For the offset data for the tool mounted to the second path (linear
turret), set the offset data of the tool itself as the first geometry tool offset data and the offset data from
the workpiece origin at the mounting position as the second geometry tool offset data. Usually, the offset
data of the tool itself is measured separately from the offset data at the mounting position, these data can
be set separately by using the second geometry tool offset.
First geometry tool offset Second geometry tool offset
No. X axis Z axis No. X axis Z axis
01 20.000 5.000 01 0.000 0.000
: : : : : :
10 25.000 8.000 10 0.000 0.000
11 -20.000 5.000 11 120.000 10.000
12 -10.000 3.000 12 120.000 -30.000
13 -15.000 0.000 13 120.000 -70.000
: : : : : :
16 -18.000 7.000 16 120.000 -190.000

5.1.8 4th/5th Axis Offset


Overview
This function enables tool offset for the 4th axis and 5th axis following the basic three axes (X, Y, and Z
axes). As with tool offsets based on the basic three axes (X, Y, and Z axes), 128 sets of 4th/5th axis tool
offsets are available. By setting bit 6(NGW) of parameter No.8136 to 0, tool geometry offset and tool
wear offset are enabled. Moreover, the number of sets can be increased from 128 to 200 by specifying an
option.
A tool offset value can be applied to arbitrary axes by setting an axis number (1 to the maximum number
of controlled axes) to be used for 4th axis offset in parameter No. 5044 and setting an axis number (1 to
the maximum number of controlled axes) to be used for 5th axis offset in parameter No. 5045. By setting
bit 1 (NO5) of parameter No. 11400 to 1, 5th axis offset is enabled.
If the same axis as used with the Y axis offset function is specified, however, a Y axis offset value is
applied to the specified axis, and a 4th axis offset value or 5th axis offset value is invalidated.
Tool offset values can be input through an I/O device.

NOTE
This function is an optional function.

Explanation
The operation of 4th/5th axis offset is the same as the operation of tool offset. For the operation, see
Section 5.1, "TOOL OFFSET".

Setting of tool offset values with the G10 command


By programming, 4th/5th axis offset values can be input.

- 150 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Format
G10 P_ X_ Y_ Z_ R_ Q_ E_ F_ ;
or
G10 P_ U_ V_ W_ C_ Q_ E_ F_;
P : Offset number
0 : Specifies a workpiece coordinate system shift value.
1 to 200 : Specifies a tool wear offset value.
10000+(1 to 200) : Specifies a tool geometry offset value, with a number (1 to 200)
representing an offset number.
X : X axis offset value (absolute)
Y : Y axis offset value (absolute)
Z : Z axis offset value (absolute)
U : X axis offset value (incremental)
V : Y axis offset value (incremental)
W : Z axis offset value (incremental)
R : Tool nose radius compensation value (absolute)
C : Tool nose radius compensation value (incremental)
Q : Virtual tool nose number
E : 4th axis offset value (absolute)
F : 5th axis offset value (absolute)

- Explanation
As in the G10 format above, address E for inputting a 4th axis offset value and address F for inputting a
5th axis offset value allow absolute values only to be input.

NOTE
1 When compared with the conventional G10 format for changing tool offset
values, address E for specifying a 4th axis offset value and address F for
specifying a 5th axis offset value are newly added in the format above.
2 When a program based on the G10 format above is executed, only those offset
values that correspond to programmed axis addresses and offset numbers are
rewritten.

- Address name changing of format


When bit 2 (OFS) of parameter No.11403 is set to 1, the specification address in "Y-axis offset and
4th/5th axis offset" can use address name 'A' or 'B' instead of default specification addresses 'Y', 'E' and
'F'.

Example) When parameters are set to follow, the command address 'A' and 'B' are used for setting of a
tool offset.
- Parameter No.5044 is set to 4 (4th axis offset is the 4th axis)
- Parameter No.5045 is set to 5 (5th axis offset is the 5th axis)
- Parameter No.1020 (4th axis ,5th axis) = 65, 66 (Address name of 4th /5th axis offset is 'A' and
'B')
- Bit 2 (OFN) of No.11403 is set to 1 (Address depend on parameter No.1020)

- 151 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

%
G10 P01 X_ Z_ A_ B_
G10 P02 X_ Z_ A_ B_
...
G10 P__ X_ Z_ A_ B_
%
A_ : Tool compensation data (4th axis offset value in the example).
B_ : Tool compensation data (5th axis offset value in the example).
The other addresses are the same as for the tool compensation amount.

NOTE
1 The axis name that can be used as a specification address is only 'A', and 'B'.
If specification address 'A' or 'B' is used, the address 'V' (incremental command
of Y-axis offset) cannot be used.
2 If the either of following is set, the default specification addresses 'Y', 'E', and 'F'
are used.
- Parameter No.1020 is set to axis name other than 'A(65)' or 'B(66)'.
- An extended axis name is used.
3 When bit 2 (OFN) of parameter No.11403 is set to 1, conventional offset data
cannot be read. If conventional offset data is read, set 0 to bit 2 (OFN) of
parameter No.11403.

Limitation
1. This function is a software option.
2. This function supports the common memory between each path.
3. This function does not support direct input/counter input of tool offset values.
4. This function does not support offset value writing using a custom macro variable.
5. This function does not support the PMC window function.
However, this function supports writing/reading of 4th/5th axis offset values to and from the C
Language Executor.
6. This function does not support external data input. So, no 4th/5th axis offset value can be modified
with a PMC ladder.
7. This function does not support the second geometry tool offset function.
8. This function does not support the tool management function.
9. This function does not support the wrong operation prevention function.

- 152 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.2 OVERVIEW OF TOOL NOSE RADIUS COMPENSATION


(G40-G42)
It is difficult to produce the compensation necessary to form accurate parts when using only the tool
offset function due to tool nose roundness in taper cutting or circular cutting. The tool nose radius
compensation function compensates automatically for the above errors.

NOTE
When bit 7 (NCR) of parameter No.8136 is 0, "Tool nose radius compensation"
can be used.

Workpiece Tool path without compensation

Tool path with compensation

Insufficient
Tool nose
depth of
cutting

Shape processed without tool


nose radius compensation

Fig 5.2 (a) Tool path of tool nose radius compensation

5.2.1 Imaginary Tool Nose


The tool nose at position A in Fig. 5.2.1 (a) does not actually exist.
The imaginary tool nose is required because it is usually more difficult to set the actual tool nose radius
center to the start point than the imaginary tool nose.
Also when imaginary tool nose is used, the tool nose radius need not be considered in programming.
The position relationship when the tool is set to the start point is shown in Fig. 5.2.1 (a).

A
Start point
Start point
When programmed using the tool When programmed using the
nose center imaginary tool nose

Fig. 5.2.1 (a) Tool nose radius center and imaginary tool nose

- 153 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

CAUTION
In a machine with reference positions, a standard position like the turret center
can be placed over the start point. The distance from this standard position to
the nose radius center or the imaginary tool nose is set as the tool offset value.
Setting the distance from the standard position to the tool nose radius center as
the offset value is the same as placing the tool nose radius center over the start
point, while setting the distance from the standard position to the imaginary tool
nose is the same as placing the imaginary tool nose over the standard position.
To set the offset value, it is usually easier to measure the distance from the
standard position to the imaginary tool nose than from the standard position to
the tool nose radius center.

OFX OFX
(Tool offset (Tool offset
in X axis) in X axis)

OFZ OFZ
(Tool offset (Tool offset
in Z axis) in Z axis)
Setting the distance from the standard position Setting the distance from the standard position to
to the tool nose center as the tool offset value the imaginary tool nose center as the tool offset
value

The start position is placed over the tool nose center The start position is placed over the imaginary tool
nose

Fig. 5.2.1 (b) Tool offset value when the turret center is placed over the start point

Unless tool nose radius compensation is If tool nose radius compensation is used, accurate
performed, the tool nose center path is the cutting will be performed.
same as the programmed path.

Start- Start-
Tool nose center path up Tool nose center path up

Programmed path Programmed path

Fig. 5.2.1 (c) Tool path when programming using the tool nose center

Without tool nose radius compensation, the With tool nose radius compensation, accurate
tool nose radius center path is the same as cutting will be performed.
the programmed path.

Imaginary tool
Imaginary tool nose path
nose path Start-
Start-
up up

Programmed path Programmed path

Fig. 5.2.1 (d) Tool path when programming using the imaginary tool nose

- 154 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.2.2 Direction of Imaginary Tool Nose


The direction of the imaginary tool nose viewed from the tool nose center is determined by the direction
of the tool during cutting, so it must be set in advance as well as offset values.
The direction of the imaginary tool nose can be selected from the eight specifications shown in the Fig.
5.2.2 (a) below together with their corresponding codes. Fig. 5.2.2 (a) illustrates the relation between the
tool and the start point. The following apply when the tool geometry offset and tool wear offset option are
selected.
X

G18
Z
Y

G17
X
Z

G19
Y Imaginary tool nose number 1 Imaginary tool nose number 2

Imaginary tool nose Imaginary tool nose


number 3 number 4

Imaginary tool nose number 5 Imaginary tool nose number 6

Imaginary tool nose number 7 Imaginary tool nose number 8

Fig. 5.2.2 (a) Direction of imaginary tool nose

Imaginary tool nose numbers 0 and 9 are used when the tool nose center coincides with the start point. Set
imaginary tool nose number to address OFT for each offset number.
Bit 7 (WNP) of parameter No. 5002 is used to determine whether the tool geometry offset number or the
tool wear offset number specifies the direction of the virtual tool nose for tool nose radius compensation.

Imaginary tool nose number 0 or 9

- 155 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5.2.3 Offset Number and Offset Value


Explanation
- Offset number and offset value

Tool nose radius compensation value


(Tool nose radius value)

When the tool geometry compensation and tool wear compensation is disabled (bit 6 (NGW) of parameter
No. 8136 is set to 1), the contents displayed on the tool offset screen become as Table 5.2.3 (a):

Table 5.2.3 (a) Offset number and offset value (example)


Offset number OFX (Offset OFZ (Offset OFR (Tool nose OFT (Direction of OFY (Offset
Up to 200 sets value on X value on Z axis) radius compensa- imaginary tool value on Y axis)
axis) tion value) nose)
001 0.040 0.020 0.200 1 0.030
002 0.060 0.030 0.250 2 0.040
003 0.050 0.015 0.120 6 0.025
004 : : : : :
005 : : : : :
: : : : : :

When the tool geometry compensation and tool wear compensation is enabled (bit 6 (NGW) of parameter
No. 8136 is set to 0), the contents displayed on the tool offset screen become as Table 5.2.3 (b) and Table
5.2.3 (c):

Table 5.2.3 (b) Tool geometry offset (example)


OFGX OFGZ OFGR OFGY
OFT (Imaginary
Geometry (X-axis (Z-axis (Tool nose radius (Y-axis
tool nose
offset number geometry geometry offset geometry offset geometry offset
direction)
offset amount) amount) value) amount)
G001 10.040 50.020 0 1 70.020
G002 20.060 30.030 0 2 90.030
G003 0 0 0.200 6 0
G004 : : : : :
G005 : : : : :
: : : : : :

Table 5.2.3 (c) Tool wear offset (example)


OFWX (X-axis OFWZ OFWR OFT (Imaginary OFWY
Wear offset
wear offset (Z-axis wear (Tool nose radius tool nose (Y-axis wear
number
amount) offset amount) wear offset value) direction) offset amount)
W001 0.040 0.020 0 1 0.010
W002 0.060 0.030 0 2 0.020
W003 0 0 0.200 6 0
W004 : : : : :
W005 : : : : :
: : : : : :

- 156 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Tool nose radius compensation


When tool geometry and wear compensation is enabled (bit 6 (NGW) of parameter No. 8136 is set to 0),
the total of the geometry and wear offset amounts is used as the tool nose radius compensation value
during execution.
OFR=OFGR+OFWR

- Imaginary tool nose direction


The imaginary tool nose direction is common to geometry and wear offsets.

- Command of offset value


A offset number is specified with the same T code as that used for tool offset.

NOTE
When the geometry offset number is made common to the tool selection by the
bit 1 (LGN) of parameter No. 5002 setting and a T code for which the geometry
offset and wear offset number differ from each other is designated, the imaginary
tool nose direction specified by the geometry offset number is valid.
Example) T0102
OFR=OFGR01+OFWR02
OFT=OFT01
By setting bit 7 (WNP) of parameter No. 5002 appropriately, the imaginary tool
nose direction specified with the wear offset number can be made valid.

- Setting range of offset value


The range of values that can be set as a compensation value is either of the Table 5.2.3 (d) and Table 5.2.3
(e), depending on the bits 1 (OFC) and 0 (OFA) of parameter No. 5042.

Table 5.2.3 (d) Valid compensation range (metric input)


OFC OFA Range
0 1 ±9999.99 mm
0 0 ±9999.999 mm
1 0 ±9999.9999 mm

Table 5.2.3 (e) Valid compensation range (inch input)


OFC OFA Range
0 1 ±999.999 inch
0 0 ±999.9999 inch
1 0 ±999.99999 inch

The offset value corresponding to the offset number 0 is always 0.


No offset value can be set to offset number 0.

5.2.4 Workpiece Position and Move Command


In tool nose radius compensation, the position of the workpiece with respect to the tool must be specified.

G code Workpiece position Tool path


G40 (Cancel) Moving along the programmed path
G41 Right side Moving on the left side the programmed path
G42 Left side Moving on the right side the programmed path

The tool is offset to the opposite side of the workpiece.

- 157 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

G42 X axis

Z axis

Workpiece

G41

The imaginary tool nose is on the


programmed path.
G40

G40

Imaginary tool nose Imaginary tool nose


number 1 to 8 number 0

Fig. 5.2.4 (a) Workpiece position

The workpiece position can be changed by setting the coordinate system as shown below.

Z axis
G41 (the workpiece is on
the left side)
X axis

Workpiece

G42 (the workpiece is on


NOTE the right side)
If the tool nose radius
compensation value is negative,
the workpiece position is changed.

Fig. 5.2.4 (b) When the workpiece position is changed

G40, G41, and, G42 are modal.


Don't specify G41 while in the G41 mode. If you do, compensation will not work properly.
Don't specify G42 while in the G42 mode for the same reason.
G41 or G42 mode blocks in which G41 or G42 are not specified are expressed by (G41) or (G42)
respectively.

- 158 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

CAUTION
If the sign of the compensation value is changed from plus to minus and vice
versa, the offset vector of tool nose radius compensation is reversed, but the
direction of the imaginary tool tip does not change. For a use in which the
imaginary tool tip is adjusted to the starting point, therefore, do not change the
sign of the compensation value for the assumed program.

Explanation
- Tool movement when the workpiece position does not change
When the tool is moving, the tool nose maintains contact with the workpiece.

(G42) (G42)
(G42) (G42)
(G42) (G42)

Enlarged
diagram

Fig. 5.2.4 (c) Tool movement when the workpiece position does not change
- Tool movement when the workpiece position changes
The workpiece position against the tool changes at the corner of the programmed path as shown in the Fig.
5.2.4 (d).
A
C Workpiece
position G41

G42

Workpiece B
position

A B C
G41 G42

Fig. 5.2.4 (d) Tool movement when the workpiece position changes

Although the workpiece does not exist on the right side of the programmed path in the above case, the
existence of the workpiece is assumed in the movement from A to B. The workpiece position must not be
changed in the block next to the start-up block. In the above example, if the block specifying motion from
A to B were the start-up block, the tool path would not be the same as the one shown.

- Start-up
The block in which the mode changes to G41 or G42 from G40 is called the start-up block.
G40 _ ;
G41 _ ; (Start-up block)

- 159 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Transient tool movements for offset are performed in the start-up block. In the block after the start-up
block, the tool nose center is positioned Vertically to the programmed path of that block at the start point.

G40

(G42)
G42 (Start-up)

Fig. 5.2.4 (e) Start-up

- Offset cancel
The block in which the mode changes to G40 from G41 or G42 is called the offset cancel block.
G41 _ ;
G40 _ ; (Offset cancel block)
The tool nose center moves to a position vertical to the programmed path in the block before the cancel
block.
The tool is positioned at the end position in the offset cancel block (G40) as shown below.

End position

G40

(G42)

Fig. 5.2.4 (f) Offset cancel

- Changing the compensation value


In general, the compensation value is to be changed when the tool is changed in offset cancel mode. If the
compensation value is changed in offset mode, however, the vector at the end point of the block is
calculated using the compensation value specified in that same block.
The same applies if the imaginary tool nose direction and the tool offset value are changed.

Calculated from the compensation Calculated from the compensation


value specified in block N6. value specified in block N7.

N7

N6 N8
Programmed path

Fig. 5.2.4 (g) Changing the compensation value

- 160 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Specification of G41/G42 in G41/G42 mode


When a G41 or G42 code is specified again in G41/G42 mode, the tool nose center is positioned vertical
to the programmed path of the preceding block at the end position of the preceding block.

(G42)
(G42)
G42

G42 W-500.0 U-500.0 ;

Fig. 5.2.4 (h) Specification of G41/G42 in G41/G42 mode

In the block that first changes from G40 to G41/G42, the above positioning of the tool nose center is not
performed.

- Tool movement when the moving direction of the tool in a block which
includes a G40 (offset cancel) command is different from the direction of the
workpiece
When you wish to retract the tool in the direction specified by X(U) and Z(W) canceling the tool nose
radius compensation at the end of machining the first block in the Fig. 5.2.4 (i), specify the following :
G40 X(U) _ Z(W) _ I _ K _ ;
where I and K are the direction of the workpiece in the next block, which is specified in incremental
mode.

I, K
Moving direction of tool
U, W

G40

(G42)

G40 U_ W_ I_ K_ ;

Fig. 5.2.4 (i) If I and K are specified in the same block as G40

Thus, this prevents the tool from overcutting, as shown in Fig. 5.2.4 (j).

U,W Actual move command

G40

(G42)

G40 U_ W_ ;

Fig. 5.2.4 (j) Case in which overcutting occurs in the same block as G40

The workpiece position specified by addresses I and K is the same as that in the preceding block.
Specify I_K_; in the same block as G40. If it is specified in the same block as G02 or G03, it is assumed
to be the center of the arc.

G40 X_ Z_ I_ K_ ; Tool nose radius compensation


G02 X_ Z_ I_ K_ ; Circular interpolation

- 161 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

If I and/or K is specified with G40 in the offset cancel mode, the I and/or K is ignored. The numeral is
followed I and K should always be specified as radius values.
G40 G01 X_ Z_ ;
G40 G01 X_ Z_ I_ K_ ; Offset cancel mode (I and K are ineffective.)

Example

X
<3>
φ300

<1>
<2>

200
φ60 Z
120
0

30 150

(G40 mode)
<1> G42 G00 X60.0 ;
<2> G01 X120.0 W-150.0 F10 ;
<3> G40 G00 X300.0 W150.0 I40.0 K-30.0 ;

5.2.5 Notes on Tool Nose Radius Compensation


Explanation
- Blocks without a move command that are specified in offset mode
<1> M05 ; M code output
<2> S210 ; S code output
<3> G04 X10.0 ; Dwell
<4> G22 X100000 ; Machining area setting
<5> G01 U0 ; Feed distance of zero
<6> G98 ; G code only
<7> G10 P01 X10.0 Z20.0 R0.5 Q2 ; Offset change

If the number of such blocks consecutively specified is more than N-2 blocks (where N is the number of
blocks to read in offset mode (parameter No. 19625)), the tool arrives at the position vertical to this block
at the end point of the previous block.
If the feed distance is 0 (<5>), this applies even if only one block is specified.

- 162 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Programmed path (G42 mode)


N6 W100.0 ;
N6 N7 N8 N7 S21 ;
N8 M04 ;
U9 U-100.0 W100.0 ;
N9 (Number of blocks to be read
Tool nose center path in offset mode = 3)

Fig. 5.2.5 (a) Case in which overcutting occurs

Overcutting may, therefore, occur in the Fig. 5.2.5 (a).

- Tool nose radius compensation with G90 or G94


The tool nose center path and the offset direction are as shown below if tool nose radius compensation is
applied. At the cycle start point, the offset vector disappears, and offset starts up with tool movement
from the cycle start point. In addition, during a return to the cycle start point, the offset vector disappears
temporarily, and offset is applied again with the next move command. The offset direction is determined
by the cutting pattern, regardless of G41 or G42.

- Outer/inner turning cycle (G90)


Tool nose radius center path Offset direction

0
Tool nose radius
center path 8 3
Total tool nose 4

5 7

1 2
6

Total tool nose Total tool


nose

Programmed path

- End cutting cycle (G94)


Tool nose radius center path Offset direction

Tool nose radius 0


center path 8
Total tool nose 4 3

5 7

1 6 2

Total tool nose Total tool


nose

Programmed path

- 163 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Difference from Series 16i/18i/21i


NOTE
The offset direction is the same as that of Series 16i/18i/21i, but the tool nose
radius center path is different.
• For this CNC
The operation is the same as that performed if the canned cycle operation is
replaced with G00 or G01, start-up is performed in the first block for movement
from the start point, and offset cancel is performed in the last block for
returning to the start point.
• For Series 16i/18i/21i
The operation with the block for movement from the start point and the last
block for returning to the start point differs from that of this CNC. For details,
refer to the Series 16i/18i/21i Operator's Manual.

- Tool nose radius compensation with G71 to G73


Tool nose radius compensation performed with G71 (outer surface rough cutting cycle or traverse
grinding cycle), G72 (end rough cutting cycle or traverse direct constant-size grinding cycle), and G73
(closed loop cutting cycle or oscillation direct constant-size grinding cycle), see the explanations of the
respective cycles.

- Tool nose radius compensation with G74 to G76 and G92


With G74 (end cutting off cycle), G75 (outer/inner surface cutting off cycle), G76 (multiple threading
cycle), and G92 (threading cycle), tool nose radius compensation cannot be applied.

- Tool nose radius compensation when chamfering is performed


Movement after compensation is shown Fig. 5.2.5 (b).
(G42 mode)
G01 W-20.0 I10.0;
U20.0;

(G42)
Programmed path

(G41)

Fig. 5.2.5 (b) Tool nose radius compensation when chamfering is performed

- Tool nose radius compensation when a corner arc is inserted


Movement after compensation is shown Fig. 5.2.5 (c).
(G42 mode)
G01 W-20.0 R10.0;
U20.0;

(G42)
Programmed path

(G41)

Fig. 5.2.5 (c) Tool nose radius compensation when a corner arc is inserted

- 164 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.3 OVERVIEW OF CUTTER COMPENSATION (G40-G42)


When the tool is moved, the tool path can be shifted by the radius of the tool (Fig. 5.3 (a)).
To make an offset as large as the radius of the tool, CNC first creates an offset vector with a length equal
to the radius of the tool (start-up). The offset vector is perpendicular to the tool path. The tail of the vector
is on the workpiece side and the head positions to the center of the tool.
If a linear interpolation or circular interpolation command is specified after start-up, the tool path can be
shifted by the length of the offset vector during machining.
To return the tool to the start point at the end of machining, cancel the cutter compensation mode.

Cutter
compensation
cancel
Start-up

Fig. 5.3 (a) Outline of cutter compensation

Format
- Start up (tool compensation start)
G00(or G01)G41(or G42) IP_T_;
G41 : Cutter compensation left (Group 07)
G42 : Cutter compensation right (Group 07)
IP_ : Command for axis movement
T_ : Same T code as that of tool offset

- Cutter compensation cancel (offset mode cancel)


G40 IP_;
G40 : Cutter compensation cancel (Group 07)
(Offset mode cancel)
IP_ : Command for axis movement

- 165 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Selection of the offset plane


Offset plane Command for plane selection IP_
XpYp G17 ; Xp_Yp_
ZpXp G18 ; Xp_Zp_
YpZp G19 ; Yp_Zp_

Explanation
- Offset cancel mode
At the beginning when power is applied the control is in the offset cancel mode. In the offset cancel mode,
the vector is always 0, and the tool center path coincides with the programmed path.

- Start-up
When a cutter compensation command (G41 or G42) is specified in the offset cancel mode, the CNC
enters the offset mode.
Moving the tool with this command is called start-up.
Specify positioning (G00) or linear interpolation (G01) for start-up.
If circular interpolation (G02, G03) is specified, alarm PS0034, “ONLY G00/G01 ALLOWED IN
STUP/EXT BLK” occurs.
For the start-up and subsequent blocks, the CNC prereads as many blocks as the number of preread
blocks set in the parameter No. 19625.

- Offset mode
In the offset mode, compensation is accomplished by positioning (G00), linear interpolation (G01), or
circular interpolation (G02, G03).
If three or more blocks that move the tool cannot be read in offset mode, the tool may make either an
excessive or insufficient cut.
If the offset plane is switched in the offset mode, alarm PS0037, “CAN NOT CHANGE PLANE IN
G41/G42” occurs and the tool is stopped.

- Offset mode cancel


In the offset mode, when a block which satisfies any one of the following conditions is executed, the
CNC enters the offset cancel mode, and the action of this block is called the offset cancel.
1. G40 has been commanded.
2. 0 has been commanded as the offset number for cutter compensation (T code).
When performing offset cancel, circular arc commands (G02 and G03) are not available. If these
commands are specified, an alarm PS0034 is generated and the tool stops. In the offset cancel, the control
executes the instructions in that block and the block in the cutter compensation buffer.
In the meantime, in the case of a single block mode, after reading one block, the control executes it and
stops. By pushing the cycle start button once more, one block is executed without reading the next block.
Then the control is in the offset cancel mode, and normally, the block to be executed next will be stored
in the buffer register and the next block is not read into the buffer for cutter compensation.
Start up
(G41/G42)
Offset cancel mode Offset mode
Offset mode cancel
(G40/T0)

Fig. 5.3 (b) Changing the offset mode

- Change of the cutter compensation value


In general, the cutter compensation value shall be changed in the offset cancel mode, when changing tools.
If the cutter compensation value is changed in offset mode, the vector at the end point of the block is
calculated for the new cutter compensation value.

- 166 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Calculated from the cutter Calculated from the cutter


compensation value in the block N6 compensation value in the block N7

N7
N6 N8
Programmed path

Fig. 5.3 (c) Changing the cutter compensation value

- Positive/negative cutter compensation value and tool center path


If the compensation value is negative (–), distribution is made for a figure in which G41's and G42's are
all replaced with each other on the program. Consequently, if the tool center is passing around the outside
of the workpiece, it will pass around the inside, and vice versa.
Fig. 5.3 (d) shows one example.
Generally, the compensation value is programmed to be positive (+).
When a tool path is programmed as in <1>, if the compensation value is made negative (–), the tool center
moves as in <2>, and vice versa. Consequently, the same program permits cutting both male and female
shapes, and any gap between them can be adjusted by the selection of the compensation value.
Applicable if start-up and cancel is A type. (See the descriptions about the start-up of cutter
compensation.)
<1> <2>
Tool center path

Programmed path

Fig. 5.3 (d) Tool center paths when positive and negative cutter compensation values are specified

- Cutter compensation value setting


Assign a cutter compensation values to the T codes on the MDI unit.

NOTE
The cutter compensation value for which the T code corresponds to 0 always
means 0.
It is not possible to set the cutter compensation value corresponding to T0.

- Valid compensation value range


The valid range of values that can be set as a compensation value is either of the following, depending on
the bits 1 (OFC), and 0 (OFA) of parameter No. 5042.

Valid compensation range (metric input)


OFC OFA Range
0 1 ±9999.99 mm
0 0 ±9999.999 mm
1 0 ±9999.9999 mm

- 167 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Valid compensation range (inch input)


OFC OFA Range
0 1 ±999.999 inch
0 0 ±999.9999 inch
1 0 ±999.99999 inch

The compensation value corresponding to offset No. 0 always means 0.


It is not possible to set the compensation value corresponding to offset No. 0.

- Offset vector
The offset vector is the two dimensional vector that is equal to the cutter compensation value assigned by
T code. It is calculated inside the control unit, and its direction is up-dated in accordance with the
progress of the tool in each block.
The offset vector is deleted by reset.

- Specifying a cutter compensation value


Specifying a cutter compensation value is accomplished by specifying an offset number, using the same T
code as that for specifying tool offset.

- Plane selection and vector


Offset calculation is carried out in the plane determined by G17, G18 and G19, (G codes for plane
selection). This plane is called the offset plane.
Compensation is not executed for the coordinate of a position which is not in the specified plane. The
programmed values are used as they are. In simultaneous 3 axes control, the tool path projected on the
offset plane is compensated.
The offset plane is changed during the offset cancel mode.
If it is performed during the offset mode, an alarm PS0037 is displayed and the machine is stopped.

- 168 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Example

250R

N5

C1(700,1300)

P4(500,1150) P5(900,1150)

C3 (-150,1150) C2 (1550,1150)
650R 650R
N4 N6
N3 N7

P2 P3(450,900) P6(950,900) P7
(250,900) (1150,900)
N8

N2
P9(700,650)
P1 P8
(250,550) (1150,550)

N10 N9

Y axis
N1
N11
X axis Unit : mm

Start point

G50 X0 Y0 Z0 ;............................................Specifies absolute coordinates.


The tool is positioned at the start point (X0, Y0, Z0).
N1 G17 G00 G41 T0707 X250.0 Y550.0 ; ....Starts cutter compensation (start-up).
The tool is shifted to the left of the programmed path by
the distance specified in T07.
In other words the tool path is shifted by the radius of the
tool (offset mode) because T07 is set to 15 beforehand (the
radius of the tool is 15 mm).
N2 G01 Y900.0 F150 ; .....................................Specifies machining from P1 to P2.
N3 X450.0 ; ........................................................Specifies machining from P2 to P3.
N4 G03 X500.0 Y1150.0 R650.0 ;..................Specifies machining from P3 to P4.
N5 G02 X900.0 R-250.0 ; ................................Specifies machining from P4 to P5.
N6 G03 X950.0 Y900.0 R650.0 ;....................Specifies machining from P5 to P6.
N7 G01 X1150.0 ; .............................................Specifies machining from P6 to P7.
N8 Y550.0 ; ........................................................Specifies machining from P7 to P8.
N9 X700.0 Y650.0 ; ..........................................Specifies machining from P8 to P9.
- 169 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

N10 X250.0 Y550.0 ; ..........................................Specifies machining from P9 to P1.


N11 G00 G40 X0 Y0 ;.........................................Cancels the offset mode.
The tool is returned to the start point (X0, Y0, Z0).

- 170 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.4 DETAILS OF CUTTER OR TOOL NOSE RADIUS


COMPENSATION

5.4.1 Overview
The following explanation focuses on tool nose radius compensation, but applies to cutter compensation
as well. Examples in which XY planes are used, however, apply to cutter compensation only.

- Tool nose radius center offset vector


The tool nose radius center offset vector is a two dimensional vector equal to the offset value specified in
a T code, and the vector is calculated in the CNC. Its dimension changes block by block according to tool
movement.
This offset vector (simply called vector herein after) is internally created by the control unit as required
for proper offsetting and to calculate a tool path with exact offset (by tool nose radius) from the
programmed path.
This vector is deleted by resetting.
The vector always accompanies the tool as the tool advances.
Proper understanding of vector is essential to accurate programming.
Read the description below on how vectors are created carefully.

- G40, G41, G42


G40, G41 or G42 is used to delete or generate vectors.
These codes are used together with G00, G01, G02, or G32 to specify a mode for tool motion
(Offsetting).

G code Workpiece position Function


G40 Neither Tool nose radius compensation cancel
G41 Right Left offset along tool path
G42 Left Right offset along tool path

G41 and G42 specify an offset mode, while G40 specifies cancellation of the offset.

- Inner side and outer side


When an angle of intersection of the tool paths specified with move commands for two blocks on the
workpiece side is over 180°, it is referred to as "inner side." When the angle is between 0° and 180°, it is
referred to as "outer side."
Inner side Outer side
Programmed path
Workpiece α
Workpiece α

Programmed path

180°≤a 0°≤α<180°

- Outer corner connection method


If the tool moves around an outer corner in tool nose radius compensation mode, it is possible to specify
whether to connect compensation vectors with linear interpolation or with circular interpolation, using bit
2 (CCC) of parameter No. 19607.

- 171 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Vectors are connected with linear Vectors are connected with circular
interpolation. interpolation.

Fig. 5.4.1 (a) Linear connection type Fig.5.4.1 (b) Circular connection type
[Bit 2 (CCC) of parameter No. 19607 = 0] [Bit 2 (CCC) of parameter No. 19607 = 1]

- Cancel mode
The tool nose radius compensation enters the cancel mode under the following conditions. (The system
may not enter the cancel mode depending on the machine tool.)
(1) Immediately after the power is turned on
(2) After the key on the MDI unit is pushed
(3) After a program is forced to end by executing M02 or M30
(4) After the tool nose radius compensation cancel command (G40) is exercised
In the cancel mode, the magnitude of a compensation vector is 0 at all times and the path of the virtual
tool nose matches the programmed path. A program must end in cancel mode. If it ends in the tool nose
radius compensation mode, the tool cannot be positioned at the end point, and the tool stops at a location
the compensation vector length away from the end point.

NOTE
The operation performed when a reset operation is performed during tool nose
radius compensation varies according to the setting of bit 6 (CLR) of parameter
No. 3402.
• When CLR=0
The reset state is set. The modal information of G41/G42 in group 07 is
preserved. To perform tool nose radius compensation, however, an offset
number (T code) needs to be specified again.
• When CLR=1
The cleared state is set. The modal information of G40 in group 07 is
preserved. To perform tool nose radius compensation, G41/G42 and an
offset number (T code) need to be specified.

- Start-up
When a block which satisfies all the following conditions is executed in cancel mode, the CNC enters the
offset mode. Control during this operation is called start-up.

(1) G41 or G42 is contained in the block, or has been specified to place the CNC in the offset mode.
(2) 0 < compensation number of tool nose radius compensation ≤ maximum compensation number
(3) Positioning (G00) or linear interpolation (G01) mode
(4) A compensation plane axis command with a travel distance of 0 (except start-up type C) is specified.
If start-up is specified in circular interpolation (G02, G03) mode, alarm PS0034, “NO CIRC ALLOWED
IN STUP/EXT BLK” will occur.
Workpiece coordinate system switching (G54 to G59) cannot be specified in the start-up block.
- 172 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
As a start-up operation, one of the three types A, B, and C can be selected by setting bits 0 (SUP) and 1
(SUV) of parameter No. 5003 appropriately. The operation to be performed if the tool moves around an
inner side is of single type only.

Table 5.4.1 (a) Start-up/cancel operation


SUV SUP Type Operation
0 0 Type A A compensation vector is output, which is vertical to the block
subsequent to the start-up block and the block preceding the cancel
block.
Tool nose radius center path

G41
Programmed path
N2

N1

0 1 Type B A compensation vector is output, which is vertical to the start-up


block and the cancel block. An intersection vector is also output.
Intersection
Tool nose radius center path

Programmed path
G41
N2

N1

1 0 Type C When the start-up block and the cancel block are blocks without tool
1 movement, the tool moves by the cutter or tool nose radius
compensation value in the direction vertical to the block subsequent
to the start-up block and the block preceding the cancel block.
Intersection
Tool nose radius center path

Programmed N3 Programmed path


path
G41 N2

N1

For a block with tool movement, the tool follows the SUP setting: If it
is 0, type A is assumed and if 1, type B is assumed.

- Reading input commands in tool nose radius compensation mode


In tool nose radius compensation mode, input commands are read from usually three blocks and up to
eight blocks depending on the setting of parameter No. 19625 to perform intersection calculation or an
interference check, described later, regardless of whether the blocks are with or without tool movement,
until a cancel command is received.
To perform intersection calculation, it is necessary to read at least two blocks with tool movement. To
perform an interference check, it is necessary to read at least three blocks with tool movement.

As the setting of parameter No. 19625, that is, the number of blocks to read, increases, it is possible to
predict overcutting (interference) for up to more subsequent commands. Increases in blocks to read and
analyze, however, cause reading and analysis to take more time.

- 173 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Bit 0 (SBK) of parameter No. 5000


When bit 0 (SBK) of parameter No. 5000 is set to 1, a single block stop can be performed in a block
created internally for tool nose radius compensation.
Use this parameter to check a program including tool nose radius compensation.
Stop point in a block created internally

N1 Single block stop point


S

N1
N2

N2
N1 Tool nose radius center path

Programmed path

NOTE
When an auxiliary function (M code), spindle speed function (S code), tool
function (T code), or second auxiliary function (B code) is specified in the N1
block in the figure above, FIN is not accepted if the tool stops at the stop point in
a block created internally (excluding the single block stop point).

- Meaning of symbols
The following symbols are used in subsequent figures:
• S indicates a position at which a single block is executed once.
• SS indicates a position at which a single block is executed twice.
• SSS indicates a position at which a single block is executed three times.
• L indicates that the tool moves along a straight line.
• C indicates that the tool moves along an arc.
• r indicates the cutter or tool nose radius compensation value.
• An intersection is a position at which the programmed paths of two blocks intersect with each other
after they are shifted by r.
• indicates the center of the tool nose radius.

- 174 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.4.2 Tool Movement in Start-up


When the offset cancel mode is changed to offset mode, the tool moves as illustrated below (start-up):

Explanation
- Tool movement around an inner side of a corner (180°≤ α)
Linear→Linear

α
Workpiece

Programmed path
r
G42

S L Tool nose radius center path


L
Start point

Linear→Circular
α

Work-
G42 r piece

S
C
L
Start point Tool nose radius Programmed path
center path

- 175 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Cases in which the start-up block is a block with tool movement and the tool
moves around the outside at an obtuse angle (90°≤ α<180°)
Tool path in start-up has two types A and B, and they are selected by bit 0 (SUP) of parameter No. 5003.
Linear→Linear Start point

G42
α Workpiece

L Programmed path
r

S L Tool nose radius


center path
Type
A Linear→Circular
Start point
G42
α

r Work
Work-
piece
piece
S
C

Tool nose radius center path Programmed path


Linear→Linear
(Linear connection type) Start point

G42
α
Workpiece
L
Programmed path
r
r

L
S Tool nose radius
Intersection center path
Type L
Linear→Circular
B (Linear connection type)
Start point

G42
α

r Work-
r piece

S
C
L L
Intersection
Tool nose radius center path Programmed path

- 176 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Linear→Linear Start point


(Circular
connection type) G42
α Workpiece

L
Programmed path
r
r

C L
S Tool nose radius
center path
Type
B Linear→Circular Start point
(Circular
connection type) G42
α

r Workpiece
r

C S
C

Tool nose radius center path Programmed path

- 177 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Cases in which the start-up block is a block with tool movement and the tool
moves around the outside at an acute angle (α<90°)
Tool path in start-up has two types A and B, and they are selected by bit 0 (SUP) of parameter No. 5003.
Linear→Linear Start point

G42
L Workpiece
α

Programmed path
r

S L Tool nose radius center path


Type
A Linear→Circular Start point

G42
L
α

r Work-
piece
S C

Tool nose radius center path


Programmed path

Linear→Linear
(Linear connection type) Start point
L

G42
Workpiece
r α
L
Programmed path
r
L

S L L Tool nose radius center path


Type
Linear→Circular
B (Linear connection type) Start point
L

G42
r α
L

r
L
Work-
S L C piece
Tool nose radius center path
Programmed path

- 178 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Linear→Linear Start point


(Circular L
connection type)
G42 Workpiece
r α

Programmed path
r
C

S L Tool nose radius center path


Type
B Linear→Circular Start point
(Circular L
connection type)
G42
r α

r Work-
C piece

S C
Tool nose radius center path

Programmed path

- Tool movement around the outside linear → linear at an acute angle less than
1 degree (α<1°)
S Tool nose radius center path
L

r L
Programmed path
(G41)

G41 Less than 1 deg Start point

- A block without tool movement specified at start-up


For type A and B
If the command is specified at start-up, the offset vector is not created. The tool does not operate in a
start-up block.
SS
N7

N6 N8
S

G40 … ; Tool nose radius


center path
N6 U100.0 W100.0 ; N9
N7 G41 U0 ;
N8 U-100.0 ;
N9 U-100.0 W100.0 ;
Programmed path

- 179 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

For type C
The tool shifts by the compensation value in the direction vertical to the block with tool movement
subsequent to the start-up block.

Without tool
movement
L
α
S Programmed path
L
Tool nose radius center path
S
Intersection

- 180 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.4.3 Tool Movement in Offset Mode


In offset mode, compensation is performed even for positioning commands, not to speak of linear and
circular interpolations. To perform intersection calculation, it is necessary to read at least two blocks with
tool movement. If, therefore, two or more blocks with tool movement cannot be read in offset mode
because blocks without tool movement, such as auxiliary function independent commands and dwell, are
specified in succession, excessive or insufficient cutting may occur because intersection calculation fails.
Assuming the number of blocks to read in offset mode, which is determined by parameter No. 19625, to
be N and the number of commands in those N blocks without tool movement that have been read to be M,
the condition under which intersection calculation is possible is (N - 2) ≥ M. For example, if the
maximum number of blocks to read in offset mode is 5, intersection calculation is possible even if up to
three blocks without tool movement are specified.

NOTE
The condition necessary for an interference check, described later, differs from
this condition. For details, see the explanation of the interference check.

If a G or M code in which buffering is suppressed is specified, no subsequent commands can be read


before that block is executed, regardless of the setting of parameter No. 19625. Excessive or insufficient
cutting may, therefore, occur because of an intersection calculation failure.

- 181 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Tool movement around the inside of a corner (180°≤ α)


Linear→Linear
α Workpiece

Programmed path

S L Tool nose radius


Intersection center path
L

Linear→Circular
α

Work-
piece

Intersection
S C

L
Tool nose radius Programmed path
center path

Circular→Linear
α Workpiece

Programmed path

L
S Tool nose radius
C Intersection center path

Circular→Circular α

Work-
Intersection piece
S
C C

Tool nose radius Programmed path


center path

- 182 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Tool movement around the inside (α<1°) with an abnormally long vector,
linear → linear
Intersection
S
r Tool nose radius center path

Programmed path
r

Intersection

Also in case of arc to straight line, straight line to arc and arc to arc, the reader should infer in the same
procedure.

- 183 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Tool movement around the outside corner at an obtuse angle (90°≤α<180°)


Linear→Linear
(Linear
connection type)

α Workpiece

L Programmed path

S
Intersection L Tool nose radius
center path
Linear→Circular
(Linear
connection type)

Work-
L r
piece

S L C
Intersection

Tool nose radius Programmed path


center path
Circular→Linear
(Linear
connection type)
α Workpiece

r Programmed path

C
L
Intersection S L Tool nose radius
center path
Circular→Circular
(Linear
connection type)
α

Programmed path
r Work-
r piece
C
Tool nose L
radius center S L
path Intersection C

- 184 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
Linear→Linear
(Circular
connection type)

α Workpiece

L
r Programmed path
r

C L
S Tool nose radius
center path
Linear→Circular
(Circular
connection type)

r
Work-
L r
piece
C
S C

Tool nose radius Programmed path


center path
Circular→Linear
(Circular
connection type)
α Workpiece

Programmed path
r
r
C
C L
S Tool nose radius
center path
Circular→Circular
(Circular
connection type)
α

Programmed path
r Work-
r piece
C
Tool nose radius
center path C
S C

- 185 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Tool movement around the outside corner at an acute angle (α<90°)


Linear→Linear
(Linear
connection type) L

Workpiece
r α
L
Programmed path
r
L
S L L Tool nose radius
center path
Linear→Circular
(Linear
connection type) L

r α
L
Work-
r piece
L
S L
C Programmed path
Tool nose radius
center path
Circular→Linear
(Linear
connection type)

Workpiece
r α
L
Programmed path
r
L
S L L Tool nose radius center path
Circular→Circular
(Linear
connection type)

r α
L
Work-
r piece
L

S L C

Tool nose radius center path Programmed path

- 186 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
Linear→Linear
(Circular
connection type) L

Workpiece
r α

Programmed path
r
C

S L Tool nose radius


center path
Linear→Circular
(Circular
connection type) L

r α

r Work-
piece
C

S
C
Programmed path
Tool nose radius
center path
Circular→Linear
(Circular
connection type)

Workpiece
r α

Programmed path
r
C

S L Tool nose radius center path

Circular→Circular
(Circular
connection type)

r α

Work-
r piece
C

S
C

Tool nose radius center path Programmed path

- 187 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- When it is exceptional
End position for the arc is not on the arc
If the end of a line leading to an arc is not on the arc as illustrated below (Fig. 5.4.3 (a)), the system
assumes that the tool nose radius compensation has been executed with respect to an imaginary circle that
has the same center as the arc and passes the specified end position. Based on this assumption, the system
creates a vector and carries out compensation. The same description applies to tool movement between
two circular paths.
Workpiece
End the arc

Imaginary circle
Programmed path

r r
Tool nose radius
center path
r C L
L
Center of the arc L S

Fig. 5.4.3 (a)

There is no inner intersection


If the cutter or tool nose radius compensation value is sufficiently small, the two circular tool center paths
made after compensation intersect at a position (P). Intersection P may not occur if an excessively large
value is specified for cutter or tool nose radius compensation. When this is predicted, alarm PS0033, “NO
INTERSECTION AT CUTTER COMPENSATION” occurs at the end of the previous block and the tool
is stopped.
In the example shown Fig. 5.4.3 (b), tool center paths along arcs A and B intersect at P when a
sufficiently small value is specified for cutter or tool nose radius compensation. If an excessively large
value is specified, this intersection does not occur.
Alarm occurs and the tool stops
When the cutter or tool nose radius
compensation value is large

When the cutter or tool nose radius


compensation value is small

Center of the arc B Center of the arc A


Programmed path
r r

Arc A P Arc B

Fig. 5.4.3 (b)

- 188 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- When the center of the arc is identical with the start point or the end position
If the center of the arc is identical with the start point or end point, alarm PS0041, “INTERFERENCE IN
CUTTER COMPENSATION” is displayed, and the tool will stop at the start point of the preceding block
of the arc.
(G41)
N5 G01 W50.0 ;
Tool nose radius center path N6 W50.0 ;
N7 G02 W100.0 I0 K0 ;
Alarm is displayed and the
N8 G01 U-100.0 ;
tool stops
N5 N6 N7

Programmed path

N8

- Change in the offset direction in the offset mode


The offset direction is decided by G codes (G41 and G42) for cutter or tool nose radius compensation and
the sign of the compensation value as follows.

Sign of compensation
+ -
G code
G41 Left side offset Right side offset
G42 Right side offset Left side offset

The offset direction can be changed in the offset mode. If the offset direction is changed in a block, a
vector is generated at the intersection of the tool nose radius center path of that block and the tool nose
radius center path of a preceding block.
However, the change is not available in the start-up block and the block following it.

- 189 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- Tool nose radius center path with an intersection


Linear→Linear
Workpiece S
G42 L
Intersection

r
Programmed path r

L G41

Tool nose radius center path Workpiece

Linear→Circular

r
Workpiece
G41
G42
Programmed path
r
Workpiece
Intersection
Tool nose radius center path L S

Circular→Linear
Workpiece

G42
Programmed path

r
Tool nose radius center path
C L

S
Intersection r

G41
Workpiece

Circular→Circular

C
Workpiece
G42

r
Programmed path
r
G41

Tool nose radius center path Workpiece


S
Intersection

- 190 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Tool nose radius center path without an intersection


When changing the offset direction in block A to block B using G41 and G42, if intersection with the
offset path is not required, the vector normal to block B is created at the start point of block B.
Linear→Linear
S L

Workpiece r
Programmed path G42 (G42)
G41
A B
L Workpiece
r

Tool nose radius


center path L S
G42
Programmed path
G41
r

Tool nose radius


center path S
L

Linear→Circular Intersection
S

L
L

Tool nose radius A


center path (G41) B
G42
(G41) r

Programmed path

Circular→Circular
C

An arc whose end position


r
is not on the arc
C
G41

Programmed path (G42)

(G42)

r r

C L
L S
Center Center
Tool nose radius
center path

- 191 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

The length of tool center path larger than the circumference of a circle
Normally there is almost no possibility of generating this situation. However, when G41 and G42 are
changed, or when a G40 was commanded with address I, J, and K this situation can occur.
In this case of the Fig. 5.4.3 (c), the cutter compensation is not performed with more than one circle
circumference: an arc is formed from P1 to P2 as shown. Depending on the circumstances, an alarm may
be displayed due to the "Interference Check" described later. To execute a circle with more than one
circumference, the circle must be specified in segments.
Tool nose radius
center path Programmed path

N5 N7

P1 P2

(G42)
N5 G01 U-700.0 W500.0 ;
N6
N6 G41 G02 I-500.0 ;
N7 G42 G01 U700.0 W500.0 ;

Fig. 5.4.3 (c)

- Tool nose radius compensation G code in the offset mode


The offset vector can be set to form a right angle to the moving direction in the previous block,
irrespective of machining inner or outer side, by commanding the tool nose radius compensation G code
(G41, G42) in the offset mode, independently. If this code is specified in a circular command, correct
circular motion will not be obtained.
When the direction of offset is expected to be changed by the command of tool nose radius compensation
G code (G41, G42), see "Change in the offset direction in the offset mode".
Linear→Linear

A block specified by G42


G42 mode

r L
L

Tool nose radius center path S Intersection

Circular→Linear

A block specified by G42

r
G42 mode L
C
S Intersection

Programmed path

- 192 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- Command canceling the offset vector temporarily


During offset mode, if G50 (workpiece coordinate system setting) or G52 (local coordinate system
setting) is commanded, the offset vector is temporarily cancelled and thereafter offset mode is
automatically restored.
In this case, without movement of offset cancel, the tool moves directly from the intersecting point to the
commanded point where offset vector is canceled.
Also when restored to offset mode, the tool moves directly to the intersecting point.
S S

L L
L L

Tool nose radius


center path N6 S
N5 N8
Programmed path N7
G50 block
(G41)
N5 G01 U300.0 W700.0 ;
N6 U-300.0 W600.0 ;
N7 G50 X100.0 Z200.0 ;
N8 G01 X400.0 Z800.0 ;

Before specifying G28 (reference position return), G29 (return from reference position), G30 (second,
third, and fourth reference position returns), and G53 (machine coordinate system selection) commands,
cancel offset mode, using G40. If an attempt is made to specify any of the commands in offset mode, the
offset vector temporarily disappears.

- Canned cycles (G90, G92, G94) and multiple repetitive canned cycles (G71 to
G76)
See the cautions for the tool nose radius compensation related canned cycles.
N9

N8 S S

r Tool nose radius


S N6(G42) center path
N7
N5

Programmed path

(G42)
N5 G01 U50.0 W-60.0 ;
N6 W-80.0 ;
N7 G90 U-60.0 W-80.0 R-30.0 ;
N8 G01 U120.0 W50.0 ;
N9 W50.0 ;

- If I, J, and K are specified in a G00/G01 mode block


At the start of tool nose radius compensation or in that mode, by specifying I, J, and K in a positioning
mode (G00) or linear interpolation mode (G01) block, it is possible to set the compensation vector at the
end point of that block in the direction vertical to that specified by I, J, and K. This makes it possible to
change the compensation direction intentionally.

- 193 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

IJ type vector (XY plane)


The following explains the compensation vector (IJ type vector) to be created on the XY compensation
plane (G17 mode). (The same explanation applies to the KI type vector on the G18 plane and the JK type
vector on the G19 plane.) As shown in the Fig. 5.4.3 (d) and Fig. 5.4.3 (e), it is assumed that the
compensation vector (IJ type vector) is the vector with a size equal to the compensation value and vertical
to the direction specified by I and J, without performing intersection calculation on the programmed path.
I and J can be specified both at the start of tool nose radius compensation and in that mode. If they are
specified at the start of compensation, any start-up type set in the appropriate parameter will be invalid,
and an IJ type vector is assumed.

Offset vector direction


In G41 mode, the direction specified by I, J, and K is assumed an imaginary tool movement direction, and
an offset vector is created vertical to that direction and on the left side.

Compensation vector

I, J, K

Fig. 5.4.3 (d)

In G42 mode, the direction specified by I, J, and K is assumed an imaginary tool movement direction, and
an offset vector is created vertical to that direction and on the right side.

I, J, K

Compensation vector

Fig. 5.4.3 (e)

Example
If I and J are specified at the start of compensation (with
tool movement)
N50
N40
(G40)
N30
N10 G41 U100.0 W100.0 N60
N20
K1 T0101 ;
N20 G04 X1000 ; T1 Tool nose radius
N30 G01 F1000 ;
N10 center path
N40 S300 ;
N50 M50 ;
N60 W150.0 ; Programmed path

Note) In N10, a vector is specified with


a size of T1 in the direction
vertical to the Z axis, using K1.

- 194 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
If I and J are specified at the start of compensation
(without tool movement)

(G40)
N30
N10 G41 K1 T0101 ;
N20 U100.0 W100.0 ; Tool nose radius
N30 W150.0 ; center path
N20
Note) In N10, a vector is specified Programmed path
with a size of T1 in the
direction vertical to the Z
N10
axis, using K1.
T1

If I and J are specified at the start of compensation (with


tool movement)

(G17 G41 T0101)


N10 G00 U150.0 J50.0 ;
N20 G02 I50.0 ; (I,J)
N30 G00 U-150.0 ;
<2>
Note) In N10, a vector is specified N10
with a size of T1 in the N20
N30
direction vertical to the Y axis, <1>
using J50.0. <2>

<1> IJ type vector


<2> Vector determined with
intersection calculation

Tool center path

Programmed path

Path determined with


intersection calculation

If I and J are specified in a block without tool movement in


compensation mode

N30 Tool nose


N40 radius center
S S path
Start-up/cancel type C
N20
N50
N10 G41 T0101 G01 F1000 ; (I, J)
N20 U100.0 W100.0 ;
N30 K10.0 ; Programmed path
N40 W150.0 ;
N50 G40 ;

N10
T1

Limitation
If an IJ type vector is specified, tool interference may occur due to that vector alone, depending on the
direction. If this occurs, no interference alarm will occur, or no interference avoidance will be performed.
Overcutting may, therefore, result.

- 195 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Overcutting
(I, J)
Start-up/cancel
Type C
N30 N40
Programmed
N10 G42 T0101 F1000 ; path N20
N20 W100.0;
N30 U100.0 W100.0 K10.0 ; N50
N10
N40 U-100.0 W100.0 ;
N50 G40 ;
Tool nose radius
center path

- A block without tool movement


The following blocks have no tool movement. In these blocks, the tool will not move even if cutter
compensation is effected.
M05 ; : M code output
S21 ; : S code output
G04 X10.0 ; : Dwell
G22 X100000 ; : Machining area setting
G10 P01 X10 Z20 R10.0 ; : Tool nose radius compensation value setting/changing
(G18) Y200.0 ; : Move command not included in the offset plane.
G98 ;, O10 ;, N20 ; : G, O, and N codes only
U0 ; : Move distance is zero.

- A block without tool movement specified in offset mode


Unless the number of blocks without movement consecutively specified is more than N-2 blocks (where
N is the number of blocks to read in offset mode (parameter No. 19625)) in offset mode, the vector and
the tool nose radius center path will be as usual. This block is executed at the single block stop point.
N6 U100.0 W100.0 ; N7 N8
N7 G04 X10.0 ; Programmed path
N8 W100.0 ;
N6
L Tool nose radius
center path
SS
L Block N7 is executed here.

In offset mode, the number of blocks without movement consecutively specified must not exceed N-2
(where N is the number of blocks to read in offset mode (parameter No. 19625). If commanded, a vector
whose length is equal to the offset value is produced in a normal direction to tool motion in earlier block,
so overcutting may result.
N6 U100.0 W100.0 ; N7,N8 N9
N7 S21 ; Programmed path
N8 G04 X10.0 ;
N9 W100.0 ;
(No. of blocks to read in N6
offset mode = 3) L Tool nose radius
SSS center path
L Blocks N7 and N8 are executed here.

- If an M/G code that suppresses buffering is specified


If an M/G code that suppresses buffering is specified in offset mode, it is no longer possible to read and
analyze subsequent blocks regardless of the number of blocks to read in offset mode, which is determined
by parameter No. 19625.
- 196 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
Then, intersection calculation and a interference check, described later, are no longer possible. If this
occurs, overcutting may occur because a vertical vector is output in the immediately preceding block.
If an M code (M50) that suppresses buffering is not specified

(G42) N6
N5 G01 U40.0 W40.0 ; Programmed path
N6 W40.0 ;
:
: N5
L
Tool nose radius
S center path
L Intersection

If an M code (M50) that suppresses buffering is specified

(G42) N6 N7
Programmed path
N5 G01 U40.0 W40.0 ;
N6 M50 ;
N7 W40.0 ;
: N5
: L
Tool nose radius
SS center path
L Block N6 is executed here.

- Workpiece coordinate system or local coordinate system command in the


offset mode
If the local coordinate system (G52) or workpiece coordinate system (G50) is specified in the tool nose
radius compensation (G41 or G42) mode, G52 or G50 is assumed to be a buffering masked G code. The
subsequent blocks are not executed until the G52 or G50 block is executed.

- Corner movement
When two or more offset vectors are produced at the end of a block, the tool moves linearly from one
vector to another. This movement is called the corner movement.
If these vectors almost coincide with each other (the distance of corner movement between the vectors is
judged short due to the setting of parameter No. 5010), corner movement is not performed. In this case,
the vector to the single block stop point takes precedence and remains, while other vectors are ignored.
This makes it possible to ignore the very small movements arising from performing tool nose radius
compensation, thereby preventing velocity changes due to interruption of buffering.

- 197 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

This vector is ignored, if ΔVZ


ΔVZ ≤ ΔVlimit and
ΔVX ≤ ΔVlimit

ΔVX
r S

r The vector to the single


block stop point remains
N1
N1 even if ΔVZ ≤ ΔVlimit and ΔVX
Tool nose radius ≤ Vlimit.
center path

N2

Programmed path
ΔVlimit is determined with the setting of parameter (No. 5010).

If the vectors are not judged to almost coincide (therefore, are not erased), movement to turn around the
corner is performed. The corner movement that precedes the single block stop point belongs to the
previous block, while the corner movement that succeeds the single block stop point belongs to the latter
block.
This move belongs to block N6, thus, the feedrate is equal
to that in block N6.

S
This move belongs to block N7, thus, the
feedrate is equal to that in block N7.

N6 N7

However, if the path of the next block is semicircular or more, the above function is not performed.
The reason for this is as follows:
(G17) P2 P3 P4 P5
N4 G41 G01 U150.0 V200.0 ;
N5 U150.0 V200.0 ;
N6 G02 J-600.0 ;
N7 G01 U150.0 V-200.0 ; P1 P6
N8 G40 U150.0 V-200.0 ;
N5 N7

N4 N8

Programmed path N6

Tool center path

- 198 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
If the vector is not ignored, the tool path is as follows:
P1 → P2 → P3 → (Circle) → P4 → P5 → P6
But if the distance between P2 and P3 is negligible, the point P3 is ignored. Therefore, the tool path is as
follows:
P2 → P 4
Namely, circle cutting by the block N6 is ignored.

- Interruption of manual operation


For manual operation during the offset mode, see "Manual Absolute ON and OFF."

- 199 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5.4.4 Tool Movement in Offset Mode Cancel


Explanation
- If the cancel block is a block with tool movement, and the tool moves around
the inside (180° ≤ α)
Linear→Linear
Workpiece α

Programmed path
r
G40

Tool nose radius L S


center path L

Circular→Linear
α

Work-
piece r
G40

S
C
L
Programmed path Tool nose radius center path

Fig. 5.4.4 (a)

- 200 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- If the cancel block is a block with tool movement, and the tool moves around
the outside at an obtuse angle (90° ≤ α < 180°)
Linear→Linear

G40
Workpiece α

Programmed path L

Tool nose radius L S


center path
Type
A Circular→Linear

G40
α

L
Work-
piece r

S
C

Programmed path Tool nose radius center path

Linear→Linear
(Linear
connection type) G40
Workpiece α

L
Programmed path
r

Tool nose radius Intersection L


S
center path
Type
B Circular→Linear
(Linear
connection type) G40
α

Work- r
piece r

S
C Inter- L
section
L
Programmed path Tool nose radius center path

- 201 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Linear→Linear
(Circular
connection type) G40
Workpiece α

L
Programmed path
r

C S
Tool nose radius center path

Type
B Circular→Linear
(Circular
connection type) G40
α

Work- r
piece r

C S
C

Programmed path Tool nose radius center path

Fig. 5.4.4 (b)

- 202 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

- If the cancel block is a block with tool movement, and the tool moves around
the outside at an acute angle (α<90°)
Linear→Linear

G40
Workpiece L α

Programmed path G42


r

Tool nose radius L S


center path
Type
A Circular→Linear

G40
L α

Work- r
piece G42

C S
Tool nose radius
center path
Programmed path

Linear→Linear
(Linear
connection type) L

Workpiece G40
α r
L
Programmed path
r S

Tool nose radius L L


Type center path
B
Circular→Linear
(Linear L
connection type)

α r
L
S
Work- r
piece
L

C L
Tool nose radius
center path
Programmed path

- 203 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Linear→Linear
(Circular
connection type) L
S
Workpiece G40
α r

Programmed path
r C

Tool nose radius L


Type center path
B
Circular→Linear
(Circular L
connection type) S
α r

C
Work- r
piece

C S
Tool nose radius
center path
Programmed path

Fig. 5.4.4 (c)

- If the cancel block is a block with tool movement, and the tool moves around
the outside at an acute angle of 1 degree or less in a linear → linear manner
(α≤1°)
S Tool nose radius center path
L

r L
(G42) Programmed path
1° or less
G40

Fig. 5.4.4 (d)

- A block without tool movement specified together with offset cancel


For types A and B
In the block preceding the cancel block, a vector is created with a size equal to the cutter or tool nose
radius compensation value in the vertical direction. The tool does not operate in the cancel block.
The remaining vectors are canceled with the next move command.
The compensation plane cannot be switched without canceling the remaining vector.
If the compensation plane (G17,G18,G19) is switched without canceling the remaining vector, the
alarm PS0037, “CAN NOT CHANGE PLANE IN G41/G42” is occurred.
N6 U100.0 W100.0 ; N7 N8
N7 G40 ;
N8 U0 W130.0 ;
N6
L
Programmed path SS
L

Tool nose radius


center path

Fig. 5.4.4 (e)

- 204 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

For type C
The tool shifts by the compensation value in the direction vertical to the block preceding the cancel
block.

Programmed path

Tool nose radius


center path S
G40 (without
movement)
L

L
S

Fig. 5.4.4 (f)

- Block containing G40 and I_J_K_


The previous block contains G41 or G42
If a G41 or G42 block precedes a block in which G40 and I_, J_, K_ are specified, the system assumes
that the path is programmed as a path from the end position determined by the former block to a vector
determined by (I,J), (I,K), or (J,K). The direction of compensation in the former block is inherited.
In the N1 block, the tool nose radius center moves
N1 (G42 mode) ; towards P.
N2 G40 Xb Za I_ K_ ; In the N2 block, the tool nose radius center moves
towards E.
E(a, b)

(I, K)
G40
N2
P Tool nose radius center path

r S N1

r
(G42) Programmed path

Workpiece

Fig. 5.4.4 (g)

In this case, note that the CNC obtains an intersection of the tool path irrespective of whether inner or
outer side machining is specified.
E

G40
P Tool nose radius
center path
S
r

Programmed path
(G42)
r

(I, K)

Fig. 5.4.4 (h)

- 205 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

When an intersection is not obtainable, the tool comes to the normal position to the previous block at the
end of the previous block.
E
Tool nose radius
P G40 center path
S
r
(G42) Programmed path

(I, K)
r

Fig. 5.4.4 (i)

- Length of the tool center path larger than the circumference of a circle
In the example shown below, the tool does not trace the circle more than once. It moves along the arc
from P1 to P2. The interference check function described below may raise an alarm.
To make the tool trace a circle more than once, program two or more arcs.

P1
Tool nose radius center path

P2
Programmed path N7

N5
(I, J) N6

(G17 G41)
N5 G01 U100.0 ;
N6 G02 J-60.0 ;
N7 G40 G01 U50.0 V50.0 I-10.0 J-10.0 ;

Fig. 5.4.4 (j)

5.4.5 Prevention of Overcutting Due to Cutter or Tool Nose Radius


Compensation
Explanation
- Machining a groove smaller than the diameter of the tool nose
Since the tool nose radius compensation forces the path of the center of the tool nose radius to move in
the reverse of the programmed direction, overcutting will result. In this case an alarm is displayed and the
CNC stops at the start of the block.

- 206 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Tool nose radius An alarm is displayed and


center path the operation stops

Programmed path

Workpiece

Overcutting if the operation would not stop


Fig. 5.4.5 (a) Machining a groove smaller than the diameter of the tool nose

- Machining a step smaller than the tool nose radius


For a figure in which a workpiece step is specified with an arc, the tool nose radius center path will be as
shown in Fig. 5.4.5 (b). If the step is smaller than the tool nose radius, the tool nose radius center path
usually compensated as shown in Fig. 5.4.5 (c) may be in the direction opposite to the programmed path.
In this case, the first vector is ignored, and the tool moves linearly to the second vector position. The
single block operation is stopped at this point. If the machining is not in the single block mode, the cycle
operation is continued.
If the step is of linear, no alarm will be generated and cut correctly. However uncut part will remain.
Single block stop point
S
Tool nose radius
center path

Programmed path

Workpiece Arc center

Fig. 5.4.5 (b) Machining a step larger than the tool nose radius

- 207 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Single block stop point

Linear movement S Tool nose radius center path

Path to be taken if the Programmed path


vector is not ignored
The first vector is ignored

Arc center
Workpiece Arc

An overcutting will result if the first vector is not ignored.


However, tool moves linearly.

Fig. 5.4.5 (c) Machining a step smaller than the tool nose radius

- Starting compensation and cutting along the Z-axis


It is usually used such a method that the tool is moved along the Z axis after the cutter compensation
(normally XY plane) is effected at some distance from the workpiece at the start of the machining. In the
case above, if it is desired to divide the motion along the Z axis into rapid traverse and cutting feed,
follow the procedure below.
Let us consider the following program, assuming the number of blocks to read in cutter compensation
mode (parameter No. 19625) to be 3.
N1 G00 G41 U500.0 V500.0 T0101 ;
N3 G01 W-300.0 F100 ;
N6 V1000.0 F200 ;

After compensation

N6

N3:Move command in Z axis (one block)

N1

Fig. 5.4.5 (d)

In the program example above (Fig. 5.4.5 (d)), when executing block N1, blocks N3 and N6 are also
entered into the buffer storage, and by the relationship among them the correct compensation is
performed as in the Fig. 5.4.5 (d).
Then, suppose that the block N3 (move command in Z axis) is divided into N3 and N5.

- 208 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

N1 G00 G41 U500.0 V500.0 T0101 ;


N3 G01 W-250.0 ;
N5 G01 W-50.0 F100 ;
N6 V1000.0 F200 ;

After compensation
Workpiece

N6

N3, N5:Move command for the Z axis (two blocks)

N1

Fig. 5.4.5 (e)

At this time, because the number of blocks to read is 3, blocks up to N5 can be read at the start of N1
compensation, but block N6 cannot be read. As a result, compensation is performed only on the basis of
the information in block N1, and a vertical vector is created at the end of the compensation start block.
Usually, therefore, overcutting will result as shown in the Fig. 5.4.5 (e).
In such a case, it is possible to prevent overcutting by specifying a command with the exactly the same
direction as the advance direction immediately before movement along the Z axis beforehand, after the
tool is moved along the Z axis using the above rule.
N1 G00 G41 U500.0 V400.0 T0101 ;
N2 V100.0 ;
N3 W-250.0 ;
N5 G01 W-50.0 F100 ;
N6 V1000.0 F200 ;

After compensation N6
Workpiece

N3, N5 : Move command for the Z axis (2 blocks)

N2

N1

Fig. 5.4.5 (f)

As the block N2 has the move command in the same direction as that of the block N6, the correct
compensation is performed.

Alternatively, it is possible to prevent overcutting in the same way by specifying an IJ type vector with
the same direction as the advance direction in the start-up block, as in N1 G00 G41 U500.0 V500.0 I0 J1
T0101;, after the tool has moved along the Z axis.

5.4.6 Interference Check


Tool overcutting is called interference. The interference check function checks for tool overcutting in
advance. However, all interference cannot be checked by this function. The interference check is
performed even if overcutting does not occur.

- 209 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Explanation
- Condition under which an interference check is possible
To perform an interference check, it is necessary to read at least three blocks with tool movement. If,
therefore, three or more blocks with tool movement cannot be read in offset mode because blocks without
tool movement, such as independent auxiliary function and dwell, are specified in succession, excessive
or insufficient cutting may occur because an interference check fails. Assuming the number of blocks to
read in offset mode, which is determined by parameter No. 19625, to be N and the number of commands
in those N blocks without tool movement that have been read to be M, the condition under which an
interference check is possible is
(N - 3) ≥ M.
For example, if the maximum number of blocks to read in offset mode is 8, an interference check is
possible even if up to five blocks without tool movement are specified. In this case, three adjacent blocks
can be checked for interference, but any subsequent interference that may occur cannot be detected.

- Interference check method


Two interference check methods are available, direction check and circular angle check. Bit 1 (CNC) of
parameter No. 5008 and bit 3 (CNV) of parameter No. 5008 are used to specify whether to enable these
methods.

Table 5.4.6 (a)


CNV CNC Operation
An interference check is enabled, and a direction check and a circular angle check
0 0
can be performed.
0 1 An interference check is enabled, and only a circular angle check is performed.
1 – An interference check is disabled.

NOTE
There are no settings for performing a direction check only.

- Interference reference <1> (direction check)


Assuming the number of blocks to read during tool nose radius compensation to be N, a check is first
performed on the compensation vector group calculated in (block 1 - block 2) to be output this time and
the compensation vector group calculated in (block N-1 - block N); if they intersect, they are judged to
interfere. If no interference is found, a check is performed sequentially in the direction toward the
compensation vector group to be output this time, as follows:

(Block 1 - block 2) and (block N-2 - block N-1)


(Block 1 - block 2) and (block N-3 - block N-2)
:
:
(Block 1 - block 2) and (block 2 - block 3)

Even if multiple number of compensation vector groups are generated, a check is performed on all pairs.
The judgment method is as follows: For a check on the compensation vector group in (block 1 - block 2)
and those in (block N-1 - block N), the direction vector from the specified (end point of block 1) to the
(end point of block N-1) is compared with the direction vector from the (point resulting from adding the
compensation vector to be checked to the end of block 1) to the (point resulting from adding the
compensation vector to be checked to the end of block N-1), and if the direction is 90o or greater or 270o
or less, they are judged to intersect and interfere. This is called a direction check.

- 210 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
Example of interference standard <1>
(If the block 1 end-point vector intersects with the block 7 end-point vector)
The direction differs by
180°.

Tool center path

Programmed path

Block 2 Block 7
Block 1 Block 8

Block 3
Block 6

Block 4 Block 5

Fig. 5.4.6 (a)

Example of interference standard <1>


(If the block 1 end-point vector intersects with the block 2 end-point vector)
Tool nose radius Programmed path
center path

Block 1

The directions of
these two paths are
different (180°).

Block 2

Fig. 5.4.6 (b)

- Interference reference <2> (circular angle check)


In a check on three adjacent blocks, that is, a check on the compensation vector group calculated on
(block 1 - block 2) and the compensation vector group calculated on (block 2 - block 3), if block 2 is
circular, a check is performed on the circular angle between the start and end points of the programmed
path and the circular angle of the start and end point of the post-compensation path, in addition to
direction check <1>. If the difference is 180o or greater, the blocks are judged to interfere. This is called a
circular angle check.

- 211 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Example of <2> (if block 2 is circular and the start point of the post-compensation arc coincide with the
end point)
Tool nose radius
Programmed path
center path

Block 3
Block 1

Programmed path

Block 2

Fig. 5.4.6 (c)

- When interference is assumed although actual interference does not occur


<1> Depression which is smaller than the cutter or tool nose radius compensation value
Programmed
path Tool nose radius center path

Stopped

A C
B

Fig. 5.4.6 (d)

There is no actual interference, but since the direction programmed in block B is opposite to that of the
path after the tool nose radius compensation, the tool stops and an alarm is displayed.

- 212 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
<2> Groove which is smaller than the cutter or tool nose radius compensation value
Programmed
path Tool nose radius center path

Stopped

A
B C

Fig. 5.4.6 (e)


Like <1>, an alarm is displayed because of the interference as the direction is reverse in block B.

5.4.6.1 Operation to be performed if an interference is judged to


occur
Explanation
The operation to be performed if an interference check judges that an interference (due to overcutting)
occurs can be either of the following two, depending on the setting of bit 5 (CAV) of parameter No.
19607.

Table 5.4.6.1 (a)


CAV Function Operation
An alarm stop occurs before the execution of the block in which
0 Interference check alarm function
overcutting (interference) occurs.
Interference check avoidance The tool path is changed so that overcutting (interference) does
1
function not occur, and processing continues.

5.4.6.2 Interference check alarm function


Explanation
- Interference other than those between adjacent three blocks
If the end-point vector of block 1 and the end-point vector of block 7 are judged to interfere as shown in
the Fig. 5.4.6.2 (a), an alarm will occur before the execution of block 1 so that the tool stops. In this case,
the vectors will not be erased.

- 213 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Stopped
Tool nose radius
center path
Block 1
Block 8
Programmed path

Block 2 Block 7

Block 3
Block 6

Block 4 Block 5

Fig. 5.4.6.2 (a)

- Interference between adjacent three blocks


If an interference is judged to occur between adjacent three blocks, the interfering vector, as well as any
vectors existing inside of it, is erased, and a path is created to connect the remaining vectors. In the
example shown in the Fig. 5.4.6.2 (b), V2 and V5 interfere, so that V2 and V5 are erased, so are V3 and V4,
which are inside of them, and V1 is connected to V6. The operation during this time is linear interpolation.
V6

V1

V2

V5
V4
V3

Tool center path

Programmed path

Fig. 5.4.6.2 (b)

If, after vector erasure, the last single vector still interferes, or if there is only one vector at the beginning
and it interferes, an alarm will occur immediately after the start of the previous block (end point for a
single block) and the tool stops. In the example shown in the Fig. 5.4.6.2 (c), V2 and V3 interfere, but,
even after erasure, an alarm will occur because the final vectors V1 and V4 interfere.

- 214 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

Stopped
Tool center path

Programmed path

V4 V1

V3 V2

Fig. 5.4.6.2 (c)

5.4.6.3 Interference check avoidance function


Overview
If a command is specified which satisfies the condition under which the interference check alarm function
generates an interference alarm, this function suppresses the generation of the interference alarm, but
causes a new compensation vector to be calculated as a path for avoiding interference, thereby continuing
machining. For the path for avoiding interference, insufficient cutting occurs in comparison with the
programmed path. In addition, depending on the specified figure, no path for avoiding interference can be
determined or the path for avoiding interference may be judged dangerous. In such a case, an alarm stop
will occur. For this reason, it is not always possible to avoid interference for all commands.

Explanation
- Interference avoidance method
Let us consider a case in which an interference occurs between the compensation vector between (block 1
- block 2) and the compensation vector between (block N-1 - block N). The direction vector from the end
point of block 1 to the end point of block N-1 is called a gap vector. At this time, a post-compensation
intersection vector between (block 1 - gap vector) and a post-compensation intersection vector between
(gap vector - block N) is determined, and a path connecting them is created.

- 215 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Post-compensation intersection vector Post-compensation intersection vector


between block 1 and gap vector between gap vector and block 8

Movement o f block 7

Post-compensation
path Gap vector
Block 1
Block 8

Block 2 Block 7
Programmed path

Block 3 Block 6

Block 4 Block 5

In this case, the post-compensation end points of blocks 2 to 6 coincide with the end
point of block 1. Thus, after compensation, blocks 2 to 6 will be blocks without tool
movement.

Fig. 5.4.6.3 (a)

If the post-compensation intersection vector of (block 1 - gap vector) and the post-compensation
intersection vector of (gap vector - block N) further intersect, vector erasure is first performed in the same
way as in "Interference between adjacent three blocks". If the last vectors that remains still intersects, the
post-compensation intersection vector of (block 1 - block N) is re-calculated.
Post-compensation path
Re-calculation
Programmed path

Block 1 Block 8
Block 1 Block 8

Post-compensati
Post-compensation on intersection
Post-compensation vector between
intersection vector
intersection between block 1 and
between block 1
gap vector and block 8 block 8
and gap vector
Block 2 Gap vector
Block 7 Block 2 Block 7

Block 3 Block 3 Block 6


Block 6

Block 4 Block 4 Block 5


Block 5

In this case, the post-compensation end points of blocks 2 to 7


coincide with the end point of block 1. Thus, after compensation,
blocks 2 to 7 will be blocks without tool movement.

Fig. 5.4.6.3 (b)

- 216 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
If the cutter or tool nose radius compensation value is greater than the radius of the specified arc as shown
in the Fig. 5.4.6.3 (c), and a command is specified which results in compensation with respect to the
inside of the arc, interference is avoided by performing intersection calculation with an arc command
being assumed a linear one. In this case, avoided vectors are connected with linear interpolation.

Post-compensation path

Programmed path

Fig. 5.4.6.3 (c)

- If no interference avoidance vector exists


If the parallel pocket shown in the Fig. 5.4.6.3 (d) is to be machined, the end-point vector of block 1 and
the end-point vector of block 2 are judged to interfere, and an attempt is made to calculate, as an
interference avoidance vector, the intersection vector of the post-compensation path of block 1 and the
post-compensation path of block 3. In this case, because blocks 1 and 3 are parallel to each other, no
intersection exists. In this case, an alarm will occur immediately before block 1 and the tool will stop.
Stopped
Tool center path

Programmed path

Block 1

Block 3

Block 2
Fig. 5.4.6.3 (d)

- 217 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

If the circular pocket shown in the Fig. 5.4.6.3 (e) is to be machined, the end-point vector of block 1 and
the end-point vector of block 2 are judged to interfere, and an attempt is made to calculate, as an
interference avoidance vector, the intersection vector of the post-compensation path of block 1 and the
post-compensation path of block 3.
In this case, because blocks 1 and 3 are circular, no post-compensation intersection exists. In this case, an
alarm will occur immediately before block 1 and the tool will stop, as in the previous example.

Programmed path Tool center path

Stopped

Block 1
Block 3

Block 2

Fig. 5.4.6.3 (e)

- If it is judged dangerous to avoid interference


If the acute-angle pocket shown in the Fig. 5.4.6.3 (f) is to be machined, the end-point vector of block 1
and the end-point vector of block 2 are judged to interfere, and an attempt is made to calculate, as an
interference avoidance vector, the intersection vector of the post-compensation path of block 1 and the
post-compensation path of block 3. In this case, the movement direction of the post-avoidance path
extremely differs from the previously specified direction. If the post-avoidance path extremely differs
from that of the original command (90° or greater or 270° or less), interference avoidance operation is
judged dangerous; an alarm will occur immediately before block 1 and the tool will stop.
Post-compensation intersection of
blocks 1 and 3

Tool center path Stopped

Programmed path

Block 1
Block 3

Block 2
Fig. 5.4.6.3 (f)

- 218 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
If a pocket in which the bottom is wider than the top, such as that shown in the Fig. 5.4.6.3 (g), is to be
machined, the end-point vector of block 1 and the end-point vector of block 2 are judged to interfere, and
an attempt is made to calculate, as an interference avoidance vector, the intersection vector of the
post-compensation path of block 1 and the post-compensation path of block 3. In this case, the relation
between blocks 1 and 3 is judged an outer one, the post-avoidance path results in overcutting as compared
with the original command. In such a case, interference avoidance operation is judge dangerous; an alarm
will occur immediately before block 1 and the tool will stop.
Stopped
Tool center path

Programmed path

Block 1 Block 3

Block 2

Post-compensation intersection
of blocks 1 and 3

Fig. 5.4.6.3 (g)

- If further interference with an interference avoidance vector occurs


If the pocket shown in the Fig. 5.4.6.3 (h) is to be machined, if the number of blocks to read is 3, the
end-point vector of block 1 and the end-point vector of block 2 are judged to interfere, and an attempt is
made to calculate, as an interference avoidance vector, the intersection vector of the post-compensation
path of block 1 and the post-compensation path of block 3. In this case, however, the end-point vector of
block 3 that is to be calculated next further interferes with the previous interference avoidance vector. If a
further interference occurs to the interference avoidance vector once created and output, the movement in
the block will not be performed; an alarm will occur immediately before the block and the tool will stop.
The intersection vectors of
Tool center path blocks 3 and 4 further interfere.

Programmed path Stopped

Block 5

Block 4

Block 1
Block 3

Block 2

Fig. 5.4.6.3 (h)

- 219 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

NOTE
1 For "If it is judged dangerous to avoid interference" and "If further interference
with an interference avoidance vector occurs", by setting bit 6 (NAA) of
parameter No. 19607 appropriately, it is possible to suppress an alarm to
continue machining. For "If no interference avoidance vector exists", however, it
is not possible to avoid an alarm regardless of the setting of this parameter.
2 If a single block stop occurs during interference avoidance operation, and an
operation is performed which differs from the original movement, such as
manual intervention, MDI intervention, cutter or tool nose radius compensation
value change, intersection calculation is performed with a new path. If such an
operation is performed, therefore, an interference may occur again although
interference avoidance has been performed once.

5.4.7 Cutter or Tool Nose Radius Compensation for Input from MDI
Explanation
- MDI operation
During MDI operation, that is, if a program command is specified in MDI mode in the reset state to make
a cycle start, intersection calculation is performed for compensation in the same way as in memory
operation/DNC operation. Compensation is performed in the same way if a subprogram is called from
program memory due to MDI operation.
MDI command Subprogram in program memory N3

G00 X0 Y0 ; O9000 ;
M98 P9000 ; N1 G41 G17 G01 U10.0 V10.0
M02 ; T0101 ;
N2 V15.0 ;
N3 U15.0 ;
N4 V-15.0 ;
N5 U-15.0 ; N2 N4
N6 G40 U-10.0 V-10.0 ;
M99 ;

N1
N5
N6

Fig. 5.4.7 (a)

- MDI intervention
If MDI intervention is performed, that is, if a single block stop is performed to enter the automatic
operation stop state in the middle of memory operation, DNC operation, and the like, and a program
command is specified in MDI mode to make a cycle start, cutter compensation does not perform
intersection calculation, retaining the last compensation vector before the intervention.

- 220 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

MEM mode MDI intervention

(G41) W30.0 ;
N2 U30.0 W10.0 ; U20.0 W20.0 ;
N3 U-30.0 W10.0 ; U-20.0 W20.0 ;
N4 W40.0 ;

Last compensation vector

MDI intervention Retained compensation vector

N2 N3
N4
Program command

Fig. 5.4.7 (b)

- 221 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5.5 VECTOR RETENTION (G38)


In cutter or tool nose radius compensation, by specifying G38 in offset mode, it is possible to retain the
compensation vector at the end position of the previous block, without performing intersection
calculation.

Format
(In offset mode)
G38 IP_ ;
IP :Value specified for axial movement

Explanation
- Vector retention
By specifying the above command, a vector is created at the end point of the block immediately
preceding the G38 block, vertical to that block. In the G38 block, the vertical vector output in the
previous block is retained. G38 is a one-shot G code. With the next move command without a G38
command, the compensation vector is re-created.

Limitation
- Mode
Specify G38 in either G00 or G01 mode. If it is specified in G02 or G03 (circular interpolation) mode, a
radial error may occur at the start and end points.

- Start-up/cancel
In start-up/cancel, the operation is as described in Subsections 5.4.2 and 5.4.4. Thus, G38 cannot be
specified in the following blocks:
1) Start-up command (G41 or G42) block
2) Cancel command (G40) block
3) Block immediately preceding the cancel command (G40) block

Example
:
: (In offset mode)
N1 G38 X0.0 Z10.0 ;
N2 G38 X5.0 Z15.0 ; X axis
N3 G38 X0.0 Z10.0 ;
N4 Z20.0 ;
:
:
Z axis

Block N2 Offset vector


Block N1
Tool nose radius
center path

Program command
(15.0, 5.0)

(10.0, 0.0) Block N3

Fig. 5.5 (a)

- 222 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.6 CORNER CIRCULAR INTERPOLATION (G39)


By specifying G39 in offset mode during cutter or tool nose radius compensation, corner circular
interpolation can be performed. The radius of the corner circular interpolation equals the compensation
value.

Format
In offset mode
G39 ;
or
I_J_
G39 I_K_ ;
J_K_

Explanation
- Corner circular interpolation
When the command indicated above is specified, corner circular interpolation in which the radius equals
compensation value can be performed. G41 or G42 preceding the command determines whether the arc is
clockwise or counterclockwise. G39 is a one-shot G code.

- G39 without I, J, or K
When G39; is programmed, the arc at the corner is formed so that the vector at the end point of the arc is
perpendicular to the start point of the next block.

- G39 with I, J, and K


When G39 is specified with I, J, and K, the arc at the corner is formed so that the vector at the end point
of the arc is perpendicular to the vector defined by the I, J, and K values.

Limitation
- Move command
In a block containing G39, no move command can be specified. Otherwise, an alarm will occur.

- Inner corner
In an inner corner block, G39 cannot be specified. Otherwise, overcutting will occur.

- Corner arc velocity


If a corner arc is specified with G39 in G00 mode, the corner arc block velocity will be that of the F
command previously specified.

- 223 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

Example
- G39 without I, J, or K
:
: (In offset mode)
N1 Z10.0 ; X axis
N2 G39 ;
N3 X-10.0 ;
:
:
Z axis

Block N1 Offset vector

Block N2 (Corner arc)

(10.0, 0.0) Block N3

Programmed path

Tool nose radius


center path

(10.0, -10.0)

Fig. 5.6 (a)

- G39 with I, J, and K


:
: (In offset mode)
N1 Z10.0 ; X axis
N2 G39 I-1.0 K2.0 ;
N3 X-10.0 Z20.0 ;
:
:
Z axis

Block N2 (Corner arc)


Block N1
Offset vector
Block N3
Programmed
path
(10.0, 0.0)

(I=-1.0, K=2.0)
Tool nose radius
center path

(20.0, -10.0)

Fig. 5.6 (b)

- 224 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION

5.7 EXTENDED TOOL SELECTION


Overview
In lathe system machines, tools are changed mainly with the following two methods:

(1) With a turret holding multiple tools, tools are changed by turning the turret (T command).
(2) With an automatic tool changer (ATC), tools are changed by using both cartridge indexing (T
command) and tool change (such as M06) commands.

To support the tool change method explained in (2) above, the following tool selection specifications
apply to this function:
<1> Tool compensation by a T command is disabled. This means that the T command performs auxiliary
functions only.
<2> Tool compensation is enabled by using a G code instead of the T command. In this case, the
following types of tool compensation are enabled:
• Tool offset (compensation equivalent to that of a T command in the case of turret rotation type)

Format
M06 T_ ; Change tool
:
Gxx D_ ; Tool compensation start
:
:
G49 ; Tool compensation cancel

Gxx : Type of tool compensation


G43.7 : Tool offset
D_ : Tool compensation number

Explanation
- Selecting a tool change method
Bit 3 (TCT) of parameter No. 5040 selects a tool change method.
This changes the way for specifying tool compensation.
This parameter setting has influence on the following range (Table 5.7 (a)):

Table 5.7 (a)


Bit 3 (TCT) of parameter No. 5040 = Bit 3 (TCT) of parameter No. 5040 =
0 (Turret type) 1 (ATC type)
Auxiliary function (tool change) and tool
Operation of T command Auxiliary function (tool indexing) only
offset
Tool compensation Specified with T code Specified with G43.7 D_
Compensation No. of tool
Specified with T code Specified with D code
compensation
Compensation No. of tool nose
Specified with T code Specified with D code
radius compensation
Command such as G43 Disabled (alarm) Enabled
Compensation No. of G43, etc. - Specified with D code

- 225 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

- T command operation
(1) When bit 3 (TCT) of parameter No.5040 is 0
The T command performs an auxiliary function and tool offset.
The code signal issued to the machine is the T command value except the last 1 to 3 digits.
For example, suppose that the following command is issued when 2 is set in parameter No. 5028 (the
number of digits comprising the offset number in the T code command):
T0313 ;
The T code signal sent to the machine indicates 03.
The tool compensation number, indicated by the lowest 2 digits, is 13.

(2) When bit 3 (TCT) of parameter No. 5040 is 1


The T command performs an auxiliary function only.
In this case, the code signal issued to the machine is the T command value.
For example, suppose that the following is specified:
T0313 ;
The T code signal issued to the machine is 0313. The T code signal is not affected by the setting of
parameter No. 5028 (the number of digits comprising the offset number in the T code command).
The tool compensation number is not affected by this command.

- Tool offset
(1) When bit 3 (TCT) of parameter No.5040 is 0
The T command performs tool offset.

(2) When bit 3 (TCT) of parameter No.5040 is 1


The T command does not perform tool offset.
To provide tool offset, specify G43.7 D_.
Tool offset is performed in the same way as with the T command when bit 3 of parameter No. 5040
is 0.

- Compensation number of tool offset


(1) When bit 3 (TCT) of parameter No.5040 is 0
The lowest 1 to 3 digits of the T command are used. The number of digits is set in parameter No.
5028.
When the tool geometry/wear offset is enabled (bit 6 (NGW) of parameter No.8136 is 0), tool
geometry offset and wear offset may also be assigned different compensation values by setting bit 1
(LGN) of parameter No. 5002.
For details, refer to the description of the tool selection function in the Operator's Manual (Common
to Lath System/Machining Center System).

(2) When bit 3 (TCT) of parameter No.5040 is 1


Except that a compensation number is specified with a D command, the same operation as (1) above
is performed.

- Compensation number of tool nose radius compensation


Same as for tool offset described above.

- Specification of G43, etc.


(1) When bit 3 (TCT) of parameter No.5040 is 0
G codes of group 23 such as G43 cannot be specified.
Specifying such a G code results in an alarm PS0366.

- 226 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
(2) When bit 3 (TCT) of parameter No.5040 is 1
G codes of group 23 such as G43 can be specified. The following G codes can be specified:
G43.7: Tool offset
Specify a compensation number with D_. The D code is specified in the same way as for tool offset
and tool nose radius compensation.

The reverse meanings can be set for G43/G44 and G43.7 by setting bit 4 (TLG) of parameter No.
5040.

- Tool compensation memory


As the compensation amount used by the functions listed below, only the value set in Z on the tool
compensation memory screen is used, Values such as values set for the X, R, and Y-axis offsets are
ignored.
As the compensation amount used in the following function, the values set for the X, Z, and Y-axis
offsets on the tool compensation memory screen are used:
G43.7: Tool offset

Limitation
- Multiple repetitive canned cycle
When a multiple repetitive canned cycle is executed with bit 3 (TCT) of parameter No. 5040 set to 1, note
the following:

CAUTION
1 When a G71 to G76 command is specified in the Series 10/11 program format, a
value such as the depth of cut is specified with a D code. In this case, a D
command specified after G71 to G76 is assumed to be the depth of cut. For
example, suppose that the command shown below is specified. In this case, the
D command <1> is assumed to be the tool compensation number, and the D
command <2> is assumed to be the depth of cut.
Example:
D10 G71 P_Q_ U_ W_ D7000 F_ S_;
<1> <2>
2 In the operation of G71 to G73, a G code such as G43 and a D command
specified in the finish figure blocks (the portion enclosed by the sequence
numbers specified with P_ and Q_) are ignored, and the compensation amount
set when the G71 to G73 block is specified becomes valid.

- Modifying the setting of bit 3 (TCT) of parameter No. 5040

WARNING
Before modifying the setting of this parameter, ensure that the offset is canceled.
If the setting is modified with the offset applied, offset operation may be
performed incorrectly after that, or alarm PS0368 may be issued.

- 227 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

5.8 AUTOMATIC TOOL OFFSET (G36, G37)


When a tool is moved to the measurement position by execution of a command given to the CNC, the
CNC automatically measures the difference between the current coordinate value and the coordinate
value of the command measurement position and uses it as the offset value for the tool. When the tool has
been already offset, it is moved to the measurement position with that offset value. If the CNC judges that
further offset is needed after calculating the difference between the coordinate values of the measurement
position and the commanded coordinate values, the current offset value is further offset.
Refer to the instruction manuals of the machine tool builder for details.

NOTE
When bit 7 (IGA) of parameter No.6240 is 0, this function can be used.

Format
Txx ; Specifies an offset number for tool position compensation.
G36 X_ ; or G37 Z_ ;
Automatic tool offset. Absolute programming.
G36 and G37 are valid only in the block in which it is specified.

Explanation
- Coordinate system
When moving the tool to a position for measurement, the coordinate system must be set in advance. (The
workpiece coordinate system for programming is used in common.)

- Movement to measurement position


A movement to a measurement position is performed by specifying as follows in the MDI, or MEM
mode :
G36 Xxa ; or G37 Zza ;
(In the case of setting bit 3 (G36) of parameter No.3405 to 1, G37.1 Xxa ; or G37.2 Zza ;)
In this case, the measurement position should be xa or za (absolute programming).
Execution of this command moves the tool at the rapid traverse rate toward the measurement position,
lowers the feedrate halfway, then continues to move it until the approach end signal from the measuring
instrument is issued.
When the tool tip reaches the measurement position, the measuring instrument outputs the measurement
position reach signal to the CNC which stops the tool.

- Offset
The current tool offset value is further offset by the difference between the coordinate value (α or β)
when the tool has reached the measurement position and the value of xa or za specified in G36Xxa or
G37Zza.
Offset value x = Current offset value x+(α-xa)
Offset value z = Current offset value z+(β-za)
xa : Programmed X-axis measurement point
za : Programmed Z-axis measurement point
These offset values can also be altered from the MDI keyboard.

- Feedrate toward the measurement position and alarm


The tool, when moving from the stating position toward the measurement position predicted by xa or za
in G36 or G37, is feed at the rapid traverse rate across area A. Then the tool stops at point T (xa-γ or za-γ)
and moves at the measurement feedrate set by parameter No. 6241 across areas B, C, and D. If the

- 228 -
B-64604EN-1/01 PROGRAMMING 5.COMPENSATION FUNCTION
approach end signal turns on during movement across area B, alarm is generated. If the approach end
signal does not turn on before point V, and tool stops at point V and alarm PS0080 is generated.
Predicted measurement position
FR FP
U V
X, Z
A B C D
S (xs, zs) T
ε ε
Starting
position γ

|xa-xs|. |za-zs|
U (xa, za)
FR : Rapid traverse rate
FP : Measurement feedrate (set by parameter(No.6241))
γ : Parameters No.6251, No.6252
ε : Parameters No.6254, No.6255

Fig. 5.8 (a) Feedrate and alarm

- G code
If bit 3 (G36) of parameter No. 3405 has been set to 1, G37.1 and G37.2 are used as the G codes for
automatic tool compensation for the X- and Z-axes, respectively.

Example
Tool number T01
50

300
X-axis
Programmed zero point measurement
position 380
Z-axis measurement position

100

800

Offset value Offset value


(Before measurement) (After measurement)
X 100.0 98.0
Z 0 4.0
Fig. 5.8 (b)

G50 X760.0 Z1100.0 ; Programming of absolute zero point (Coordinate system setting)
S01 M03 T0101 ; Specifies tool T1, offset number 1, and spindle revolution
G36 X200.0 ; Moves to the X-axis measurement position
If the tool has reached the measurement position at X198.0 since the correct
measurement position is 200.0mm, the offset value is altered by
198.0-200.0=-2.0mm.
G00 X204.0 ; Retracts a little along the X axis.
G37 Z800.0 ; Moves to the Z-axis measurement position.
If the tool has reached the measurement position at Z804.0 since the correct
measurement position is 800.0mm, the offset value is altered by
804.0-800.0=4.0mm.
T0101 ; The new offset value becomes valid when the T code is specified again.

- 229 -
5.COMPENSATION FUNCTION PROGRAMMING B-64604EN-1/01

WARNING
1 Measurement speed(Fp), γ, and ε are set as parameters (Fp : No.6241, γ :
No.6251, ε : No.6254) by machine tool builder. ε must be positive numbers so
that γ>ε.
2 Cancel the tool nose radius compensation before G36, G37.
3 A delay or variation in detection of the measurement position arrival signal is 0 to
2 msec on the CNC side excluding the PMC side. Therefore, the measurement
error is the sum of 2 msec and a delay or variation (including a delay or variation
on the receiver side) in propagation of the measurement position arrival signal
on the PMC side, multiplied by the feedrate set in parameter No. 6241.
4 A delay or variation in time after detection of the measurement position arrival
signal until a feed stops is 0 to 8 msec. To calculate the amount of overrun,
further consider a delay in acceleration/deceleration, servo delay, and delay on
the PMC side.
5 When a manual movement is inserted into a movement at a measurement
feedrate, return the tool to the position before the inserted manual movement for
restart.
6 When tool nose radius compensation is enabled (bit 7 (NCR) of parameter No.
8136 is set to 0), the tool offset amount is determined considering the value of
tool nose R. Make sure that tool nose radius value is set correctly.
(Condition under which the tool-nose radius compensation is considered)
For the X-axis (first axis of the basic three axes) : TIP=0/5/7
For the Z-axis (third axis of the basic three axes) : TIP=0/6/8
For the Y-axis (second axis of the basic three axes) : TIP=0

A
nose radius value
Movement considering
Actual movement

B
Tool nose
tool

radius
value
C Measurement
position
The tool actually moves from point A to point B, but the tool offset value is
determined assuming that the tool moves to point C considering the tool nose
radius value.

NOTE
1 When there is no T code command before G36 or G37, alarm PS0081, “G37
OFFSET NO. UNASSIGNED” is generated.
2 When a T code is specified in the same block as G36 or G37, alarm PS0082,
“G37 SPECIFIED WITH T CODE” is generated.

- 230 -
6.MEMORY OPERATION
B-64604EN-1/01 PROGRAMMING USING Series 10/11 FORMAT

6 MEMORY OPERATION USING Series 10/11


FORMAT
By setting the setting-related parameter (bit 1 of parameter No. 0001), a program created in the Series
10/11 program format can be registered in memory for memory operation. Registration to memory and
memory operation are possible for the functions which use the same program format as that for the Series
10/11 as well as for the following functions which use a different program format:
• Subprogram calling
• Canned cycle
• Multiple repetitive canned cycle
• Canned cycle for drilling

This function is optional.

NOTE
1 Registration to memory and memory operation are possible only for the
functions available in Series 0i.
2 Do not change the setting of this parameter (bit 1 (FCV) of parameter No. 0001)
during memory operation. Change the setting of this parameter in the reset
state.

Chapter 6, "MEMORY OPERATION USING Series 10/11 FORMAT", consists of the following
sections:

6.1 ADDRESSES AND SPECIFIED RANGE FOR SERIES 10/11 PROGRAM FORMAT ...............231
6.2 SUBPROGRAM CALLING.............................................................................................................231
6.3 CANNED CYCLE ............................................................................................................................232
6.4 MULTIPLE REPETITIVE CANNED CYCLE................................................................................249
6.5 CANNED CYCLE FOR DRILLING ...............................................................................................283

6.1 ADDRESSES AND SPECIFIED RANGE FOR Series 10/11


PROGRAM FORMAT
Some addresses which cannot be used for the Series 0i can be used in the Series 10/11 program format.
The specifiable value range for the Series 10/11 program format is basically the same as that for the
Series 0i The addresses with a different specifiable value range are described as follows. If a value out of
the specified range is specified, an alarm is issued.

6.2 SUBPROGRAM CALLING


Format
M98 Pxxxx Lyyyy ;
P : Subprogram number
L : Repetition count

- 231 -
6. MEMORY OPERATION
USING Series 10/11 FORMAT PROGRAMMING B-64604EN-1/01

Explanation
- Address
Address L cannot be used in Series 0i program format but can be used in the Series 10/11 format.
(When the custom macro is enabled (bit 6(NCV) of parameter No. 8135 is 0), address L can be used
regardless of whether the format is Series 10/11 or not, however.)

- Subprogram number
The specifiable value range is the same as that for Series 0i (1 to 9999).
If a value of more than five digits is specified, the last four digits are assumed as the subprogram number.

- Repetition count
The repetition count L can be specified in the range from 1 to 9999. If no repetition count is specified, 1
is assumed.

6.3 CANNED CYCLE


Explanation
There are three canned cycles: the outer diameter/internal diameter cutting canned cycle (G90), the
threading canned cycle (G92), and the end face turning canned cycle (G94).

NOTE
1 Explanatory figures in this section use the ZX plane as the selected plane,
diameter programming for the X-axis, and radius programming for the Z-axis.
When radius programming is used for the X-axis, change U/2 to U and X/2 to X.
2 A canned cycle can be performed on any plane (including parallel axes for plane
definition). When G code system A is used, however, U, V, and W cannot be set
as a parallel axis.
3 The direction of the length means the direction of the first axis on the plane as
follows:
ZX plane: Z-axis direction
YZ plane: Y-axis direction
XY plane: X-axis direction
4 The direction of the end face means the direction of the second axis on the
plane as follows:
ZX plane: X-axis direction
YZ plane: Z-axis direction
XY plane: Y-axis direction

- 232 -
6.MEMORY OPERATION
B-64604EN-1/01 PROGRAMMING USING Series 10/11 FORMAT

6.3.1 Outer Diameter/Internal Diameter Cutting Cycle (G90)


This cycle performs straight or taper cutting in the direction of the length.

6.3.1.1 Straight cutting cycle


Format
G90X(U)_Z(W)_F_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 6.3.1.1 (a)) in the
direction of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 6.3.1.1 (a)) in the
direction of the length
F_ : Cutting feedrate

X axis
(R)....Rapid traverse
Z (F) ....Cutting feed
W
4(R)
A
3(F) 2(F) 1(R) U/2
A’
X/2
Z axis

Fig. 6.3.1.1 (a) Straight cutting cycle

Explanation
- Operations
A straight cutting cycle performs four operations:
(1) Operation 1 moves the tool from the start point (A) to the specified coordinate of the second axis on
the plane (specified X-coordinate for the ZX plane) in rapid traverse.
(2) Operation 2 moves the tool to the specified coordinate of the first axis on the plane (specified
Z-coordinate for the ZX plane) in cutting feed. (The tool is moved to the cutting end point (A') in the
direction of the length.)
(3) Operation 3 moves the tool to the start coordinate of the second axis on the plane (start X-coordinate
for the ZX plane) in cutting feed.
(4) Operation 4 moves the tool to the start coordinate of the first axis on the plane (start Z-coordinate for
the ZX plane) in rapid traverse. (The tool returns to the start point (A).)

NOTE
In single block mode, operations 1, 2, 3 and 4 are performed by pressing the
cycle start button once.

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- 233 -
6. MEMORY OPERATION
USING Series 10/11 FORMAT PROGRAMMING B-64604EN-1/01

6.3.1.2 Taper cutting cycle


Format
ZpXp-plane
G90 X(U)_ Z(W)_ I_ F_ ;
YpZp-plane
G90 Y(V)_ Z(W)_ K_ F_ ;
XpYp-plane
G90 X(U)_ Y(V)_ J_ F_ ;
X_,Y_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 6.3.1.2 (a)) in the
direction of the length
U_,V_,W_ : Travel distance to the cutting end point (point A' in the Fig. 6.3.1.2 (a)) in the
direction of the length
I_,J_,K_ : Taper amount (I in the figure below)
F_ : Cutting feedrate

X axis
(R ).... R a pid tra ve rse
(F ) .... C u ttin g fe ed
4 (R )
A
3 (F )
U /2 1 (R )
A’
2(F )
X /2 I
W
Z
Z axis

Fig. 6.3.1.2 (a) Taper cutting cycle

Explanation
Address I, J, or K for specifying a taper varies with the plane selected.
The figure of a taper is determined by the coordinates of the cutting end point (A') in the direction of the
length and the sign of the taper amount (address I, J, or K). For the cycle in the figure above, a minus sign
is added to the taper amount.

NOTE
The increment system of address I, J, or K for specifying a taper depends on the
increment system for the reference axis. Specify a radius value at I, J, or K.

- Operations
A taper cutting cycle performs the same four operations as a straight cutting cycle.
However, operation 1 moves the tool from the start point (A) to the position obtained by adding the taper
amount to the specified coordinate of the second axis on the plane (specified X-coordinate for the ZX
plane) in rapid traverse.
Operations 2, 3, and 4 after operation 1 are the same as for a straight cutting cycle.

- 234 -
6.MEMORY OPERATION
B-64604EN-1/01 PROGRAMMING USING Series 10/11 FORMAT

NOTE
In single block mode, operations 1, 2, 3, and 4 are performed by pressing the
cycle start button once.

- Relationship between the sign of the taper amount and tool path
The tool path is determined according to the relationship between the sign of the taper amount (address I,
J, or K) and the cutting end point in the direction of the length in the absolute or incremental
programming as Table 6.3.1.2 (a).

Table 6.3.1.2 (a)


Outer diameter machining Internal diameter machining
1. U < 0, W < 0, I < 0 2. U > 0, W < 0, I > 0

X X

Z W
Z
4(R)
2(F)
I
U/2 3(F) 1(R)

X U/2 3(F) 1(R)


I
X 2(F)
W 4(R)

3. U < 0, W < 0, I > 0 4. U > 0, W < 0, I < 0


at |I|≤|U/2| at |I|≤|U/2|

X X
Z Z W
4(R)

1(R) I
2(F)
U/2 X U/2 3(F)
3(F)
2(F) 1(R)
I
4(R)
X W

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

6.3.2 Threading Cycle (G92)

6.3.2.1 Straight threading cycle


Format
G92 X(U)_Z(W)_F_Q_;
X_,Z_ : Coordinates of the cutting end point (point A' in the Fig. 6.3.2.1 (a)) in the
direction of the length
U_,W_ : Travel distance to the cutting end point (point A' in the Fig. 6.3.2.1 (a)) in the
direction of the length
Q_ : Angle for shifting the threading start angle
(Increment: 0.001 degrees, Valid setting range: 0 to 360 degrees)
F_ : Thread lead (L in the Fig. 6.3.2.1 (a))

- 235 -
6. MEMORY OPERATION
USING Series 10/11 FORMAT PROGRAMMING B-64604EN-1/01

X axis
Z W

4(R) A
3(R) U/2
2(F) 1(R)

A’
X/2
Z axis
(R) ... Rapid traverse
(F).... Cutting feed

Approx. (The chamfered angle in the left figure is 45


45°
degrees or less because of the delay in the
r servo system.)

Detailed chamfered thread


Fig. 6.3.2.1 (a) Straight threading cycle

Explanation
The ranges of thread leads and restrictions related to the spindle speed are the same as for threading with
G32.
- Operations
A straight threading cycle performs four operations:
(1) Operation 1 moves the tool from the start point (A) to the specified coordinate of the second axis on
the plane (specified X-coordinate for the ZX plane) in rapid traverse.
(2) Operation 2 moves the tool to the specified coordinate of the first axis on the plane (specified
Z-coordinate for the ZX plane) in cutting feed. At this time, thread chamfering is performed.
(3) Operation 3 moves the tool to the start coordinate of the second axis on the plane (start X-coordinate
for the ZX plane) in rapid traverse. (Retraction after chamfering)
(4) Operation 4 moves the tool to the start coordinate of the first axis on the plane (start Z-coordinate for
the ZX plane) in rapid traverse. (The tool returns to the start point (A).)

CAUTION
Notes on this threading are the same as in threading in G32.
However, a stop by feed hold is as follows; Stop after completion of path 3 of
threading cycle.

NOTE
In the single block mode, operations 1, 2, 3, and 4 are performed by pressing
cycle start button once.

- Canceling the mode


To cancel the canned cycle mode, specify a group 01 G code other than G90, G92, or G94.

- Acceleration/deceleration for threading after interpolation


Acceleration/deceleration for threading after interpolation is acceleration/deceleration of exponential
interpolation type. By setting bit 5 (THLx) of parameter No. 1610, the same acceleration/deceleration as
for cutting feed can be selected. (The settings of bits 1 (CTBx) and 0 (CTLx) of parameter No. 1610 are
followed.) However, as a time constant and FL feedrate, the settings of parameter No. 1626 and No. 1627
for the threading cycle are used.
- 236 -

You might also like