MELDAS is registered trademarks of Mitsubishi Electric Corporation.
Other company and product names that appear in this manual are trademarks or registered
trademarks of the respective companies.
Introduction
This manual is a guide for using the MITSUBISHI CNC 700/70 Series.
Programming is described in this manual, so read this manual thoroughly before starting
programming. Thoroughly study the "Precautions for Safety" on the following page to ensure
safe use of this NC unit.
Details described in this manual
CAUTION
For items described as "Restrictions" or "Usable State" in this manual, t he instruction ma nual
issued by the machine tool builder takes precedence over this manual.
Items not described in this manual must be interpreted as "not possible".
This manual is written o n t h e a s s u mp t i o n t hat all o p t ion func t i o n s ar e a d d ed .
Refer to the specifications issued by the machine tool builder before starting use.
Refer to the Instruction Manual issued by each machine tool builder for details on each
machine tool.
Some screens and functions may differ depending on the NC system (or its version), and
some functions may not be possible. Please confirm the specifications before use.
General precautions
(1) Refer to the following documents for details on handling
MITSUBISHI CNC 700/70 Series Instruction Manual ................................. IB-1500042
Precautions for Safety
Always read the specifications issued by the machine tool builder, 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 "
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.
CAUTION", may lead to major results depending on the situation.
DANGER
Not applicable in this manual.
Not applicable in this manual.
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 tool builder takes precedence over this manual.
Items not described in this manual must be interpreted as "not possible".
This manual is written on the assumption that all option f unctions are added. Re fer to the
specifications issued by the machine tool builder before starting use.
Refer to the Instruction Manual issued by each machine tool builder for details on each
machine tool.
Some screens and functions may differ depending on the NC system (or its version), and
some functions may not be possible. Please confirm the specifications before use.
WARNING
CAUTION
CAUTION
2. Items related to operation
Before starting actual machining, always carry out dry run operation to confirm the
machining program, tool offset amount and workpiece offset amount, etc.
If the workpiece coordinate system offset amount is changed during single block stop, the
new setting will be valid from the next block.
Turn the mirror image ON and OFF at the mirror image center.
If the tool offset amount is changed during automatic operation (including during single
block stop), it will be validated from the next block or blocks onwards.
Do not make the synchronous spindle rotation command OFF with one workpiece
chucked by the basic spindle and synchronous spindle during the spindle
synchronization.
Failure to observe this may cause the synchronous spindle stop, and hazardous
situation.
3. Items related to programming
The commands with "no value after G" will be handled as "G00".
";" "EOB" and "%" "EOR" are expressions used for explanation. The actual codes are:
For ISO: "CR, LF", or "LF" and "%".
Programs created on the Edit screen are stored in the NC memory in a "CR, LF" format,
but programs created with external devices such as the FLD or RS-232C may be stored
in an "LF" format.
The actual codes for EIA are: "EOB (End of Block)" and "EOR (End of Record)".
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.
Do not change fixed cycle programs without the prior approval of the machine tool
builder.
When programming the multi-part system, take special care to the movements of the
programs for other part systems.
1. Control Axes .................................................................................................................................1
1.1 Coordinate Words and Control Axes........................................................................................1
1.2 Coordinate Systems and Coordinate Zero Point Symbols .......................................................2
2. Least Command Increments........................................................................................................3
In the case of a lathe, the axis parallel to the spindle is known as the Z axis and its forward direct ion
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 Words and Control Axes
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 directio n 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 counterclockwi se 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
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 position 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 position is at the position
designated by the parameter from the basic machine coordinate zero point (machine zero point).
Basic machine
coordinate system
Hypothetical machine
coordinate system
(shifted by G92)
Machine zero point
Z2
X
2
+X
Workpiece
coordinate
system
1 (G54)
Workpiece
coordinate
system
2 (G55)
+Z
Workpiece
coordinate
system
5 (G58)
Workpiece
coordinate
system6
(G59) Z
3
X
Z
3
Local
coordinate
system
X1
(G52)
1
1st reference position
The local coordinate system (G52) is valid on the co ordinate 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. Least Command Increments
2. Least Command Increments
2.1 Input Setting Units
Function and purpose
The input setting units are, as with the compensation amounts, the units of setting data used in
common for all axes.
The command units are the movement amounts in the program which are commanded with MDI
inputs or command tape. These are expressed with mm, inch or degree (°) units.
With the parameters, the command units are decided for each axis, and the input setting units are
decided commonly for all axes.
#1003 iunit = B
Input setting unit
Command unit
(Note 1) Inch/metric changeover is performed in either of 2 ways: conversion from the parameter
screen (#1041 I_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 increments 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 inches or millimeters.
= C
= D
= E
#1015 cunit = 0 Follow #1003 iunit
= 1
= 10
= 100
= 1000
= 10000
Parameters
2.1 Input Setting Units
Linear axis
Millimeter Inch
0.001 0.0001 0.001
0.0001 0.00001 0.0001
0.00001 0.000001 0.00001
0.000001 0.0000001 0.000001
0.0001 0.00001 0.0001
0.001 0.0001 0.001
0.01 0.001 0.01
0.1 0.01 0.1
1.0 0.1 1.0
Rotation axis
(°)
(Note 2) The millimeter and inch systems cannot be used together.
(Note 3) During circular interpolation on an axis where the input command increments are different,
the center command (I, J, K) and the radius command (R) can be designated by the input
setting units. (Use a decimal point to avoid confusion.)
3
2. Least Command Increments
2.1 Input Setting Units
Data
Speed data
Example:
rapid
Position data
Example:
SoftLimit+
Interpolation
unit data
Detailed description
(1) Units of various data
These input setting units determine the parameter setting unit, program comman d unit and the
external interface unit for the PLC axis and handle pulse, etc. The followin g rules show how the
unit of each data changes when the input setting unit is changed. This table applies to the NC
axis and PLC axis.
Unit
system
metre
Inch
metre
Inch
metre
Inch
(2) Program command
The program command unit follows the above table.
If the data has a decimal point, the number of digits in the integer section will remain and the
number of digits in the decimal point section will increase as the input setting unit becomes
smaller.
When setting data with no decimal point, and which is a position command, the data will be
affected by the input setting increment and input command increment.
For the feed rate, as the input setting unit becomes smaller, the number of digits in the integer
section will remain the same, but the number of digits in the decimal point section will increase.
Setting value
20000 (mm/min) 200002000020000 20000Milli-
Setting range 1 to 9999991 to 9999991 to 999999 1 to 999999
2000 (inch/min) 200002000020000 20000
Setting range 1 to 9999991 to 9999991 to 999999 1 to 999999
123.123 (mm) 123.123123.1230123.12300 123.123000MilliSetting range ±99999.999±99999.9999±99999.99999 ±99999.999999
12.1234 (inch) 12.123412.1234012.123400 12.1234000
Setting range ±9999.9999±9999.99999±9999.999999 ±9999.9999999
1 (µm) 220200 2000Milli-
Setting range ±9999±9999±9999 ±9999
0.0001 (inch) 220200 2000
Setting range ±9999±9999±9999 ±9999
Input setting unit
1µm (B) 0.1µm (C) 10nm (D) 1nm (E)
4
2. Least Command Increments
2.2 Indexing Increment
Function and purpose
This function limits the command value for the rotary axis.
This can be used for indexing the rotary table, etc. It is possible to cause a program error with a
program command other than an indexing increment (parameter setting value).
Detailed description
When the indexing increment (parameter) for limiting the command value is set, the rotary axis can
be positioned with that indexing increment. If a program other than the indexing increment setting
value is commanded, a program error (P20) will occur.
The indexing position will not be checked when the parameter is set to 0.
(Example) When the indexing increment setting value is 2 degrees, only command with the
2-degree increment are possible.
G90 G01 C102. 000 ; … Moves to the 102 degree angle.
G90 G01 C101. 000 : … Program error
G90 G01 C102 ; … Moves to the 102 degree angle. (Decimal point type II)
The following axis specification parameters are used.
# Item Contents
2106 Index unit Indexing
Precautions
• When the indexing increment is set, degree increment positioning takes place.
• The indexing position is checked with the rotary axis, and is not checked with other axes.
• When the indexing increment is set to 2 degrees, the rotary axis is set to the B axis, and the B axis
is moved with JOG to the 1.234 position, an indexing error will occur if "G90B5." or "G91B5." is
commanded.
increment
2.2 Indexing Increment
Set the indexing increment to which the rotary
axis can be positioned.
Setting range
(unit)
0 to 360 (° )
5
3. Data Formats
3. Data Formats
3.1 Tape Codes
Function and purpose
The tape command codes used for this controller 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 controller uses the ISO code (R-840).
(Note 1) If a code not given in the "Table of tape codes" is assigned during operation, a program
(Note 2) For the sake of convenience, a " ; " has been used in the CNC display to indi cate the End
CAUTION
" ; " "EOB" and " % " "EOR" are explanatory notations. The actual code is "Line feed" and "%".
(ISO code (R-840)
3.1 Tape Codes
error (P32) will result.
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.
Detailed description
(1) Use the keys in the following table for programming.
EOB/EOR keys and displays
Key used
End of Block LF or NL ;
End of Record % %
(2)Significant data section (label skip function)
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 initial EOB ( ; ) code after resetting to the point where
the reset command is issued.
Code used
ISO Screen display
6
3. Data Formats
G
R
•
•••••••
•••
•
•
•
•••••••••
•••••••
•
•
•••••••••••••••••••
•
•
•••••••••••••••
•
•••••••••
(3)Control out, control in
When the ISO code is used, all data between control out "(" and control in ")" (or ";") are
ignored, although these data appear on the setting and display unit. Consequently, the
command tape name, No. and other such data not directly related to control can be inserted in
this section.
This information (except (B) in the "Table of tape codes") will also be loaded, ho wever, 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, the End of Record code is punched at both ends of the tape. It has the following
functions:
(a) Rewind stop when rewinding tape (with tape rewinder)
(b) Rewind start during tape search (with tape rewinder)
(c) Completion of loading during tape loading into memory
(5) Tape preparation for tape operation (with tape rewinder)
……… …………………..
Initial block
Last block
10cm
%;;;;
2m
2m
10cm
%
If a tape rewinder is not used, there is no need for the 2-mete r dummy at both ends of the tape
and for the head EOR (%) code.
7
3. Data Formats
•
X
Y
/
(
(
)
)
(
)
[
]
)
)
@
)
)
3.1 Tape Codes
ISO code (R-840)
Feed holes
8 7 6 5 4 3 2 1 Channel No.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Under the ISO code, LF or NL is EOB and % is EOR.
1
2
3
4
5
6
7
8
9
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
The (A) codes are stored on tape but an error results (except when they are used in the
comment section) during operation.
The (B) codes are non-working codes and are always ignored. (Parity V check is not
executed.)
Table of tape codes
8
3. Data Formats
A
3.2 Program Formats
Function and purpose
The prescribed arrangement used when assigning control informati on to the controller is know n as
the program format, and the format used with this controller 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 machine to execute specific operations. Each word
used for this controller consists of an alphabet letter and a number of several digits. (A + or sign may be attached to the head of a number.)
3.2 Program Formats
Word
*
Numerals
lphabet (address)
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.
For details of the types of words and the number of significant digits of words used for this
controller, refer to "Format details".
(2) Blocks
A block is a collection of words. It includes the information which is required for the machin e to
execute specific operations. 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.
9
3. Data Formats
<Format detail abbreviations>
Program No. 08
Sequence No. N6
Preparatory function G3/G21
0.001(°) mm/
0.0001 inch
0.0001(°) mm/
Movement
axis
Arc and
cutter
radius
Dwell 0.001(sec.) X+53/P+8
Feed
function
Tool offset
Miscellaneous function (M)
Spindle function (S)
Tool function (T)
2nd miscellaneous function A8/B8/C8
Subprogram
(Note 1) α indicates the additional axis address, such as A, B or C.
(Note 2) The number of digits check for a word is carried out with the maximum number of digits of that
address.
(Note 3) Numerals can be used without the leading zeros.
10
3. Data Formats
3.2 Program Formats
(Note 4) The meanings of the details are as follows :
Example 1 : 08 : 8-digit program No.
Example 2 : G21 : Dimension G is 2 digits to the left of the decimal point, and 1 digit to the right.
Example 3 : X+53 : Dimension X uses + or - sign and represents 5 digits to the left of the
decimal point and 3 digits to the right.
For example, the case for when the X axis is positioned (G00) to the 45.123 mm position in the
absolute value (G90) mode is as follows :
X45.123 ;
G00
3 digits below the decimal point
5 digits above the decimal point, so it's +00045, but the leading zeros and the
mark (+) have been omitted.
G0 is possible, too.
(Note 5) If an arc is commanded using a rotary axis and linear axis while inch commands are being used,
the degrees will be converted into 0.1 inches for interpolation.
(Note 6) While inch commands are being used, the rotary axis speed will be in increm ents of 10 degrees.
Example : With the F1. (Feed per minute) command, this will become the 10 degrees/minute
command.
(Note 7) The decimal places below the decimal point are ignored when a command, such as an S
command, with an invalid decimal point has been assigned with a decimal poi nt.
(Note 8) This format is the same for the value input from the memory, MDI or setting and display unit.
(Note 9) Command the program No. in an independent block. Command the program NO. in the head
block of the program.
11
3. Data Formats
3.3 Tape Memory Format
Function and purpose
(1) Storage tape and significant sections (ISO, EIA automatic judgment)
Both ISO and EIA tape codes can be stored in the memory in the same way as tape ope ration.
After resetting, ISO/EIA is automatically judged by the EOB code at the head.
The interval to be stored in the memory is from the next character after the head EOB to the
EOR code after resetting.
The significant codes listed in the "Table of tape code" in Section 3.1 "Tape codes", in the
above significant section 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
3.4.1 Optional Block Skip; /
3.3 Tape Memory Format
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 block are not to
be executed for another workpiece, the same comman d tape can be used to machine diffe rent
parts by inserting the "/" code at the head of those specific blocks.
Precautions for using optional block skip
(1) Put the "/" code for optional block skip at the beginning of a block. If it is placed inside the block,
it is assumed as a user macro, a division instruction.
(2) Parity checks (H and V) are conducted regardless of the optional block skip switch position.
(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 No. search.
(5) All blocks with the "/" code are also input and output during tape storing and tape output,
regardless of the position of the optional block skip switch.
a program error results.)
12
3. Data Formats
3.4.2 Optional Block Skip Addition ; /n
3.4 Optional Block Skip
Function and purpose
Whether the block with "/n (n:1 to 9)" (slash) is executed du ring automatic operation an d searching
is selected.
By using the machining program with "/n" code, different parts can be machined by the same
program.
Detailed description
The block with "/n" (slash) code is skipped when the "/n" is programmed to the head of the block
and the optional block skip signal is turned ON.
For the block with the "/n" code inside the block (not the head of block), the program is operated
according to the value of the parameter "#1226 aux10/bit1" setting.
When the optional block skip signal is OFF, the block with "/n" is executed.
Example of program
(1) When the 2 parts like the figure below are machined, the following program is used. When the
optional block skip 5 signal is ON, the part 1 is created. When the optional blo ck skip 5 signal is
OFF, the part 2 is created.
<Program>
N1 G54;
N2 G90G81X50. Z-20. R3. F100;
/5 N3 X30.;
N4 X10.;
N5 G80;
M02;
Part 1
the optional block skip 5 signal ON
Part 2
the optional block skip 5 signal OFF
N4 N2N2 N3
13
N4
3. Data Formats
3.4 Optional Block Skip
(2) When two or more "/n" codes are commanded to the head of the same block, the block is
ignored if either of the optional block skip signal corresponding to the command i s ON.
and the optional block skip 2 signal is OFF,
"Y1. Z1." is ignored
(b) When the optional block skip 1 signal is
OFF and the optional block skip 2 signal is
ON, "Z1." is ignored.
14
3. Data Formats
3.5 Program/Sequence/Block Nos.; O, N
Function and purpose
These Nos. are used for monitoring the execution of the machining programs and for calling both
machining programs and specific stages in machining programs.
(1) Program Nos. 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 Nos. are attached where appropriate to command blocks which configure ma chining
programs, and they are designated by the address "N" followed by a number with up to 6 digits.
(3) Block Nos. are automatically provided internally. They are preset to zero every time a program
No. or sequence No. is read, and they are counted up one at a time unless program Nos. or
sequence Nos. 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 Nos., sequence Nos. an d
block Nos.
Parity check provides a mean of checking whether the tape has been correctly perforated or not.
This involves checking for perforated code errors or, in other words, for perforation errors. There
are two types of parity check: Parity H and Parity V.
(1) Parity H
3.6 Parity H/V
Parity H checks the number of holes configuring a character and it is done during tape
operation, tape input and sequence No. search.
A parity H error is caused in the following cases.
(a) ISO code
When a code with an odd number of holes in a significant data secti on has been detected.
(b) EIA code
When a code with an even number of holes in a significant data section has been
detected.
When a parity H error occurs, the tape stops following the alarm code.
A parity V check is done during tape operation, tape input and sequence No. search when the
I/O PARA #9n15 (n is the unit No.1 to 5) parity V check function is set to "1". It is not done
during memory mode.
A parity V error occurs in the following case: when the number of codes from the first significant
code to the EOB (;) in the significant data section in the vertical direction of the tape is an odd
number, that is, when the number of characters in one block is odd.
When a parity V error is detected, the tape stops at the code following the EOB (;).
(Note 1) Among the tape codes, there are codes which are counted as characters for parity
and codes which are not counted as such. For details, refer to the "Table of tape
code" in Section 3.1 "Tape codes".
(Note 2) Any space codes which may appear within the section from the initial EOB code to the
address code or "/" code are counted for parity V check.
•••
•••
•• ••••
••
••••
This character causes a parity H error.
• •
• •
••••
•••
•••
•
16
3. Data Formats
3.7 G Code Lists
Function and purpose
G codes include the six G code lists 2, 3, 4, 5, 6 and 7. One list is selected by setting in parameter
"#1037 cmdtyp".
cmdtyp G code list
3 List 2
4 List 3
5 List 4
6 List 5
7 List 6
8 List 7
G functions are explained using the G code list 3.
(Note 1) A program error (P34) will result if a G code that is not in the Table of G code lists is
(Note 2) An alarm will result if a G code without additional specifications is comman ded.
Plane selection X-Y 6.5
Plane selection Z-X 6.5
Plane selection Y-Z 6.5
Inch command 5.3
Metric command 5.3
Barrier check ON 15.1
Barrier check OFF 15.1
Soft limit ON 15.2
Soft limit OFF 15.2
Reference position return check 14.9
Automatic reference position return 14.7
Return from reference position 14.7
2nd, 3rd and 4th reference position return 14.8
Tool change position return 1 13.17
Tool change position return 2 13.17
Tool change position return 3 13.17
Tool change position return 4 13.17
Tool change position return 5 13.17
Skip function/Multiple-step skip function 2 16.2
16.4
Multiple-step skip function 1-1 16.3
Multiple-step skip function 1-2 16.3
Multiple-step skip function 1-3 16.3
Thread cutting 6.6.1
1st spindle control mode 10.12.2
Selected spindle control mode 10.12.2
All spindles simultaneous control mode 10.12.2
Spindle clamp speed setting
Coordinate system setting
10.5
14.6
Scaling cancel
Scaling ON
Polygon machining mode cancel
(spindle-tool axis synchronization)
Polygon machining mode ON
(spindle-tool axis synchronization)
10.9
10.9
Local coordinate system setting 14.11
Basic machine coordinate system
selection
14.5
Workpiece coordinate system selection 1 14.10
Workpiece coordinate system selection 2 14.10
Workpiece coordinate system selection 3 14.10
Workpiece coordinate system selection 4 14.10
Workpiece coordinate system selection 5 14.10
Workpiece coordinate system selection 6 14.10
Workpiece coordinate system 48 sets
expanded
14.10
Exact stop check mode 7.11
Automatic corner override 7.13
Tapping mode 7.14
Cutting mode 7.15
User macro call 13.9.1
User macro modal call A 13.9.1
User macro modal call B 13.9.1
User macro modal call cancel 13.9.1
Mirror image for facing tool posts ON 13.10
Mirror image for facing tool posts OFF 13.10
Mirror image for facing tool posts ON or
balance cut mode ON
Mirror image for facing tool posts OFF or
balance cut mode cancel
13.10
13.10
Finishing cycle 13.3.4
Longitudinal rough cutting cycle 13.3.1
Face rough cutting cycle 13.3.2
Formed material rough cutting cycle 13.3.3
Face cut-off cycle 13.3.5
Longitudinal cut-off cycle 13.3.6
Compound thread cutting cycle 13.3.7
Workpiece coordinate preset 14.12
Constant surface speed control ON 10.4
Constant surface speed control OFF 10.4
Feed per minute (Asynchronous feed) 7.4
Feed per revolution (Synchronous feed) 7.4
Absolute value command 5.1
Incremental value command 5.1
(Note 1) A (∗) symbol indicates the G code to be selected in each group when the power is turned
ON or when a reset is executed to initialize the modal.
(Note 2) A (
Δ) symbol indicates the G code for which parameters selection is possible as an
initialization status when the power is turned ON or when a reset is executed to initialize
the modal. Note that inch/metric changeover can only be selected when the power is
turned ON.
(Note 3) A (•) symbol indicates a function dedicated for multi-part system.
(Note 4) If two or more G codes from the same group are commanded, the last G code will be
valid.
(Note 5) This G code list is a list of conventional G codes. Depending on the machine, movements
that differ from the conventional G commands may be included when called by the G code
macro. Refer to the Instruction Manual issued by the machine tool builder.
(Note 6) Whether the modal is initialized differs for each reset input.
(1) "Reset 1"
The modal is initialized when the reset initialization parameter (#1151 rstinit) is ON.
The commands with "no value after G" will be handled as "G00".
22
3. Data Formats
3.8 Precautions before Starting Machining
Precautions before machining
CAUTION
When creating the machining program, select the appropriate machining con ditions, 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.
Before starting actual machining, always carry out dry run operation to confirm the machining
program, tool offset amount and workpiece offset amount, etc.
3.8 Precautions before Starting Machining
23
4. Buffer Register
A
A
4. Buffer Register
4.1 Input Buffer
Function and purpose
When the pre-read buffer is empty during a tape operation or RS-232C operation, the contents of
the input buffer are immediately transferred to the pre-read buffers, and provided that the data
stored in the input buffer do not exceed 250 × 4 characters, the following data (Max. 250
characters) are read and loaded into the input buffer.
This buffer is designed to eliminate the operational delay originating in the readout time of the tape
reader and to smooth out the block joints.
The pre-reading effects are lost, however, when the block execution time is shorter than the tape
readout time of the following block.
4.1 Input Buffer
Tape
Keyboard
(Buffer size: 250 × 5 characters)
Input buffer
Memory
MDI data
Mode
switching
Max. 5 execution blocks
Pre-read
buffer 5
Buffer 4
Buffer 3
Buffer 2
Buffer 1
Data equivalent to 1 block are
(Note)
stored in 1 pre-read buffer.
nalysis processing
rithmetic
processing
The input buffer has a memory capacity of 250 × 5 characters (including the EOB code).
(1) The contents of the input buffer register are updated in 250-character units.
(2) Only the significant codes in the significant data section are read into the input buffer.
(3) When codes (including "(" and ")") 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 read into the input buffer.
(4) The input buffer contents are cleared with resetting.
(Note 1) The input buffer size (250 characters) differs according to the model.
24
4. Buffer Register
4.2 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 compen sation, a maximum of
5 blocks are pre-read for the intersection point calculation including interference check.
The specifications of the data in 1 block are as follows:
(1) The data of 1 block are stored in this buffer.
(2) Only the significant codes in the significant data section are read into the pre-read buffer.
(3) When codes are sandwiched in the control in and control out, 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.
Other precautions
(1) Depending on whether the program is executed continuously or by single blocks, the timing of
the valid/invalid for the external control signals for the optional block skip and others will differ.
4.2 Pre-read Buffers
(2) If the external control signal such as optional block skip is turned ON/OFF with the M command,
the external control operation will not be effective on the program pre-read with the buffer
register.
(3) According to the M command that operates the external controls, it prohibits pre-reading, and
the recalculation is as follows:
The M command that commands the external controls is distinguished at the PLC, and the
"recalculation request" for PLC → NC interface table is turned ON.
(When the "recalculation request" is ON, the program that has been pre-read is reprocessed.)
25
5. Position Commands
X
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 method
and the absolute value method.
The incremental value method applies for coordinates of a point which is to be moved and it issue s
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
Incremental value commands and absolute value commands for the X axis and Z axis are identified
by address when parameter "#1076 AbsInc" is set to 1, and identified by G code (G90/
G91) when set to 0. Similarly, even with additional axes (C axis 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)
W ;
(Note 1) When parameter "#1076 AbsInc" is 1, and H is used for the incremental command
address, address H of blocks in M98, G114.2, and G10 L50 modal will be handled as the
parameter of each command, and the axis will not be moved.
X axis Address X
Z axis Address Z
C/Y axisAddress C/Y
X axis Address U
Z axis Address W
C/Y axisAddress H/V
Command methodRemarks
• Set correspondence between
addresses and axes into "#1013
axname" and "#1014 incax".
• Absolute and incremental values can
be used together in the same block.
Incremental value command for Z axis
Absolute value command for X axis
26
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 commanded 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
(#1019 dia) 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
Even when a diameter command
has been selected, only the U
X = r1 X = 2r1 U = r2 U = 2r2
command can be made a radius
command by parameter "#1077
radius".
Radius and diameter commands
Precautions and Restrictions
(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.
27
5. Position Commands
5.3 Inch/Metric Conversion; G20, G21
Function and purpose
The commands can be changed between inch and metric with the G20/G21 command.
Command format
G20/G21;
G20 Inch command
G21 Metric command
Detailed description
The G20 and G21 commands merely select the com mand units. They do not sel ect the Input units.
G20 and G21 selection is meaningful only for linear axes and it is meaningless for rotation axes.
Output unit, command unit and setting unit
The counter or parameter setting and display unit is determined by parameter "#1041 I_inch".
For the movement/speed command, the followings will be resulted:
The movement/speed command will be displayed as metric units when "#1041 I_inch" is ON during
the G21 command mode.
The internal unit metric data of the movement/speed command will be converted into an inch unit
and displayed when "#1041 I_inch" is OFF during the G20 command mode.
The command unit for when the power is turned ON and reset is decided by combining the
parameters "#1041 I_inch", "#1151 rstint" and "#1210 RstGmd/bit5".
NC axis
Movement/
speed command
Counter display Metric Metric Inch Inch
Speed display Metric Metric Inch Inch
User parameter
setting/display
Workpiece/
tool offset
setting/display
Handle feed
command
PLC axis
Movement/
speed command
Counter display Metric Inch
User parameter
setting/display
Item
Item
Initial inch OFF
(metric internal unit)
#1041 I_inch=0
G21 G20 G21 G20
Metric Inch Metric Inch
Metric Metric Inch Inch
Metric Metric Inch Inch
Metric Metric Inch Inch
#1042 pcinch=0
5.3 Inch/Metric Conversion
Initial inch ON
(inch internal unit)
#1041 I_inch=1
#1042 pcinch=1
(metric)
Metric Inch
Metric Inch
(inch)
28
5. Position Commands
5.3 Inch/Metric Conversion
Precautions
(1) The parameter and tool data will be input/output with the "#1041 I_inch" setting unit.
If "#1041 I_inch" is not found in the parameter input data, the unit will follow the unit currently
set to NC.
(2) The unit of read/write used in PLC window is fixed to metric unit regardless of a parameter and
G20/G21 command modal.
(3) A program error (P33) will occur if G20/G21 command is issued in the same block as following
G code. Command in a separate block.
G7.1 (Cylindrical Interpolation)
G12.1 (Polar coordinate interpolation)
29
5. Position Commands
5.4 Decimal Point Input
Function and purpose
This function enables the decimal point to be input. It assigns the decimal point in millimeter or inch
units for the machining program input information that defines the tool paths, distances and speeds.
A parameter "#1078 Decpt2" selects whether minimum input command increment (type I) or zero
point (type II) is to apply for the least significant digit of data without a decimal point.
Detailed description
(1) The decimal point command is valid for the distances, angles, times and speeds in machining
programs.
(2) Refer to the table rising the "Addresses used and valid/invalid decimal point commands" for
details on the valid addresses for the decimal point commands.
(3) In decimal point command, the valid range of command value is as shown below (for input
command increment cunit=10).
5.4 Decimal Point Input
Movement
Input unit
[mm]
Input unit
[inch]
(4) The decimal point command is valid even for commands defining the variable data used in
subprograms.
(5) Decimal point commands for decimal point invalid addre sses 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.
(Example1) G00 X123+0 ;
command
(linear)
-99999.999 to
99999.999
-9999.9999 to
9999.9999
This is the X axis command 123mm command. It will not be 123μm.
Movement
command
(rotary)
-99999.999 to
99999.999
Feed rate Dwell
0. 001 to
10000000.000
0. 0001 to
1000000.0000
0 to 99999.999
30
5. Position Commands
5.4 Decimal Point Input
Example of program
(1) Example of program for decimal point valid address
Decimal point input I, II and decimal point command validity
In the table on the next page, decimal point input I and II result in the following for commands in
which a decimal point is not used in an address where a decimal point command is valid.
Both decimal point input I and II become the same for commands using a decimal point.
(1) Decimal point input I
The lowest order digit of command data matches the command unit.
(Example) When "X1" is commanded in 1μm system, the same result occurs as for an
Specification division
"X0.001" command.
Decimal point command 1
When 1 = 1μmWhen 1 = 10μm
X123.450mm X123.450mm X123.450mm
X12.345mm
(last digit is 1μm
unit)
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
X123.450mm X12345.000mm
X123.000mm,
Z5.550mm
#116 = 22.162,
#117 = 0.045
Decimal point
command 2
When 1 = 1mm
X123.000mm,
Z5.550mm
#116 = 22.162,
#117 = 0.045
(2) Decimal point input II
The lowest order digit of command data matches the command unit.
(Example) When "X1" is commanded in 1μm system, the same result occurs as for an "X1."
command.
31
5. Position Commands
Addresses used, validity of decimal point commands
5.4 Decimal Point Input
Decimal
Add-
ress
point
command
Valid Coordinate position data
A
Invalid 2nd miscellaneous function
Valid Angle data
Invalid MRC program No.
Invalid Parameter input by
Valid Deep hole drilling cycle (2)
Valid Spindle synchronous
Valid Coordinate position data B
Invalid 2nd miscellaneous function
Valid Coordinate position data
C
Invalid 2nd miscellaneous function
Valid Corner chamfering amount ,C
Valid Program tool offset input
Valid Chamfering width (slitting
Valid Automatic tool length
D
Invalid Parameter input by
Invalid Synchronous spindle No. at
Valid Inch threads
Valid Corner cutting feed rate
Valid Feed rate F
Valid Thread lead
G Valid Preparatory function code
Valid Coordinate position data
H
Invalid Sequence Nos. in
Invalid Parameter input by
Invalid Selection of linear - arc
Invalid Basic spindle No. at spindle
Valid Circular center coordinates
I
Valid Nose R compensation/ tool
Valid Deep hole drilling (2)
Valid G0/G1 in-position width
Application
code
program, axis No.
Safety distance
acceleration/deceleration
time constant
code
code
Nose R compensation
amount (incremental)
cycle)
measurement,
deceleration range d
program, byte type data
spindle synchronization
Precision thread lead
subprograms
program, bit type data
intersection (geometric)
synchronization
radius compensation vector
components
First cut amount
Hole drilling cycle G0
in-position width
Re-
marks
E
,I
Add-
ress
J
K
L
M Invalid Miscellaneous function
O Invalid Program Nos.
P
(Note 1) Decimal points are all valid in user macro arguments.
Decimal
point
command
Valid Circular center coordinates
Valid Nose R compensation/ tool
Invalid Deep hole drilling (2)
Invalid Hole drilling cycle G1
Valid Circular center coordinates
Valid Nose R compensation/tool
Invalid Hole machining cycle
Valid Deep hole drilling cycle (2)
Valid Thread lead increase/
Invalid Subprogram
Invalid Program tool compensation
Invalid Parameter input by program,
Invalid Parameter input by program,
Invalid Synchronization
Invalid Tool life data
Invalid Sequence Nos. N
Invalid Parameter input by program,
Invalid Dwell time
Invalid Subprogram call program
Invalid 2nd, 3rd and 4th reference
Invalid Constant surface speed
Invalid MRC finishing shape start
Valid Cut-off cycle
Invalid Compound thread cutting
Valid Compound thread cutting
Invalid Program tool compensation
Application
radius compensation vector
components
Dwell at return point
in-position width
radius compensation vector
components
Number of repetitions
Second and subsequent cut
amounts
decrease amount (variable
lead thread cutting)
Number of repetitions
input type selection
selection
two-word type data
codes
data No.
Nos.
position No.
control, axis No.
sequence No.
shift amount/cut amount
cycle, number of cutting
passes, chamfering, tool
nose angle
cycle
Thread height
input compensation No.
Re-
marks
,J
L2
L10
L11
L70
4 bytes
32
5. Position Commands
Decimal
Add-
ress
point
command
Invalid
P
Valid Coordinate position data
Invalid Skip signal command
Valid
Invalid
Invalid
Invalid Tool life data group No.
Invalid
Q
Invalid
Valid
Valid
Valid
Valid
Invalid
Invalid
Valid
Valid
Invalid
Valid R-designated arc radius
R
Valid
Valid
Valid
Invalid MRC shaping division No.
Valid
Valid
Valid
Valid
Valid
Parameter input by
program, section No.
Arc center coordinates
(absolute value)
(geometric)
Subprogram return
destination sequence No.
Extended workpiece
coordinate system No.
Minimum spindle clamp
rotation speed
MRC finishing shape end
sequence No.
Cut-off cycle
Cut amount/shift amount
Compound thread cutting
cycle
Minimum cut amount
Compound thread cutting
cycle
First cut amount
Deep hole drilling cycle 1
Cut amount of each pass
Program tool compensation
input
Hypothetical tool nose point
No.
Deep hole drilling cycle (2)
Dwell at cut point
Arc center coordinates
(absolute value)
(geometric)
Thread cutting start shift
angle
Tool life data management
method
Corner rounding circular
radius
Automatic tool length
measurement, deceleration
range r
(Note 1) Decimal points are all valid in user macro arguments.
33
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 X__/U__ Z__/W__ ;
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, G33 or G34 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)
(2) In he G00 mode, acceleration and deceleration are always carried out at the start point and end
point of the block. After confirming that the current block command is 0, the next block is
advanced to after confirming the state of the tracking error of the acceleration/deceleration circuit.
The in-position width is set with the parameters.
(3) Any G command (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".
34
6. Interpolation Functions
6.1 Positioning (Rapid Traverse)
Example of program
+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)
Precautions
(Note 1) When the parameter "#1086 G0Intp" is 0, 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
Start
300
fz
point
(Unit : mm)
Actual Z axis rate: 9600 mm/m in
Z
35
6. Interpolation Functions
(Note 2) When parameter "#1086 G0Intp" is 1, 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 9600 mm/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)
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
36
6. Interpolation Functions
A
A
(Note 3) The rapid traverse rate for each axis with the G00 command differs according to the
individual machine and so reference should be made to the machine specifications
manual.
(Note 4) Rapid traverse (G00) deceleration check
There are two methods for the deceleration check at rapid traverse; commanded
deceleration method and in-position check method. Select a method with the parameter
“#1193 inpos”.
■ When “inpos” = “1”
Upon completion of the rapid traverse (G00), the next block will be executed after
confirming that the remaining distances for each axis are below the fixed amounts. (Refer
to “Operation during in-position check”.)
The confirmation of the remaining distance should be done with the imposition width, L
L
The purpose of checking the rapid feed rate is to minimize the time it takes for po sitioning.
The bigger the setting value for the servo parameter "#2224 sv024", the longer the
reduced time is, but the remaining distance of the previous block at the starting time of the
next block also becomes larger, and this could become an obstacle in the actual
processing work. The check for the remaining distance is done at set intervals.
Accordingly, it may not be possible to get the actual amount of time reduction for
positioning with the setting value sv024.
■ When “inpos” = “0”
Upon completion of the rapid traverse (G00), the next block will be executed after the
deceleration check time (Td) has elapsed. The deceleration check time (Td) i s as follows,
depending on the acceleration/deceleration type.
(1) Linear acceleration/linear deceleration......................... Td = Ts + α
6.1 Positioning (Rapid Traverse)
is the setting value for the servo parameter "#2224 sv024".
R
.
R
Previous block
Ts
Td
cceleration/deceleration
Ts :
time constant
Td : Deceleration check time
Td = Ts + (0 to 14ms)
Where Ts is the acceleration 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.
Ts
Td
6.1 Positioning (Rapid Traverse)
cceleration/deceleration
Ts :
time constant
Td : Deceleration check time
Td = 2 × Ts + (0 to 14ms)
38
6. Interpolation Functions
6.1 Positioning (Rapid Traverse)
Programmable in-position width command for positioning
This command commands the in-position width for the positioning command from the machining
program.
G00 X__ Z__ ,I__ ;
In-position width
Positioning coordinate value of each axis
Operation during in-position check
Execution of the next block starts after confirming that the position error amount of the positioning
(rapid traverse: G00) command block and the block that carries out deceleration check with the
linear interpolation (G01) command is less than the in-position width issued in this command.
The in-position width in this command is valid only in the command block, so the deceleration check
method set in base specification parameter "#1193 inpos" is used for blocks that do not have the
in-position width command.
When there are several movement axes, the system confirms that the position error amount of
each movement axis in each part system is less than the in-position width issued in this com m and
before executing the next block.
The differences of when the in-position check is validated with the parameter (base specification
parameter "#1193 inpos" set to 1; refer to next page for in-position width) and when validated with
this command are shown below.
The differences of In-position check with parameter
In-position check with ",I" address command In-position check with parameter
After starting deceleration of the command system,
the position error amount and commanded
in-position width are compared.
After starting deceleration of the command system,
the servo system's position error amount and the
parameter setting value (in-position width) are
compared.
Block being
executed
Servo Command
In-position width
(Error amount of
command end point
and machine position)
Ts
Td
Block being
executed
Servo
Ts
Command
Td
In-position width
(Servo system position
error amount)
Start of in-position
check with parameter
Start of in-position check
with ",I" address command
Ts : Acceleration/deceleration time constant
Td : Deceleration check time
Td = Ts + (0 to 14ms)
39
6. Interpolation Functions
A
A
6.1 Positioning (Rapid Traverse)
G0/G1 in-position width setting
When the setting value of the servo parameter "#2224 SV024" is smaller than the setting value of
the G0 in-position width "#2077 G0inps" and the G1 in-position width "#2078 G1inps", the
in-position check is carried out with the G0 in-position width and the G1 in-position width.
In-position check using the "G0inps"
value
Command to motor
Outline of motor movement
G0 in-position
SV024
stop is judged here.
In-position check using the "G1inps"
value
Command to motor
Outline of motor movement
G1 in-position
SV024
stop is judged here.
When the SV024 value is larger, the in-position check is completed when the error amount is
smaller than the SV024 setting value.
The in-position check method depends on the method set in the deceleration check parameter.
(Note 1) When the in-position width (programmable in-position check width) is set in the machining
program, either the in-position width set with the parameter (SV024, G0inps, G1inps) or
that set in the program, whichever larger, is applied when performing an in-position
check.
(Note 2) When the SV024 setting value is larger than the G0 in-position width/G1 in-position width,
the in-position check is carried out with the SV024 value.
(Note 3) When the error detection is ON, the in-position check is forcibly carried out.
40
6. Interpolation Functions
6.2 Linear Interpolation
6.2 Linear Interpolation; G01
Function and purpose
This command is accompanied by coordinate words and a feed rate 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 feed rate specified by address F always
acts as a linear speed in the tool nose center advance direction.
Command format
G01 X__/U__ Z__/W__ α__ F__ ,I__ ; ("α" is an additional axis)
X, U, Z, W, α
F
I
Coordinate values
Feed rate (mm/min or °/min)
In-position width. This is valid only in the commanded block. A block that
does not contain this address will follow the parameter "#1193 inpos"
settings. 1 to 999999 (mm)
X axis
Z
Command point
W
U
/
2
X
Detailed description
Once this command is issued, the mode is maintained until another G function (G00, G02, G03,
G33, G34) in the 01 group which changes the G01 mode is issued. Therefore, if the next command
is also G01 and if the feed rate 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 feed rate for a rotation axis is commanded by
°/min)
300
The G functions (G70 to G89) in the 09 group are cancelled (G80) by the G01 command.
Present position
Z axis
°/min (decimal point position unit). (F300 =
41
6. Interpolation Functions
6.2 Linear Interpolation
Example of program
(Example 1)
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 P1 → P2 → P3 → P4 at 300mm/min feed rate
Programmable in-position width command for linear interpolation
This command commands the in-position width for the linear interpolation command from the
machining program.
The commanded in-position width is valid in the linear interpolation command only when carrying
out deceleration check.
• When the error detection switch is ON.
• When G09 (e xact stop che ck) is commanded in the same block.
• When G61 (exact stop check mode) is selected.
G01 X__ Z__ F__ ,I__ ;
In-position width
Feed rate
Linear interpolation coordinate value of each axis
(Note 1) Refer to section "6.1 Positioning (Rapid Traverse); G00" for details on the in-position
check operation.
43
6. Interpolation Functions
r
6.3 Circular Interpolation; G02, G03
Function and purpose
These commands serve to move the tool along a circular.
Command format
G02 (G03) X__/U__ Z__/W__ I__ K__ F__ ;
G02 Clockwise (CW)
G03 Counterclockwise (CCW)
X/U Circular end point coordinates, X axis (absolute value of workpiece
Z/W Circular end point coordinates, Z axis (absolute value of workpiece
I Circular center, X axis (for I, incremental value of X coordinate at center as
K Circular center, Z axis (for K, incremental value of Z coordinate at cente r as
F Feed rate
coordinate system for X, incremental value from present position for U)
coordinate system for Z, incremental value from present position for W)
seen from start point. Command as “radius command”.)
seen from start point)
The circular center coordinate value is commanded with an input setting increment. Caution is
required for the arc command of an axis for witch the input command increment differs. Com mand
with a decimal point to avoid confusion.
6.3 Circular Interpolation
X axis
End point
U/2
X
ZK
Cente
I
Start
point
W
Z axis
44
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 : Clockwise (CW)
G03 : Counterclockwise (CCW)
+X
Chuck
CCW(G03)
6.3 Circular Interpolation
Turret
+X
CW(G02)
Workpiece
CCW(G03)
+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)
CW(G02)
Turret
+Z
+Z
+Z
+X
(d) Feed rate :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 (P151) results if a T command is issued in the G2/G3 modal status.
45
6. Interpolation Functions
Example of program
6.3 Circular Interpolation
Workpiece
coordinate
zero point
G2 X120.0 Z70.0 I50.0 F200 ; Absolute value command
G2 U100.0 W-50.0 I50.0 F200 ; Incremental value command
X axis
50.0
120.0
20.0
Z axis
70.050.0
(Unit: mm)
46
6. Interpolation Functions
Change into linear interpolation command
Program error (P33) will occur when the center and radius are not designated at circular command.
When the parameter "#11029 Arc to G1 no Cent (Change comm and from arc to linea r when no arc
center designation)" is set, the linear interpolation can be applied to terminal coordinates value for
only the block. However, a modal is the circular modal.
This function is not applied to a circular command by a geometric function.
(Example) The parameter "#11029 Arc to G1 no Cent (Change command from arc to linear when
no arc center designation)" = "1"
(a) The circular interpolation (G02) is executed because there is a center command.
(b) The linear interpolation (G01) is executed because there is no center and radius command.
47
6. Interpolation Functions
;
Δ
A
p
;
t
6.3 Circular Interpolation
Cautions for circular interpolation
(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.
(2) If all the end point coordinates are omitted or the end point is at the same position as the start
point, commanding the center using I and K is the same as commanding a 360
circle).
(3) The following occurs when the start and end point radii do not match in a circular command:
(a) Program error (P70) results at the circular start point when error
parameter "#1084 RadErr".
G02Z80.K50.
X
larm stop
Start
point
(b) Spiral interpolation in the direction of the commanded end point results when error
less than the parameter value.
Start
oint radius
Center End point
End point
Z
radius
ΔR is greater than the
R
° arc (perfect
ΔR is
G02Z90.K50.
Spiral interpolation
X
End
Z
Center
End poin
radius
Start
Start point radius
point
point
R
Δ
48
6. Interpolation Functions
6.4 R Specification Circular Interpolation
6.4 R Specification 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) X/U__ Z/W__ R__ F__ ;
X/U
Z/W
R
F
The arc radius is commanded with an input setting increment. Caution is required for the arc
command of an axis for which the input command increment differs. Command with a decimal point
to avoid confusion.
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 radiu s whose start point is
the center intersects the perpendicular bisecto r line, serves as the center coordinates of the circular
command.
If the R sign of the commanded program is plus, the circular is smaller than a semicircular; if it is
minus, the circular is larger than a semicircular.
X-axis end point coordinate
Z-axis end point coordinate
Circular radius
Feed rate
Circular path when R sign is minus
02
Center
point
L
Start point
The following condition must be met with an R specification circular interpolation command:
Where L is the line from the start point to end point.
If an R specification and I, K specification are given at the same time in the same block, the circular
command with the R specification takes precedence.
In the case of a full-circle command (where the start and end points coincide), an R specification
circular command will be completed immediately even if it is issued and no operation will be
executed. An I, K specification circular command should therefore be used in such a case.
L
2 × r
When L/2 - r > (parameter : #1084 RadErr), an alarm will occur.
≤ 1
r
Center point
01
End point
Circular path when R sign is plus
49
6. Interpolation Functions
6.4 R Specification Circular Interpolation
Example of program
(Example 1)
G03 Zz1 Xx1 Rr1 Ff1 ; R specification circular on Z-X plane
(Example 2)
G02 Xx1 Zz1 Ii1 Kk1 Rr1 Ff1 ; R specification circular on X-Z plane
(When the R specification and I, K specification are
contained in the same block, the R specification has
priority in processing.)
Circular center coordinate compensation
When "the error margin between the segment connecting the start and end points" and "the
commanded radius × 2" is less than the setting value because the required semicircle is not
obtained by calculation error in R specification circular interpolation, "the midpoint of segment
connecting the start and end points" is compensated as the circular center.
Set the setting value to the parameter "#11028 Tolerance Arc Cent (Tolerable correction value of
arc center error)".
(Ex.) "#11028 Tolerance Arc Cent" = "0.000 (mm)"
Setting value Tolerance value
Setting value< 0 0(Center error will not be interpolated)
Setting value= 0
Setting value> 0 Setting value
(a) Compensate the center coordinate: Same as N1 path
(b) Do not compensate the center coordinate: Inside path a little than N1
Calculation error margin compensation allowance value: 0.002 mm
Segment connecting the start and end paints: 10.000
N3: Radius × 2 = 10.002 "Error 0.002 -> Compensate"
N5: Radius × 2 = 10.004 "Error 0.004 -> Do not compensate"
Therefore, this example is shown in the above figure.
50
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:
• The plane for circular interpolation
• The plane for nose R compensation
Command format
G17;
G18;
G19;
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 p arameters "#1025
I_plane" is selected.
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)
#1029 to 1031
aux_I, J, K
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.
Y
G17XY;
G03
X
G18XZ;
G03
Z
G19YZ;
G03
G02
X
(2) Plane selection is not performed with blocks in which the plane selection G code (G17, G18,
(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 = G18 XZ ;)
(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.
G18 XYZ ; The Z-X plane is selected.
Therefore, the Y movement is unrelated to the selected plane.
(Note 1) When the "2" in the parameter "#1025 I_plane" is kept ON, the G18 plane is selected
when the power is turned ON or when the system is reset.
G02
G02
Z
Y
52
6. Interpolation Functions
δ
δ
6.6 Thread Cutting
6.6.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.
Thread end point
Lead of long axis (axis which moves most) direction
Thread cutting start shift angle, 0.001 to 360.000
°
X axis
End
point
U/2
δ2
1
One-rotation synchronization signal
Q
Z axis
Start point
Thread cutting start position
Z
X
Z
> Illegal lead at start of thread cutting
1
δ
> Illegal lead at end of thread cutting
2
W
F/E
53
6. Interpolation Functions
6.6 Thread Cutting
Detailed description
(1) The E command is also used for the number of ridges in inch thread cutting, and whether the
number of ridges or precision lead is to be designated can be selected by parameter setting.
(Parameter "#1229 set 01/bit" is set to "1" for precision lead designation.)
(2) The lead in the long axis direction is commanded for the taper thread lead.
X axis
When a < 45
When a > 45
When a = 45
End
point
U/2
°, Lead is in Z-axis direction.
°, Lead is in X-axis direction.
°, Lead can be in either Z or X-axis direction.
W
Tapered thread section
a°
Start point
Z axis
Thread cutting metric input
Input
setting unit
Command
address
Least
command
increment
Command
range
Input
setting unit
Command
address
Least
command
increment
Command
range
B (0.001mm) C (0.0001mm)
F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)
1 (=1.000),
(1.=1.000)
0.001 to
999.999
F (mm/rev) E (mm/rev) E (ridges/inch) F (mm/rev) E (mm/rev) E (ridges/inch)
1 (= 1.00000),
(1.=1.00000)
0.00001 to
999.99999
1 (= 1.00000),
(1.=1.00000)
0.00001 to
999.99999
D (0.00001mm)E (0.000001mm)
1 (= 1.0000000),
(1.=1.0000000)
0.0000001 to
999.9999999
1 (= 1.00),
(1.=1.00)
0.03 to
999.99
1 (= 1.0000),
(1.=1.0000)
0.2550 to
999.9999
1 (= 1.0000),
(1.=1.0000)
0.0001 to
999.9999
1 (= 1.000000),
(1.=1.000000)
0.000001 to
999.999999
1(=1.000000),
(1.=1.000000)
0.000001 to
999.999999
1 (=1.00000000),
(1.=1.00000000)
0.00000001 to
999.99999999
1 (= 1.000),
(1.=1.000)
0.255 to
999.999
1 (= 1.00000),
(1.=1.00000)
0.25500 to
999.99999
54
6. Interpolation Functions
Thread cutting inch input
6.6 Thread Cutting
Input
setting unit
Command
address
Least
command
increment
Command
range
Input
setting unit
Command
address
Least
command
increment
Command
range
B (0.0001inch) C (0.00001inch)
F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)
1(=1.0000),
(1.=1.0000)
0.0001 to
99.9999
F (inch/rev) E (inch/rev) E (ridges/inch) F (inch/rev) E (inch/rev) E (ridges/inch)
1 (= 1.000000),
(1.=1.000000)
0.000001 to
99.999999
1(=1.000000),
(1.=1.000000)
0.000001 to
39.370078
D (0.000001inch)E (0.0000001inch)
1 (= 1.00000000),
(1.=1.00000000)
0.00000001 to
39.37007874
1 (= 1.0000),
(1.=1.0000)
0.0255 to
9999.9999
1 (= 1.000000),
(1.=1.000000)
0.025500 to
9999.99999
1(=1.00000),
(1.=1.00000)
0.00001 to
99.99999
1 (= 1.0000000),
(1.=1.0000000)
0.0000001 to
99.9999999
1(=1.0000000),
(1.=1.0000000)
0.0000001 to
39.3700787
1 (= 1.000000000),
(1.=1.000000000)
0.000000001 to
39.370078740
1(=1.00000),
(1.=1.00000)
0.25401 to
9999.99999
1 (= 1.0000000),
(1.=1.0000000)
0.0255000 to
9999.9999999
(Note 1) It is not possible to assign a lead where the feed rate as converted into feed per minute
exceeds the maximum cutting feed rate.
(3) The constant surface speed control function should not be used for taper thread cutting
commands or scrolled thread cutting commands.
(4) The spindle rotation speed should be kept constant throughout from the rough cutting until the
finishing.
(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.
Note that this is valid from the time the thread cutting command is executed to the time the axis
moves.
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 feed rate is compared with the cutting feed clamp rate when thread
cutting starts, and if it is found to exceed the clamp rate, an operation error will result.
(7) In order to protect the lead during thread cutting, a cutting feed rate which has be en converted
may sometimes exceed the cutting feed clamp rate.
(8) An illegal lead is normally produced at the start of the thread 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
δ1 and δ2 to the required thread length.
(9) The spindle rotation speed is subject to the following restriction:
≤ R ≤
1
Where R
Maximum feed rate
Thread lead
≤ Tolerable speed of encoder (r/min)
R = Spindle rotation speed (r/min)
Thread lead = mm or inches
Maximum feed rate = mm/min or inch/mm
(this is subject to the restrictions imposed by the machine specifications).
(10) A program error (P97) may occur when the result of the expression (9) is R<1 because the
thread lead is very large to the highest cutting feedrate.
55
6. Interpolation Functions
(11) Dry run is valid for thread cutting but the feed rate 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.
(12) Synchronous feed applies for the thread cutting commands even with an asynchronous feed
command (G94).
(13) Spindle override and cutting feed override are invalid and the speeds are fixed to 100% du ring
thread cutting.
(14) When a thread cutting command is programmed during nose R compensation, the
compensation is temporarily canceled and the thread cutting is executed.
(15) 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.
(16) When the mode 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 (When G33 mode is cancelled) is first executed and then the
automatic operation stops. Note that automatic operation is stopped until the G33 command
axis starts moving.
6.6 Thread Cutting
(17) The thread cutting comma nd waits for the single rotati on sync signal of the rotary encoder and
starts movement.
Note that carry out synchronization between part systems before issuing a thread cutting
command with multiple part systems. For example, when using the 1-spindle specifications
with multi-part systems, if one part system issues a thread cutting command during ongoing
thread cutting by another part system, the movement will start without waiting for the rotary
encoder single rotation sync signal.
(18) The threa d cutting start shift angle is not a modal. If there is no Q command with G33, this will
be handled as "Q0".
(19) The automatic handle interrupt/interruption is valid during thread cutting.
(20) If a value exceeding 360.000 is commanded with G33 Q, a program error (P35) will occur.
(21) G33 cuts one row with one cycle. To cut two rows, change the Q value, and issue the same
command.
56
6. Interpolation Functions
6.6 Thread Cutting
Example of program
X axis
20.0
90.0
40.0 50.0
G33 X90.0 Z40.0 E12.34567 ; Absolute valu e command
G33 U70.0 W-50.0 E12.34567 ; Incremental value command
(Unit: mm)
Z axis
57
6. Interpolation Functions
δ1δ
6.6.2 Inch Thread Cutting; G33
Function and purpose
If the number of ridges per inch in the long axis direction is assigned in the G33 command, the feed
of the tool synchronized with the spindle rotation will be controlled, whi ch means that constant-lead
straight thread-cutting and tapered thread-cutting can be performed.
Command format
G33 Z/W__ X/U__ E__ Q__ ;
Z,W,X,U
E
Q
6.6 Thread Cutting
Thread end point
Number of ridges per inch in direction of long axis (axis which moves
most) (decimal point command can also be assigned)
Thread cutting start shift angle, 0.001 to 360.000
°
X axis
End
point
Z
> Illegal lead at start of thread cutting
1
δ
> Illegal lead at end of thread cutting
2
U/2
Z
δ2
W
X
F/E
Z axis
Start point
One-rotation synchronization signal
Q
Thread cutting start position
Detailed description
(1) The number of ridges in the long axis direction is assigned as the number of ridges per inch.
(2) The E code is also used to assign the precision lead length, and whether the number of ridge s
or precision lead length is to be designated can be sel ected by parameter setting. (The number
of ridges is designated by setting parameter "#1229 set 01/bit 1" to "0".)
(3) The E command value should be set within the lead value range when the lead is converted.
(4) See Section "6.6.1 Constant lead thread cutting" for other details.
58
6. Interpolation Functions
6.6 Thread Cutting
Example of program
X axis
40.0 50.0
20.0
90.0
(Unit: mm)
Z axis
G33 X90.0 Z40.0 E12.0 ; Absolute value command
G33 U70.0 W-50.0 E12.0 ; Incremental value command
59
6. Interpolation Functions
6.6.3 Continuous Thread Cutting
Function and purpose
Continuous thread cutting is possible by assigning thread cutting commands co ntinuously.
In this way, it is possible to cut special threads whose lead or shape changes.
(1) The first thread cutting block in the continuous thread cutting command waits for the spindle's
single rotation synchronization signal before starting thread cutting. From the second and
following blocks, movement starts without waiting for the spindle's single rotation
synchronization command.
Thus, the thread cutting start shift angle (Q) can be commanded only in the first block.
(2) The G33 command can be omitted from the second and following blocks.
(3) When commanding continuous thread cutting, command the thread cutting commands in
successive blocks. If a command other than thread cutting is issue d, continuous thread cutting
will not take place.
Note that if a command that does not involve axis movement (G4 dwell command, MST
command, etc.) is commanded between the thread cutting command blocks, whether to wait
for the spindle's single rotation synchronization signal after the 2nd block can be selected with
the parameters.
Thread end point
Lead of long axis (axis which moves most) direction
Thread cutting start shift angle, 0.001 to 360.000
G33
G33
°
# Item Contents Setting range
1270 ext06/
bit6
(4) The other matters are the same as uniform lead thread cutting.
Set the continuous thread cutting Z phase wait operation.
0: If there is no movement command (MST command, etc.)
between the thread cutting locks, the 2nd block thread
cutting waits for the spindle's single rotation synchronization
signal before starting movement.
1: Even if there is no movement command (MST command,
etc.) between the thread cutting blocks, the 2nd block thread
cutting starts movement without waiting for the spindle's
single rotation synchronization signal.
60
0/1
6. Interpolation Functions
6.6.4 Variable Lead Thread Cutting; G34
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 Z/W
F/E
K
Thread end point
Standard screw lead
Lead increment or decrement amount per turn of the screw
Non-lead axis
6.6 Thread Cutting
Lead axis
F+3.5K
Lead speed
F+4K
F+2.5KF+1.5K F+0.5K
F+3KF+2KF+K F
61
6. Interpolation Functions
6.6 Thread Cutting
Detailed description
(1) The command range is as shown below.
Thread cutting metric input
Input
setting unit
Command
address
Least
command
increment
Command
range
Input
setting unit
Command
address
Least
command
increment
Command
range
F (mm/rev) E (mm/rev) F (mm/rev) E (mm/rev)
1 (=1.000),
(1.=1.000)
0.001 to
999.999
F (mm/rev) E (mm/rev) F (mm/rev) E (mm/rev)
1 (= 1.00000),
(1.=1.00000)
0.00001 to
999.99999
B (0.001mm) C (0.0001mm)
1 (= 1.00000),
(1.=1.00000)
0.00001 to
999.99999
D (0.00001mm) E (0.000001mm) B/C/D/E
1 (= 1.0000000),
(1.=1.0000000)
0.0000001 to
999.9999999
1 (= 1.0000),
(1.=1.0000)
0.0001 to
999.9999
1 (= 1.000000),
(1.=1.000000)
0.000001 to
999.999999
1(=1.000000),
(1.=1.000000)
0.000001 to
999.999999
1 (=1.00000000),
(1.=1.00000000)
0.00000001 to
999.99999999
K (n ∗ mm/rev)
n: Number of
pitches
Same as F or E
(signed)
Thread cutting inch input
Input
setting unit
Command
address
Least
command
increment
Command
range
Input
setting unit
Command
address
Least
command
increment
Command
range
1(=1.0000),
(1.=1.0000)
0.0001 to
99.9999
1 (= 1.000000),
(1.=1.000000)
0.000001 to
99.999999
B (0.0001inch) C (0.00001inch)
F (inch/rev) E (inch/rev) F (inch/rev) E (inch/rev)
1(=1.000000),
(1.=1.000000)
0.000001 to
39.370078
D (0.000001inch) E (0.0000001inch) B/C/D/E
F (inch/rev) E (inch/rev) F (inch/rev) E (inch/rev)
1 (= 1.00000000),
(1.=1.00000000)
0.00000001 to
39.37007874
1(=1.00000),
(1.=1.00000)
0.00001 to
99.99999
1 (= 1.0000000),
(1.=1.0000000)
0.0000001 to
99.9999999
1(=1.0000000),
(1.=1.0000000)
0.0000001 to
39.3700787
1 (= 1.000000000),
(1.=1.000000000)
0.000000001 to
39.370078740
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)
62
6. Interpolation Functions
(4) A program error will occur if the thread lead is not set correctly.
Error No. Meaning Remedy
P93
(Reference 1) Last lead =
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.6.1 Constant lead thread cutting; G33".
Illegal pitch value
(1) An invalid value is specified for F/E
or K in a thread cutting command.
(2) The last lead goes outside of the F/E
command range.
(F2+2KZ)
6.6 Thread Cutting
Specify valid values for F/E and
K.
(Reference 1)
63
6. Interpolation Functions
6.6.5 Circular Thread Cutting; G35, G36
Function and purpose
Circular thread cutting making the longitudinal direction the lead is possible.
Command format
G35(G36) X/U__ Z/W__ {
G35
G36
X/U
Z/W
I
K
R
F/E
Q
Clockwise (CW)
Counterclockwise (CCW)
Circular end point coordinate, X axis (absolute value of workpiece
coordinate system for X, incremental value from present position for U)
Circular end point coordinate, Z axis (absolute value of workpiece
coordinate system for Z, incremental value from present position for W)
Circular center, X axis (incremental value of circular center looking
from start point)
Circular center, Z axis (incremental value of circular center looking
from start point)
Arc radius
Longitudinal (axis with largest movement amount) direction lead
(F.. normal lead thread cutting/E .. precision lead thread, inch thread)
Thread cutting start shift angle, 0.000 to 360.000°
X axis
End point
U/2
I__ K__
R__
Z
} F/E__ Q__ ;
W
6.6 Thread Cutting
Start point
X
R
Center
K
l
Z axis
F/E
Circular thread
64
6. Interpolation Functions
6.6 Thread Cutting
Detailed description
(1) A program error (P33) will occur if the start point and end point match or if the arc center angle
is more than 180°.
(2) The following will occur if the start point radius and end point radius do not match.
• A program error (P70) will occur if the error ΔR is more than parameter "#1084 RadErr" (arc
error).
• Interpolation will start from the arc center where the start point radius and end point radius
match if the error
ΔR is less than parameter "#1084 RadErr".
Start point
radius
End point
End point radius
Obtained center
Center
ΔR
Start point
(3) A program error (P33) will occur if the R_ sign is negative.
(4) A program error (P33) will occur if there is no I_K_ command and R_ command.
(5) The R_ command will have the priority if the I_K_ command and R_ command are issued in
the same block.
(6) If the arc center is (0,0), the arc command can be issued for two successive quadrants. A
program error (P33) will occur if an arc with more than three quadrants is issued.
When Z axis is long axis
1st and 4th quadrant 2nd and 3rd quadrant
X
Start poin t End point
Center
Z
Start point E nd point
X
Center
Z
65
6. Interpolation Functions
(7) When the movement amount is equal, the horizontal direction in the sele cte d plane will be th e
long axis.
Plane selection Long axis when movement amount is equal
G17 (XY plane) I axis
G18 (ZX plane) K axis
G19 (YZ plane) J axis
(8) G36 is used to command two functions, automatic tool length measurement and circular thread
cutting (CCW). Which function is selected follows parameter "#1238 set10/bit0" (Arc thread
cutting).
G35 Circular thread cutting clockwise (CW)
G36 Circular thread cutting counterclockwise (CCW)
G37 Automatic tool length measurement Z
G37.1 Automatic tool length measurement X
G37.2 Automatic tool length measurement Z
(9) If the lead axis and non-lead axis cutting feed rate is faster than the clamp speed when threa d
cutting is started, the "M01 operation error 107" will occur, and thread cutting will not start.
6.6 Thread Cutting
(10) During thread cutting, the cutting feed rate may exceed the clamp speed to guarantee the lead.
In this case, the error "M01 operation error 107" will appear, but thread cutting will continue.
However, if the "cutting feed rate > clamp speed" is established during circular thread cutting
commanded in the second or following block of continuous thread cu tting, automatic operation
will be stopped just before the circular thread cutting command in the 2nd block, and the error
"M01 operation error 107" will appear.
(11) Continuous thread cutting is possible by commanding the thread cutting command in
succession. This allows special threads in which the leads or shapes change midway to be cut.
The continuous thread cutting command can be issued in the order of arc
constant lead, and constant lead
(12) Normally, an illegal lead will be cut at the start and end of the threads, due to a delay in the
servo system.
Thus, command the required thread length with the illegal thread length added to the start and
end.
As another method, command the required thread length as a circular thread (G35/G36), and
then command the illegal lead length before and after that command (start and end of thread
cutting) as a constant lead thread (G33). (Continuous thread cutting in order of constant lead
→ arc → constant lead.)
→ arc.
→ arc, arc →
66
6. Interpolation Functions
6.6 Thread Cutting
Relation with other functions
(1) A program error (P113) will occur if the G35/G36 command is issued to an axis not within the
selected plane.
(2) The thread cutting speed is not synchronized with the spindle rotation when dry run is valid.
(The thread pitch is not guaranteed.)
(3) If the dry run switch is turned ON during thread cutting, the dry run signal will be ignored.
(4) If the FEEDHOLD switch is pressed during thread cutting, the block will stop at the end point of
the block following that in which thread cutting is completed (when the thread cutting mode is
exited).
(5) Circular thread cutting will function normally even during mirror image.
(6) A program error (P201) will occur if the G35/G36 circular thread cutting command is issued in
the finish shape program of the compound type fixed cycle for turning machining.
(7) A program error (P385) will occur if thread cutting corner rounding or corner chamfering is
commanded during circular thread cutting or the next block.
(8) Geometric and circular thread cutting cannot be co mmanded simultaneously. If commanded
simultaneously, a program error (P395) or program error (P70) will occur.
(9) If thread cutting is commanded during nose R compensation, nose R compensation will be
tempor arily canceled, and thread cutting will be executed.
(10) Do not issue the circular thread cutting command during constant surface speed control. The
thread will not be cut correctly because the spindle rotation speed will change during thread
cutting.
Precautions
(1) Spindle override does not function during thread cutting.
(2) A program error (P39) will occur if G35 /G36 is commanded when the additional specifications
are not provided.
67
6. Interpolation Functions
X
6.7 Helical Interpolation; G17, G18, G19, and G02, G03
Function and purpose
This function is for circularly interpolating 2 axes on the selected plane and simultaneously
interpolating the other axis linearly in synchronization with the circular motion. When this
interpolation is performed with 3 orthogonal axes, the tool will travel helically.
G17 Arc plane (G17: X-Y plane, G18: Z-X plane, G19: Y-Z plane)
G02 (G03) Arc rotation direction (G02: clockwise, G03: counterclockwise)
X/U, Y/V Arc end point coordinates
Z/W Linear axis end point coordinates
I, J Arc center coordinates
R Arc radius
F Feed rate
(Note 1) In this manual, the following setting descriptions are used: I axis: X, J axis: Y, K axis: Z
68
6. Interpolation Functions
X
j
6.7 Helical Interpolation
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 Ff ;
Z
Command program path
Y
Linear interpolation element
Circular interpolation element
Y
End point
X
i
Start point
X-Y plane path (projected path)
The left drawing shows the process as an exploded view, and the right drawing shows the arc plane
from directly above.
69
6. Interpolation Functions
X
6.7 Helical Interpolation
Example of program
(Example)
G17 G02 X100. Y100. Z100. I-100. J100. F120 ;
Z
Circular interpolation element
Command program pat h
Y
Linear interpolation elem ent
Y
End point
X
J100.
I-100.
Start point
X-Y plane path (projected path)
(Unit: mm)
The left drawing shows the process as an exploded view, and the right drawi ng 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 feed rate 120mm/min while rotating.
Precautions and restrictions
(1) When executing helical interpolation, command another linear axis (several axis can be
commanded) that does not contain the circular interpolation comma nd and arc axis.
(2) Up to the number of simultaneous contouring control axes can be commanded simultaneously.
(3) A command exceeding one rotation cannot be issued. (The circular interpolation command
specifications are followed.)
(4) Command the feed rate as the composite speed for each axis.
(5) With helical interpolation, the axis that configures the plane is the circular interpolation axis,
and the other axes are the linear interpolation axes.
(6) The corner chamfering or corner R commands that are issued before or after the helical
interpolation command block are effective only on the axes contained in the selected plane.
(7) For the parameters and error messages, refer to the materials concerning the circular
interpolation (G02,G03).
70
6. Interpolation Functions
6.8 Milling Interpolation; G12.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
Y (Hypothetical axis)
X
Z
C
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 D__ E__ ; Milling mode ON
D Selection of milling hypothetical axis name
E Designation of milling interpolation rotation axis
G13.1;Milling mode OFF (Turning mode)
71
6. Interpolation Functions
Address Meaning of address
D Selection of milling
hypothetical axis
name
E Designation of
milling interpolation
rotation axis
The following G codes are used to select milling and set the conditions.
Command range
(unit)
0: Y axis
1: Rotation axis
name
G12.1 command
system rotation axis
command address
6.8 Milling Interpolation
Remarks
• If there is no D command, the
milling hypothetical axis name
will follow parameter (#1517
mill_C).
• If only the D command is issued,
it will be handled as D0.
• A program error (P35) will occur
if a value other than 0 or 1 is
issued as the numerical
command after the D command.
• If there is no E command, the
parameter (#1516 mill_ax) will be
followed.
• A program error (P33) will occur
if only an E command is issued.
• A program error (P33) will occur
if an axis address is not
commanded after "E=".
• A program error (P 300) will occur
if an axis that does not exist in
the command system is
designated as the rotation axis
name.
• A program error (P32) will occur
if a value is commanded for the
rotation axis name.
• To issue a program command
after the "E= rotation axis name",
delimit the "E= rotation axis
name" and the other command
with a comma (,). A program
error (P33) will occur if there is
no comma.
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 radius compensation left Default is G40.
G42 Tool radius compensation right
72
One of G17, G16, and G19 can be
defined as the default (when G12.1
is issued) by the parameter.
6. Interpolation Functions
Machining mode
6.8 Milling Interpolation
G13.1 (Turning mode)G12.1 (Milling mode)
G17
(X-Y plane)
G46, G41, G42/G40 (Nose R compensation) G41, G42/G40 (Tool compensation)
G18
(Z-X plane)
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
Y-Z
cylindrical
plane
G17
(X-Y plane)
G19
(Y-Z plane)
(3) The following requirements must be satisfied before a G12.1 command is issued. Otherwise, a
program error (P485) 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 position return, a
program error (P484) results.
(5) The G12.1 command automatically cancels an asynchronous mode F command. Therefore,
specify an F value in milling mode.
(Note1) 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.
(Note2) If the milling interpolation command is issued during the mirror image, a program error
(P486) results.
(Note3) When the G12.1 command is issued, the deceleration check is executed.
(Note 4) If a command other than a plane section is issued during the G12.1 comm and, a program
error (P33) will occur.
73
6. Interpolation Functions
6.8.2 Milling Interpolation Control and Command Axes
6.8 Milling Interpolation
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 selected with the E command. The axis designated
with the parameter will be selected if there is no E command.
(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 hypothetical axis name is the control rotation axis name selected with Y or
in (1) with the D command. The axis name designated with the parameter will be selected if
there is no D command.
(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) Whether the position in the milling coordinate system is a diameter command or radius
command is selected with the following parameter.
Parameter Details
#8111 Milling Radius
0: Radius command for all axes
1: Follows parameter (#1019 dia) for each axis
(Example 1)
Hypothetical axis
X
20
N3
10
0 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.
Selected hypothetical
axis
Absolute axis name Incremental axis name
Y axis Y V
Rotation axis (C) 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.)
75
6. Interpolation Functions
6.8.3 Selecting a Plane during the Milling Mode
Function and purpose
A plane selection command decides the plane on whi ch the to ol 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
(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
76
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.
X
6.8 Milling Interpolation
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
77
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
Tool
Y
X
Z
(Note1) During the milling mode on the G17 plane, the X axis is operated in the area (positive or
negative side) that has existed before issuing the G12.1 command. When you want to control
the X axis in the positive side during the milling mode, moving the X axis to the positive area
(including 0) is required before issuing the G12.1 command. When you want to control the X
axis in the negative side during the milling mode, moving the X axis to the negative area (not
including 0) is required before issuing the G12.1 command.
G16 plane
(1) To select a G16 plane, the radius value of a cylinder is specified by "G16 C__ ;". 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.
(4) 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.
78
6. Interpolation Functions
(5) The zero point of the Y axis is the position where a G12.1 command is issued.
(Example)
6.8 Milling Interpolation
:
:
G12.1 G16 C50. ;
:
:
:
or
:
:
G12.1 ;
G16 C50. ;
:
:
:
:
G12.1 Ee,Dd ;
or
G16 C50. ;
:
:
:
:
G12.1 Ee,Dd ;
or
G16 C50. ;
:
:
Y
X
r
Z
79
6. Interpolation Functions
6.8.5 Preparatory Functions
Valid G codes in milling m ode
Classifi-
cation
G codeFunction
G00 Positioning G65 Macro call
∗
G01 Linear interpolation G66 Macro modal call A
∗
G02 Circular interpolation (CW) G66.1Macro modal call B
G22 Barrier check ON G94 Asynchronous feed
G23 Barrier check OFF G98
G99 Hole drilling cycle R point return
G61 Exact stop mode
G40
G41 Tool radius compensation left G64 Turning mode
G42 Tool radius compensation right
Tool radius compensation
cancel
6.8 Milling Interpolation
Classifi-
cation
G codeFunction
Hole drilling cycle initial point
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.
If the milling interpolation is commanded 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.
(Example)
:
:
G0 X100. C180.;
⇒ Positioning before milling
G12.1; (or G12.1 E=C,D0;)
G0 X50.;
:
:
(3) If a command for an axis other than X, Z, and Y (rotation axis) is issued in milling mode, a
program error (P481) occurs. The asynchronous tap can be used during the milling mode;
however, the synchronous tap must not be commanded.
80
6. Interpolation Functions
(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.
(5) The G84, G88 synchronous tapping cycles cannot be used during the milling mode.
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
6.8 Milling Interpolation
G01 Y/V__ Z/W__ X/U__ F__ ;
S
y
Y
z
Z
E
Development
S
y
z
X
E
81
6. Interpolation Functions
A
(2) G17 mode
Program format
6.8 Milling Interpolation
G01 X/U__ Y/V__ Z/W__ F__ ;
(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
82
6. Interpolation Functions
6.8 Milling Interpolation
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 Feed rate
Y
X
A
j
k
S
Q
Z
E
84
6. Interpolation Functions
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
(P485) 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 1) 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.
(Note 2) When G13.1 command is issued, the deceleratio n check is executed.
(Note 3) If another command is issued during the G13.1 command, a program error will occur.
6.8.7 Feed Function
Asynchronous cutting feed
An asynchronous feed mode (G94 command) can use F6.3 digits to specify the feed rate per
minute in units of 0.001mm/min. The specifiable range is 0.001 to 999999.999mm/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 feed rate 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 rounding
(4) Geometric function
(5) Hole drilling cycle
(6) Subprogram function
(7) User macro
6.8 Milling Interpolation
85
6. Interpolation Functions
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 rotation speed but the rotary tool
speed.
(3) If a T command is issued in milling mode, a program error (P485) occurs. Before a G12.1
command is issued, therefore, tool selection must be done.
(4) Complete the tool compensation operation (movement of tool length and wear compensation
amount) before executing the milling interpolation. If the tool compensation operation is not
completed when the milling interpolation start command has been issued, the followings will be
resulted:
Machine coordinate is not changed even if G12.1 is executed.
The workpiece coordinate is changed to that of the post tool length compensation when
G12.1 is executed. (Even if canceling the milling interpolation, this workpiece coordinate will
not be canceled.)
6.8 Milling Interpolation
⇒ Specify a T command before a G12.1 command.
⇒ In milling mode, a T command causes a program error
(Example)
Workpiece coordinate offset (X axis)=20.
Tool compensation amount of T0101 (X axis)=100.
Setting compensation operation with movement command after T command