MELDAS is a registered trademark of Mitsubishi Electric Corporation.
Other brands and product names throughout this manual are trademarks or registered
trademarks of their respective holders.
Introduction
This instruction manual describes the methods of using the MITSUBISHI CNC
MULTI-AXIS,MULTI-PART SYSTEM M700L/M700LV/M70L Series mainly for a lathe.
The programming methods for all of the above models are described, so read this manual
thoroughly before starting use.
In respect to the functions related to the multi-axis multi-part system, the programming and
alarm details for each system are the same as the general-purpose (2-axis, 3-axis) lathe.
Explanations in this manual assume that all functions are provided with all of the above
models. However, all options are not necessarily provided with each CNC, so refer to the
specifications issued by the machine manufacturer before starting use.
Thoroughly read the "Precautions for Safety" given on the next page to ensure safe use of
this numerical control unit.
Details described in this manual
(1) This manual gives general explanations from the standpoint of the NC side.
For explanations concerning individual machine tools, refer to the instruction manual
issued by the machine manufacturer.
For items described as "Restrictions, "Usable State", etc., the instruction manual issued by
the machine manufacturer takes precedence over this manual.
(2) While every effort has been made to describe special handling in this manual, items not
described in this manual should be interpreted as "Not Possible".
(3) The multi-part system function is an additional specification. The 3-system model is
explained as an example in this manual, but the number of systems that can be used will
differ according to the model.
Note that the maximum number of spindle axes will also differ according to the model.
Check the specifications before starting use.
(4) Some functions are unavailable depending on the machine model.
CAUTION
For items described in "Restrictions" or "Usable State", the instruction manual issued by the
machine manufacturer takes precedence over this manual.
Items not described in this instruction manual should be interpreted as "Not Possible".
This manual has been writt en on t h e a s s u mptio n t h a t all op t i o n f u n c t ions a r e added.
Refer to the specifications issued by the machine manufacturer before starting use.
Refer to the instruction manual issued by the machine manufacturer for explanations on each
machine tool.
Some screens and functions may differ or may not be usable depending on the NC system
version.
Precautions for Safety
Always read the specifications issued by the machine maker, this manual, related manuals
and attached documents before installation, operation, programming, maintenance or
inspection to ensure correct use.
Understand this numerical controller, safety items and cautions before using the unit.
This manual ranks the safety precautions into "DANGER", "WARNING" and "CAUTION".
DANGER
WARNING
CAUTION
Note that even items ranked as " CAUTION", may lead to major results depending on the
situation. In any case, important information that must always be observed is described.
When the user may be subject to imminent fatalities or major injuries if
handling is mistaken.
When the user may be subject to fatalities or major injuries if handling is
mistaken.
When the user may be subject to injuries or when physical damage may
occur if handling is mistaken.
DANGER
Not applicable in this manual.
WARNING
Not applicable in this manual.
CAUTION
1. Items related to product and manual
For items described as "Restrictions" or "Usable State" in this manual, the instruction manual
issued by the machine manufacturer takes precedence over this manual.
Items not described in this instruction manual should be interpreted as "Not Possible". This manual is written on the assumption that all option functions are added. Refer to the
specifications issued by the machine manufacturer before starting use.
Some screens and functions may differ or may not be usable depending on the NC system
version.
CAUTION
2. Items related to programming
Because of key chattering etc., during editing, the commands with no value after G become a
"G00" operation during running.
";", "EOB" and "%" "EOR" are expressions used for the explanation. The actual codes are
"; (line feed)" and "%" for ISO, and "EOB" (End Of Block) and "EOR" (End Of Record) for
EIA.
The commands with no value after G become a "G00" operation during running.Always carry out dry run operation before actual machining, and confirm the machining
program, tool offset amount and workpiece offset amount, etc.
When creating the machining program, select adequate machining conditions, and make
sure not to exceed the machine and NC's performance, capacity and limits. Examples
given in this manual do not take the machining conditions into consideration.
Do not change fixed cycle programs without the prior approval of the machine
manufacturer.
When programming the multi-part system, take special care to the movements of the
programs for other systems.
During the spindle synchronous control mode, do not turn the rotation command for the
slave spindle OFF while the master spindle and slave spindle are chucked on the same
workpiece. This will be hazardous as the slave spindle will stop.
Do not issue another axis name change command before axis name change cancel is
issued once axis name change is commanded.
Disposal
(Note)This symbol mark is for EU countries only.
This symbol mark is according to the directive 2006/66/EC Article 20 Information for endusers and Annex II.
Your MITSUBISHI ELECTRIC product is designed and manufactured with high quality materials and
components which can be recycled and/or reused.
This symbol means that batteries and accumulators, at their end-of-life, should be disposed of
separately from your household waste.
If a chemical symbol is printed beneath the symbol shown above, this chemical symbol means that the
battery or accumulator contains a heavy metal at a certain concentration. This will be indicated as
follows:
Hg: mercury (0,0005%), Cd: cadmium (0,002%), Pb: lead (0,004%)
In the European Union there are separate collection systems for used batteries and accumulators.
Please, dispose of batteries and accumulators correctly at your local community waste collection/
recycling centre.
Please, help us to conserve the environment we live in!
Contents
1. CONTROL AXES............................................................................................................................1
1.1 Coordinate Word and Control Axis..........................................................................................1
1.2 Coordinate Systems and Coordinate Zero Point Symbols......................................................2
2. INPUT COMMAND UNITS .............................................................................................................3
2.1 Input Command Units .............................................................................................................3
APPENDIX 9 SYSTEM COMMON POSITION INFORMATION RETRIEVING VARIABLES......496
APPENDIX 10 PROGRAM ERRORS..........................................................................................498
1. CONTROL AXES
p
r
r
1. CONTROL AXES
1.1 Coordinate Word and Control Axis
Function and purpose
In the case of a lathe, the axis parallel to the spindle is known as the Z axis and its forward
direction is the direction in which the turret moves away from the spindle stock while the axis at
right angles to the Z axis is the X axis and its forward direction is the direction in which it moves
away from the Z axis, as shown in the figure below.
1.1 Coordinate Word and Control Axis
indle stock
S
+Y
Tailstock
Tool
Tu
et
+Z
+X
Coordinate axes and polarities
Since coordinates based on the right hand rule are used with a lathe, the forward direction of the
Y axis in the above figure which is at right angles to the X-Z plane is downward. It should be
borne in mind that an arc on the X-Z plane is expressed as clockwise or counterclockwise as
seen from the forward direction of the Y axis. (Refer to the section on circular interpolation.)
Spindle nose
Machine zero point
G54
G55
G58
G52
Workpiece zero points (G54 to G59)
G59
Local coordinate system
(Valid in G54 to G59)
G30
2nd reference position
+Z
G28
+X
Reference position
(+Y)
Relationship between coordinates
1
1. CONTROL AXES
X
X
X
X
1.2 Coordinate Systems and Coordinate Zero Point Symbols
1.2 Coordinate Systems and Coordinate Zero Point Symbols
Function and purpose
: Reference position
: Machine coordinate origin
: Workpiece coordinate zero points
(G54 to G59)
Upon completion of the reference point return, the parameters are referred to and automatically
set for the basic machine coordinate system and workpiece coordinate systems (G54 to G59).
The basic machine coordinate system is set so that the first reference point is at the position
designated by the parameter from the basic machine coordinate zero point (machine zero point).
Basic mac hine
coordinate system
Hypothetical machine
coordinate system
(shifted by G92)
+
2
Z2
Machine zero point
Workpiece
coordinate
system
1 (G54)
Workpiece
coordinate
system
2 (G55)
+Z
Workpiece
coordinate
system
5 (G58)
Workpiece
coordinate
system6
(G59) Z
3
Z
3
Local
coordinate
system
1
(G52)
1
1st reference position
The local coordinate system (G52) is valid on the coordinate systems designated by the
commands for the workpiece coordinate systems 1 to 6.
Using the G92 command, the basic machine coordinate system can be shifted and made the
hypothetical machine coordinate system. At the same time, workpiece coordinate systems 1 to 6
are also shifted.
2
2. INPUT COMMAND UNITS
2. INPUT COMMAND UNITS
2.1 Input Command Units
2.2 Input Setting Units
Function and purpose
These are the units used for the movement amounts in the program as commanded by the MDI
input. They are expressed in millimeters, inches or degrees (°).
Function and purpose
These are the units of setting data which are used, as with the compensation amounts, in
common for all axes.
The input command unit can be selected for each axis and input setting units can be selected in
common for the axes by parameters from among the following types. (For further details on
settings, refer to the sections about control.)
Type
Input
command unit
Min. movement
unit
Input setting
unit
(Note 1) Inch/metric conversion is performed in either of 2 ways: conversion from the Parameter
screen ("Initial inch": valid only when the power is turned ON) and conversion using the
G command (G20 or G21).
However, when a G command is used for the conversion, the conversion applies only to
the input command units and not to the input setting units.
Consequently, the tool offset amounts and other compensation amounts as well as the
variable data should be preset to correspond to input setting unit.
(Note 2) The millimeter and inch systems cannot be used together.
3
3. DATA FORMATS
3. DATA FORMATS
3.1 Tape Codes
Function and purpose
The tape command codes used for this NC are combinations of alphabet letters (A, B, C...Z),
numbers (0, 1, 2...9) and signs ( +, –, /...). These alphabet letters, numbers and signs are referred
to as characters. Each character is represented by a combination of 8 holes which may, or may
not, be present.
These combinations make up what is called codes.
This NC employs the ISO code (R-840).
CAUTION
";", "EOB" and "%" "EOR" are expressions used for the explanation. The actual codes are "line
feed" and "%" for ISO.
Detailed description
(1) For the sake of convenience, a ";" has been used in the NC display to indicate End Of Block
(EOB/LF) which separates one block from another. Do not use the ";" key, however, in actual
programming but use the keys in the following table instead.
EOB/EOR keys and displays
3.1 Tape Codes
Code used
Key used
End Of Block LF or NL ;
End Of Record % %
(Note 1) If a code not given in Table of tape codes is assigned during operation, an Illegal
address error "P32" will result.
(Note 2) The following codes which exist with ISO can be designated by parameter:
Any codes which overlap with existing codes or codes which result in parity H cannot be
designated.
ISO NC display
4
3. DATA FORMATS
G
R
•
•••••••
•
•••
•
• •
•
•••••••••
•
•••••••
•
•
•••••••••••••••••
•
•
•
•••••••••••••••
•
•
•••••••••
(2) Significant data section (label skip function)
(3) Control out, control in
3.1 Tape Codes
All data up to the first EOB (;), after the power has been turned ON or after operation has
been reset, are ignored during automatic operation based on tape, memory loading
operation or during a search operation. In other words, the significant data section of a tape
extends from the character or number code after the first EOB (;) code after resetting to the
point where the reset command is issued.
When the ISO code is used, all data between control out "(" and control in ")" are ignored by
the NC, although these data appear on the setting display unit. Consequently, the command
tape name, number and other such data not directly related to control can be inserted in this
section.
This information will also be loaded, however, during tape loading.
The system is set to the "control in" mode when the power is turned ON.
Information in this section is ignored and nothing is executed.
RE T URN)
P
• • •
• •• •
••• • ••
•••
•
•
••••••
••• • • •
F
••
•••••
•
(4) EOR (%) code
Generally, End Of Record is punched at both ends of the tape. It has the following functions:
(a) Rewind stop when rewinding tape (with tape handler)
(b) Rewind start during tape search (with tape handler)
(c) Completion of loading during tape loading
5
3. DATA FORMATS
3.2 Program Formats
Function and purpose
The prescribed arrangement used when assigning control information to the NC unit is known as
the "program format", and the format used with the NC is called the "word address format."
Detailed description
(1) Word and address
A word is a collection of characters arranged in a specific sequence. This entity is used as
the unit for processing data and for causing the NC to execute specific operations.
Each word used for the NC consists of an alphabet letter and a number of several digits
(sometimes with a "+" or "–" sign placed at the head of the number).
Word
Numerical (word data)
Alphabet (address)
3.2 Program Formats
------
Word configuration
The alphabet letter at the head of the word is the address. It defines the meaning of the
numerical information which follows it.
With the NC, "S
=" can be commanded for a multiple number of spindle commands
although this applies only to address S.
For details of the types of words and the number of significant digits of numbers used for this
NC, refer to Table 1 Format details and abbreviations.
(2) Blocks
A block is a collection of words. It includes the information which is required for the NC to
execute one specific operation. One block unit constitutes a complete command. The end of
each block is marked with an EOB (End-Of-Block) code.
(3) Programs
A program is a collection of several blocks.
(Note 1) If there is no number after the alphabetic character in the actual program, the value
following the alphabetic character will be handled as 0.
(Example) G28XYZ; → G28X0Y0Z0;
6
3. DATA FORMATS
(Note 1) "
3.2 Program Formats
Table 1 Format details and abbreviations
Item Abbreviation
Program number O8
Sequence number N5
Preparatory function G3/G21
Movement
command
Movement
command, circular,
cutter radius
Dwell
Feed function
Input setting unit A 0.01°, mm
Input setting unit B 0.001°, mm
Input setting unit C 0.0001°, mm
Input setting unit A 0.01°, mm
Input setting unit B 0.001°, mm
Input setting unit C 0.0001°, mm
Input setting unit A 0.01°, mm
Input setting unit B 0.001°, mm
Input setting unit C 0.0001°, mm
Input setting unit A 0.01°, mm
X + 62 Z + 62
X + 53 Z + 53
X + 44 Z + 44
I + 62 K + 62
I + 53 K + 53
I + 44 K + 44
X + 53 P8
X + 53 P8
X + 53 P8
F62 (feed per minute)
+ 62
+ 53
+ 44
F43 (feed per rotation)
Input setting unit B 0.001°, mm
F53 (feed per minute)
F34 (feed per rotation)
Input setting unit C 0.0001°, mm
F54 (feed per minute)
F25 (feed per rotation)
Tool offset T1/T2
Miscellaneous function M2/M8
Spindle function S2/S5/S8 or S = n
Tool function T2/T8
2nd miscellaneous function A8/B8/C8
Subprogram P8H5L4
Fixed cycle
Input setting unit A 0.01°, mm
Input setting unit B 0.001°, mm
Input setting unit C 0.0001°, mm
R + 62 Q62 P8 L4
R + 53 Q53 P8 L4
R + 44 Q44 P8 L4
" denotes the A, B, C, Y, P or R.
(Note 2) The number of digits in the words is checked by the maximum number of digits in the
addresses.
7
3. DATA FORMATS
3.3 Tape Storage Format
Function and purpose
(1) Storage tape and storage sections
The section which is stored into the memory extends from the character following the head
EOB after resetting as far as the EOR code.
The significant codes listed in Table of tape codes in Section 3.1 are the codes in the above
storage section which are actually stored into the memory. All other codes are ignored and
are not stored.
The data between control out "(" and control in ")" are stored into the memory.
3.4 Optional Block Skip
Function and purpose
This function selectively ignores specific blocks in a machining program which starts with the "/"
(slash) code.
Detailed description
(1) Provided that the optional block skip switch is ON, blocks starting with the "/" code are
ignored. They are executed if the switch is OFF.
Parity check is valid regardless of whether the optional block skip switch is ON or OFF.
When, for instance, all blocks are to be executed for one workpiece but specific blocks are
not to be executed for another workpiece, the same command tape can be used to machine
different parts by inserting the "/ " code at the head of those specific blocks.
Precautions for using optional block skip
(1) Put the "/" code at the head of the block. When inserted in a block, this is handled as a
division sign.
3.3 Tape Storage Format
(Example) N20G1X25./Z25.;............. NG
(This will be handled as 25. /0, so the error P283
"Divided by zero" will occur.)
/N20G1X25.Z25.;............. OK
(2) Parity checks (H and V) are conducted regardless of the optional block skip switch state.
(3) The optional block skip is processed immediately before the pre-read buffer.
Consequently, it is not possible to skip up to the block which has been read into the pre-read
buffer.
(4) This function is valid even during a sequence number search.
(5) AII blocks with the "/" code are also input and output during tape storing and tape output,
regardless of the state of the optional block skip switch.
8
3. DATA FORMATS
3.5 Program/Sequence/Block Numbers (O, N)
3.5 Program/Sequence/Block Numbers (O, N)
Function and purpose
These numbers are used for monitoring the execution of the machining programs and for calling
both machining programs and specific stages in machining programs.
(1) Program numbers are classified by workpiece correspondence or by subprogram units, and
they are designated by the address "O" followed by a number with up to 8 digits.
(2) Sequence numbers are attached where appropriate to command blocks which configure
machining programs, and they are designated by the address "N" followed by a number with
up to 5 digits.
(3) Block numbers are automatically provided inside the NC itself. They are preset to "0" every
time a program number or sequence number is read, and they are counted up one at a time
unless program numbers or sequence numbers are commanded in blocks which are
subsequently read.
Consequently, all the blocks of the machining programs given in the table below can be
determined without further consideration by combinations of program numbers, sequence
These numbers are used to monitor the execution status of the machining program, or to call a
machining program or a specific process in the machining program.
There are 3 G code systems: 1, 2 and 3. Parameters "G code type 1", "G code type 2" and "G
code type 3" are used to set the applicable system.
G code system 3 is an additional specification.
The description of the G functions is based on G code system 2 which serves as the standard.
(Note 1) An alarm results when a G code not listed in the table is commanded. ("P34": Illegal G
code)
(Note 2) An alarm results when a G code not included in the additional specifications is
commanded.
(Example) An alarm ("P50 No spec: Inch/mm") occurs when the inch command G
3.6 G Code System
code (G20) is commanded although the inch/mm specifications have not
been provided.
G40 G40 G40 07 Tool nose R compensation cancel 12.4
G41 G41 G41 07 Tool nose R compensation left
G42 G42 G42 07 Tool nose R compensation right
G43 G43 G43 08 2nd spindle control OFF 10.6
G44 G44 G44 08 2nd spindle control ON
G46 G46 G46 07
G50 G92 G92 00
G52 G52 G52 00 Local coordinate system setting 14.11
G53 G53 G53 00 Machine coordinate system selection 14.5
G54 G54 G54 12 Workpiece coordinate system selection 1 14.10
G55 G55 G55 12 Workpiece coordinate system selection 2
G56 G56 G56 12 Workpiece coordinate system selection 3
G57 G57 G57 12 Workpiece coordinate system selection 4
G58 G58 G58 12 Workpiece coordinate system selection 5
G59 G59 G59 12 Workpiece coordinate system selection 6
Miscellaneous function output during axis
movement
5.1
17.8-17.12
17.9
17.10
18.1, 18.2
12
3. DATA FORMATS
(Note 1) The " " mark denotes a G code which is selected within each group when the power
3.6 G Code System
is turned ON or when resetting that initializes the modal commands is executed.
(Note 2) The "
" mark denotes a G code for which a parameter can be selected as the initial
status when the power is turned ON or when resetting that initializes the modal
commands is executed. Note that the inch/metric conversion can be made only when
the power is turned ON.
CAUTION
The commands with "no value after G", will be handled as "G00" during operation.
13
3. DATA FORMATS
3.7 Precautions Before Machining
Precautions before machining
CAUTION
Before starting actual machining, always carry out dry operation to confirm the machining
program, tool offset amount and workpiece offset amount, etc.
When creating the machining program, select the appropriate machining conditions, and make
sure that the performance, capacity and limits of the machine and NC are not exceeded. The
examples do not consider the machining conditions.
3.7 Precautions Before Machining
14
4. BUFFER REGISTER
A
A
4. BUFFER REGISTER
4.1 Pre-read Buffers
Function and purpose
During automatic processing, the contents of 1 block are normally pre-read so that program
analysis processing is conducted smoothly. However, during nose R compensation, a maximum
of 5 blocks are pre-read for the intersection point calculation including interference check.
The specifications of pre-read buffer are as follows:
(1) The data of 1 block are stored in this buffer.
(2) Only the significant data in the significant data section are stored into the pre-read buffer.
(3) When codes are sandwiched in the control in or control out mode and the optional block skip
function is ON, the data extending from the "/" (slash) code up to the EOB code are not read
into the pre-read buffer.
(4) The pre-read buffer contents are cleared with resetting.
(5) When the single block function is ON during continuous operation, the pre-read buffer stores
the following block data and then stops operation.
4.1 Pre-read Buffers
nalysis processin g
Max. 5 execution blocks
Pre-read
buffer 5
Buffer 4
Mode
Memory
Keyboard
MDI data
switching
Buffer 3
Buffer 2
Buffer 1
(Note)
Data equivalent to 1 block are stored
in 1 pre-read buffer.
rithmetic
processing
15
5. POSITION COMMANDS
5. POSITION COMMANDS
5.1 Incremental/Absolute Value Commands
Function and purpose
There are 2 methods of issuing tool movement amount commands: the incremental value
command and the absolute value command.
The incremental value method applies for coordinates of a point which is to be moved and it
issues a command using the distance from the present point, on the other hand, the absolute
value method issues a command using the distance from the coordinate zero point. The following
figure shows what happens when the tool is moved from point P1 to point P2.
5.1 Incremental/Absolute Value Commands
Spindle
The incremental and absolute value commands for the X and Z axes are identified by addresses
when control parameter "#6 ABS/INC Addr." is ON and by G codes (G90/G91) when it is OFF.
Similarly, even with additional axes (C or Y axis), they are differentiated by addresses, or G
code.
X axis
Z
P2
Workpiece coordinate zero point
Incremental and absolute value commands
W
P1
U
2
X
Z axis
Absolute
value
Incremental
value
(Example)
X_____ W _____ ;
X axis Address X
Z axis Address Z
C/Y axis Address C/Y
X axis Address U
Z axis Address W
C/Y axis Address H/V
Command
system
Incremental value command for Z axis
Absolute value command for X axis
16
Remarks
For setting correspondence between addresses
and axes into machine parameters.
Absolute and incremental values can be used
together in the same block.
5. POSITION COMMANDS
5.1 Incremental/Absolute Value Commands
Precautions
(1) Coordinate values can be omitted, in which case they are treated as "0". The absolute and incremental value commands can be differentiated for any axis by the G90
and G91 commands.
G91 X___ W___ C___;
(Example) When the C axis has been differentiated by G90/G91.
(when incremental addresses have not been set)
Incremental value command for C axis
Incremental value command for Z axis
Absolute value command for X axis
17
5. POSITION COMMANDS
r2r
5.2 Radius/Diameter Commands
Function and purpose
The cross sections of workpieces machined on a lathe are circular, and the diameter or radius
value of those circles can be used for movement commands in the X-axis direction. A radius
command will move the tool by the commanded amount only, but a diameter command will move
the tool both in the X-axis direction by an amount equivalent to one-half the command amount
only and in the Z-axis direction by the commanded amount only.
This system permits radius or diameter commands to be issued, depending on the parameter
setting. The figure below shows the command procedure when the tool is to be moved from point
P1 to point P2.
X axis
5.2 Radius/Diameter Commands
P1
Spindle
P2
Workpiece coordinate zero point
1
Z axis
X command U command Remarks
Radius Diameter Radius Diameter
X = r1 X = 2r1 U = r2 U = 2r2
Even when a diameter command has been
selected, only the U command can be
made a radius command by parameter.
Radius and diameter commands
Precautions
(1) In the above example, the tool moves from P1 to P2 in the minus direction of the X axis and
so when an incremental value is issued, the minus sign is given to the numerical value being
commanded.
(2) In this manual, diameter commands are used in descriptions of both the X and U axes for the
sake of convenience.
18
5. POSITION COMMANDS
5.3 Inch/Metric Conversion (G20, G21)
Function and purpose
These G commands are used to switch between the inch and millimeter (metric) systems.
Command format
G20/G21;
G20 Inch command
G21 Metric command
Detailed description
The G20 and G21 commands merely select the command units. They do not select the Input
units.
G20 and G21 selection is meaningful only for linear axes and it is meaningless for rotation axes.
(Example) Relationship between input command units and G20/G21 commands (with decimal
point input type I)
5.3 Inch/Metric Conversion (G20, G21)
command unit
"cunit"
10
1
Axis type
Linear axes X100; 0.100mm 0.254mm 0.0039 inch 0.0100 inch
Rotation axes C100;
Linear axes X100; 0.0100mm 0.0254mm 0.00039 inch 0.00100 inch
Rotation axes C100;
Command
example
"Initial inch" OFF "Initial inch" ON Input
G21 G20 G21 G20
0.100° 0.100° 0.100° 0.100°
0.0100° 0.0100° 0.0100° 0.0100°
19
5. POSITION COMMANDS
5.4 Decimal Point Input
Function and purpose
This function enables the decimal point command to be input. It assigns the zero point in
millimeter or inch units for the machining program input information that defines the tool paths,
distances and speeds.
A parameter selects whether type I (minimum input command unit) or type II (zero point) is to
apply for the least significant digit of data without a decimal point.
Command format
. Inch system
. Metric system
Detailed description
(1) The decimal point command is valid for the distances, angles, times and speeds in
machining programs.
5.4 Decimal Point Input
(2) Refer to the table "Addresses used and valid/invalid decimal point commands" for details on
the valid addresses for the decimal point commands.
(3) The number of significant digits in a decimal point command is shown below (for input
command unit CS-B).
Movement
Integer
MM
(milli-
meter)
INCH
(inch)
command (linear)
part
0 to
99999.
0 to
9999.
Decimal
part
.000
to .999
.0000
to .9999
Movement command
(rotation)
Integer
part
0 to
99999.
99999.
(359.)
Decimal
part
.000
to .999
.0 to .999
Feedrate Dwell (X)
Integer part Decimal part Integer part
0 to 60000..000 to .999
0 to 999..0000 to .9999
0 to 2362..0000 to .9999
0 to 99.
.000000
to .999999
0. to 99999. .000 to .999
0 to 99. .000 to .999
Decimal
part
(Note) The top row of Feedrate is for feed per minute and the bottom row is for feed per
rotation.
(4) The decimal point command is valid even for commands defining the variable data used in
subprograms, etc.
(5) Decimal point commands for decimal point invalid addresses are processed as integer data
only and everything below the decimal point is ignored. Addresses which are invalid for the
decimal point are D, H, L, M, N, O, P, S and T. All variable commands, however, are treated
as data with decimal points.
Precautions
(1) If an arithmetic operator is inserted, the data will be handled as data with a decimal point.
(Example) G00 X123+0;........... This is the X axis 123mm command. It will not be 123μm.
20
5. POSITION COMMANDS
Example of program
(1) Example of program for decimal point valid address
5.4 Decimal Point Input
Specification
division
Decimal point command 1
When 1 = 1μm When 1 = 10μm
Decimal point
command 2
1 = 1mm
Program example
G0 X123.45
(decimal points are all
X123.450mm X123.450mm X123.450mm
mm points)
X12.345mm
G0 X12345
(last digit is 1μm
X123.450mm X12345.000mm
unit)
#111=123, #112=5.55
X#111 Z#112
#113=#111+#112
(addition)
#114=#111–#112
(subtraction)
#115=#111∗#112
(multiplication)
#116=#111/#112
#117=#112/#111
(division)
X123.000mm,
Z5.550mm
X123.000mm,
Z5.550mm
X123.000mm,
Z5.550mm
#113 = 128.550 #113 = 128.550 #113 = 128.550
#114 = 117.450 #114 = 117.450 #114 = 117.450
#115 = 682.650 #115 = 682.650 #115 = 682.650
#116 = 22.162,
#117 = 0.045
#116 = 22.162,
#117 = 0.045
#116 = 22.162,
#117 = 0.045
21
5. POSITION COMMANDS
Addresses used and valid/invalid decimal point commands
Add-
Decimal
ress
(Note 1) Decimal points are all valid in user macro arguments.
point
com-
mand
Valid Coordinate position data
A
Invalid 2nd miscellaneous function
Valid Angle data
Invalid MRC program number
Invalid Data setting, axis number
Valid Deep hole drilling cycle (2)
Valid Coordinate position data B
Invalid 2nd miscellaneous function
InvalidSequence numbers N
InvalidData setting, data numbers
O InvalidProgram numbers
InvalidDwell time
P
InvalidSubprogram call program
Invalid2nd reference point number
InvalidConstant surface speed
InvalidMRC finishing shape start
Valid Cut-off cycle
InvalidCompound thread cutting
Valid Compound thread cutting
InvalidProgram tool compensation
InvalidData setting, broad
InvalidReturn sequence number
Valid Coordinate position data
Application
radius compensation vector
components
Number of repetitions
Second and subsequent cut
amounts
Number of repetitions
input type selection
2-word type data
codes
numbers
control, axis number
sequence number
Shift amount/cut amount
cycle, number of cutting
passes, chamfering, tool
nose angle
cycle
Thread height
input/ Offset number
classification number
from subprogram
Re-
marks
L2,
L10,
L11
4 bytes
22
5. POSITION COMMANDS
Add-
Decimal
ress
point
command
Invalid Minimum spindle clamp
Q
Invalid MRC finishing shape end
Valid Cut-off cycle
Valid Compound thread cutting
Valid Compound thread cutting
Valid Deep hole drilling cycle (1)
Invalid Program tool compensation
Invalid Deep hole drilling cycle (2)
Valid R-designated arc radius
R
Valid Corner rounding circular
Valid Automatic tool length
Valid MRC longitudinal/face
Invalid MRC shaping division
Valid Cut-off cycle, return amount
Valid Cut-off cycle, escape
Valid Compound thread cutting
Valid Compound thread cutting
Valid Hole drilling cycle/deep
Valid Program tool radius
Valid Coordinate position data
Application
speed
sequence number
Shift amount/cut amount
cycle
Minimum cut amount
cycle
First cut amount
Cut amount of each pass
input
Hypothetical tool nose point
number
Dwell at cut point
radius
measurement, deceleration
range r
escape amount
number
amount
cycle, finishing allowance
cycle/turning cycle, taper
difference
hole drilling cycle (2),
distance to reference point
compensation input
Nose R compensation
amount (absolute)
Re-
marks
,R
5.4 Decimal Point Input
Decimal
Add-
ress
point
com-
mand
InvalidSpindle function codes
S
InvalidMaximum spindle clamp
InvalidConstant surface speed
InvalidData setting, word type data 2 bytes
T InvalidTool function codes
Valid Coordinate position data
U
Invalid2nd miscellaneous function
Valid Program tool compensation
Valid Coordinate position data
V
Invalid2nd miscellaneous function
Valid Program tool offset input
Valid Coordinate position data
W
Invalid2nd miscellaneous function
Valid Program tool compensation
Valid Coordinate position data
X
Valid Dwell
Invalid2nd miscellaneous function
Valid Program tool compensation
Valid Coordinate position data
Y
Invalid2nd miscellaneous function
Valid Program tool compensation
Valid Coordinate position data
Z
Invalid2nd miscellaneous function
Valid Program tool compensation
Application
speed
control, surface speed
codes
input
codes
codes
input
codes
input
codes
input
codes
input
Re-
marks
23
6. INTERPOLATION FUNCTIONS
6. INTERPOLATION FUNCTIONS
6.1 Positioning (Rapid Traverse); G00
Function and purpose
This command is accompanied by coordinate words. It positions the tool along a linear or
non-linear path from the present point as the start point to the end point which is specified by the
coordinate words.
Command format
G00 Xx/Uu Zz/Ww;
x, u, z, w Coordinate values
The command addresses are valid for all additional axes.
Detailed description
(1) Once this command has been issued, the G00 mode is retained until it is changed by
another G function or until the G01, G02, G03 or G33 command in the 01 group is issued. If
the next command is G00, all that is required is simply that the coordinate words be
specified.
6.1 Positioning (Rapid Traverse); G00
(2) In the G00 mode, the tool is always accelerated at the start point of the block and
decelerated at the end point. Execution proceeds to the next block after it has been
confirmed that the command pulse of the present block is 0 and that the tracking error of the
acceleration/deceleration circuit is 0. The in-position width is set by parameter.
(3) Any G function (G83 to G89) in the 09 group is cancelled (G80) by the G00 command.
(4) Whether the tool moves along a linear or non-linear path is determined by parameter, but the
positioning time does not change.
(a) Linear path................ This is the same as linear interpolation (G01), and the speed is
limited by the rapid traverse rate of each axis.
(b) Non-linear path ......... The tool is positioned at the rapid traverse rate independently for
each axis.
(5) When no number following the G address, this is treated as G00.
CAUTION
The commands with "no value after G" will be handled as "G00" during operation.
24
6. INTERPOLATION FUNCTIONS
Example of program
6.1 Positioning (Rapid Traverse); G00
+X
Turret
Start point
(+180, +300)
End point (+100, +150)
Workpiece
+Z
(Unit : mm)
Chuck
G00 X100000 Z150000; Absolute value command
G00 U-80000 W-150000; Incremental value command
(With an input setting unit of 0.001mm)
(Note 1) When the "G0 interpolation OFF" user parameter is OFF, the path along which the tool
is positioned is the shortest path connecting the start and end points. The positioning
speed is automatically calculated so that the shortest distribution time is obtained in
order that the commanded speeds for each axis do not exceed the rapid traverse rate.
When, for instance, the X-axis and Z-axis rapid traverse rates are both 9600mm/min,
the tool will follow the path in the figure below if the following is programmed:
G00 Z–300000 X400000; (With an input setting unit of 0.001mm)
End point
Actual X axis rate:
6400 mm/min
X
400
fx
Z
Start
300
fz
point
(Unit : mm)
Actual Z axis rate: 9600 mm/m i n
25
6. INTERPOLATION FUNCTIONS
(Note 2) When the "G0 interpolation OFF" user parameter is ON, the tool will move along the
path from the start point to the end point at the rapid traverse rate of each axis.
When, for instance, the X-axis and Z-axis rapid traverse rates are both 9600mm/min,
the tool will follow the path in the figure below if the following is programmed:
G00 Z–300000 X400000; (With an input setting unit of 0.001mm)
End point
6.1 Positioning (Rapid Traverse); G00
Actual X axis rate:
9600 mm/min
400
X
fx
Z
Start
300
fz
point
(Unit : mm)
Actual Z axis rate: 9600 mm/ m in
(Note 3) The rapid traverse rate for each axis with the G00 command differs according to the
individual machine and so refer to the instruction manual issued by machine
manufacturer.
(Note 4) Rapid traverse (G00) deceleration check
Upon completion of the rapid traverse (G00), execute the next block after the
deceleration check time (Td) has elapsed.
The deceleration check time (Td) is as follows, depending on the acceleration/
deceleration type.
Linear acceleration/linear deceleration.............................. Td = Ts + α
Where Ts is the acceleration/deceleration time constant, α = 0 to 14ms
The time required for the deceleration check during rapid traverse is the longest among
the rapid traverse deceleration check times of each axis determined by the rapid
traverse acceleration/deceleration time constants and by the rapid traverse
acceleration/deceleration mode of the axes commanded simultaneously.
26
6. INTERPOLATION FUNCTIONS
6.2 Linear Interpolation; G01
Function and purpose
This command is accompanied by coordinate words and a feedrate command. It makes the tool
move (interpolate) linearly from its present position to the end point specified by the coordinate
words at the speed specified by address F. In this case, the feedrate specified by address F
always acts as a linear speed in the tool center advance direction.
Command format
G00 Xx/Uu Zz/Ww
x, u, z, w, α Coordinate values
αα Ff; ("α" is an additional axis)
X axis
6.2 Linear Interpolation; G01
Z
W
Command point
U
/
2
X
Detailed description
Once this command is issued, the mode is maintained until another G function (G01, G02, G03,
G33) in the 01 group which changes the G01 mode is issued. Therefore, if the next command is
also G01 and if the feedrate is the same, all that is required to be done is to specify the
coordinate words. If no F command is given in the first G01 command block, program error "P62"
results.
The feedrate for a rotation axis is commanded by °/min (decimal point position unit). (F300 =
300°/min)
The G functions (G70 to G89) in the 09 group are cancelled (G80) by the G01 command.
Present position
Z axis
27
6. INTERPOLATION FUNCTIONS
Example of program
(Example 1)
6.2 Linear Interpolation; G01
X axis
20.0
Present position
Z axis
50.0
(Unit: mm)
G01 X50.0 Z20.0 F300;
(Example 2) Cutting in the sequence of P
P
→ P1 , P4 → P0 is for tool positioning
0
→ P2 → P3 → P4 at 300mm/min feedrate
1
Turret
+X
240
200
140
100
P1
P2
P3
P0
+Z
P4
Input setting unit : 0.001mm
2209040 230160
(Unit: mm)
G00 X200000 Z40000;
G01 X100000 Z90000 F300;
Z160000;
X140000 Z220000;
G00 X240000 Z230000;
P
→ P1
0
→ P2
P
1
→ P3
P
2
→ P4
P
3
→ P0
P
4
28
6. INTERPOLATION FUNCTIONS
r
6.3 Circular Interpolation; G02, G03
Function and purpose
These commands serve to move the tool along a circular.
Circular end point coordinates, X axis (absolute value of workpiece
Zz/Ww Circular end point coordinates, Z axis (absolute value of workpiece
Ii Circular center, X axis (for I, radius command/incremental value of X
Kk Circular center, Z axis (for K, incremental value of Z coordinate at center as
Ff Feedrate
coordinate system for X, incremental value from present position for U)
coordinate system for Z, incremental value from present position for W)
coordinate at center as seen from start point)
seen from start point)
6.3 Circular Interpolation; G02, G03
X axis
End point
U/2
X
ZK
W
Cente
I
Start
point
Z axis
29
6. INTERPOLATION FUNCTIONS
Detailed description
(1) G02 (or G03) is retained until another G command (G00, G01 or G33) in the 01 group that
changes its mode is issued.
The direction of the circular rotation is differentiated by G02 and G03:
G02: CW (Clockwise)
G03: CCW (Counterclockwise)
+X
Chuck
CCW(G03)
6.3 Circular Interpolation; G02, G03
Turret
+X
+X
Workpiece
CW(G02)
CW(G02)
CCW(G03)
Turret
+Z
+Z
+Z
+X
(2) An arc which extends for more than one quadrant can be executed with a single block
command.
(3) The following information is needed for circular interpolation.
(a) Rotation direction : Clockwise (G02) or counterclockwise (G03).
(b) Circular end point coordinates : Given by addresses X, Z, U, W.
(c) Circular center coordinates : Given by addresses I, K (incremental value
commands).
(d) Feedrate : Given by address F.
(4) A program error results when I, K or R is not commanded.
Consideration must be given to the sign for I and K since I is the distance in the X-axis
direction to the arc center as seen from the start point and K is the distance in the Z-axis
direction.
(5) No T commands can be issued in the G2/G3 modal status.
A program error results "P151" if a T command is issued in the G2/G3 modal status.
30
6. INTERPOLATION FUNCTIONS
Example of program
6.3 Circular Interpolation; G02, G03
X axis
50.0
Workpiece
coordinate
120.0
zero point
20.0
Z axis
70.050.0
(Unit: mm)
G2 X120.0 Z70.0 I50.0 F200; Absolute value command
G2 U100.0 W-50.0 I50.0 F200; Incremental value command
31
6. INTERPOLATION FUNCTIONS
;
A
p
;
X
t
(Note 1) The terms "clockwise" (G02) and "counterclockwise" (G03) used for circular operations
are defined as a case where in a right-hand coordinate system, the negative direction is
viewed from the positive direction of the coordinate axis which is at right angles to the
plane in question.
(Note 2) When the end point is the same position as the start point, a 360° circular (full circle) is
commanded when the center is commanded using l and K. In this case, always
command the end point.
(Note 3) The following occurs when the start and end point radius do not match in a circular
command:
(1) Program error "P70" results at the circular start point when error ΔR is greater than
the "G02/G03 Error" parameter value.
G02Z80.K50.
X
6.3 Circular Interpolation; G02, G03
larm stop
Start
point
Start
oint radius
Center End point
End point
Z
radius
ΔR
(2) Spiral interpolation in the direction of the commanded end point results when error
ΔR is less than the parameter value.
G02Z90.K50.
Spiral interpolation
End
Start
Start point radius
point
Z
Center
End poin
radius
point
R
Δ
Although the parameter setting range is from 0 to 100 (input unit), the parameter
values in the above examples are assumed to be extremely high in order to
facilitate understanding.
32
6. INTERPOLATION FUNCTIONS
6.4 R-designated Circular Interpolation; G02, G03
6.4 R-designated Circular Interpolation; G02, G03
Function and purpose
Along with the conventional circular interpolation commands based on the circular center
coordinate (I, K) designation, these commands can also be issued by directly designating the
circular radius R.
Command format
G02 (G03) Xx/Uu Zz/Ww Rr Ff;
x/u X-axis end point coordinate
z/w Z-axis end point coordinate
r Circular radius
f Feedrate
33
6. INTERPOLATION FUNCTIONS
Detailed description
The circular center is on the bisector line which is perpendicular to the line connecting the start
and end points of the circular. The point, where the circular with the specified radius whose start
point is the center intersects the perpendicular bisector line, serves as the center coordinates of
the circular command.
If the R sign of the commanded program is plus, the circular command is smaller than a
semicircle, if it is minus, the circular command is larger than a semicircle.
6.4 R-designated Circular Interpolation; G02, G03
Circular path when R sign is minus
02
Center
point
End point
Circular path when R sign is plus
Center point
01
Start point
L
r
The following condition must be met with an R-designated circular interpolation command:
≤ 1
L
2 × r
Where L is the line from the start point to end point.
If the above conditions are not satisfied and the arc center cannot be calculated, a program error
(P71) will occur.
If an R designation and I, K designation are given at the same time in the same block, the circular
command with the R designation takes precedence.
In the case of a full-circle command (where the start and end points match), an R designation
circular command will be completed immediately if it is issued and no operation will result. An I, K
designation circular command should therefore be used in such a case.
Example of program
(Example 1)
G03 Zz1 Xx1 Rr1 Ff1; R-designated arc on Z-X plane
(When the R designation and I, K designation are
contained in the same block, the R designation has
priority in processing.)
34
6. INTERPOLATION FUNCTIONS
6.5 Plane Selection; G17, G18, G19
Function and purpose
These commands are used to select the control plane and the plane on which the circular exists.
If the 3 basic axes and the parallel axes corresponding to these basic axes are entered as
parameters, the commands can select the plane composed of any 2 axes which are not parallel
axes. If a rotation axis is entered as a parallel axis, the commands can select the plane
containing the rotation axis.
These commands are used to select:
I, J and K indicate each basic axis or parallel axis.
When the power is turned ON or when the system is reset, the plane set by the control
parameters (Initial Z-X plane, Initial Y-Z plane) is selected. If neither of these has been set, the
X-Y plane is selected.
J
G03
G02
I
G17 (I-J) plane G18 (K-I) plane G19 (J-K) plane
I
G03
G02
K
K
G03
G02
J
35
6. INTERPOLATION FUNCTIONS
Parameter entry
Basic axis Parallel axis
I X Y
J Y
K Z
Fig. 1 Examples of plane
selection parameter entry
Plane selection system
This section describes the plane selection for the parameter entry samples shown in Fig. 1.
(1) Axis addresses assigned in the same block as the plane selection (G17, G18, G19)
command determine which of the basic axes or parallel axes are to be in the actual plane
selected.
(Example)
6.5 Plane Selection; G17, G18, G19
Basic axes and parallel axes can be entered in
the parameters. The same axis name can be
entered in duplication, but when it is assigned in
duplication, the plane is determined by plane
selection system (4).
It is not possible to set axes, which have not
been entered, as control axes.
X
G18XZ;
G03
G02
Z
Y
G18YZ;
G02
G03
G19YZ;
Z
G03
G02
Z
Y
(2) Plane selection is not performed with blocks in which the plane selection G code (G17, G18,
G19) is not assigned.
G18X_Z_; Z-X plane
Y_Z_; Z-X plane (no plane change)
(3) When the axis addresses are omitted in the block containing the plane selection G codes
(G17, G18, G19), it is assumed that the axis addresses of the 3 basic axes have been
assigned.
G18; (Z-X plane = G18XZ;)
(4) When the basic axes or their parallel axes are duplicated and assigned in the same block as
the plane selection G code (G17, G18, G19), the plane is determined in the order of basic
axes, and then parallel axes.
G18XYZ; The Z-X plane is selected.
Therefore, the Y movement is unrelated to the selected plane.
(Note 1) When the "#8121 Initial Z-X plane" in the control parameter is kept ON, the G18 plane
is selected when the power is turned ON or when the system is reset.
36
6. INTERPOLATION FUNCTIONS
Y
6.6 Helical interpolation; G17, G18, G19, and G02, G03
6.6 Helical interpolation; G17, G18, G19, and G02, G03
Function and purpose
With three orthogonal axes, large diameter screws and solid cams can be machined with
simultaneous 3-axis control. With this control, circular interpolation is carried out with two random
axes, and at the same time, linear interpolation is carried out with the other axis in
synchronization with the circular interpolation.
Z
End point
Command program path
Start point
X
X-Y plane projected path in
command program
Command format
G17 G02 (G03) Xx/Uu Yy/Vv Zz/Ww Ii Jj Pp Ff;
G17 Arc plane (G17: X-Y plane, G18: Z-X plane, G19: Y-Z plane) (Note 2)
G02 (G03) Arc rotation direction (G02: clockwise, G03: counterclockwise) (Note 3)
Xx/Uu, Yy/Vv Arc end point coordinates
Zz/Ww Linear axis end point
Ii, Jj Arc center coordinates
Pp Number of pitches
Ff Feedrate
(Note 1) In this manual, the following setting descriptions are used. I axis: X, J axis: Y, K axis: Z
(Note 2) The linear interpolation axis is the other axis not included in the plane selection.
Arc plane Linear interpolation axis
G17 X-Y plane Z axis
G18 Z-X plane Y axis
G19 Y-Z plane X axis
(Note 3) The rotation direction is that looking at the arc plane in the linear interpolation axis'
positive to negative direction.
37
6. INTERPOLATION FUNCTIONS
Explanation of addresses
Address
X/U
Y/V
Z/W Linear axis end
I
J
P Number of
F Feedrate Speed command range
* Calculating the pitch (I1)
Address
meaning
Arc end point
coordinates
point
coordinates
Arc center
coordinates
pitches (*)
6.6 Helical interpolation; G17, G18, G19, and G02, G03
Command range (unit)Remarks
Coordinate command range
(mm/inch)
(Decimal point command
valid)
Coordinate command range
(mm/inch)
(Decimal point command
valid)
Coordinate command range
(mm/inch)
(Decimal point command
valid)
0 to 99 1. If a value that exceeds the command range is
(mm/inch, inch/min)
(Decimal point command
valid)
1. If a value that exceeds the command range is
commanded, a program error will occur. (P35
Setting value range over)
2. If an axis other than one which can be
controlled with the command system is
commanded, a program error will occur. (P33
Format error).
1. If a value that exceeds the command range is
commanded, a program error will occur. (P35
Setting value range over)
2. If an axis other than one which can be
controlled with the command system is
commanded, a program error will occur. (P33
Format error).
1. If a value that exceeds the command range is
commanded, a program error will occur. (P35
Setting value range over)
2. If an axis other than one which can be
controlled with the command system is
commanded, a program error will occur. (P33
Format error).
3. Input a radius value.
4. An arc radius value command (R command)
cannot be used for the arc center coordinates.
commanded, a program error will occur. (P35
Setting value range over)
2. When omitted, this will be handled as P0.
1. Command the speed in the direction of each
axis' composite element as the feedrate.
2. If a value that exceeds the command range is
commanded, a program error will occur. (P35
Setting value range over)
Whereas, ys and xs indicate the start point coordinates, ye and xe indicate the end point
coordinates, z1 indicates the linear axis end point coordinates, and p1 indicates the number of
pitches. θe and θs each indicate the phase difference from the arc center coordinates.
38
6. INTERPOLATION FUNCTIONS
j
j
Detailed description
The following type of movement will take place when the following type of command is issued.
G17 G02 Xx Yy Zz Ii Jj Pp Ff;
6.6 Helical interpolation; G17, G18, G19, and G02, G03
Z
Command program path
Y
End point
Start point
X
Z
End
point
i
Command program’s
X-Y plane projection path
Number of
pitches P
W
Y
i
Start point
p
X
The left drawing shows the process as an exploded view, and the right drawing shows the arc
plane from directly above.
Using the point designated as the arc center coordinates as the center, the axis starts to rotate at
the feedrate f, and after uniformly cutting from the start point to the end point with the number of
pitches designated with p, the axis stops.
Example of program
(Example 1)
G17 G02 U0. V0. W150. I-100.
Normal command
J0. P3 F300;
End point
Z
Command program path
Y
P(=3)
100.
Start point
150.
Y
X
Command program’s
X-Y plane projection path
W
100.
End point
X
Start point
The left drawing shows the process as an exploded view, and the right drawing shows the
arc plane from directly above.
At the start of the block, the axis centers at the point -100mm in the X axis direction and
0mm in the Y axis direction from the workpiece coordinates (start point), and starts cutting at
the feedrate 300mm/min while rotating.
While carrying out circular interpolation, the axis uniformly cuts three-step pitches while
moving 100mm in the Z axis direction, and then stops.
39
6. INTERPOLATION FUNCTIONS
X
(Example 2)
6.6 Helical interpolation; G17, G18, G19, and G02, G03
G17 G02 U-50. V200. W100.
When P command is omitted
I-100. J100. F1500;
Z
Start
point
Command program path
End point
100.
Y
Command program’s X-Y
plane projection path
Y
End point
W
X
J100.
I-100.
Start point
The left drawing shows the process as an exploded view, and the right drawing shows the
arc plane from directly above.
At the start of the block, the axis centers at the point -100mm in the X axis direction and
100mm in the Y axis direction from the workpiece coordinates (start point), and starts cutting
at the feedrate 1500mm/min while rotating.
Since the P command is omitted, the number of pitches is 0. Thus, the axis will cut 100mm in
the Z axis direction while carrying out circular interpolation, and then stops.
Precautions and restrictions
(1) When the P designation is omitted, the setting will be the same as P0.
(2) When the arc center coordinates are omitted, "P70 Arc radius error" will occur.
(3) Circular machining is possible by omitting the arc end point coordinates.
(4) If P0 is commanded when the start point and end point coordinates are the same, linear
interpolation will take place only in the direction of the linear interpolation axis. If P0 is
commanded when the start point and end point coordinates differ, helical interpolation will
take place from the start point to end point in one cycle.
(5) A circular interpolation radius command (R command) cannot be issued when carrying out
helical interpolation.
(6) If the linear interpolation axis is omitted, the movement will be the same as normal circular
interpolation. However, the axis will stop at the end point after carrying out circular
interpolation the number of times commanded with P.
(7) If a height axis is set with the same axis designating an arc plane, the latter setting will
become valid and normal circular interpolation will take place. However, the circle will be
traced only the number of times designated with the P command.
(8) The feedrate is the speed in the direction of each axis' composite element.
40
6. INTERPOLATION FUNCTIONS
α
δ
6.7 Thread Cutting
6.7.1 Constant lead thread cutting; G33
Function and purpose
The G33 command exercises feed control over the tool which is synchronized with the spindle
rotation and so this makes it possible to conduct constant-lead straight thread cutting, tapered
thread cutting, and continuous thread cutting.
Zz, Ww, Xx, Uu Thread end point addresses and coordinates
Ff Lead of long axis (axis which moves most) direction
Qq Thread cutting start shift angle (0.001 to 360.000°)
G33 Zz/Ww Xx/Uu Ee Qq ; (Precision lead thread cutting commands)
Zz, Ww, Xx, Uu Thread end point addresses and coordinates
Ee Lead of long axis (axis which moves most) direction
Qq Thread cutting start shift angle (0.001 to 360.000°)
X axis
End
W
point
U/2
Start point
Z
2
δ
1
Z axis
X
41
6. INTERPOLATION FUNCTIONS
Detailed description
(1) The E command is also used for the number of threads in inch thread cutting, and whether
the threads or precision lead is to be designated can be selected by parameter setting. (The
parameter "#8114 Precision thrd cut E" is set to ON for precision lead designation.)
(2) The lead in the long axis direction is commanded for the tapered thread lead.
X
U/2
a°
Tapered thread section
W
Z
When a < 45° lead is in Z-axis direction
When a > 45° lead is in X-axis direction
When a = 45° lead can be in either Z or X-axis direction.
6.7 Thread Cutting
Input unit
system
Command
address
Minimum
command
unit
Command
range
Input unit
system
Command
address
Minimum
command
unit
Command
range
Thread cutting metric input
A (0.01mm) B (0.001mm) C (0.0001mm)
F (mm/rev) E (mm/rev)
1 (= 0.001),
(1.=1.000)
0.001 to
9999.999
1 (= 0.0001),
(1.=1.0000)
0.0001 to
9999.9999
E (threads/
inch)
1 (= 1),
(1.=1.0)
0.1 to
9999999.9
F (mm/rev)E (mm/rev)
1 (= 0.0001),
(1.=1.0000)
0.0001 to
999.9999
1 (= 0.00001),
(1.=1.00000)
0.00001 to
999.99999
E (threads/
inch)
1 (= 1),
(1.=1.00)
0.01 to
999999.99
F (mm/rev) E (mm/rev)
1 (= 0.00001),
(1.=1.00000)
0.00001 to
99.99999
1(=0.000001),
(1.=1.000000)
0.000001 to
99.999999
E (threads/
inch)
1 (= 1),
(1.=1.000)
0.001 to
99999.999
Thread cutting inch input
A (0.001inch) B (0.0001inch) C (0.00001inch)
F (inch/rev) E (inch/rev)
1(=0.00001),
(1.=1.00000)
0.00001 to
999.99999
1(=0.000001)
(1.=1.000000)
0.000001 to
99.999999
E (threads/
inch)
1 (= 1),
(1.=1.000)
0.001 to
99999.999
F (inch/rev)E (inch/rev)
1(=0.000001),
(1.=1.000000)
0.000001 to
99.999999
1(=0.0000001),
(1.=1.0000000)
0.0000001 to
9.9999999
E (threads/
inch)
1 (= 1),
(1.=1.0000)
0.0001 to
9999.9999
F (inch/rev) E (inch/rev)
1(=0.0000001),
(1.=1.0000000)
0.0000001 to
9.9999999
1(=0.00000001),
(1.=1.00000000)
0.00000001 to
0.99999999
E (threads/
inch)
1(=1),
(1.=1.00000)
0.001
to999.99999
(Note 1) It is not possible to assign a lead where the feedrate as converted into feed per minute
exceeds the maximum cutting feedrate.
(3) The constant surface speed control function should not be used for tapered thread cutting
commands or scrolled thread cutting commands.
(4) The spindle speed should be kept constant throughout from the rough cutting until the finishing.
42
6. INTERPOLATION FUNCTIONS
(5) If the feed hold function is employed during thread cutting to stop the feed, the thread ridges
will lose their shape. For this reason, feed hold does not function during thread cutting.
If the feed hold switch is pressed during thread cutting, block stop will result at the end point of
the block following the block in which thread cutting is completed (no longer G33 mode).
(6) The converted cutting feedrate is compared with the cutting feed clamp speed when thread
cutting starts, and if it is found to exceed the clamp speed, an operation error will result.
(Note 1)
(7) In order to protect the lead during thread cutting, a cutting feedrate which has been
converted may sometimes exceed the cutting feed clamp speed.
(8) An illegal lead is normally produced at the start of the thread cutting and at the end of the
cutting because of servo system delay and other such factors.
Therefore, it is necessary to command a thread length which is determined by adding the
illegal lead lengths δ
(9) The spindle speed is subject to the following restriction:
1 ≤ R ≤
Where R ≤ Permissible speed of encoder (r/min)
R = Spindle speed (r/min)
Thread lead = mm or inches
Maximum feedrate = mm/min or inch/mm
(this is subject to the restrictions imposed by the machine specifications).
(10) Dry run is valid for thread cutting but the feedrate based on dry run is not synchronized with
the spindle rotation.
The dry run signal is checked at the start of thread cutting and any switching during thread
cutting is ignored.
and δ2 to the required thread length.
1
Maximum feedrate
6.7 Thread Cutting
(11) Synchronous feed applies for the thread cutting commands even with an asynchronous
feed command (G94).
(12) For the spindle override during thread cutting, select either valid or invalid (100% fixed) with
the parameters. When the override is valid, the thread will not be cut correctly because of a
delay in the servo system if the override is changed during thread cutting. When the
override is invalid, the override will change to 100% when operation with an override other
than 100% is started. Thus, the thread will not be cut correctly due to a delay in the servo
system.
(13) When a thread cutting command is programmed during nose R compensation, the
compensation is temporarily canceled and the thread cutting is executed.
(14) When the mode is switched to another automatic mode while G33 is executed, the following
block which does not contain a thread cutting command is first executed and then the
automatic operation stops.
(15) When the model is switched to the manual mode while G33 is executed, the following block
which does not contain a thread cutting command is first executed and then the automatic
operation stops. In the case of a single block, the following block which does not contain a
thread cutting command is first executed and then the automatic operation stops.
(16) The thread cutting command waits for the single rotation synchronous signal of the rotation
encoder and starts movement.
However, movement starts without waiting for this signal when another system issues a
thread cutting command during ongoing thread cutting by one particular system. Therefore,
thread cutting commands should not be issued by a multiple number of systems.
43
6. INTERPOLATION FUNCTIONS
Example of program
X axis
6.7 Thread Cutting
20.0
Z axis
90.0
40.0 50.0
(Unit: mm)
G33 X90.0 Z40.0 E12.34567; Absolute value command
G33 U70.0 W-50.0 E12.34567; Incremental value command
44
6. INTERPOLATION FUNCTIONS
α
δ
6.7.2 Inch thread cutting; G33
Function and purpose
If the number of threads per inch in the long axis direction is assigned in the G33 command, the
feed of the tool synchronized with the spindle speed will be controlled, which means that
constant-lead straight thread cutting, tapered thread cutting, and continuous thread cutting can
be performed.
Command format
G33 Zz/Ww Xx/Uu Ee Qq;
Zz, Ww, Xx, Uu Thread end point addresses and coordinates
Ee Number of threads per inch in direction of long axis (axis which
Qq Thread cutting start shift angle (0.001 to 360.000°)
6.7 Thread Cutting
moves most) (decimal point command can also be assigned)
X axis
End
W
point
X
U/2
Start point
Z
2
δ
1
Z axis
Detailed description
(1) The number of threads in the long axis direction is assigned as the number of threads per
inch.
(2) The E code is also used to assign the precision lead length, and whether the thread number
or precision lead length is to be designated can be selected by parameter setting. (The
parameter "G33 Precision thrd cut E" is set OFF for thread number designation.)
(3) The E command value should be set within the lead value range when the lead is converted.
(4) See Section 6.7.1 on lead thread cutting for other details.
45
6. INTERPOLATION FUNCTIONS
Example of program
X axis
6.7 Thread Cutting
40.0 50.0
G33 X90.0 Z40.0 E12.0; Absolute value command
G33 U70.0 W-50.0 E12.0; Incremental value command
6.7.3 Continuous thread cutting
Function and purpose
Continuous thread cutting is possible by assigning thread cutting commands continuously.
In this way, it is possible to cut special threads whose lead or shape changes.
20.0
Z axis
90.0
(Unit: mm)
G33
G33
G33
46
6. INTERPOLATION FUNCTIONS
6.7.4 Variable lead thread cutting
Function and purpose
Variable lead thread cutting is enabled by a command specifying a lead increment or decrement
amount per turn of the screw.
Command format
G34 X/U____ Z/W____ F/E____ K____ ;
X/U X coordinate at the end of thread cutting
Z/W Z coordinate at the end of thread cutting
F/E Standard thread lead
K Lead increment or decrement amount per turn of the screw
Non-lead axis
6.7 Thread Cutting
Lead axis
F+3.5K
Lead speed
F+4K
F+2.5KF+1.5K F+0.5K
F+3KF+2KF+K F
47
6. INTERPOLATION FUNCTIONS
√
Detailed description
(1) The command range is as shown below.
Thread cutting metric input
6.7 Thread Cutting
Input unit
system
Command
address
Minimum
command unit
Command
range
Input unit
system
Command
address
Minimum
command unit
Command
range
A (0.01mm) B (0.001mm) C (0.0001mm) A/B/C
F (mm/rev) E (mm/rev) F (mm/rev) E (mm/rev) F (mm/rev) E (mm/rev)
1 (=0.001)
(1.=1.000)
0.001 to
9999.999
1 (=0.0001)
(1.=1.0000)
0.0001 to
9999.9999
1 (=0.0001)
(1.=1.0000)
0.0001 to
999.9999
1 (=0.00001)
(1.=1.00000)
0.00001 to
999.99999
1 (=0.00001)
(1.=1.00000)
0.00001 to
99.99999
1 (=0.000001)
(1.=1.000000)
0.000001 to
99.999999
K (n ∗ mm/rev)
n: Number of
pitches
Same as F or E
(signed)
Thread cutting inch input
A (0.001inch) B (0.0001inch) C (0.00001inch) A/B/C
F (inch/rev) E (inch/rev) F (inch/rev) E (inch/rev) F (inch/rev) E (inch/rev)
1 (=0.00001)
(1.=1.00000)
0.00001 to
999.99999
1 (=0.000001)
(1.=1.000000)
0.000001 to
99.999999
1 (=0.000001)
(1.=1.000000)
0.000001 to
99.999999
1 (=0.0000001)
(1.=1.0000000)
0.0000001 to
9.9999999
1 (=0.0000001)
(1.=1.0000000)
0.0000001 to
9.9999999
1 (=0.00000001)
(1.=1.00000000)
0.00000001 to
0.99999999
K (n ∗ inch/rev)
n: Number of
pitches
Same as F or E
(signed)
(2) A positive value of K indicates incremental pitches.
Movement amount of one block (n pitches) = (F + K) + (F + 2K) + (F + 3K) + · · + (F + nK)
(3) A negative value of K indicates decremental pitches.
Movement amount of one block (n pitches) = (F – K) + (F – 2K) + (F – 3K) + · · + (F – nK)
(4) A program error will occur if the thread lead is not set correctly.
Error number Meaning Remedy
P93
Illegal pitch value
1) An invalid value is specified for F/E
Specify valid values for F/E and K.
(Reference 1)
or K in a thread cutting command.
2) The last lead goes outside of the F/E
command range.
Reference 1) Last lead =
(F2 + 2KZ)
Number of pitches = (–F + last lead)/K
Z : Length of lead axis
(5) The other matters are the same as G33.
Refer to section "6.7.1 Constant lead thread cutting; G33".
48
6. INTERPOLATION FUNCTIONS
r
6.7.5 Circular thread cutting; G35/G36
Function and purpose
Circular thread cutting is carried out by applying circular interpolation while feeding the tool in
synchronization with the spindle rotation.
Workpiece
cente
Thread cutting tool
6.7 Thread Cutting
F/E
F/E: Long axis direction lead
49
6. INTERPOLATION FUNCTIONS
X
Command format
G35/G36 Xx/Uu Zz/Ww
G35 Clockwise (CW)
G36 Counterclockwise (CCW)
Xx/Uu X axis circular end point coordinate (X: absolute value for workpiece
Zz/Ww Z axis circular end point coordinate (Z: absolute value for workpiece
Ii
Kk Z axis circular center coordinate (incremental value of circular center looking
Rr Circular radius
Ff/Ee
Qq Thread cutting start shift angle (0.001 to 360.000°)
6.7 Thread Cutting
Ii Kk
Ff/Ee Qq ;
Rr
coordinate system, U: incremental value from current position)
coordinate system, W: incremental value from current position)
X axis circular center coordinate (incremental value of circular center looking
from start point)
from start point)
Lead of long axis (axis with longest movement amount) direction
…Normal lead thread/Ee … Precision lead thread or inch thread)
(Ff
X axis
Z
End point
U/2
W
Start point
Z axis
R
Center
I
K
50
6. INTERPOLATION FUNCTIONS
X
X
Matters related to command
(1) A program error (P33) will occur if the start point and end point match, or if the circular center
angle is more than 180°.
(2) The following will occur if the start point radius and end point radius do not match.
(a) A program error (P70) will occur if the error ΔR is larger than the "[Setup parameter]
#8010 G02/03 Error".
(b) If the error ΔR is smaller than the "[Setup parameter] #8010 G02/03 Error", the start
point radius and end point radius will be equally sectioned, and interpolation will start
from the new circular center.
Interpolation
path
6.7 Thread Cutting
Command
end point
R
Δ
Commanded circular center
Recalculated circular center
Command
start point
(3) A program error (P33) will occur if the R_ sign is negative.
(4) A program error (P33) will occur if I_K_,R_ are not commanded together.
(5) If I_K_ command and R_ command are issued in the same block, the R_ command will have
the priority.
(6) An arc can be issued in two continuous quadrants when the circular center is set as (0,0). A
program error (P33) will occur if an arc extending over three or more quadrants is issued.
When Z axis is long axis direction (lead)
Start point
1st, 2nd quadrant
3rd, 4th quadrant
End point
Center
Z
Center
Start point
Z
End
point
51
6. INTERPOLATION FUNCTIONS
(7) If the vertical axis and horizontal axis command movement amount is the same, the
horizontal axis direction in the selected plane will be the long axis.
6.7 Thread Cutting
Plane selection
when movement amount is the same
Long axis
G17 : (IJ plane) I axis
G18 : (KI plane) K axis
G19 : (JK plane) J axis
Matters related to speed
(1) If "cutting feedrate > clamp speed (thread cutting clamp speed)" when thread cutting is
started, the "M01 operation error 0107" will occur and thread cutting will not start. The lead
axis and non-lead axis feedrate is checked in the following manner.
(a) Lead axis................... Checked with the spindle rotation speed and commanded pitch
when thread cutting starts.
(b) Non-lead axis............ Feedrate of the section with the largest movement per unit time
between the circular start point and end point is checked at the
start of thread cutting.
(2) The cutting feedrate may exceed the clamp speed to guarantee the lead during thread
cutting. In this case, "M01 operation error 0107" will appear, but thread cutting will continue.
Note that only when the circular thread command is successively commanded, if the cutting
feedrate exceeds the clamp speed during thread cutting, the automatic operation will stop
just before the circular thread command, and "M01 operation error 0107" will appear.
(3) Related parameters
• #2002 clamp (cutting feed clamp speed)
• #2044 thr_clamp (thread cutting clamp speed)
Matters relat ed to continuous thread cutting
(1) Continuous thread cutting is possible by successively commanding the thread cutting
command. This makes it possible to cut a lead midway or to cut a special thread having a
changing shape.
(2) Continuous thread cutting is possible as arc → arc, arc → constant lead, constant lead →
constant lead, constant lead → arc.
Matters related to servo system delay
(1) Illegal leads will result at the start and end of thread cutting due to normal servo system
delay, etc.
Thus, command the length including the illegal lead length at the start and end of thread
cutting to the required thread length.
Another method is to command the required thread length with the circular thread, and
command the illegal lead length before and after (start and end of thread cutting) as a
uniform lead thread (G33). (Continuous thread cutting with constant lead → arc → constant
lead.)
52
6. INTERPOLATION FUNCTIONS
Relation with other functions
(1) Coordinate system
(a) A program error (P113) will occur if a circular thread command is used for an orthogonal
axis in the selected plane.
(2) Program test
(a) The thread cutting feedrate is not synchronized with the spindle rotation when dry run is
valid. (The thread pitch is not guaranteed.)
(b) The dry run signal input during thread cutting is invalid.
(c) The thread cutting feedrate is not synchronized with the spindle rotation during program
check. (The thread pitch is not guaranteed.) The circular thread is a reverse run prohibit
command, so reverse run is not possible.
(3) Calling, starting and stopping the program
(a) Feed hold cannot be applied during thread cutting. If the feed hold switch is pressed
during thread cutting, block stop will result at the end point of the block following the block
in which thread cutting is completed (no longer thread cutting mode).
(4) Functions for supporting machining methods
(a) Circular thread cutting will function correctly even during mirror image.
(b) Circular thread cutting will function correctly even during cross.
(c) The "M01 operation error 1003" will occur if the circular thread command is used during
superimposition control.
(d) A program error (P201) will occur of there is a circular thread command in the finished
shape program while using the compound lathe fixed cycle.
(e) A program error (P385) will occur if a corner R/C is commanded during thread cutting or
in the next block's thread cutting.
(f) The geometric function cannot be used with the circular thread command. A program
error (P395 or P70) will occur if the geometric command is issued with the circular
thread command.
6.7 Thread Cutting
(5) Inputting the speed
(a) The thread cutting command will be synchronous feed even during the per minute feed
(asynchronous) mode.
(6) Tool diameter
(a) Thread cutting during nose R compensation will be executed after nose R compensation
is temporarily canceled.
(7) Feed
(a) "Thread cutting time constant (axis specification parameter #2045: thr_t1" can be
applied to the acceleration/deceleration of the NC control axis during circular thread
cutting.
(8) Interpolation
(a) A program error (P481) will occur if the thread cutting command is issued during milling.
(9) Spindle
(a) The spindle motor energy saving mode is invalid during thread cutting even if the ECMD
signal is valid.
(10) Machine structure related functions
(a) A program error (P712) will occur if the circular thread cutting command is issued during
the inclined coordinate rotation mode. A program error (P711) will occur if the inclined
coordinate rotation command is issued during the circular thread modal.
53
6. INTERPOLATION FUNCTIONS
Precautions and restrictions
(1) Do not issue the circular thread cutting command during constant surface speed control. The
threads will not be cut correctly because the spindle rotation speed will change during thread
cutting.
(2) If the spindle override is changed during thread cutting, the threads will not be cut correctly
due to a delay in the servo system.
(3) A program error (P39) will occur if the circ ular thread (G35/G36) command is issued without
the additional specifications.
(4) Circular threads cannot be cut with the thread cutting fixed cycle or the compound thread
cutting fixed cycle.
6.7 Thread Cutting
54
6. INTERPOLATION FUNCTIONS
6.8 Milling Interpolation; G12.1/G13.1
Function and purpose
Milling interpolation is used to perform contouring control by converting commands programmed
in an orthogonal coordinate system into movements of a linear axis and rotation axis (workpiece
rotation).
6.8 Milling Interpolation; G12.1/G13.1
Y (Hypothetical axis)
A G12.1 command is issued to perform milling and a G13.1 command is issued to cancel milling
and returns to normal turning.
Command format
G12.1; Milling mode ON
G13.1; Milling mode OFF (Turning mode)
The following G codes are used to select milling and set the conditions.
G code Function Remarks
G12.1 Milling mode ON Default is G13.1.
G13.1 Milling mode OFF
G16 Selection of Y-Z cylindrical plane
G17 Selection of X-Y plane
G19 Selection of Y-Z plane
G41 Tool R compensation left Default is G40.
G42 Tool R compensation right
X
Z
C
One of G17, G16, and G19 can be
defined as the default (when G12.1 is
issued) by the parameter.
55
6. INTERPOLATION FUNCTIONS
6.8 Milling Interpolation; G12.1/G13.1
Machining mode
G13.1 (Turning mode)G12.1 (Milling mode)
G17
(X-Y plane)
G18
(Z-X plane)
G46, G41, G42/G40 (Nose R compensation) G41, G42/G40 (Tool compensation)
6.8.1 Selecting milling mode
Detailed description
(1) The G12.1 and G13.1 commands are used to switch between the turning (G13.1) and milling
(G12.1) modes.
(2) These commands are modal and the initial mode effective at power ON is the turning mode.
G19
(Y-Z plane)
G16
X-Y
G17
(X-Y plane)
G19
(Y-Z plane)
cylindrical
plane
(3) The following requirements must be satisfied before a G12.1 command is issued. Otherwise,
a program error results.
(a) Nose R compensation has been canceled.
(b) Constant surface speed control has been canceled.
(4) If one of the command axes in the milling mode has not completed reference point return, a
program error results.
(5) The G12.1 command automatically cancels an asynchronous mode F command. Therefore,
specify an F value in milling mode.
(Note) If G12.1 is executed, while no movement command has been given, after nose R
compensation is canceled by an independent G40 command, nose R compensation is
canceled in the G12.1 block.
56
6. INTERPOLATION FUNCTIONS
6.8.2 Milling interpolation control and command axes
Detailed description
(1) The two orthogonal linear axes (X axis and Z axis) and a rotation axis are used as control
axes for milling interpolation. The rotation axis is defined by a parameter.
(2) Three orthogonal linear axes are used as the command axes for milling interpolation. They
are the X, Z, and a hypothetical axis.
The hypothetical axis is a hypothetical axis for interpolation which intersects the X and Z
axes at right angles.
The name of the hypothetical axis is defined by a parameter, either Y or the name of the
control rotation axis selected in (1) above.
6.8 Milling Interpolation; G12.1/G13.1
(Hypothetical axis)
X
Z
(3) Command axis X for milling is not just the interpolated one of control axis X. It is handled as
X in the milling coordinate system when a G12. 1 command is issued.
(4) All values are treated as radius values in the milling coordinate system. (Any parameters
commanded with radius/diameter in turning mode are ignored.)
(Example 1)
X
20
N3
10
When C axis is used for rotation axis, and
"Y" is used for hypothetical axis name
Current values
X 28.284 (diameter value display)
C 45.000
(5) Milling interpolation is also available for a two-control-axis system consisting of one linear
axis and one rotation axis. The X axis must be used as the linear axis. The rotation and
milling hypothetical axes are selected as shown above. In milling mode, the G17 plane must
be selected.
(6) The table below lists the incremental axis names of the hypothetical axis used in milling
mode. These axis commands handle radius commands only.
mill_c (hypothetical
axis parameter)
Absolute axis name Incremental axis name
0 Y V
1 Rotation axis name (C)Rotation axis incremental name (H)
(The following description uses Y for the hypothetical axis name and C for the rotation axis
name.)
58
6. INTERPOLATION FUNCTIONS
6.8.3 Selecting a plane during the milling mode
Function and purpose
A plane selection command decides the plane on which the tool moves for circular interpolation
or tool radius compensation in milling mode.
Command format
G17/G19;
G16 C_;
G16 Y - Z cylindrical plane
C_ Cylindrical radius value
G17 X - Y plane
G19 Y - Z plane
(1) These G commands for plane selection are modal. The G17 plane is automatically selected
as the default each time the turning mode is switched to the milling mode by a G12.1
command. When the milling mode is switched back to the turning mode by a G13.1
command, the plane that was selected before the milling mode is entered is restored.
6.8 Milling Interpolation; G12.1/G13.1
(2) G16 or G19 can also be defined as the default effective when a G12.1 command is issued. A
parameter is used for this.
(3) The three planes selected are explained below.
(a) G16
G16 indicates the plane obtained by developing a cylinder with its bottom radius X. This
is useful to process the side face of a workpiece.
X
Z
Y
Y-Z cylindrical plane
59
6. INTERPOLATION FUNCTIONS
Y
(b) G17
G17 is an X-Y plane in an XYZ orthogonal coordinate system. This is useful to process
the end face of a workpiece.
6.8 Milling Interpolation; G12.1/G13.1
X
Z
X-Y plane
(c) G19
G19 is a Y-Z plane in an XYZ orthogonal coordinate system.
X
Z
Center of workpiece
Y
Y-Z plane
60
6. INTERPOLATION FUNCTIONS
6.8.4 Setting milling coordinate system
Function and purpose
The coordinate system for the milling mode is set according to the selected plane each time the
turning mode (G13.1) is switched to the milling mode by a G12.1 command.
G17 and G19 planes
(1) For the X and Z axes, the current positions are set as radius value on the coordinate value.
(2) The Y axis is decided as the axis which intersects the X and Z axes at right angles. Y=0 is
defined in a G12.1 command.
6.8 Milling Interpolation; G12.1/G13.1
Tool
Y
X
Z
G16 plane
(1) To select a G16 plane, the radius value of a cylinder is specified by G16C_;. If no radius
value is specified, the current X axis value is used as the radius value to define a cylinder. If
no radius value can be defined, a program error "P485" occurs.
(2) As in normal turning mode, the X axis indicates the distance from the center line of the
workpiece.
(3) G16 (Y-Z cylindrical plane) is actually the side of a cylinder.
The X axis indicates the distance from the center line of the workpiece. The Y axis indicates
the circumference with the radius value of the bottom of a cylinder defined by a G16
command.
61
6. INTERPOLATION FUNCTIONS
(4) The zero point of the Y axis is the position where a G12.1 command is issued.
G22 Barrier check ON G94 Asynchronous feed
G23 Barrier check OFF G98 Hole drilling cycle initial point return
G99 Hole drilling cycle reference point
G61 Exact stop mode
G40 Tool radius compensation
cancel
G41 Tool R compensation left G64 Turning mode
G42 Tool R compensation right
6.8 Milling Interpolation; G12.1/G13.1
Classifi-
cation
G codeFunction
return
∗ : Milling interpolation command
: G code effective only in milling mode
(1) If an invalid G code is issued in milling mode, a program error "P481" occurs.
(2) In milling mode, all movement commands are commanded with the coordinate system
determined by the selected machining plane. The rotation axis thus cannot be moved by a
direct command in milling mode. To perform milling at a specific position of a workpiece,
therefore, positioning must have been made in turning mode.
(3) If a command for an axis other than X, Z, and Y (rotation axis) is issued in milling mode, a
program error results.
63
6. Control Axes
6.8 Milling Interpolation; G12.1/G13.1
(4) In milling mode, the Y axis can be specified by only four G codes: G00, G01, G02, and G03.
These are called the milling interpolation commands.
Positioning (G00)
If a G00 command is issued in milling mode, positioning is made to the specified point on the
selected plane at a rapid traverse rate.
G00 X/U__ Y/V__ Z/W__;
Linear interpolation (G01)
If a G01 command is issued in milling mode, linear interpolation is made to the specified point on
the selected plane at the speed specified by an F speed.
(1) G16 mode
Program format
G01 Y/V__ Z/W__ X/U__ F__;
S
y
Y
z
Z
E
Development
S
y
z
X
E
64
6. Control Axes
A
(2) G17 mode
Program format
G01 X/U__ Y/V__ Z/W__ F__;
6.8 Milling Interpolation; G12.1/G13.1
(3) G19 mode
Program format
G01 Y/V__ Z/W__ X/U__ F__;
E
Y
X
x
S
y
z
E
Z
X
E
x
S
y
Y
z
Z
A
E
65
6. Control Axes
6.8 Milling Interpolation; G12.1/G13.1
Circular interpolation (G02/G03)
If a G02 or G03 command is issued in milling mode, circular interpolation is performed at the
specified speed on the selected plane.
Y/V Circular end point coordinate Y axis (Y: absolute value, V:
incremental value)
Z/W Circular end point coordinate Z axis (Z: absolute value, W:
incremental value)
J/K Circular center incremental value (incremental value from the
start point to the center)
R Circular radius
F Feedrate
Y
X
Q
A
j
S
k
E
Z
67
6. Control Axes
6.8 Milling Interpolation; G12.1/G13.1
6.8.6 Switching from milling mode to turning mode; G13.1
Detailed description
(1) A G13.1 command is used to cancel the milling mode and return to the turning mode.
(2) The G13.1 command is effective if the following requirement is met. If not, a program error
occurs.
(a) Tool radius compensation has been canceled.
(3) The G13.1 command restores the plane selected before the preceding G12.1 command was
issued.
(4) The G13.1 command restores the mode (synchronous or asynchronous) and the F value (if
in asynchronous mode) selected before the preceding G12.1 command was issued.
(Note) If G13.1 is executed, while no movement command has been given, after cancellation by
an independent G40 command, tool radius compensation is canceled in the G13.1 block.
6.8.7 Feed function
Asynchronous cutting feed
An asynchronous feed mode (G94 command) can use F5.3 digits to specify the feedrate per
minute in units of 0.001mm/min. The specifiable range is 0.001 to 60000.000mm/min. If the
effective speed exceeds the cutting feed clamp speed, it is clamped by that clamp speed.
(Note 1) Whenever the turning mode is switched to the milling mode by a G12.1 command, the F
command modal value is canceled. After mode change, therefore, the feedrate must be
set by an F command.
(Note 2) A G12.1 command forces the mode to shift to the asynchronous mode.
(Note 3) When the milling mode is canceled by a G13.1 command, both the feed mode and F
command modal value return to the original state before the preceding G12.1 command
was issued.
6.8.8 Program support functions
Relation with other functions
The following program support functions are effective in milling mode:
(1) Linear angle command
(2) Variable command
(3) Automatic corner chamfering/corner R
(4) Geometric function
(5) Hole drilling cycle
(6) Subprogram function
(7) User macro
68
6. Control Axes
6.8.9 Miscellaneous functions
Relation with other functions
(1) M and B commands can be issued in milling mode.
(2) In milling mode, an S command specifies not the spindle speed but the rotary tool speed.
(3) If a T command is issued in milling mode, a program error occurs. Before a G12.1 command
is issued, therefore, tool selection must be done.
:
T1212; ⇒ Specify a T command before a G12.1 command.
G0 X100. Z0.;
G12.1;
:
T1200; ⇒ In milling mode, a T command causes a program error.
:
G13.1;
6.8 Milling Interpolation; G12.1/G13.1
69
6. INTERPOLATION FUNCTIONS
A
6.8.10 Tool offset functions
Tool length offset
(1) In milling mode, tool compensation is performed by adding the tool length offset amount
specified on the cutting coordinates converted from the milling coordinate system.
6.8 Milling Interpolation; G12.1/G13.1
X
: Tool position
Tool position
Tool length offset
X
Y
X
Y
Y
Y
Milling coordinate system
ctual tool position
X
Movement on the milling
coordinate system
70
6. INTERPOLATION FUNCTIONS
A
(2) As in (1) above, if the offset amount is different from the actual one, the shape is not
corrected normally.
(a) If the offset amount is larger than tool length:
Example: The actual tool length is 15.0 when tool length X = 20.0
6.8 Milling Interpolation; G12.1/G13.1
Y
X
Milling command
ctual shape
Tool movement
71
6. INTERPOLATION FUNCTIONS
A
(b) If the offset amount is smaller than tool length:
Example: The actual tool length is 25.0 when tool length X = 20.0
6.8 Milling Interpolation; G12.1/G13.1
Y
X
ctual
shape
Milling command
Tool movement
Tool radius compensation
The workpiece shape can be compensated in the direction of the vector by the radius amount of
the tool specified by a G command (G40 to G42) and selected compensation number.
Command format
G40 Xx Yy; Tool radius compensation cancel
G41 Xx Yy; Tool radius compensation (left)
G42 Xx Yy; Tool radius compensation (right)
(1) A tool radius compensation command must be issued after the milling mode is entered.
The tool radius compensation command must be canceled before the turning mode is
restored.
(2) A tool compensation number must be specified before the milling mode is entered (before a
G12. 1 command is issued).
A T command in milling mode causes a program error.
(3) Tool radius compensation is performed on the selected plane.
G17 plane ... XY axes
G19 plane
G16 plane
YZ axes
72
6. INTERPOLATION FUNCTIONS
Tool radius compensation cancel mode
Tool radius compensation is canceled under either of the following conditions:
(1) While a G12.1 command is effective
(2) After a compensation cancel command (G40) is issued
In the compensation cancel mode, the offset vector is 0 and the tool center path matches the
programmed path. A program that contains tool radius compensation must end after the
compensation is canceled.
Starting tool radius compensation (startup)
Tool radius compensation starts if all the following requirements are met in compensation cancel
mode:
(1) A G41 or G42 command is issued.
(2) The tool radius compensation number is greater than 0 and equal to or less than the
maximum compensation number.
6.8 Milling Interpolation; G12.1/G13.1
(3) The movement command is not a circular command.
Whether in continuous or single block operation, compensation always starts after reading three
movement command blocks, or if three movement command blocks are not found, up to five
continuous blocks.
Similarly, in compensation mode, up to five blocks are pre-read for compensation operation.
Control state diagram
Machining program
Pre-read buffer
Executed block
T___; S___; G00___; G41___; G01___; G02___;
G01_;
T_;
T_;
S_;
S_;
G41_;G00_;
G41_;G00_;
Starting to pre-read
five blocks
G02_;
G02_;G01_;
G02_;G01_;
There are two ways of starting tool radius compensation: type A and type B.
The type depends on selection of the control parameter "Radius compen type B".
This type is used in common with the compensation cancel type.
In the following explanatory figure, "S" denotes the single block stop point.
73
6. INTERPOLATION FUNCTIONS
Start operation for tool radius compensation
(1) Machining an inside corner
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear
θ
r = Compensation amount
Linear → Circular
s
G42
Start point
(2) Machining an outside corner (obtuse angle) (Type A or B can be selected by
parameter) [90° ≤ θ < 180°]
Linear → Linear (Type A)
G41
s
r = Compensation amount
θ
Program path
Tool center path
Start point
θ
G42
Center of circular
r
s
Tool center
path
Linear → Circular (Type A)
s
Tool center path
Program path
G41
r
θ
Program path
Tool center path
Start point
G41
Start point
Start point
Center of circular
Program path
Linear → Linear (Type B) Linear → Circular (Type B)
Intersection
s
r
r
θ
Tool center path
Program path
G41
Start point
Center of circular
Intersection
s
r
r
Tool center path
θ
Program path
74
6. INTERPOLATION FUNCTIONS
(3) Machining an outside corner (acute angle) (Type A or B can be selected by parameter)
[θ < 90°]
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear (Type A)
s
r
θ
G41
Start point
Tool center path
Program path
Linear → Linear (Type B) Linear → Circular (Type B)
s
θ
Tool center path
Program path
r
r
Linear → Circular (Type A)
Center of
circular
Tool center path
s
r
θ
Start point
Center of
circular
Tool center path
s
r
Program path
G41
Program path
G41
Start point
θ
r
G41
Start point
75
6. INTERPOLATION FUNCTIONS
Operations in compensation mode
Compensation is valid both for positioning and for interpolation commands such as circular and
linear interpolation.
Even if the same compensation command (G41 or G42) is specified in the compensation mode,
the command will be ignored.
If four or more blocks
compensation mode, over-cutting or under-cutting will result.
6.8 Milling Interpolation; G12.1/G13.1
not accompanying movement are assigned continuously in the
76
6. INTERPOLATION FUNCTIONS
r
(1) Machining an outside corner
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear (90° ≤ θ < 180°)
θ
Program path
s
Intersection
Tool center path
Linear → Circular (90° ≤ θ < 180°)
θ
r
s
Center of circular
r
Program path
Tool center path
Linear → Linear (0° < θ < 90°)
r
s
r
Tool center path
Program path
θ
Linear → Circular (0° < θ < 90°)
Tool center path
θ
Program path
s
Center of circular
r
r
Circular → Linear (90° ≤ θ < 180°)
Tool center path
Center of circular
Program path
θ
r
r
s
Intersection
Circular → Circular (90° ≤ θ < 180°)
Program path
Center of circular
Center of circula
θ
r
r
s
Intersection
Tool center path
Circular → Linear (0° < θ < 90°)
Program path
θ
r
Tool center path
r
Center of circular
s
Circular → Circular (0° < θ < 90°)
Program path
θ
r
Center of circular
s
r
Tool center path
Center of circular
77
6. INTERPOLATION FUNCTIONS
r
r
(2) Machining an inside corner
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear (Obtuse angle)
θ
Program path
s
r
Intersection
Tool center path
Linear → Circular (Obtuse angle)
Program path
Tool center path
θ
s
Intersection
Center of circular
r
Linear → Linear (Obtuse angle)
θ
Program path
s
r
Tool center path
Linear → Circular (Obtuse angle)
θ
Program path
Tool center path
r
Intersection
s
Center of circular
Circular → Linear (Obtuse angle)
s
Inter-
r
section
Center of circular
θ
Program path
Tool center path
Circular → Circular (Obtuse angle)
Program path
Center of circular
Intersection
s
θ
Center of circular
Tool center path
r
Circular → Linear (Obtuse angle)
θ
s
Intersection
Center of circular
Program path
Tool center path
r
Circular → Circular (Acute angle)
θ
Center of circular
Center of circular
s
Intersection
r
Tool center path
Program path
78
6. INTERPOLATION FUNCTIONS
A
(3) When the arc end point is not on the circular
With a spiral circular command: the area from the arc start point to the end point is
interpolated as a spiral arc.
With a normal circular command: if the error after compensation is within the parameter
value, it is interpolated as a spiral arc.
Hypothetical circle
6.8 Milling Interpolation; G12.1/G13.1
Tool center path
Program path
r
r
R
Center of circular
End point of circular
s
(4) When the inside intersection does not exist
In an instance such as that shown in the figure below, the intersection of arcs A and B may
cease to exist due to the compensation amount.
In such cases, program error "P152" appears, and the tool stops at the end point of the
preceding block.
Program error stop
Tool center path
Program path
r
r
B
Linear intersecting circulars A and B
Center of circular A
79
6. INTERPOLATION FUNCTIONS
Tool radius compensati on cancel
If either of the following conditions is met in the tool radius compensation mode, the
compensation will be canceled. However, the movement command must be a command other
than a circular command. If an attempt is made to cancel the compensation by a circular
command, program error "P151" results.
(1) A G40 command has been executed.
The cancel mode is established once the compensation cancel command has been read, the
5-block pre-read process is suspended, and 1-block pre-read applies instead.
Tool radius compensation cancel operation
(1) Machining an inside corner
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear
End point
θ
r = Compensation amount
s
G40
Circular → Linear
θ
Program path
Tool center path
End point
G40
Center of circular
r
s
Tool center
path
Program path
80
6. INTERPOLATION FUNCTIONS
(2) Machining an outside corner (obtuse angle) (Type A or B can be selected by
parameter) [90° ≤ θ < 180°]
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear (Type A)
G40
End point
s
Program path
r = Compensation amount
Tool center path
θ
Linear → Linear (Type B) Circular → Linear (Type B)
Intersection
s
r
r
G40
θ
Program path
Tool center path
Circular → Linear (Type A)
s
r
G40
θ
End point
G40
Center of circular
Intersection
s
r
r
θ
Program path
Tool center path
Tool center path
End point
End point
Center of circular
Program path
81
6. INTERPOLATION FUNCTIONS
s
(3) Machining an outside corner (acute angle) (Type A or B elm be selected by parameter)
[θ < 90°]
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear (Type A)
s
r
θ
G40
End point
Tool center path
Program path
Linear → Linear (Type B) Circular → Linear (Type B)
Tool center path
θ
r
Program path
Circular → Linear (Type A)
Center of
circular
Tool center path
s
r
θ
G40
End point
Center of
circular
Tool center path
r
Program path
Program path
s
G40
End point
θ
r
G40
End point
82
6. INTERPOLATION FUNCTIONS
Changing the compensation direction during tool radius compensation
The compensation direction can be changed by changing the compensation command in the
compensation mode without the compensation having to be first canceled.
However, no change is possible in the compensation start block and the following block.
6.8 Milling Interpolation; G12.1/G13.1
Linear → Linear
Tool center path
Program path
G41 G41G42
Intersection
r
r
r
If there is no
intersection when the
compensation
direction is changed.
Linear ↔ Circular
r
r
r
G41 G42G41
r
G41G42
r
Program path
r
Tool center path
83
6. INTERPOLATION FUNCTIONS
T
Circular → Circular
6.8 Milling Interpolation; G12.1/G13.1
Program path
Tool center path
G41
G41 G42
G42
G41
Center of circular
r
G41
r
Center of circular
Linear return
ool center path
Program path
G41
G42
r
G0 block
If there is a block containing a G0 command, the preceding block does not perform intersection
operation, the tool comes to the position vertical to the end point, and the G0 block temporarily
loses the offset vector. Compensation is not canceled, but instead the tool moves from the
intersection vector directly to a point without vector, that is, to the point specified by the program.
The offset vector is regenerated by a block containing a G1 command.