CNC-D00 - Programming Manual (NC) (1) - Unlocked
CNC-D00 - Programming Manual (NC) (1) - Unlocked
CNC-D00
PROGRAMMING MANUAL
(NC)
(For Installers & Machine Setup Specialists)
69A799001(9)
PROGRAMMING MANUAL
(NC)
2023/11/14 1 eCOM4NCPRTP
Introduction
Thank you for purchasing the SPEEDIO (hereafter referred to as “machine”) made by
Brother.
Always be sure to read this manual and the machine manual carefully first, in order to use the
machine functions properly and safely.
The re-exporting and resale of this machine is regulated by Japan’s export laws and
regulations in accordance with international export management.
When exporting, permission from the exporting country’s government and/or from the
Japanese government may be required.
Contact a Brother Industries dealer in advance before re-transferring, reselling or re-
exporting this machine.
Copying and reprinting all or part of the content in this manual without permission is illegal.
The content of this manual may be changed without prior notice.
Brother has taken steps to ensure this manual is accurate and complete. However, if you notice or suspect that there is
an error, please contact the nearest Brother sales office or Brother approved service dealer.
Any trade names and product names of companies appearing on Brother products, related documents and any other
materials are all trademarks or registered trademarks of those respective companies.
2023/11/14 2 eCOM4NCPRTP
How to Read This Manual
This manual is divided into the following sections.
(1) Overview ------ A summary of the content is provided for the corresponding section.
(2) Warning -------- A warning is provided for any hazards that could potentially cause serious bodily
injury, death or damage to the machine.
The hazards are described in the following order.
(2-1) Hazard level
(2-2) Type of hazard
(2-3) Potential damage
(2-4) Safety directions to avoid danger
(3) Operation procedure --- The procedure describes how to operate each function.
(4) Screenshot --- A screenshot is inserted into places to highlight certain points in the operation
procedure. The screenshot messages are shown at an approximate position and may
differ slightly from the actual position of the line or column. The same applies to the
font.
(5) Illustration ---- Illustrations, such as explanatory drawings, diagrams that show the dimensions,
positioning, ranges, figures or configurations, are used in certain places where a
written explanation alone may be hard to understand.
1.3 Take the necessary steps to ensure 1.3.1 Before starting operation
safe operation Review the following items before starting
operation.
(1) Turn the main power breaker handle on the control
box door to the OFF position.
Do not touch the primary power and terminal for
WARNING the main power breaker because it has a high
voltage.
You may break or fracture your foot (2) A sign must be posted to warn others that work is
in progress.
if you drop a heavy object on it. (3) Do not let others approach the machine or the
Therefore, use safety footwear when moving parts on the machine.
lifting or carrying heavy objects. (4) Make sure that there are no unnecessary objects
around the machine.
(5) Always use a helmet and safety footwear.
1-2 1-3
In this manual, the following symbols are used to differentiate between keys, switches,
text displayed on screens and alarm messages.
[ ] : Keys
[ ] : Switches
< > : Text displayed on screens
<< >> : Alarm messages
2023/11/14 3 eCOM4NCPRTP
(This page was intentionally left blank.)
2023/11/14 4 eCOM4NCPRTP
Contents
2023/11/14 1 eCOM4NCPRCO
Contents
2023/11/14 2 eCOM4NCPRCO
Contents
2023/11/14 3 eCOM4NCPRCO
Contents
2023/11/14 4 eCOM4NCPRCO
Contents
2023/11/14 5 eCOM4NCPRCO
Contents
2023/11/14 6 eCOM4NCPRCO
Contents
9.1.5 Switching Between Feedrate per Minute / Feedrate per Rotation / Inverse Time Feed ---------9-4
9.2 Automatic F Command at Tool Change -------------------------------------- 9-4
2023/11/14 7 eCOM4NCPRCO
Contents
12.4.5 M Signal Level Outputs (M400 to M409, M480 to M487) ------------------------------------ 12-12
12.4.6 One-shot Output (M450, M451, M455, M456) ------------------------------------------------- 12-12
12.4.7 Waiting Until Response is Given (M460 to M469) --------------------------------------------- 12-12
12.4.8 Signal Output to PLC (M801 to M899) ---------------------------------------------------------- 12-12
12.4.9 Expansion Signal Output (M900 to M999) ------------------------------------------------------ 12-12
12.5 M Function (Additional Axis Control) ------------------------------------- 12-13
12.5.1 Pallet-related M Codes (M410, M411, M430, M431) ------------------------------------------ 12-13
12.5.2 C-axis Unclamp/Clamp (M444/M430 and M445/M431) -------------------------------------- 12-13
12.5.3 B-axis Unclamp/Clamp (M440 and M441) ------------------------------------------------------ 12-14
12.5.4 A-axis Unclamp/Clamp (M442 and M443) ------------------------------------------------------ 12-15
12.6 M Function (In-position Check Distance) -------------------------------- 12-16
12.6.1 Change In-position Check Distance (M270 to M279) ------------------------------------------ 12-16
12.7 M Function (Time Constant Switch) --------------------------------------- 12-17
12.7.1 Tap Time Constant Selection (M241 to M249, M250, M251, M252 to M254) ------------- 12-17
12.8 M Function (Brake Load Test) ----------------------------------------------- 12-17
12.8.1 Execute Brake Load Test (M470 and M471) ---------------------------------------------------- 12-17
2023/11/14 8 eCOM4NCPRCO
Contents
2023/11/14 9 eCOM4NCPRCO
Contents
2023/11/14 10 eCOM4NCPRCO
Index
CHAPTER 6 MACRO 6
CHAPTER 12 M FUNCTION 12
2023/11/14 1 eCOM4NCPRIN
Index
2023/11/14 2 eCOM4NCPRIN
Chapter 1 Program Structure
CHAPTER 1
PROGRAM STRUCTURE
2023/11/21 1- 1 eCOM4NCPR1
Chapter 1 Program Structure
1. Main programs
This program is used for machining one workpiece. Sub programs are called in the middle of
the main program in order to create a program more efficiently.
1 Lastly, M02 (or M30) is used to end the program.
Main program
N0001 G92X100;
N0002 G00Z30;
:
:
:
:
M02;
2. Sub programs
Sub programs are used and called from the main program or other sub programs.
Lastly, M99 is used to end the program.
Sub program
N0010 G91X10
:
:
:
:
M99;
X -1000
Address Number
Word
2023/11/21 1- 2 eCOM4NCPR1
Chapter 1 Program Structure
However, if Type 2 (submicron) and <Program unit>: 1 (Minimum) are used for the
minimum unit settings, the following applies.
• Feedrate command
Select the <Program feed rate unit> in user parameter (switch 1: programming) for the
feedrate.
2023/11/21 1- 3 eCOM4NCPR1
Chapter 1 Program Structure
However, if Type 2 (submicron) and <Program feed rate unit>: 1 (Minimum) are used for
the minimum unit settings, the following applies.
2. Usable digits in address number commands (coordinate values and travel commands)
<Program unit>: 0(Base)
Minimum Commands with/without Usable digits in commands
Command axis
unit setting decimal points meters inches
Commands with decimal Feed axis 999999.999 99999.9999
Type 1 points (Ex: “1.”) Rotation axis 999999.999 999999.999
(Micron) Commands without Feed axis 999999 99999
decimal points (Ex: “1”) Rotation axis 999999 999999
Commands with decimal Feed axis 999999.9999 99999.99999
Type 2 points (Ex: “1.”) Rotation axis 999999.9999 999999.9999
(Submicron) Commands without Feed axis 999999 99999
decimal points (Ex: “1”) Rotation axis 999999 999999
(NOTE) If the value includes a place value lower than the usable digits in the minimum
unit setting, then that part is rounded off in the command.
2023/11/21 1- 4 eCOM4NCPR1
Chapter 1 Program Structure
If an optional block skip (“/”) is used at the header for the block, a command can be issued before
or after that.
N0100/ G90X100;
or
/N0100 G90X100;
(NOTE 3) The sequence numbers can be in any given order and do not necessarily have to be
sequential.
(NOTE 4) The sequence number is recognized as a numerical value.
Therefore, 0001, 001, 01, and 1 are treated as the same number.
(NOTE 1) If a slash “/” is not inserted at the header of the block, an alarm is triggered.
Note that it can be inserted immediately after the sequence number.
(NOTE 2) When the [B.SKIP] key is turned ON in single block mode during automatic
operation, it does not stop at the block with a slash “/” but the next block thereafter.
( ············ )
Control out code Comment Control in code
(NOTE) Make sure that the comment including the control out and control in codes fit inside
1 block.
2023/11/21 1- 5 eCOM4NCPR1
Chapter 1 Program Structure
2023/11/21 1- 6 eCOM4NCPR1
Chapter 2 Coordinate Commands
2
CHAPTER 2
COORDINATE COMMANDS
2023/11/14 2- 1 eCOM4NCPR2
Chapter 2 Coordinate Commands
1. Machine coordinates
2. Workpiece coordinates
3. Table coordinate system
The coordinates are expressed in components using the program axes (X-, Y- and Z-axes on this
machine).
2
Z Y
X20Y10Z15
Tool target position for
command
15
10
X
0 20
Table
-Y
2023/11/14 2- 2 eCOM4NCPR2
Chapter 2 Coordinate Commands
(For H series)
When looking from the top of the machine
+Z
X-axis stroke
Machine zero point
(X, Z) = (0, Distance to -X
Z-axis stroke
zero point)
2
Z=0
Table
Table
-Y
2023/11/14 2- 3 eCOM4NCPR2
Chapter 2 Coordinate Commands
2023/11/14 2- 4 eCOM4NCPR2
Chapter 3 Preparation Function
CHAPTER 3
3
PREPARATION FUNCTION
List of G code
The G codes with * mark indicates the modal status when the power is turned ON.
Group G code Description Modal/One-shot
G00* positioning
G01 Linear interpolation
3 G02 Circular/ helical interpolation (CW)
G03 Circular/ helical interpolation (CCW)
G02.2 Involute interpolation (CW)
G03.2 Involute interpolation (CCW)
Modal
G102 XZ Circular interpolation (CW)
G103 XZ Circular interpolation (CCW)
G202 YZ Circular interpolation (CW)
G203 YZ Circular interpolation (CCW)
G33 Thread cutting
G392 Thread cutting cycle
G04 Dwell One-shot
G09 Exact stop check One-shot
Programmable data input/Parameter input mode
G10 One-shot
start
G10L52 Programmable parameter input mode start Modal (NOTE 2)
G11 Programmable parameter input mode end (NOTE 3)
G12 Circular cutting CCW One-shot
G13 Circular cutting CCW One-shot
G17* XY plane selection
G18 ZX plane selection Modal
G19 YZ plane selection
G22* Programmable stroke limit ON
Modal
G23 Programmable stroke limit cancel
G28 Return to the reference point
G29 Return from the reference point One-shot
G30 Return to the 2nd to 6th reference point
G31 Skip function One-shot
G36 Coordinate calculation function
G37 Coordinate calculation function (Line-angle)
One-shot
G38 Coordinate calculation function (Line-X, Y)
G39 Coordinate calculation function (grid)
G40* Tool diameter / nose R compensation cancel
G41 Tool dia. offset left
G42 Tool dia. offset right Modal
G141 Nose R left compensation
G142 Nose R right compensation
G43 Tool length offset +
G44 Tool length offset -
G43.4 TCP control command (ABC command format)
G43.5 TCP control command (IJK command format) Modal
G143 Tool position offset +
G144 Tool position offset -
G49* Tool length/position offset cancel
G50* Scaling cancel
Modal
G51 Scaling
(NOTE 1) Specify the modal during power startup in the user parameter (switch 1: canned
cycle) <Lathe machining infeed direction when power is turned ON>.
(NOTE 2) Modal information cannot be read in the macro.
(NOTE 3) Even if the user parameters (switch 3: modal display setting): <G code for modal
display 1> to <G code for modal display 16> are not set to 0 (zero), the G code
modal does not display on the <Modal info 1> and <MDI operation> screens.
If an additional axis command is issued when there is no additional axis option, an alarm is
triggered.
When carrying out G00 based positioning, it first performs an in-position check (NOTE 1) and
then proceeds to the next block.
One of the following options can be selected for the tool path in the user parameter (switch 1:
program) <Positioning method>.
If the user parameter (switch 1: program) <Positioning method> is changed, use idling, for
example, to check the tool path and cycle time before operating, because the tool path during rapid
feed or the positioning time changes.
In addition, be careful because the margin of error due to thermal distortion also changes,
adversely affecting the machining accuracy.
End point
Start point
X
(NOTE 1) The in-position check refers to checking whether or not the position detected on the
machine has reached a range within the target position (end point).
However, when there are successive Z-axis only operations, such as G0Z_→ G0Z_,
the in-position check may not be carried out.
(NOTE 2) The in-position range used for the in-position check varies according to the
<Machine parameter> that is used for the command that follows.
When the command sequence is G0→G0, the <Positioning end check distance>
applies, and when the command sequence is a cutting command such as G0→
G1/G2, the <In-position width> applies. However, when the command sequence is
an operation in the same direction such as G0Z_ → G1Z_, the <Positioning end
check distance> applies.
(NOTE 3) The rapid feedrate is set for each axis in the machine parameter. As a result, an F
command for the feedrate cannot be carried out.
(NOTE 4) The positioning operation during a tool change (G100 and M06) is a non-linear
interpolation type regardless of the type that is selected in the user parameter (switch
1: program) <Positioning method>.
(NOTE 5) While the Z-axis perimeter mode is on (M300), the Z-axis perimeter operation is
carried out when there are consecutive operations for the Z-axis positioning in the
3 plus direction and the X-axis or Y-axis positioning operations. Refer to “Chapter 12
M function” for further details on the Z-axis perimeter operation.
X,Y,Z,A,B,C: Command value of the axis for which single direction positioning is performed.
Coordinate of end point for G90 and travel amount for G91
Start point
Start point
Stops temporarily
End point
Overshoot
When the above command is executed, the axis moves from the end point for the preset travel
amount, and then moves to the end point.
G60 is a one shot command and the axis travel path is the same as that for G00.
Set the overrun travel amount with the user parameter (switch 2: single direction positioning
excess travel amount) <X-axis (to 8th-axis) single direction positioning excess travel amount>.
(NOTE 1) Z axis will not perform single direction positioning in canned cycle operation. This
also applies to X and Y axes traveling a shift amount in G76 and G87 cycles.
(NOTE 2) Single direction positioning is not performed for any axis that does not have the
travel amount set for the parameter.
(NOTE 3) Single direction positioning is performed even when 0 is specified for the travel
amount.
(NOTE 4) The alarm <<Compensating diameter>> is triggered when the G60 command is
issued during cutter compensation and nose R compensation operations.
(NOTE 5) Travel to the end point from a position that is passed the end point and travel from a
temporary stop position to the end point are a non-linear interpolation type
regardless of the type that is selected in the user parameter <Positioning method>.
(NOTE 6) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
(NOTE) Be sure to insert indexing commands for rotation axes A and B before cutting 3
commands in the program when using an index table.
Axis command is effective for up to 3 linear axes plus one additional axis. If a command for 2
additional axes is issued at the same time, the alarm <<Interpolation command using 5 axes
3 simultaneously is not possible>> is triggered.
The alarm <<No *axis Option>> occurs when you command additional axes in their absence.
The feedrate is set by address F. Once the feed rate is commanded, it is effective until another
value is specified.
When the command axis is the X-, Y- or Z-axis, mm/min (mm/rev) is recognized for the feedrate.
When it is an additional axis, deg/min (deg/rev) is recognized for the feedrate.
Y
End point
Start point
α
Feed rate along X axis: Fx = ─── · f
L
β
Feed rate along Y axis: Fy = ─── · f
L
γ
Feed rate along Z axis Fz = ─── · f
L
(L = α2 + β2 + γ2 )
L
Time required for distributing on B-axis T= ───
f
δ
Feed rate along B axis Fb = ───
T
α
Feed rate along X axis Fx = ─── · f
L
γ
Feed rate along Z axis Fz = ─── · f
L
The L value is calculated based on the user parameter (switch 1: programming) <Rotation axis
speed command type> settings below.
- <Type 1> L= α2 + β2 + γ2 + δ2
- <Type 2> L= α2 + β2 + γ2 + (δ × r × π÷ 180)2
r: User parameter (switch 1: programming) <Standard circle radius>
(NOTE) When the <Rotation axis speed command type> is set to <Type 2> and the
<Standard circle radius> is set to 0, the alarm <<User param. setting error (switch
1)>> is triggered.
When a linear interpolation command is issued on the rotation axis, the relationship between the F
command value (= standard circle speed Fl) and the actual command speed Fr (deg/min) for the
rotation axis is expressed in the following formula.
Fr=Fl×180/(π×r)
<Standard circle
radius>: r
In addition, when there is a linear interpolation on a linear axis and rotation axis, the speed is
applied as follows. The travel command value θ deg for the rotation axis is converted to the arc
length on a standard circle (referred to as the standard arc distance). 1 mm on the standard arc
distance = 1 mm on the linear axis when the machine unit system is metric. 1 inch on the standard
arc distance = 1 inch on the linear axis when the machine unit system is inches. These ratios are
applied and used for the speed.
Standard circle distance (inch) = R (30 deg) = 0.7874 inches × 30 × π/180 ≒ 0.412 inches
A-axis feedrate (deg/min)
= Standard circle speed (inch/min) × Command value (deg) ÷ L (inch/min)
= 100 (inch/min) × 30 (deg) ÷ √(Standard circle distance (≒ 0.412 inches) 2)
≒ 7276 (deg/min)
2023/11/23 3 - 10 eCOM4NCPR3
Chapter 3 Preparation Function
If the values are changed for <Rotation axis speed command type> and <Standard circle
radius> in the program from example 2, the following speed applies.
Ex.4: When the machine unit system is inches and the user wishes to move at the same equivalent
speed as in the metric setting:
Convert the program coordinate values and F command values from metric to inches, and
then set the following parameters as shown below.
User parameter (switch 1: programming) <Rotation axis speed command type>: <Type 2>
User parameter (switch 1: programming) <Standard circle radius>:
When <Rotation axis speed command type> is set to <Type 1> in metric: <2.2557>
(inch)
When <Rotation axis speed command type> is set to <Type 2> in metric:
(<Standard circle radius> (mm) in metric ÷ 25.4) (inch)
2023/11/23 3 - 11 eCOM4NCPR3
Chapter 3 Preparation Function
When changing the machine unit system setting from metric to inches
G91 G1 X1.5748 A30. F39.37
C : Distance from virtual corner to the chamfer start point and end point. This can be
commanded only for the selected plane surface.
C
X
(NOTE 1) The corner chamfering command block and subsequent block must contain the
interpolation command (G01-G03). When there is no interpolation command, or
when a travel command is not possible on the next block , the alarm <<Angle
chamfering/corner R command error>> is triggered.
(NOTE 2) The inserted block belongs to the corner chamfer command block. Even if the feed
rate of the next block is different than that of the coner chamfer command block, the
inserted block moves at the feed rate of the corner chamfer command block. In
single block operation, the system does not stop before the inserted block but stops
after it.
(NOTE 3) The cutter compensation / nose R compensation is applied to the shape after the
corner chamfering is performed.
(NOTE 4) When the commanded chamfering size is greater than travel distance of the chamfer
command block or the next block, the block is extended as required to define the
chamfer start or end point.
(NOTE 5) A chamfering command is not possible while under TCP control.
2023/11/23 3 - 12 eCOM4NCPR3
Chapter 3 Preparation Function
C (4)
(7)
(3)
(2)
C
(6)
(1)
(5)
3
When set the programmed path to (1)→(2)→(3)→(4) and the block C as (2), operate to
(1)→(5)→(6)→(7)→(4).
(4)
(3)
C
(7)
(2)
C (6)
(1)
(5)
When the programmed path is (1)→(2)→(3)→(4) and the block (2) is C-specified, the machine
operates through (1)→(5)→(6)→(7)→(4).
2023/11/23 3 - 13 eCOM4NCPR3
Chapter 3 Preparation Function
R : Radius of cornering
This can be commanded only for the selected plane surface.
3 Corner radius
R end point
Virtual corner
intersection
Corner radius start point
X
(NOTE 1) Corner rounding command block and the next block must be a corner interpolation
command (G01 to G03). When there is no interpolation command, or when a travel
command is not possible on the next block , the alarm <<Angle chamfering/corner R
command error>> is triggered.
(NOTE 2) The inserted block belongs to the corner rounding command block. Even if the feed
rate of the next block is different than that of the coner rounding command block,
the inserted block moves at the feed rate of the corner rounding command block. In
single block operation, the system does not stop before the inserted block but stops
after it.
(NOTE 3) The cutter compensation / nose R compensation is applied to the shape after the
corner R operation is performed.
(NOTE 4) When the commanded radius is greater than corner rounding command block or the
next command block, the block is extended as required to define the corner rounding
start or end point
(NOTE 5) After the feature coordinate setting, the corner R command cannot be issued before
the feature coordinate index.
(NOTE 6) A corner R command is not possible while under TCP control.
(7)
R
(4)
(3)
(6)
(5) (2)
(1)
When the programmed path is (1)→(2)→(3)→(4) and the block (2) is R-specified, the machine
operates through (1)→(5)→(6)→(7)→(4).
2023/11/23 3 - 14 eCOM4NCPR3
Chapter 3 Preparation Function
ZX plane: 3
G18 G02 Z_ X_ K_ I_ F_;
R_
YZ plane:
G19 G02 Y_ Z_ J_K_ F_;
R_
Clockwise and counterclockwise are the rotation direction viewed from the positive direction to
the negative direction on the Z axis of the X-Y plane.
2023/11/23 3 - 15 eCOM4NCPR3
Chapter 3 Preparation Function
G102 I_K_
Command X_Z_ F_;
format G103 R_
(NOTE) When X- and Y- arcs differ, and when any of the following commands are issued:
diameter compensation command (G41 and G42), nose R compensation command
(G141 and G142) and rotational transformation command (G68 and G168), the
respective alarms <<Compensating diameter>> and <<During rotational
transformation>> are triggered, and operation stops.
In addition, the alarm <<Feature coordinate manufacturing mode engaged>> is
triggered while in feature coordinate manufacturing mode (G68.2 modal in progress).
G202 J_K_
Command Y_Z_ F_;
Format G203 R_
Clockwise and counterclockwise are the rotation direction viewed from the positive direction to
the negative direction on the X axis of the Y-Z plane.
2023/11/23 3 - 16 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE) When X- and Y- arcs differ, and when any of the following commands are issued:
diameter compensation command (G41 and G42), nose R compensation command
(G141 and G142) and rotational transformation command (G68 and G168), the
respective alarms <<Compensating diameter>> and <<During rotational
transformation>> are triggered, and operation stops.
In addition, the alarm <<Feature coordinate manufacturing mode engaged>> is
triggered while in feature coordinate manufacturing mode (G68.2 modal in
progress).
Y
End point (x, y)
X
Start point
Center
• Incremental positioning
G91 G03 Xx Yy Ii Jj Ff;
Y
x
End point
X
y
Start point
Center
i
2023/11/23 3 - 17 eCOM4NCPR3
Chapter 3 Preparation Function
Absolute command
G03 X-60. Y-10. I-50. J-20. F1000;
Incremental command
G03 X-30. Y30. I-50. J-20. F1000;
3 Start point
(-30, -40)
-50
-Y
You may define the center with radius R instead of using vectors I, J, and K. Two different arcs
are possible: an arc less than and the other greater than a half circle. Use a negative value for
radius R when commanding an arc greater than a half circle.
R>0
R<0
(1)
(2)
-50
-Y
2023/11/23 3 - 18 eCOM4NCPR3
Chapter 3 Preparation Function
• The tool moves as shown below when an end point is missing on the arc defined by a start
point and the center of the arc.
Motion of radius
Re
Rs
3
θs θe
End point Re
Start point Rs
θe
θs
Center (I, J)
• The alarm <<Curve Speed Error>> may occur when commanding an end point radius that is
much greater than the start point radius.
• You may not command G36 to G39 in the circular mode. The alarm During <<Arc Mode>>
occurs.
• After the feature coordinate setting, an arc command cannot be issued before the feature
coordinate index.
• A TCP control ON (G43.4/G43.5) command cannot be issued while in arc mode. Otherwise,
the alarm <<Arc command error>> is triggered.
• A circular interpolation command cannot be issued while under TCP control (G43.4/G43.5).
Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 19 eCOM4NCPR3
Chapter 3 Preparation Function
ZX plane:
G18 G02 Z_ X_ Y_ K_ I_ A_ F_;
G03 R_ B_
C_
3 YZ plane:
G19 G02 Y_ Z_ X_ J_ K_ A_ F_;
G03 R_ B_
C_
Up to one linear axis and one additional axis can be controlled simultaneously when commanded
for the surface other than selected plane.
The F code commands the feedrate in the circular interpolation axis.
When F is greater than the machine parameter (system 1: X-, Y- and Z-axes) <Maximum cutting
travel speed> (X-, Y- and Z-axes) or greater than the rapid feedrate, the alarm <<Feedrate error>>
is triggered.
The feedrate in the other than selected plane axis is determined by the values of “federate” in the
circular interpolation axis, “end point X”, “end point Y” and “end point Z”. It can be calculated as
follows:
Ex)
Setting following values: F=500 (mm/min), R=10 (mm),
When the angle equals 360° and the travel distance equals 2 mm:
Fz = (180*2*500) / (π*10*360)
≒ 15.9 (mm/min)
If the calculated feedrate for the axis outside of the selected plane is: greater than the machine
parameter (system 1: X-, Y- and Z-axes) <Maximum cutting travel speed> or the <Rapid feedrate>
(X-, Y- or Z-axes), or greater than the machine parameter (system 2: additional axis) <Maximum
cutting rotation speed> (5th- to 8th-axes) or <Rapid feedrate> (5th- to 8th-axes), then the slowest
speed is applied and that minimum speed on both the selected plane axis and the axis outside of
the selected plane are fixed and used.
When tool dia offset command is given, an offset is applied to the selected plane.
Helical thread cutting interpolation command is not possible while in the inverse time feed (G93)
modal.
If a command is issued, the alarm <<Command not possible during inverse time feed>> is
triggered.
2023/11/23 3 - 20 eCOM4NCPR3
Chapter 3 Preparation Function
ZX plane:
{ G18 } G02 Z_ X_ K_ I_ Q_ L_ F_;
{ G18 } G03 Z_ X_ K_ I_ Q_ L_ F_;
YZ plane:
{ G19 } G02 Y_ Z_ J_ K_ Q_ L_ F_;
{ G19 } G03 Y_ Z_ J_ K_ Q_ L_ F_; 3
G02 : Clockwise cutting direction
G03 : Counterclockwise cutting direction
XYZ : End point coordinates
L : Number of rotations (An integer number is used to command When the number is
with decimal point, the number is rounded off.)
Example: Set “L6” for five and 1/4 rotations (5.25 rotations).
Q : Increment or decrement in radius per rotation
Setting a positive value increases the radius for each rotation. Setting a negagive
value decreases the radius for each rotation.
IJK : Vector (distance and direction) from the start point to the center (the same as
circular interpolation)
F : Cutting speed
Y
Start point (0, 100.)
100 End point (X, Y) (0, -50.)
Distance to center (I, J) (0,-100.)
Radius increment/decrement Q -20.0
Count L3
-50
20 Absolute command:
(1) G90 G02 X0.Y-50.I0J-100.Q-20.;
20 (2) G90 G02 X0.Y-50.I0J-100.L3;
Incremental command:
(1) G91 G02 X0Y-150.I0J-100.Q-20.;
(2) G91 G02 X0Y-150.I0J-100.L3.;
Either (1) or (2) will do.
(NOTE 1) Tool dia offset can be performed only in the offset mode. The alarm <<Cutter
Compensation Error>> occurs in the startup and cancel mode.
(NOTE 2) The setting for the tool diameter offset is applied relative to the start point and end
point specified in the program during tool diameter offset.
(NOTE 3) The alarm <<Cutter compensation too large>>> is triggered when the compensated
tool path crosses or touches the center of the spiral.
2023/11/23 3 - 21 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 4) If the spiral end point required due to a radius increase/decrease per rotation does
not match the end point of the program and that difference exceeds the user
parameter (switch 1: program) <Arc radius error limit>, the alarm <<Arc radius
error has exceeded the limit.>> is triggered.
(NOTE 5) The alarm <<Specified G Code Cannot Be Used>> occurs when corner CR is
specified in the immediately preceding block.
(NOTE 6) Corner CR is not used for spiral interpolation. When a command is issued, the alarm
<<Address where command is not possible>> is triggered.
(NOTE 7) The alarm <<Arc Command Error>> occurs when the radius becomes 0 or less
(including negative values) as a result of designation of per-rotation radius
increment/decrement and rotation counts.
(NOTE 8) The alarm <<Arc Command Error>> occurs when a radius is specified by R
parameters.
(NOTE 9) The alarm <<Arc Command Error>> occurs when radius increment/decrement is
3 (NOTE 10)
zero.
If the rotation count exceeds 9999 when the amount of increase or decrease in the
radius per rotation and the number of rotations are specified, then the alarm <<Arc
command error>> is triggered.
(NOTE 11) Do not use a Q0 command when start point radius is the same as end point radius
(use an L command). The alarm <<Arc Command Error>> occurs.
(NOTE 12) Even cutter compensation for the outside of a circule cannot be performed if start
and end points are set on the center of a circle. The alarm <<Cutter Compensation
Error>> occurs.
(NOTE 13) Direction of travel on the start point when this is at the center (on the end point
when this is at the center) is the same as the direction of travel on the end point (on
the start point).
Start point
End
End Start point point
point (center) (center)
(NOTE 14) Not commanded when mirror image is effective. The alarm <<Mirror Image
Mode>> Is ON occurs.
(NOTE 15) Spiral interpolation cannot be commanded when scaling is effective. The alarm
<<Scaling>> occurs.
(NOTE 16) When spiral interpolation and cutter compensation are followed by a cutter
compensation release command in the succeeding block, the end point will be where
a vertical vector is set up at the end point of the spiral interpolation.
(NOTE 17) For spiral interpolation, when the user parameter (switch 1: programming)
<Connecting motion to spiral/conical interpolation> is set to <0: Exact stop check>,
it operates in exact stop check mode even during the G64 modal. To operate in
cutting mode for the G64 modal, set <Connecting motion to spiral/conical
interpolation> to <1: Cutting mode>.
(NOTE 18) Spiral interpolation command is not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse
time feed>> is triggered.
2023/11/23 3 - 22 eCOM4NCPR3
Chapter 3 Preparation Function
ZX plane:
{G18} G02 Z_ X_ Y_ K_ I_ J_ Q_ L_ (A_ B_ C_) F_;
{G18} G03 Z_ X_ Y_ K_ I_ J_ Q_ L_ (A_ B_ C_) F_;
YZ plane:
{G19} G02 Y_ Z_ X_ J_ K_ I_ Q_ L_ (A_ B_ C_) F_; 3
{G19} G03 Y_ Z_ X_ J_ K_ I_ Q_ L_ (A_ B_ C_) F_;
Up to one axis (linear axis or additional axis) can be controlled when commanded for the surface
other than selected plane.
2023/11/23 3 - 23 eCOM4NCPR3
Chapter 3 Preparation Function
+Z
25.0 25.0
5.0
5.0
+Y
100.0
3
+X -100
Example of program: The orders of the numerical values in the brackets ( ) are X, Y, and Z.
Start point (0., 100., 0.)
End point (0., -37.5, 12.5)
Distance to the center (0., -100.)
Increment/decrement in radius -25.
Increment/decrement in height 5.
No. of rotations 3
Absolute command
K5
G90 G02 X0. Y-37.5 Z12.5 I0. J-100. Q-25 F300.;
L3
Incremental command
K5
G91 G02 X0. Y-137.5 Z12.5 I0. J-100. Q-25 F300.;
L3
(NOTE 1) Tool dia offset can be performed only in the offset mode. The alarm <<Cutter
Compensation Error>> occurs in the startup and cancel mode.
(NOTE 2) During execution of the cutter compensation, tool diameter offset compensation is
performed, on the selected plane, for the start and end points specified by the
program.
(NOTE 3) The alarm <<Cutter compensation too large>>> is triggered when the compensated
tool path crosses or touches the center of the conical.
(NOTE 4) If the conical end point required due to a radius increase/decrease per rotation does
not match the end point of the program and that difference exceeds the user
parameter (switch 1: program) <Arc radius error limit>, the alarm <<Arc radius
error has exceeded the limit.>> is triggered.
(NOTE 5) The alarm <<Specified G Code Cannot Be Used>> occurs when corner CR is
specified in the immediately preceding block.
(NOTE 6) Corner CR is not used for conical interpolation. When a command is issued, the
alarm <<Address where command is not possible>> is triggered.
(NOTE 7) The alarm <<Cutter Compensation Error>> occurs when you change the direction of
cutter compensation (G41, G42) in the immediately preceding and succeeding
blocks of conical interpolation.
(NOTE 8) If the rotation count exceeds 9999 when the amount of increase or decrease in the
radius per rotation and the number of rotations are specified, then the alarm <<Arc
command error>> is triggered.
2023/11/23 3 - 24 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 9) The alarm <<Arc Command Error>> occurs when a radius is specified by R
parameters.
(NOTE 10) The alarm <<Arc Command Error>> occurs when radius increment/decrement is
zero.
(NOTE 11) Do not use a Q0 command when start point radius is the same as end point radius
(use an L command). The alarm <<Arc Command Error>> occurs.
(NOTE 12) Cutter compensation for the outside of a circule cannot be performed if start and end
points are set on the center of a circle. The alarm <<Cutter Compensation Error>>
occurs.
(NOTE 13) Direction of travel on the start point when this is at the center (on the end point
when this is at the center) is the same as the direction of travel on the end point (on
the start point).
(NOTE 14) Conical interpolation cannot be commanded when mirror image is effective. The
alarm <<Mirror Image Mode>> Is ON occurs.
(NOTE 15) Conical interpolation cannot be commanded when scaling is effective. The alarm
<<Scaling>> occurs.
(NOTE 16) When conical interpolation and cutter compensation are followed by a cutter
compensation release command in the succeeding block, the end point will be where
a vertical vector is set up at the end point of the conical interpolation.
(NOTE 17) For conical interpolation, when the user parameter (switch 1: programming)
<Connecting motion to spiral/conical interpolation> is set to <0: Exact stop check>,
it operates in exact stop check mode even during the G64 modal. To operate in
cutting mode for the G64 modal, set <Connecting motion to spiral/conical
interpolation> to <1: Cutting mode>.
(NOTE 18) Conical interpolation command is not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse
time feed>> is triggered.
2023/11/23 3 - 25 eCOM4NCPR3
Chapter 3 Preparation Function
(1) (2)
Program path
A virtual circle is set at the start point
Intersection
(start point)
Set dia. compensation for the virtual Another virtual circle is set at the end
circle point
Intersection
(5) (start point) (6) Virtual circle
for dia.
Intersection (end point) compensation
End point
Start point
Dia. compensation
by program path
Dia. compensation
by virtual circle
2023/11/23 3 - 26 eCOM4NCPR3
Chapter 3 Preparation Function
I
Start point End point
(X,Y)
J
(NOTE 1) The involute interpolation option is required to enable and use this function.
(NOTE 2) This function can only be used in NC language mode.
2023/11/23 3 - 27 eCOM4NCPR3
Chapter 3 Preparation Function
Refer to “Chapter 9 (6) Involute interpolation function” in the Operation Manual II for further
details.
Tool path
(3)
(2)
G12; positive compensation
Y Tool path
(2)
Compensation
Radius
(3)
(1)
2023/11/23 3 - 28 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 1) The alarm <<Arc Command Error>> occurs when the D command is omitted.
(NOTE 2) The alarm <<Arc Command Error>> occurs if the radius (I command) is zero or a
negative value after subracting compensation amount.
(NOTE 3) If a cutter compensation control command (G40, G41 and G42) (in startup and
cancel mode) and circular cutting (G12 and G13) are specified at the same time, the
alarm <<Simultaneous specified code cannot be used.>> is triggered.
(NOTE 4) Corner CR may not be set in the circle cutting command and immediately preceding
block command. If set, the alarm <<Address where command is not possible>> or
<<Specified G code cannot be used.>> is triggered.
(NOTE 5) The alarm <<Cutter Compensation Too Large>> occurs when the radius after
compensation is smaller than tool diameter.
(NOTE 6) Circle cutting is performed on the currently selected plane (G17, G18, G19).
(NOTE 7) Start and end points are identical in circle cutting.
(NOTE 8) When circle cutting (G12, G13) is executed during cutter compensation (G41, G42),
(NOTE 9)
the latter is effective for the path compensated by D command.
After the feature coordinate setting, a circular cutting command cannot be issued
3
before the feature coordinate index.
(NOTE 10) Circular cutting command is not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse
time feed>> is triggered.
(NOTE 11) A circular cutting command cannot be issued while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 29 eCOM4NCPR3
Chapter 3 Preparation Function
or G04 X_ Q_;
(NOTE) When there is a command without a decimal point for the dwell time, the unit for
that time is in seconds if the user parameter (switch 1: programming) <Program
unit> is set to <0:Base>. The unit for the dwell time is in milliseconds if the user
parameter is set to <1:Minimum>.
2023/11/23 3 - 30 eCOM4NCPR3
Chapter 3 Preparation Function
: Program path
: Tool path
In-position check is performed at the end of each block before the tool proceeds to the next block.
The exact stop check is carried out at the end of each block after this command is issued and until
the cutting mode (G64) command is issued.
From this command until G61 is specified, the tool starts, at each joint of blocks, traveling
according to the instructions in the succeeding block as soon as possible, to avoid deceleration to
the extent possible.
(NOTE 1) Exact stop check is performed also in the cutting mode if a block includes a
positioning mode (G00) or exact stop check (G09), or in the cutting feed rate blocks
that are not continuous.
(NOTE 2) The finishing operation in the thread cutting cycle is always performed in the cutting
mode regardless of this command.
(NOTE 3)
Current block
Succeeding block
Positioning Cutting feed No traveling
Positioning × × ×
Cutting feed × ○ ×
No traveling × × ×
○ Cutting mode
× Exact stop check mode
Exact stop check is always performed when the current block clamps at additional axis travel and
when the succeeding block unclamps at additional axis travel.
2023/11/23 3 - 31 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 4) For spiral and conical interpolation, when the user parameter (switch 1:
programming) <Connecting motion to spiral/conical interpolation> is set to <0:
Exact stop check>, the exact stop check is carried out even during the G64 modal.
To operate in cutting mode for the G64 modal, set <Connecting motion to
spiral/conical interpolation> to <1: Cutting mode>.
2023/11/23 3 - 32 eCOM4NCPR3
Chapter 3 Preparation Function
n=0 : External
n=1 : G54
n=2 : G55
n=3 : G56
n=4 : G57
n=5 : G58
n=6 : G59
The entered value becomes the new compensation amount in the G90 (absolute command) mode
while it is added to the currently set compensation amount to specify the new one in the G91
3
(incremental command) mode.
(NOTE 1) When the additional axis is commanded and the optional additional axis is not
installed, an alarm will occur.
(NOTE 2) The workpiece coordinate zero cannot be changed while in feature coordinate
manufacturing mode (G68.2 modal in progress). The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
(NOTE 3) The workpiece coordinate zero cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
The entered value becomes the new compensation amount in the G90 (absolute command) mode
while it is added to the currently set compensation amount to specify the new one in the G91
(incremental command) mode.
(NOTE 1) The alarm <<Comm. issued to area other than (tool) data area.>> is triggered when a
value is input that is outside of the range set in the <Tool data range> under the
<Tool data> parameter.
(NOTE 2) The tool length offset data cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 33 eCOM4NCPR3
Chapter 3 Preparation Function
Command format
3 The commanded value is used as the new compensation amount in the absolute (G90) mode while
it is added to the current set compensation amount in the incremental (G91) mode.
Set range: ±99.999mm ±9.9999inch (for Type 1 least input increment)
(NOTE 1) The alarm <<Comm. issued to area other than (tool) data area.>> is triggered when a
value is input that is outside of the range set in the <Tool data range> under the
<Tool data> parameter.
(NOTE 2) The tool length wear offset cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
The compensation specified on X / Y / Z / R becomes the new compensation for the tool number
specified by P when G90 (absolute command) mode is enabled. The new compensation is the sum
of compensation specified on X / Y / Z / R plus the current compensation setting for the tool
number specified by P when G91 (incremental command) mode is enabled. T (Virtual teeth
number) is not based on G90 / G91.
(NOTE 1) The alarm <<Comm. issued to area other than (tool) data area.>> is triggered when a
value is input that is outside of the range set in the <Tool data range> under the
<Tool data> parameter.
(NOTE 2) The tool length offset (Z) cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 34 eCOM4NCPR3
Chapter 3 Preparation Function
The compensation specified on X / Y / Z / R becomes the new compensation for the tool number
specified by P when G90 (absolute command) mode is enabled. The new compensation is the sum
of compensation specified on X / Y / Z / R plus the current compensation setting for the tool
number specified by P when G91 (incremental command) mode is enabled. 3
(NOTE 1) The alarm <<Comm. issued to area other than (tool) data area. >> is triggered when
a value is input that is outside of the range set in the <Tool data range> under the
<Tool data> parameter.
(NOTE 2) The tool length wear offset (Z) cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
The entered values become the new offset values in the absolute mode (G90) while they are added
to the current offset value to make new ones in the incremental mode (G91).
(NOTE 1) The workpiece coordinate zero cannot be changed while in feature coordinate
manufacturing mode (G68.2 modal in progress). The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
(NOTE 2) The workpiece coordinate zero cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 35 eCOM4NCPR3
Chapter 3 Preparation Function
n=1 : G54
n=2 : G55
n=3 : G56
n=4 : G57
n=5 : G58
n=6 : G59
Q : Measurement result number (1 to 4)
3 A new coordinate system is set using the result of automatic measurement (G121 to 129).
Ex) Automatic measurement is performed on G54 coordinate system, yielding the data (120, 80).
We now set a new coordinate system moving this position to (50, 50).
G54 G121 X100. Y100. I20. J20. Z-10. R10. ; (angle measurement)
G10 L99 X50. Y50.;
Y Y
Result of measurement
80 50
G54
X
50
Origin of new
coordinate system
X
Origin of old coordinate system 120
(NOTE 1) The workpiece coordinate zero cannot be changed while in feature coordinate
manufacturing mode (G68.2 modal in progress). The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
(NOTE 2) The workpiece coordinate zero cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
(NOTE 1) The workpiece coordinate zero cannot be changed while in feature coordinate
manufacturing mode (G68.2 modal in progress). The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
(NOTE 2) The workpiece coordinate zero cannot be changed while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/23 3 - 36 eCOM4NCPR3
Chapter 3 Preparation Function
Not rotatable is determined if you set the maximum speed to zero. Unset is indicated if you select -
1.
Feed rate commanded by F is set as feed per minute even in the G95 (feed per revolution) mode.
* For Type 1 least input increment.
2023/11/23 3 - 37 eCOM4NCPR3
Chapter 3 Preparation Function
Command format
G10 L52; Parameter input mode start
P_ D_; Numerical value parameter setting
G11; Parameter input mode end
Parameter input mode start (G10 L52) and parameter input mode end (G11) cannot be combined
with other commands in one block. Parameter input mode start (G10 L52) and parameter setting
(P_D_) also cannot be combined in a block.
If an attempt is made to set a value that is out of range, the alarm <<Parameter setting error>> is
triggered.
2023/11/23 3 - 38 eCOM4NCPR3
Chapter 3 Preparation Function
Refer to “1.5 User parameters” in the Data Bank & Alarm Manual for details about the setting
range.
(NOTE) When the user parameter (switch 1: programming) <Program unit> is set to
<1:Minimum>, and the minimum unit setting is type 1 (micron)
2023/11/23 3 - 39 eCOM4NCPR3
Chapter 3 Preparation Function
XY plane selection
ZX plane selection
3 Command format G18
YZ plane selection
G17 only is valid for canned cycle, automatic workpiece measurement, coordinate calculation and
feature coordinate setting, and an alarm is triggered for G18 and G19.
Corner CR is only executed when the current and the succeeding block share the same plane. An
alarm occurs if different planes are selected in the blocks.
An alarm is triggered when a plane is selected that is different from the current modal during
diameter compensation and nose R compensation.
Coordinate values commanded in the same block as G53 are recognized in the machine coordinate
system.
(NOTE 1) A G53 command is ignored when specified in the incremental mode (G91).
(NOTE 2) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
2023/11/23 3 - 40 eCOM4NCPR3
Chapter 3 Preparation Function
Data setting
1. Reference and setting can be performed on the <Workpiece coord zero> screen of the data
bank.
2. Setting can be performed from the program using the G10 command.
Refer to “3.6.1 Entering Workpiece coordinate zero” for the description of command format.
(NOTE) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
The above command allows you to select 300 sets of workpiece coordinate systems.
Data setting
1. Reference and setting can be performed on the <Workpiece coord zero> screen of the data
bank.
2. Setting can be performed from the program using the G10 command.
Refer to “3.6.6 Data Input of Extended Workpiece Coordinate Zero” for further details.
(NOTE) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
2023/11/23 3 - 41 eCOM4NCPR3
Chapter 3 Preparation Function
This command shifts the zero position in the working coordinate system so that the current tool
position becomes to the commanded coordinate values.
G92 X80 Y60: Current tool position (150, 100) is changed to absolute coordinate position (80, 60)
by this command.
3
100 60 Tool position
40 New workpiece 80
Origin shift coordinate zero
Old workpiece
coordinate zero 70 150
(NOTE 1) The commanded coordinate values are always absolute regardless of G90 and G91.
(NOTE 2) The working coordinate values of the not commanded axes do not change.
(NOTE 3) The current working zero position shifts when G92 is executed, and other working
zero positions also shift the same amount accordingly.
In the above figures, G92 is commanded in the coordinate system of G54. When the
working zero position of G54 shifts, the other working zero positions of G55
through G59 also shift the same amount as G54.
2023/11/23 3 - 42 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 4) When a command is issued during the cutter compensation and nose R
compensation operations, it travels in a travel direction to a location where it is able
to stand vertically for the offset vector of the plane axis that was previously selected
(for X- and Y-axes when using the G17 modal). The workpiece coordinates, which
are used in the G92 command that is issued, are created for the current position in
the program path.
Y
G00X50.Y50.G41D1;
G01Y100.F1000;
G92X0.Y0.;
X50.;
•
100 •
3
50 This will
be (0, 0) Program path
Tool path
X
50 100
(0, 0) workpiece coordinate zero
(NOTE 5) When G92 is commanded during tool length compensation, a new workpiece
coordinate system will be created where the programmed target value of Z axis
coincides with the coordinates commanded by G92.
Tool tip
2023/11/23 3 - 43 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 6) When the G92 command is issued during the tool position compensation operation,
the workpiece coordinates are created and used for the tool teeth in the G92
command that is issued.
100.123
3
80.456
X
Zero point
(NOTE 7) When the additional axis is commanded and the optional additional axis is not
installed, an alarm will occur.
(NOTE 8) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
(NOTE 9) When issuing a G92 command after cancelling the following commands, first issue
a positioning command in a G90 modal beforehand, on the axis where the G92
command is issued, and then issue the G92 command. Otherwise, if there is no
command, the alarm <<Workpiece coordinate system setting error>> may trigger.
• Scaling (G51)
• Rotational transformation (G68/G168)
• Rotary fixture offset (G54.2)
• Feature coordinate setting (G68.2)
2023/11/23 3 - 44 eCOM4NCPR3
Chapter 3 Preparation Function
1. Executing this command creates a local coordinate system in all coordinate systems from G54
to G59.
2. The workpiece coordinate system does not vary even when this command is executed.
3. The local coordinate system of the specified axis is canceled when G92 command is executed.
4. An error will occur when this command is executed during coordinate rotation, scaling or
miller imaging
5. When a command is issued during the cutter compensation and nose R compensation 3
operations, it travels to a position where it is able to stand for the vertical vector at the end
point for the plane axis that was last selected (for X- and Y-axes when using the G17 modal).
6. The local coordinate system is canceled when any of the following operations are performed:
• When “0” is specified for the command value on the axis in the G52 command
• G92 command
• M02 (M30) command
• Operation resetting
(NOTE) When a TCP control (G43.4/G43.5) command is issued and the shift amount is set to
an axis in G52, the alarm <<TCP control command error>> is triggered. In addition,
when a G52 command is issued during TCP control (G43.4/G43.5), the alarm
<<TCP under control>> is triggered.
By setting the rotation center for the index table in the workpiece coordinate system (G54 to G59,
G54.1, G92, G52 and external workpiece coordinate system shift) as well as setting the X, Y and Z
vector from the rotation center to the workpiece zero point, when the table rotates, this function
automatically calculates if the workpiece zero point has moved to another point in the machine
coordinates. And, it sets a new workpiece coordinate system based on that position.
(Example when using it on the index table (A-axis) for an X-axis turn)
Z (A=0°)
A-axis rotation center
Z (A=-45°)
Workpiece zero point
Machine zero point
Z
Y (A=0°)
Y (A=-45°)
2023/11/23 3 - 45 eCOM4NCPR3
Chapter 3 Preparation Function
G54.2 is a modal G code. Specify from 1 to 8 for the G54.2 P address in order to enable the rotary
fixture offset function. Specify 0 for the P address to cancel or disable the function.
3
(NOTE 1) When there is no option for the rotary fixture offset function and the G54.2
command is issued, an alarm is triggered. Also, if the P address is not specified for
the G54.2 command, then an alarm is triggered.
(NOTE 2) An alarm is triggered when the G54.2 command is issued in the following situations.
• When the G68/G168 modal is operating (alarm: <<During rotational
transformation>>)
• When the G51 modal is operating (alarm: <<Scaling>>)
• When the G51.1 modal is operating (alarm: <<Miror image mode>>)
• When the G43.4/G43.5 modal is operating (alarm: <<TCP under control>>)
(NOTE 3) The alarm <<Rotary fixture offset in progress>> is triggered when the following
commands are issued while the rotary fixture offset function is enabled.
• G68/G168
• Additional axis command during thread cutting interpolation for helical screw
• G43.4/G43.5
(NOTE 4) When the rotary fixture offset function is enabled, the coordinate system is not reset
by the rotary fixture offset, even if the rotation axis coordinates change due to a
command or edit operation. When a G54.2 command or a rotation command is
issued from the next block, the coordinate system is reset by the rotary fixture offset.
• Workpiece coordinate system setting (G54 to G59, G54.1, G92, G52 and
external workpiece cooridnate system shift)
• G10
• G53
• G28/G30
• Motion from the G29 reference position to the middle position
• Reference angle for reference rotary fixture offset
(NOTE 5) When simultaneous travel commands are issued for the X-, Y- and Z-axes and for
the additional axis while the rotary fixture offset function is enabled, the X-, Y- and
Z-axes are offset based on the angle that is specified for the additional axis.
(NOTE 6) The additional axis angle, which corresponds to the turning spindle when the turning
spindle is selected, does not take into account the rotary fixture offset calculation.
(When the G54.2 command or another travel command on the additional axis is
issued, the current rotary fixture offset is the same as when positioning the
additional axis, which corresponds to the turning spindle, to the reference angle.)
2023/11/23 3 - 46 eCOM4NCPR3
Chapter 3 Preparation Function
When the feature coordinate system is set, this is called feature coordinate manufacturing mode.
The commands are controlled as commands in the feature coordinate system until the feature
coordinate manufacturing mode is cancelled.
Feature coordinate index refers to when the additional axis is moved so that the Z-axis + direction
in the feature coordinate system is in line with the tool axis direction
Relationship between machine coordinate system, workpiece coordinate system and feature 3
coordinate system
Feature coordinate
system
Workpiece
coordinate system
2023/11/23 3 - 47 eCOM4NCPR3
Chapter 3 Preparation Function
Rotation axis
3 Tilt axis
Rotate the rotation axis and tilt axis so that the Z-axis +
direction in the feature coordinate system is in line with the
tool axis direction
Rotation axis
Machining plane and tool
axis are perpendicular
XY in the feature
coordinate system
after indexing is
rotated to 60° from the
XY in the workpiece
Rotates 45° around coordinate system
the rotation axis
Tilt axis
Rotates 54.7356°
around the tilt axis
Usage conditions
The feature coordinate setting function is an option that is required to enable and use this function.
This function can only be used in NC language mode.
2023/11/23 3 - 48 eCOM4NCPR3
Chapter 3 Preparation Function
Do not rotate the additional axis after setting the feature coordinate system. The alarm
<<Feature coordinate manufacturing mode engaged>> is triggered.
(1) Feature coordinate setting using Euler angles (G68.2)
2023/11/23 3 - 49 eCOM4NCPR3
Chapter 3 Preparation Function
The axis does not travel with this command, it only cancels the feature coordinate
manufacturing mode.
When a modal is enabled for tool length offset, tool position compensation, cutter
compensation and canned cycle after the feature coordinate setting, cancel it before this
command. The alarm <<Feature coordinate command error>> is triggered if the feature
coordinate manufacturing mode is cancelled before cancelling the above modals.
2023/11/23 3 - 50 eCOM4NCPR3
Chapter 3 Preparation Function
The cancel command for feature coordinate manufacturing mode can be executed in memory
operation mode and MDI operation mode, but when the command is issued during an MDI
intervention in memory operation mode, the alarm <<Specified G code cannot be used>> is
triggered.
Issue a feature coordinate index command while in feature coordinate manufacturing mode.
The alarm <<Feature coordinate command error>> is triggered when an attempt is made to
issue a feature coordinate index command in a mode other than feature coordinate
manufacturing mode.
The additional axis travel is for a positioning operation that does not rely on the modal.
(1) Simultaneous command with the canned cycle (G100/M6) for tool change
The feature coordinate index command (G53.1) can be issued only on the same block as
the canned cycle (G100/M6) for tool change.
Issue a command with the coordinate values in the feature coordinate system for the X, Y
and Z coordinates in G100/M6.
Do not issue a travel command on the additional axis. The alarm <<Feature coordinate
manufacturing mode engaged>> is triggered.
A short cut is taken when traveling to the established angle. A positive direction is taken
when traveling if the travel amount in the positive and negative directions is the same.
2023/11/23 3 - 51 eCOM4NCPR3
Chapter 3 Preparation Function
When there is an axis that is set as a tilt axis or rotation axis and the user parameter
(switch 2: stroke) <*-axis stroke control> is set to <1: Yes>, select an angle within the
stroke range. In addition, select an angle where the axis can travel within the stroke range.
The alarm <<Feature coordinate command error>> is triggered when an angle cannot be
found for the axis to travel. The angle is established using the method above when there
are still two or more sets of angles.
Ex: Angle calculated from command is (tilt axis, rotation axis) = (54.7356, 45)(-54.7356,
135)
Case 1
Tilt axis with stroke between -95 and +5, rotation axis without stroke
Current position (tilt axis, rotation axis) = (30, 0)
3 Select “-54.7356” where the tilt axis is within the stroke range.
Set of angles (-54.7356, 135) is used because there is no stroke for the rotation axis.
Case 2
Tilt axis with stroke between -60 and +60, rotation axis with stroke between 0 and 180
Current position (tilt axis, rotation axis) = (30, 0)
Both tilt axis and rotation axis are within the stroke range.
The set of angles (54.7356, 45) is used because there is little travel from the current position of
the tilt axis.
Case 3
Tilt axis with stroke between -800 and +800, rotation axis without stroke
Current position (tilt axis, rotation axis) = (350, 0)
Both tilt axis and rotation axis are within the stroke range.
The travel amount of the tilt axis is 350 - 54.7356 = 295.2644 and 350 - (-54.7356) =
404.7356, and “54.7356” has less travel. However, “350” is the same position as “-10.” The
actual travel amount is (-10) - 54.7356 = -64.7256 and (-10) - (-54.7356) = 44.7356. “-
54.7356” has less travel so the set of angles (-54.7356, 135) is used.
Case 4
Tilt axis with stroke between -60 and +210, rotation axis without stroke
Current position (tilt axis, rotation axis) = (205, 0)
Both tilt axis and rotation axis are within the stroke range.
The shorter travel from the current position on the tilt axis is “305.2644”, the same position as
“-54.7356”. However, the travel goes outside of the stroke range, and therefore, the set of
angles (54.7356, 45) is used.
Case 5
Tilt axis with stroke between -30 and +120, rotation axis with stroke between -30 and +120
Current position (tilt axis, rotation axis) = (30, 0)
Select “-54.7356” where the tilt axis is within the stroke range.
The alarm <<Feature coordinate command error>> is triggered because the “135” that makes
the pair is outside of the rotation axis stroke range and there is no other set of angles that can
be used.
2023/11/23 3 - 52 eCOM4NCPR3
Chapter 3 Preparation Function
3.8.8.3 Restrictions
1. Simultaneous use with other functions
• Rotational transformation, rotary fixture offset, scaling and mirror image commands are
not possible while in feature coordinate manufacturing mode. The alarm <<Feature
coordinate manufacturing mode engaged>> is triggered.
• After the feature coordinate setting, the following commands cannot be used before the
feature coordinate index. The alarm <<Feature coordinate manufacturing mode
engaged>> is triggered.
- Cutter compensation
- Canned cycle
- Corner R
- Circular interpolation, helical thread cutting interpolation
- Circular cutting
- Involute interpolation 3
• TCP control (G43.4/G43.5) command is not possible while in feature coordinate
manufacturing mode. Otherwise, the alarm <<Feature coordinate manufacturing mode
engaged>> is triggered.
3. Special notes
This function is a coordinate conversion function and does not offer compensation for
indexing accuracy that is specific to each machine.
2023/11/23 3 - 53 eCOM4NCPR3
Chapter 3 Preparation Function
In addition, the involute interpolation override function and high accuracy mode can be used to
machine with even better accuracy.
Usage Conditions
The involute interpolation function option is required to enable and use this function.
This function can only be used in NC language mode.
3 3.8.9.2 Command Format
Command format For X-Y plane:
{G17} G02.2 X_Y_I_J_R_F_;
{G17} G03.2 X_Y_I_J_R_F_;
For Z-X plane:
{G18} G02.2 Z_X_K_I_R_F_;
{G18} G03.2 Z_X_K_I_R_F_;
For Y-Z plane:
{G19} G02.2 Y_Z_J_K_R_F_;
{G19} G03.2 Y_Z_J_K_R_F_;
On an XY plane, clockwise and counterclockwise refer to the rotation directions when looking at
the negative direction from the positive direction on the Z-axis.
2023/11/23 3 - 54 eCOM4NCPR3
Chapter 3 Preparation Function
End point
(X,Y) 3
R
Base circle
When the start point or end point on an involute curve is on the inside of the base circle, the alarm
<<Involute interpolation command error>> is triggered because an involute curve is not required.
The same alarm is triggered when the start and end points are inside the base circle after being
corrected or compensated due to cutter compensation or nose R compensation.
Depending on the relative distance between the center of the base circle, the start point and the end
point, the involute curve will either curve toward the base circle or away from it.
The involute curve will curve toward the base circle when the end point is closer to the center of
the base circle than the start point.
Base Base
circle circle
X X
2023/11/23 3 - 55 eCOM4NCPR3
Chapter 3 Preparation Function
The involute curve will curve away from the base circle when the end point is further away from
the center of the base circle than the start point.
2023/11/23 3 - 56 eCOM4NCPR3
Chapter 3 Preparation Function
- When the margin of error, between the involute curve that passes through the start point and
the end position of the involute curve that passes through the end point, exceeds the user
parameter (switch 1: compensation function) <Allowable margin of error for involute
interpolation>, then the curve leads toward the command end point.
- When the margin of error, between the involute curve that passes through the start point and
the end position of the involute curve that passes through the end point, exceeds the user
parameter (switch 1: compensation function) <Involute interpolation error limit>, then the
alarm <<Involute interpolation error limit exceeded>> is triggered.
Y End point
3
Involute curve that passes
through the end point
Margin
of error
Involute curve that passes
through the start point
Start Base
point circle
2023/11/23 3 - 57 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 1) When an involute interpolation command is issued in startup and cancel mode, the
alarm <<Cutter compensation error>> is triggered.
(NOTE 2) When the next block for the involute interpolation is a cutter compensation cancel
command, the position that makes up a vertical vector to the end point of the
involute interpolation becomes the end point.
3 Involute Interpolation Override
The radius of curvature is not fixed for an involute curve. Therefore, even if the speed for the tool
center is constant or fixed, the speed on the cutting plane will not be constant and changes
depending on the radius of curvature. In particular, the radius of curvature is small close to the
base circle, and therefore that change becomes bigger.
The involute interpolation override function adjusts the actual feedrate to a speed that matches the
radius of curvature, so that the speed on the cutting plane becomes the command value.
Y
r: Cutter compensation
R: Radius of curvature for tool center
(NOTE 1) When cutting the inside of the workpiece in cutter compensation mode, the override
value may become extremely small as it gets closer to the base circle. The lower
limit can be set in the user parameter (switch 1: compensation function) <Involute
interpolation override limit>. If the calculated override value is less than the
<Involute interpolation override limit>, the override value is calculated using the
<Involute interpolation override limit> value.
2023/11/23 3 - 58 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 2) When cutting the outside of the workpiece in cutter compensation mode, the actual
feedrate is greater than the command speed. When the feedrate for each axis exceeds
the following parameters, the speed is clamped at the following values.
- User parameter (switch 1: programming) <Max. actual cutting travel speed
(linear axis / rotation axis)>
- Machine parameter (system 1: X-, Y- and Z-axes) <Maximum cutting travel
speed> (X- to Z-axis)
- Machine parameter (high accuracy: X-, Y- and Z-axes) <Max. feedrate A>
- Machine parameter (high accuracy: X-, Y- and Z-axes) <Max. feedrate B> (X-
to Z-axes)
(NOTE 3) When the user parameter (switch 1: compensation function) <Involute interpolation
override limit> is zero (0), the involute interpolation override function is disabled.
The override value is fixed at 100% and it always operates at the command speed.
3
3.8.9.5 Involute Interpolation Command in High Accuracy
Mode
An involute interpolation command is possible in high accuracy mode (high accuracy A / high
accuracy B / quick setting for high accuracy). The user can machine with even better accuracy by
using the <Automatic arc deceleration function> in high accuracy mode.
(NOTE 1) An involute interpolation command is not possible with the fully automatic
deceleration function in high accuracy mode A, nor is it possible in accuracy
specification mode in the quick setting for high accuracy. When there is a command,
the alarm <<High accuracy A invalid command>> and <<Invalid command in
accuracy specification mode>> are triggered.
(NOTE 2) Smooth path offset function is cancelled when there is an involute interpolation
command.
3.8.9.6 Restrictions
- A command is only possible when the start and end points for the involute interpolation
command are less than 100 rotations from the starting point of the involute curve. When the
command is more than 100 rotations, the alarm <<Involute interpolation command error>> is
triggered.
- When the corner CR is specified in the preceding block, the alarm <<Specified G code cannot
be used.>> is triggered.
- The corner CR cannot be specified for the involute interpolation. When a command is issued,
the alarm <<Address where command is not possible>> is triggered.
- An involute interpolation command is not possible when the mirror image is enabled (G51.1).
When a command is issued, the alarm <<Mirror image mode>> is triggered.
- An involute interpolation command is not possible when the scaling is enabled (G51). When a
command is issued, the alarm <<Scaling>> is triggered.
- After the feature coordinate setting, an involute interpolation command cannot be issued
before the feature coordinate index. When a command is issued, the alarm <<Feature
coordinate manufacturing mode engaged>> is triggered.
- An involute interpolation command is not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse time
feed>> is triggered.
- An involute interpolation command cannot be issued when the TCP control (G43.4/G43.5)
modal is in use. Otherwise, the alarm <<TCP under control>> is triggered.
- When the following command is issued during the involute interpolation modal, the alarm
<<Invalid command for involute interpolation modal>> is triggered.
• Tool length offset (G43 and G44), tool position compensation (G143 and G144) and TCP
control (G43.4 and G43.5)
• Coordinate calculation function (G36 to G39)
• Scaling (G51) and mirror image (G51.1)
• Automatic workpiece measurement (G121 to G129)
• Inverse time feed (G93)
2023/11/23 3 - 59 eCOM4NCPR3
Chapter 3 Preparation Function
3.9.1 Stroke
The maximum machine stroke is set using the machine parameter (system 1: X-, Y- and Z-axes)
<Stroke 1 (+/-)> (X-, Y- and Z-axes). Do not change it.
+Z
+Z
3
Z axis stroke
Z軸ストローク Operation
動作可能領域 range
-X
-X Machine origin
機械原点
(0, 0, 0)
(0,0,0)
X axis stroke
X軸ストローク
-Y
-Y
(NOTE) The distance to the Z-axis zero point is set in the machine parameter (system 1: X-,
Y- and Z-axes) <Distance to zero point> (Z-axis).
2023/11/23 3 - 60 eCOM4NCPR3
Chapter 3 Preparation Function
Movable area
-Y
(I, J, K)
(NOTE 1) Selection criterion for using stroke or programmable stroke as soft limit on the
program:
G22 - - - - Check using programmable stroke limit as soft limit
G23 - - - - Check using stroke as soft limit
(NOTE 2) Stroke limit of User Parameters is effective immediately after starting up the
machine. Then, change of User Parameters and commanding by G22, whichever
takes place later, is effective.
Stroke limit of User Parameters is recognized as command value for those axes that
are not specified by G22. When you change the stroke limit of User Parameters,
however, the User Parameters’ value applies to all axes including those that are not
changed.
(NOTE 3) Stroke by machine parametes is always effective.
2023/11/23 3 - 61 eCOM4NCPR3
Chapter 3 Preparation Function
3 (NOTE 1) Intermediate point coordinates are memorized for only the axis for which travel is
specified in the G28 block.
For the axes not specified in the G28 block, G28 intermediate point coordinates
defined previously will be used as they are.
(NOTE 2) The reference position is set in the user parameter (switch 3) <Reference position *-
axis> (X- to Z- / 5- to 8-axes).
(NOTE 3) Travel to intermediate and reference point is a positioning operation. No
interpolation is performed.
(NOTE 4) The tool stops at the intermediate point in a single block operation.
(NOTE 5) Coordinate values of intermediate points are memorized in absolute values of
workpiece coordinate system. When workpiece coordinate system is changed after
commanding a G28, the intermediate point also moves to the new workpiece
coordinate system.
(NOTE 6) An alarm occurs when an additional axis is commanded in the absence of the
optional additional axis.
(NOTE 7) When a command is issued during the tool length offset, the tool length offset stays
enabled while traveling to the middle point. When travelling to the reference
position, the tool length offset is cancelled temporarily. The same also applies
during tool position compensation.
Refer to “4.2 Tool length offset (G43, G44 and G49)” and “4.4 Tool position
compensation (G143, G144 and G49 - Option)” for further details.
(NOTE 8) While the Z-axis perimeter mode is on (M300), the Z-axis perimeter operation is
carried out when there are consecutive operations for the Z-axis positioning in the
plus direction and the X-axis or Y-axis positioning operations. Refer to “Chapter 12
M function” for further details on the Z-axis perimeter operation.
(NOTE 9) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
2023/11/23 3 - 62 eCOM4NCPR3
Chapter 3 Preparation Function
Axes move to the specified position via intermedaite point. In the case of incremental commands,
motion from the intermediate point is given in an incremental value. The specified axis goes to the
intermediate point by rapid feed and then to the final position.
G30 is the same as G28 except that the axes return to the 2nd through 6th reference points.
You can use G29 for G30 in the same way as you use it for G28.
(NOTE 1) The 2nd to the 6th reference positions are set in the user parameter (switch 3) <2nd
(to 6th) reference position *-axis> (X- to Z- / 5- to 8-axes).
(NOTE 2) Omit P, and return to the 2nd reference point is selected.
(NOTE 3) An alarm occurs when an additional axis is commanded in the absence of the
optional additional axis.
(NOTE 4) While the Z-axis perimeter mode is on (M300), the Z-axis perimeter operation is
carried out when there are consecutive operations for the Z-axis positioning in the
plus direction and the X-axis or Y-axis positioning operations. Refer to “Chapter 12
M function” for further details on the Z-axis perimeter operation.
(NOTE 5) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered.
2023/11/23 3 - 63 eCOM4NCPR3
Chapter 3 Preparation Function
Refer to “1.5 User parameters” in the Data Bank & Alarm Manual for further details on each
measurement setting.
Compatible set value
Skip function G31/131/132 <Measurement setting 1>
3 Multiple skip function G31/131/132 P1
G31/131/132 P2
<Measurement setting 1>
<Measurement setting 2>
G31/131/132 P3 <Measurement setting 3>
G31/131/132 P4 <Measurement setting 4>
Continuous skip function G31/131/132 P90 <Measurement setting 90>
Simultaneous axis commands that can be used and the feedrate F setting are the same as in linear
interpolation (G01).
For G131, the alarm <<Detection signal off>> is triggered if travel is carried out to the end point
without the measuring instrument detection signal (that is enabled) turning ON. For G31, G132, an
alarm does not occur.
When using G31, after the valid measuring instrument detection signal turns ON, axis travel
decelerates and then stops. When using G131/132, after the signal turns ON, axis travel
decelerates and stops. Then, it returns back to the same coordinate where the signal turned ON.
The coordinate values where the detection signal turns ON are stored in the macro system
variables (#5061 to #5068, #5071 to #5074).
In feature coordinate manufacturing mode, the coordinates in the feature coordinate system are
stored in the system variables: #5161 to #5168 and #5171 to #5174.
(NOTICE 1) The appropriate feedrate varies depending on the probe being used. Therefore,
contact the probe manufacturer when deciding on the rate.
(NOTICE 2) The “Coordinate when the detection signal turns ON” is acquired by this function,
and the true value varies depending on factors such as the delay that is unique to the
probe. Therefore, contact the probe manufacturer and adjust it accordingly.
(NOTICE 3) Make sure that no chips or shavings are stuck to the end of the measurement probe
or on the measurement surface. In addition, make sure that there is no disturbance
(caused by vibrations from outside of the machine) that adversely affects the
machine. We cannot guarantee the measurement accuracy when there are chips or
other factors that can cause inaccuracy.
2023/11/23 3 - 64 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 5) While in the inverse time feed (G93) modal, the alarm <<Command not possible
during inverse time feed>> is triggered.
(NOTE 6) Only X-, Y- and Z-axes commands are possible while under TCP control. If an
additional axis command is issued, the alarm <<Address where command is not
possible>> is triggered.
(NOTE 7) If a G31 or G131/132 command is issued immediately after the TCP control ON
command, be sure to issue a positioning command in the G90 modal beforehand for
the additional axis. If the command is not issued, the alarm <<TCP under control>>
may trigger.
P : 1~4
Refer to “3.11.1 Before using the skip function” for details related to the P address value and the
<Measurement setting 1 (2/3/4)>.
The motions (excluding conditions when the signal turns ON) are the same as the skip function
(G31, G131/132).
(NOTICE 1) The appropriate feedrate varies depending on the probe being used. Therefore,
contact the probe manufacturer when deciding on the rate.
(NOTICE 2) The “Coordinate when the measuring instrument detection signal turns ON” is
acquired by this function, and the true value varies depending on factors such as the
delay that is unique to the probe. Therefore, contact the probe manufacturer and
adjust it accordingly.
(NOTICE 3) Make sure that no chips or shavings are stuck to the end of the measurement probe
or on the measurement surface. In addition, make sure that there is no disturbance
(caused by vibrations from outside of the machine) that adversely affects the
machine. We cannot guarantee the measurement accuracy when there are chips or
other factors that can cause inaccuracy.
2023/11/23 3 - 65 eCOM4NCPR3
Chapter 3 Preparation Function
3
(NOTICE 1) The appropriate feedrate varies depending on the probe being used. Therefore,
contact the probe manufacturer when deciding on the rate.
(NOTICE 2) The “Coordinate when the detection signal turns ON” is acquired by this function,
and the true value varies depending on factors such as the delay that is unique to the
probe. Therefore, contact the probe manufacturer and adjust it accordingly.
(NOTICE 3) Make sure that no chips or shavings are stuck to the end of the measurement probe
or on the measurement surface. In addition, make sure that there is no disturbance
(caused by vibrations from outside of the machine) that adversely affects the
machine. We cannot guarantee the measurement accuracy when there are chips or
other factors that can cause inaccuracy.
2023/11/23 3 - 66 eCOM4NCPR3
Chapter 3 Preparation Function
Y
P4 P3
3
Same factor scaling
P4’ P3’
P0: Scaling center
P1P2P3P4 → P1’P2’P3’P4’
P0
P1’ P2’
P1 P2
X
Y axis
Shape after
c scaling
O
X axis
Scaling cancel:
2023/11/23 3 - 67 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 68 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 69 eCOM4NCPR3
Chapter 3 Preparation Function
Y Program
O9000;
90 (7) (3) G00G90X60.Y60.;
G01X90.F100;
G01Y90.;
(6) (2)
G03X60.Y60.R30.;
(5) (4) (1) M99;
60
(8) Main program
3 50
(9) (13) N10 G00G90;
40 N20 M98P9000;
(12) N30 G51X50.Y50.I-1000J1000;
(10) (14)
N40 M98P9000;
(11) (15) N50 G51X50.Y50.I-1000J-1000;
N60 M98P9000;
10 N70 G51X50.Y50.I1000J-1000;
X N80 M98P9000;
10 40 50 60 90 N90 G50;
Do not use the first feed rate command for circular interpolation or helical screw cut interpolation
(G02, G03), after commanded by mirror image of scaling, When use it, positioning error occurred
between start point, end point and center point that cause of distortion in the circular arc.
Mirror image is applied to scaling center coordinates and programmed path while the mirror image
(G51.1) is valid.
2023/11/23 3 - 70 eCOM4NCPR3
Chapter 3 Preparation Function
Mirror image
Mirror image setting can be applied simultaneously for the 1st to 3rd axes.
Set the mirror image axis in workpiece coordinates.
Set the mirror image axis. Omit this for axes about which a mirror image is not created.
3
Using G50.1 command is valid while setting a mirror image.
Coordinate values are arbitrarily set.
(NOTE 1) Using G51.1 command is valid while setting a mirror image. It is regarded as an
addition of mirror axes or a change of the mirror axis coordinates.
(NOTE 2) Mirror cancel command for the axes that are not mirror-designated will not invoke
an alarm.
60
50
Axis of symmetry
40 (Y=50)
(3) (4)
X
0 40 50 60 100
2023/11/23 3 - 71 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 72 eCOM4NCPR3
Chapter 3 Preparation Function
G17
Command format G18 G68 α_β_R_;
G19
Y
After rotation
Angle of rotation
Plane section command can be omitted. The plane currently selected is valid when it is omitted.
Relationship between selected plane and αβ.
Selected plane α β
G17 X Y
G18 Z X
G19 Y Z
The rotation angle in incremental programming mode is determined in reference to the angle after
the previous rotational transformation, and in reference to the α axis when it is the first rotational
transformation.
2023/11/23 3 - 73 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 74 eCOM4NCPR3
Chapter 3 Preparation Function
The coordinate is rotated using the angle obtained from the measurement. 3
Other features are the same as those for the coordinate rotation function.
The shape specified in the program is rotated.
When the center coordinates are omitted for rotational transformation, the coordinates of the
spindle’s current position are regarded as the rotation center coordinates.
Coordinates are calculated according to the following sequence: mirror, scaling, and then
rotational transformation. Accordingly, set these in this order in a program. Set these in the reverse
order to cancel previous settings. An alarm will occur when the specified sequence is not followed.
2023/11/23 3 - 75 eCOM4NCPR3
Chapter 3 Preparation Function
3 • Absolute command
G90 X90 Y70;
• Incremental command
G91 X60 Y40;
End point
70
40
Start 60
point
X
( 0. 0) 30 90
2023/11/23 3 - 76 eCOM4NCPR3
Chapter 3 Preparation Function
When the machine parameter (system 2: additional axis) <Address> (5th-axis) is set to <1:B>:
B(-) B(+)
B(-) B(+)
Ex.3 Ex.1
Ex.2
3
Ex.1: Enter B 0.000 to rotate B axis 90 deg in negative direction
Ex.2: Enter B 180.000 to rotate B axis 180 deg in positive direction.
Ex.3: Enter B 0.000 to rotate B axis 90 deg in negative direction.
2023/11/23 3 - 77 eCOM4NCPR3
Chapter 3 Preparation Function
Commanding G133 and G134 rotates the spindle clockwise and counterclockwise, respectively.
These are one shot G codes. Use G133/G134 codes each time even for continuous operation.
When the user parameter (switch 2: common) <Tap override> is set to <1: Spindle override>, the
spindle override is applied to the cutting feedrate and spindle speed during the infeed operation.
However, if the spindle override is greater than 100%, the motion is carried out at 100%.
When the user parameter (switch 2: common) <Tap override> is set to <2: Feedrate override>, the
feedrate override is applied to the cutting feedrate and spindle speed during the tapping infeed.
However, if the cutting feedrate override is greater than 100%, the motion is carried out at 100%.
(NOTE 1) When the screw pitch is less than the <Minimum tapping pitch> in the <Machine
parameter>, the alarm <<Pitch data error>> is triggered.
(NOTE 2) A command to change the tap twist direction is not possible while in the inverse
time feed (G93) modal.
If a command is issued, the alarm <<Command not possible during inverse time
feed>> is triggered.
2023/11/23 3 - 78 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 79 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 80 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 81 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 82 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 83 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 84 eCOM4NCPR3
Chapter 3 Preparation Function
2023/11/23 3 - 85 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 1) Refer to “Chapter 13 (1) High accuracy mode A III” for further details on high
accuracy mode A.
(NOTE 2) The set parameters are cancelled after one of the following operations: M02, M30,
reset (including machine lock change), operation reset or power OFF.
(NOTE 3) An alarm is triggered when L or P is omitted, or when only the L and P commands
are issued.
(NOTE 4) When another address is omitted, the current value for the omitted parameter does
not change.
(NOTE 5) The range that can be set for the numerical values of IJKWQXRB is the same as the
corresponding user parameter.
Refer to “1.5 User parameters” in the Data Bank & Alarm Manual for further
details.
2023/11/23 3 - 86 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 1) The set parameters are cancelled after one of the following operations: M02, M30,
reset (including machine lock change), operation reset or power OFF.
(NOTE 2) An alarm is triggered when L or P is omitted, or when only the L and P commands
are issued.
(NOTE 3) When another address is omitted, the current value for the omitted parameter does
not change.
(NOTE 4) The range that can be set for the numerical values of JKWQRY is the same as the
corresponding user parameter.
Refer to “1.5 User parameters” in the Data Bank & Alarm Manual for further
details.
2023/11/23 3 - 87 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE 1) The set parameters are cancelled after one of the following operations: M02, M30,
reset (including machine lock change), operation reset or power OFF.
(NOTE 2) An alarm is triggered when L or P is omitted, or when only the L and P commands
are issued.
(NOTE 3) When another address is omitted, the omitted parameter does not change from the
current value.
(NOTE 4) The range from 1 to 100 (%) can be set to the E numerical value.
(NOTE 5) The range that can be set to the numerical value for IUVZBCQ is the same as the
corresponding user parameter. Refer to “1.5 User parameters” in the Data Bank &
Alarm Manual for further details.
If zero (0) is set for “I”, the previous parameter setting for this command is canceled and it reverts
back to the set value for the corresponding user parameter.
(NOTE 1) This command does not apply while in service mode, while measuring for automatic
centering or during spindle orientation when the spindle is rotating faster than the
value set in this command.
(NOTE 2) The set parameters are cancelled after one of the following operations: M02, M30,
MDI operation completion (excluding MDI intervention), reset (including machine
lock change), operation reset or power OFF.
(NOTE 3) The values noted below can be set for “I”. If another value is set, the alarm
<<Command data range error>> is triggered. Refer to “1.5 User parameters” in the
Data Bank & Alarm Manual for details on the range that can be set for the user
parameter (switch 1: common) <Spindle orientation speed>.
• 0
• Value within the range that can be set for the user parameter (switch 1:
common) <Spindle orientation speed> and also greater than the machine
parameter (system 1: common) <Spindle orientation minimum speed>
(NOTE 4) When “I” is omitted, the alarm <<Command address error (I address)>> is triggered.
2023/11/23 3 - 88 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTE) When a thread cutting command (G33/G392/376) is issued during TCP control
(G43.4/G43.5), the alarm <<TCP under control>> is triggered. In addition, when a
TCP control command is issued during a thread cutting modal (G33/G392), the
alarm <<TCP control command not possible>> is triggered.
Lead Lead
Lead Lead
2023/11/23 3 - 89 eCOM4NCPR3
Chapter 3 Preparation Function
The value for the command at address F is also reflected in the F code modal.
When cutting a taper screw, address F issues a command for the lead on the long axis direction.
When specifying the start angle on the spindle for thread cutting or when machining multiple start
screws, address Q issues a command per block.
End point
3 Y-axis
(NOTICE) During thread cutting as well, the constant peripheral speed control is enabled.
However, the correct thread lead may not be maintained if the spindle speed is
changed. When cutting a taper screw, do not use the constant peripheral speed
control.
(NOTE 1) During a single block operation, it stops after the first block is executed that is not a
thread cutting block (after thread cutting).
(NOTE 2) When a command is issued while the lathe spindle is not rotating, a <<Feedrate
error>> is triggered.
(NOTE 3) When the user parameter <Thread cutting override> is set to <0: Disable>, the
spindle override and the feedrate override are disabled, and the setting is fixed at
100%. When the user parameter <Thread cutting override> is set to <1: Spindle
override>, the spindle override is applied to the spindle speed and cutting feedrate.
However, in this situation, if the spindle override is greater than 100%, the motion is
carried out at 100%.
(NOTE 4) When one of the following operations is performed or when a stop level 3 or 4 alarm
is triggered during thread cutting, it stops after the first block is executed that is not
a thread cutting block (after thread cutting).
• [FEED HOLD] switch is pressed.
• [RST] key is pressed.
• [M.LCK] key is pressed.
• [SINGL] key is pressed.
• Mode is changed.
(NOTE 5) The cutting speed during thread cutting, while the [DRY] key is OFF, is not
restricted in the PLC signals (BDY164 to BDY165).
2023/11/23 3 - 90 eCOM4NCPR3
Chapter 3 Preparation Function
Z-axis B (1) A
User parameter
<Cutting angle in thread cutting cycle>
(2) (4)
C (3) D C T
User parameter
<Cutting amount in thread cutting cycle>
Y-axis
2023/11/23 3 - 91 eCOM4NCPR3
Chapter 3 Preparation Function
(NOTICE) RAPID TRAVERSE OVERRIDE is always valid. When a thread cutting cycle
command is issued for a straight screw in M322 modal (finishing OFF) and
operation has been stopped using a RAPID TRAVERSE OVERRIDE after
operation (2), the shape of the thread runout changes. In addition, be careful because
the tool may become damaged.
(NOTE 1) During a single block operation, operations (1), (2), (3) and (4) are performed all at
once.
(NOTE 2) When the travel distance between C and D is 0, the alarm <<No relief amount>> is
triggered before starting operation (1).
(NOTE 3) When one of the conditions below applies, distance between C and D is 0, the alarm
<<Cutting amount error in thread cutting cycle>> is triggered before starting
operation (1).
• When the travel distance between S and C is greater than the travel distance
3 between B and C.
• When the travel distance between C and T is greater than the travel distance
between C and D.
(NOTE 4) When a thread cutting cycle command on a straight screw is issued while the lathe
spindle is not rotating, a <<Feedrate error>> is triggered before starting operation
(2).
(NOTE 5) During the motion in (2), if the user parameter <Thread cutting override> is set to
<0: Disable>, the spindle override and the feedrate override are disabled, and the
setting is fixed at 100%. When the user parameter <Thread cutting override> is set
to <1: Spindle override>, the spindle override is applied to the spindle speed and
cutting feedrate. However, in this situation, if the spindle override is greater than
100%, the motion is carried out at 100%.
(NOTE 6) When one of the following operations is performed or when a stop level 3 or 4 alarm
is triggered during operation (2), it stops after operation (3).
• [FEED HOLD] switch is pressed.
• [RST] key is pressed.
• [M.LCK] key is pressed.
• Operation mode is changed.
(NOTE 7) When a stop level 3 alarm is triggered during any of the following operations: (1),
(2), (3) or (4), the machine stops after operation (4).
(NOTE 8) When the Z-axis perimeter mode is on (M300), the rapid feed operation for (4)
applies to Z-axis perimeter operation. Refer to “Chapter 12 M function” for further
details on the Z-axis perimeter operation.
(NOTE 9) The cutting feedrate for (2), while the [DRY] key is OFF, is not restricted in the
PLC signals (BDY164 to BDY165).
2023/11/23 3 - 92 eCOM4NCPR3
Chapter 3 Preparation Function
User parameter
<Cutting angle in thread cutting cycle>
(2) (4)
S
C (3) D C T
User parameter
<Cutting amount in thread cutting cycle>
Y-axis
The diagram below shows an example of machining the outer and inner diameters when thread
cutting on a taper screw with an infeed on the Y-axis.
The taper amount command is issued in increments in the infeed direction starting from the screw
end point, regardless of the absolute mode (G90) and incremental mode (G91).
2023/11/23 3 - 93 eCOM4NCPR3
Chapter 3 Preparation Function
Taper amount
Outer diameter machining Inner diameter machining
(R) sign
1 2
(1)
(1)
(4) (2)
+ (4) (2)
(3)
Z (3)
Z
Y
R Y
R
3 4
3 (1) (1)
(3) (3)
Z Z
Y R Y R
When a taper command is issued in which the taper amount exceeds start point A from end point C
on the screw, as shown in the diagram, the alarm <<Taper amount too large>> is triggered and it
stops before starting operation (1).
(3)
D C
(4) (2)
Z
Y
B A
(1)
The special notes above for the thread cutting cycle of straight screws is the same for the thread
cutting cycle of taper screws.
2023/11/23 3 - 94 eCOM4NCPR3
Chapter 3 Preparation Function
Command format X_ Y_
G376 X_ Z_ R_ P_ Q_ F_ D_ E_ I_ J_ K_ L_
Y_ Z_
2023/11/23 3 - 95 eCOM4NCPR3
Chapter 3 Preparation Function
3.19.3.1 Infeed
When a command for the complex thread cutting cycle is issued, the infeed is carried out for a
“fixed cutting amount and single edge cutting” until the finishing operation. The infeed amount Qn
for nth cut is as follows:
If the infeed amount after the previous cut is less than the minimum infeed amount, the infeed
amount becomes the sum of the previous infeed amount plus the minimum infeed amount.
In addition, if the infeed overlaps the finishing section (gray area below), then the infeed amount
becomes the difference when finishing allowance is subtracted from the thread height.
P (Thread height)
3 Qn = n × Q
1st cut
2nd cut
nth cut
K (Finishing allowance)
2023/11/23 3 - 96 eCOM4NCPR3
Chapter 3 Preparation Function
P (Thread height)
K (Finishing allowance) Q (Initial infeed amount)
Z-axis B0 A
B (1)
B1
Bn
Be
3
(2) (4)
E (Finishing amount)
C Ce Cn C1 D
R (Taper amount)
(3)
Y-axis
2023/11/23 3 - 97 eCOM4NCPR3
Chapter 3 Preparation Function
Rough cutting
(1) It travels using rapid feed from start point A to start point Bn for thread cutting on the nth cut.
The infeed amount is calculated based on the formula noted in “3.19.3.1 Infeed” and it travels
in the cutting direction only for the distance that is calculated from the following formula.
dn = (Qn + K) × tan(θ ⁄ 2)
dn : Distance that is traveled in the cutting direction from the start point for thread cutting on
the nth cut (mm)(inch)
Qn : Infeed amount for nth cut (mm) (inch)
K : Finishing allowance (mm) (inch)
θ : Thread angle (°)
3 P (Thread height)
Qn
B0
K (Finishing
dn
allowance)
Bn
(2) It travels using the cutting feed from start point Bn for thread cutting on the nth cut until the
end point Cn for thread cutting on the nth cut. The thread finishing is the same as the thread
cutting cycle (G392).
(3) It travels using the rapid feed from end point Cn for thread cutting on the nth cut until point D.
(4) It travels using rapid feed from point D until start point A.
2023/11/23 3 - 98 eCOM4NCPR3
Chapter 3 Preparation Function
Finishing
(1) It travels from start point A to start point Be for finishing. It travels in the cutting direction
only for the distance de that is calculated from the following formula.
de = P × tan (θ ⁄ 2)
de : Distance that is traveled in the cutting direction from the start point for finishing (mm)
(inch)
P : Height of screw thread (mm)(inch)
θ : Thread angle (°)
When de is greater than the travel distance in the cutting direction between B and C, the alarm
<<Cutting amount error in thread cutting cycle>> is triggered, and it stops before starting the
complex thread cutting cycle operation.
3
P (Thread height)
B0
de
Be θ
(2) It travels using the cutting feed from start point Be for finishing until the end point Ce of the
thread. The thread finishing is the same as the thread cutting cycle (G392).
(3) It travels using the rapid feed from end point Ce of the thread until point D.
(4) It travels using rapid feed from point D until start point A.
(1) through (4) is repeated according to the number in the finishing count.
The special notes for the operations are the same as the thread cutting cycle (G392).
2023/11/23 3 - 99 eCOM4NCPR3
Chapter 3 Preparation Function
3 L
Cutting start L
Lc
Complete thread Lc
L
Cutting end L
L = K × ( N / 60 ) × P
Model K
M200Xd1 0.047
50mm
Y-axis
80mm
L L
Y=-200.0 Y=-116.0
When made using G33 When made using G392 When made using G376
M303 S1000 M303 S1000 M303 S1000
G00 Y-200. Z45. G00 Y-200. Z45. G00 Y-200. Z45.
Z25. (1) G392 G322 Y-116. Z25. F2. M323 G376 G323 Y-116. Z23.5 P2. Q0.5 F2. M323
G33 Y-116. F2. (2)
G00 Z45. (3)
Y-200. (4)
Z24.5 Z24.5
G33 Y-116.
G00 Z45.
Y-200.
Z24. Z24.
G33 Y-116.
G00 Z45.
Y-200.
Z23.5 Z23.5
G33 Y-116.
G00 Z45.
Y-200.
60mm
(1) Z-axis
3 Z=80.0
L
Z=28.0 L
(3)
Y-axis
When made using G33 When made using G392 When made using G376
M303 S500 M303 S500 M303 S500
G00 Y-120. Z80. G00 Y-120. Z80. G00 Y-120. Z80.
Y-150. (1) G392 G322 Y-135. Z28. R-15. F2. M323 G376 G322 Y-136.5 Z28. R-15. P2. Q0.5 F2. M323
G33 Y-135. Z28. F2. (2)
G00 Y-120. (3)
Z80. (4)
Y-150.5 Y-135.5
G33 Y-135.5 Z28. F2.
G00 Y-120.
Z80.
Y-151. Y-136.
G33 Y-136. Z28. F2.
G00 Y-120.
Z80.
Y-151.5 Y-136.5
G33 Y-136.5 Z28. F2.
G00 Y-120.
Z80.
In the canned cycle for lathe machining, first, it travels using rapid feed from the start point to the
start point for cutting.
At this time, the travel direction is set by the command axis address and the G code modal (Refer
to table below). If that setting is invalid, the alarm <<Thread cutting command error>> is triggered
at the time of the command.
Command axis address G code modal for infeed direction Travel direction
G321 X-axis
G322 Y-axis
X_ Y_
<<Thread cutting
G323
command error>>
G321 X-axis
<<Thread cutting
X_ Z_ G322
command error>>
G323 Z-axis
<<Thread cutting
G321
command error>>
Y_ Z_
G322 Y-axis
G323 Z-axis
The modal can be specified during power startup in the user parameter (switch 1: canned cycle)
<Lathe machining infeed direction when power is turned ON>.
Program example
When a thread cutting cycle is performed with the Z-axis as the infeed direction
Z-axis
Z=45.0
Z=25.0
Y-axis
3
50mm
Y=-200.0 Y=-130.0
Program Description
M303 S1000 Lathe spindle rotates clockwise at 1000 min-1
G00 Y-200. Z45. Positioning to start point for thread cutting cycle
G323 Specifies Z-axis as infeed direction
G392 Y-130. Z25. F2. M323 Infeeds on Z-axis and cuts thread on Y-axis
CHAPTER 4
PREPARATION FUNCTION 4
(COMPENSATION FUNCTION)
2023/11/21 4- 1 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
If either the command G41 or G42 is issued, the cutter compensation mode is enabled. This mode
4 is cancelled by G40.
Before
After compensation
After
compensation compensation
Workpiece Workpiece
Dn: Tool No. (n = 0 to 99, 201 to 299), or Group No. (n = 901 to 930)
The amount that is offset for D0 is always 0.
The offset can be set on the tool list screen, or by inputting (G10) the tool data.
(NOTE 1) When a command is issued with zero travel, or when there are no travel commands
on the X- and Y-axes for more than 3 blocks, the infeed will be too much or too
little.
(NOTE 2) When the cutter compensation range is set for the tool specified in D code, the range
is checked. The alarm <<Comm. issued to area other than (tool) data area>> is
triggered when the command area is outside of the range.
(NOTE 3) If a cutter compensation command (G41 and G42) is issued during G141 and G142
modals, an alarm is triggered. Note, if a tool change command (G100 and M06) is
issued on the same block, no alarm is triggered.
(NOTE 4) When a cutter compensation command (G141 and G142) is issued while the feature
coordinate is being set (after G68.2 command and before G53.1 command), the
alarm <<Feature coordinate manufacturing mode engaged>> is triggered. A
command is possible while the feature coordinate is being indexed (after G53.1
command).
(NOTE 5) When a cutter compensation command (G41 and G42) is issued during TCP control
(G43.4/G43.5), the alarm <<TCP under control>> is triggered. In addition, when a
TCP control command is issued while in cutter compensation mode, the alarm
<<TCP control command not possible>> is triggered.
2023/11/21 4- 2 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE) When the cutter wear offset range is set for the tool specified in D code, the range is
checked. The alarm <<Comm. issued to area other than (tool) data area>> is
triggered when the command area is outside of the range.
<Term / symbol explanation>: The terms and symbols that will appear hereafter in the program
explanation are described below. 4
1. Description of inner side and outer side
The terms outer side and inner side refer to the intersecting angle for the travel command.
Inner side means that the angle measures more than 180° on the workpiece side. Outer side
means the angle measures between 0 and 180°.
Block 1
θ
G42
Workpiece side
Block 2
180° ≤ θ
Inner side
G41
θ
Block 1
Workpiece side
0º ≤ θ <180º Block 2
Outer side
θ T
G42
D
D CP
L
2023/11/21 4- 3 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
4.1.3 Startup
Offset mode is enabled for the control when a command that meets all the conditions below is
executed for cancel mode. Startup refers to the travel operation in this situation.
D
G42
S L
L
θ
T
D
G42
S C
L
2023/11/21 4- 4 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
S L
L D
θ
G41
S
C 4
D
L θ
G41
S
CP L
L
D
D
L
θ
G41
S
L CP
L
D
L
G41 C
θ
T
T
2023/11/21 4- 5 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G41
L D
L S
G41
4
θ
L D
S
C
L
D
L D
L
G41 θ D D
S
L
D L
L D
D D S
G41 θ
L
T C
(NOTE) When θ ≤ 1°, the setting <0: Type 1 (shortcut)> is used or enabled, even if <1: Type
2 (detour)> is specified for the user parameter (switch 1: compensation function)
<Start up/cancel>.
2023/11/21 4- 6 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
D
S
CP L
G42 D
4
Arc to straight line
CP
D D
S
G42 C L
C
D
T
L S
CP
D
G41
θ
Arc to arc
C
C
D
S D
G41 T CP T
2023/11/21 4- 7 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE 1) When turning on the inner side of a narrow angle (α < 1°), and the offset vector is
abnormally large.
S L
α
D
L Offset vector
D
G41
L
L L
D L
α
T
G41
D
(NOTE 2) When turning on the inner side of an angle that is almost parallel (180° ≤ θ < 181°).
θ
G42
L S
L
The processing is the same for: arc → straight line, straight line → arc and arc → arc.
2023/11/21 4- 8 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
CP L
S
D
L D θ
G41
4
T
θ
G42
D
D
CP L
L S
G42
T
C
θ
D
D
L
S
CP L
Arc to arc
G42
T
T
θ
C
D T
D
L
S L T
CP
C
2023/11/21 4- 9 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE) When turning on the outer side of an angle that is almost parallel (179° ≤ θ < 180°).
L S
L
D
G41
θ
The processing is the same for: arc → straight line, straight line → arc and arc → arc.
L
θ
G41
G42
T
θ
C
L
D D
L D D
L S
2023/11/21 4 - 10 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G42
T
L θ
D D
D D L
L S
4
Arc to arc
G42
T T
θ T
T
C C
D
D
L D D L
L S
S
●
L θ
N1 N2
D1 C
G42 D1 L
• G42 S
•
N1 G1 X_ Y_ N3
N2 G1 X_ Y_
N3 G2 X_ Y_ R_
When moving to the inner side, the path offset by N2 and N3 does not intersect, so there is no
intersection CP.
When the user parameter (switch 1: compensation function) <Error detection when there is no
intersection during inner diameter compensation> is set to <1: Enable>, the alarm <<No
intersection>> is triggered and travel stops at the end point for the previous block (N1).
When the user parameter (switch 1: compensation function) <Error detection when there is no
intersection during inner diameter compensation> is set to <0: Disable>, the path shown in the
figure above applies.
2023/11/21 4 - 11 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
θ
G42
G40
L L
T
G40
D
S L
G42 C
2023/11/21 4 - 12 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
L S
D
L
G41
θ G40
G41
C
S 4
D
L
θ
G40
S
L CP
L L
D
D
G41
θ L
G40
S
CP L
C
D D
L
G41
θ G40
(NOTE) When 179° ≤θ<180°, the setting <0: Type 1 (shortcut)> is used or enabled, even if
<1: Type 2 (detour)> is specified for the user parameter (switch 1: compensation
function) <Start up/cancel>.
2023/11/21 4 - 13 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
L S
D
G41
L θ
G40
C S
4 D
G41
G40
D
G41 L
G40 D
S
L L
G41
L
G40
2023/11/21 4 - 14 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G41 X_Y_D_;
G40;
L S
G41 G40
4
Arc to straight line
G41 X_Y_D_;
G40;
C
D
T
G40
G41
(NOTE) The remaining offset is cancelled together with the next travel command.
G42 X_Y_D_;
G40;
G01 X_Y_F_;
G42 G40
G01
2023/11/21 4 - 15 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Offset sign
+ -
G code
G41 Left side offset Right side offset
G42 Right side offset Left side offset
Execution conditions
Straight line to Straight line to Arc to straight
Offset mode Command Arc to arc
straight line arc line
G41 G41 Executes (The stop point is offset by the cutter compensation
G42 G42 perpendicular to the end point of the previous block.)
4 G41 G42
Executes Executes
G42 G41
There is no distinction between the inner side and outer side cutting when changing the
compensation direction, but it varies depending on whether the intersection exists or not. In the
following explanation, the compensation is positive.
2023/11/21 4 - 16 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G42
D
L G41 S
D L
L S 4
D
G41
G42
D
C
C
D
L
S
G41
Arc to arc
G42
C S
D D
G41 C
2023/11/21 4 - 17 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
L S
L
G41 G42 G42
G41
G41
L D
S L
L S
G42
4
S
C
G42 D
L
L
D
S
T
G42 C S L
C D
D D
L
L G41
S
Center
2023/11/21 4 - 18 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Arc to arc
G42
G42 C S
C D C
D
L D
L
S
G41
Center
4
Center
D
G42
L D L
D C
G41 G41
2023/11/21 4 - 19 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
C
N1
D2
N2
N3
D1
D1
S
L S
4
θα
θβ
G42 D1
•
•
•
N1 G42 G1 X_
N2 G2 X_Y_I_J_
N3 G41 D2 G2 X_Y_I_J_
This function checks the difference between the arc angle (θα) at the start and end points in the N2
program path and the arc angle (θβ) at the start and end points in tool center path after being offset.
If θβ is greater than θα by 180° or more, then an alarm is triggered and operation stops before
executing N2.
(NOTE) This function carries out the check at the end point after 3 blocks of travel. If one of
the situations below applies while the offset mode is enabled, this check function
may not work properly because the tool center path start and end points change after
being offset.
• When there is a command that sets a perpendicular vector
• When there are zero travel commands for more than 3 blocks
2023/11/21 4 - 20 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G42
G42
L
L S
G42
4
G42
C
D
L S
T
G42
G42
D
C S L
Arc to arc
G42
C
G42 D
2023/11/21 4 - 21 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
N1 G41 X_Y_D1;
N6 Xa1 Yb1;
N7 Xa2 D2; …… Offset changed
N8 Xa3 Yb3;
D2
(a1, b1)
D1 N7
(a2, b1)
N6
D2
N8
G41
(a3, b3)
4. When cutting the inner side of an arc with a radius that is smaller than the tool radius.
S
D
D≥R
D R
G41
In this situation, the alarm <<Cutter compensation too large>> and stoppage are triggered
because the infeed is not possible. It stops at the end point of the previous block.
2023/11/21 4 - 22 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
5. Infeed insufficient
This occurs when machining a step that is smaller than the tool diameter.
D
D D
G41
d
Infeed insufficient
6. Corner travel
When cutting the outer side, it can turn on a corner with many angles. The travel mode and
feedrate when turning the corner up to point a in the diagram below are based on the
command that is issued for the current block.
S
4
G41
In addition, as shown in the diagram below, the travel operation is ignored when the corner
travel distance is extremely small, and when ΔVX ≤ ΔV and ΔVY≤ ΔV.
The value for ΔV is set in the user parameter (switch 1: compensation function) <Corner
travel limit>.
ΔVx
D
ΔVy
D
D
G41
D
θ
G41
2023/11/21 4 - 23 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
As a result, extremely small travel operations for a corner can be kept to a minimum.
However, this processing is not carried out when the next block is a circle.
P2 P3
P1
P0
G41
In this situation, if extremely small travel operations are processed, the travel from P2 to P3 is
ignored.
Traveling in a circular arc is ignored and travel from P2 to P3 becomes a small arc pattern.
Therefore, this processing is not carried out.
2023/11/21 4 - 24 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
N4 X_Y_;
N5 Z_;
N6 F_;
N7 Z_;
N8 X_;
N5-N7 N8
N4
G41
4
(NOTE 1) The same infeed problem arises as noted above for a block with zero travel.
N4 G91 X_Y_;
N5 X0;
N6 X_;
N6
N5
N4
G42
(NOTE 2) If there is no travel command for 2 axes on the selected planes during startup,
the startup operation is performed when a travel command is executed thereafter
even on a single axis for either the X- or Y-axis (when travel amount ≠ 0).
2023/11/21 4 - 25 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The operation thereafter is the same as described in the section 2. “Tool diameter offset
change” when changed to an offset number where offset ≠ 0.
N2
D2
N3
N1
4 G41
N4
The operation thereafter is the same as described in the section “2. Tool diameter offset
change” when changed to an offset number where offset ≠ 0.
N1 X_Y_;
N2 X_D1; (D1=0)
N3 X_Y_;
N4 X_Y_D2; (D2≠0)
N5 X_;
G42 N2 N5
N1 N3
N4
9. Commands issued during cutter compensation that cause exception processing or that trigger
alarms
(1) Command that sets a perpendicular vector
G10 : Programmable data input
G52 : Local coordinate system setting
G92 : Coordinate system setting
G210 : Programmable data input (Temporary change)
#3000 : Alarm display
#3006 : Message display & stoppage
If the command noted above is issued, the machine travels to a position that is offset by
the cutter compensation using the value from the last X- and Y-axes travel command.
2023/11/21 4 - 26 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
If the command noted above is issued, G40 (cutter compensation cancel) is automatically
triggered. Therefore, the machine travels to a position that is offset by the cutter
compensation using value from the last X- and Y- axes travel command.
P2 P3
P1 P4
P2'
2023/11/21 4 - 27 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The following items are configured in the user parameter (switch 1: compensation function)
settings.
(1) Automatic corner override (length 1) : Corner end point deceleration distance Le
(2) Automatic corner override (length 2) : Corner start point deceleration distance Ls
4 (3) Automatic corner override (ratio)
(4) Automatic corner override (angle)
: Deceleration ratio (%)
: Corner inner side determining angle
Y
θ
Ls
Le b
a
Deceleration ratio
Actual feedrate = Command speed ×
100
2023/11/21 4 - 28 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Rp Rc 4
Rc
(NOTE 1) When is less than the <Inner arc override limit> that is set in the user parameter
Rp
(switch 1: compensation function), that parameter value is multiplied as an
Rc
alternative to .
Rp
(NOTE 2) Refer to “Chapter 9 (6) Involute interpolation function” in the Operation Manual II
for details about override for an involute interpolation command.
2023/11/21 4 - 29 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
D1 D1
G41 D1
•
• N1 N3
N1 G1 X_ Y_
N2 G2 X_ Y_ R_
N3 G1 X_ Y_ D1
4 N2
θαC
θβ
This function checks the arc angle (θα) at the start and end points in the N2 program path and the
arc angle (θβ) at the start and end points in tool center path after being offset. If the angle is greater
than 180°, then an alarm is triggered and operation stops before executing N2.
(NOTE 1) When an alarm is triggered, the infeed may already be too great (The infeed is too
great for the workpiece on the N3 side after N1 is executed in the above example).
(NOTE 2) This function carries out the check at the end point after 3 blocks of travel. If one of
the situations below applies while the offset mode is enabled, this check function
may not work properly because the tool center path start and end points change after
being offset.
• When there is a cutter compensation G code command or a command that sets a
perpendicular vector
• Zero travel commands for more than 3 blocks
2023/11/21 4 - 30 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
1. Direction check
The cutter compensation function checks between the offset vectors that occur at the end point of
the block for the program path.
The check range is set in the user parameter (switch 1) <Number of blocks to check cutter 4
compensation interference>.
It assumes there is interference when the difference between the angle for the end points on the
program path block and the angle for the offset vectors is greater than 90° and less than 270°.
When there is a block without travelling included, the interference check range becomes smaller.
S
G41 S
D L
S
L D
2023/11/21 4 - 31 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G41
Difference is not
between 90° and 270°
2023/11/21 4 - 32 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
When there is an arc, this check detects interference if the difference is more than 180° between
the arc’s center angle on the program path and the arc’s center angle in the offset path.
Example when interference is detected (start and end points are the same in the arc block)
S S
G41
D
S
L
4
D D
2023/11/21 4 - 33 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE 1) When the tool length offset is cancelled, it is cancelled by the G49 command or by
issuing 0 for the tool number.
(NOTE 2) The tool length offset is cancelled by the M06 (tool change) or by the G100 (nonstop
ATC) command.
(NOTE 3) Refer to “4.2.3 Z-axis travel with tool length offset command” for travel when there
is no Z-axis command for G43H_, G44H_, or tool length offset G49 and H0
command blocks.
(NOTE 4) When a Z-axis command is issued during the tool length offset for reference position
return (G28) or No. 2 to 6 reference position return (G30), the tool length offset
stays enabled while traveling to the middle point. And, the tool length offset is
cancelled temporarily while travelling to the reference position.
Refer to “4.2.3 Z-axis travel with tool length offset command” for travel when the
tool length offset operation that was cancelled resumes. When the tool length offset
resumes, if the incremental mode is enabled, it is the equivalent of traveling from the
absolute coordinates right before.
(NOTE 5) If the G53Z _; or the G120Z_: command is issued with the tool length offset enabled,
the tool length offset is temporarily cancelled and the travel operation is carried out
accordingly.
(NOTE 6) When the tool length offset range is set for the tool specified in H code, the range is
checked. The alarm <<Comm. issued to area other than (tool) data area>> is
triggered when the command area is outside of the range.
(NOTE 7) If a tool length offset command (G43 and G44) is issued during G143 and G144
modals, an alarm is triggered. Note, if a tool change command (G100 and M06) is
issued on the same block, no alarm is triggered.
(NOTE 8) When a TCP control (G43.4/G43.5) command is issued during tool length offset, the
tool length offset is cancelled and the TCP control turns ON. In addition, when a
tool length offset (G43/G44) command is issued while under TCP control, then the
TCP control is cancelled and the tool length offset is enabled. Refer to the “14.2.5.3
Cancelled by other commands” for further details.
2023/11/21 4 - 34 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The tool length wear offset can be set on the tool list screen.
(NOTE) When the tool length wear offset range is set for the tool specified in H code, the
range is checked. The alarm <<Comm. issued to area other than (tool) data area>> is
triggered when the command area is outside of the range.
2023/11/21 4 - 35 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Ex:
G28 X-50. Y-50. Z400.; ← Tool length offset temporarily canceled
···;
During this time, operation is performed while tool
G0 X-100. Y-100.; ←
length offset stays cancelled
···;
G0 Z300.; ← Tool length offset resumed
2023/11/21 4 - 36 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The nose R compensation function is used on a lathe tool that has rounded teeth (nose R). It
automatically compensates for the difference between the tool teeth that is offset by the tool
position compensation operation and the actual nose R (cutting point).
Tool teeth
4
Insufficient infeed
Tool teeth
2023/11/21 4 - 37 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
If either the command G141 or G142 is issued, the nose R compensation mode is enabled. This
mode is cancelled by G40.
4
(NOTE) When a nose R compensation command (G141 and G142) is issued during TCP
control (G43.4/G43.5), the alarm <<TCP under control>> is triggered.
The nose R compensation target axis depends on the plane selection command (G17 to G19).
G18 modal
+X
+Z
G19 modal
+Z
+Y
2023/11/21 4 - 38 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
When the coordinates are configured looking from the front of the machine (X and Z plane)
G18 modal
+Z
+X
(NOTE 1) During nose R compensation, when a command is issued with zero travel, or when 4
there are no travel commands for more than 3 blocks, the infeed will be too much or
too little.
(NOTE 2) When the cutter/nose R compensation range is set for the tool specified in D code,
the range is checked. The alarm <<Comm. issued to area other than (tool) data
area>> is triggered when the command area is outside of the range.
(NOTE 3) If a nose R compensation command (G141 and G142) is issued during G41 and G42
modals, an alarm is triggered. Note, if a tool change command (G100 and M06) is
issued on the same block, no alarm is triggered.
(NOTE 4) When a nose R compensation command (G141 and G142) is issued while the
feature coordinate is being set (after G68.2 command and before G53.1 command),
the alarm <<Feature coordinate manufacturing mode engaged>> is triggered.
A command is possible while the feature coordinate is being indexed (after G53.1
command).
(NOTE) When the cutter/nose R wear range is set for the tool specified in D code, the range
is checked. The alarm <<Comm. issued to area other than (tool) data area>> is
triggered when the command area is outside of the range.
2023/11/21 4 - 39 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
X 6 Z 6
2 1 2 1
0, 9 0, 9
7 5 7 5
3 4 3 4
8 8
Z Y
4
When the coordinates are configured looking from the front of the machine
5
4 1
0, 9
8 6
3 2
7
X
2023/11/21 4 - 40 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
4.3.4 Startup
Offset mode is enabled for the control when a command that meets all the conditions below is
executed for cancel mode. Startup refers to the travel operation in this situation.
In the startup operation, the travel operation occurs so that the nose R center comes to a position
that is perpendicular to the start point of the next block.
G40
4
G142 (Startup)
Y
(NOTE 1) The alarm <<Cutter compensation error>> is triggered when an arc command is
issued.
(NOTE 2) There are two setting types for the startup and cancel operations: <Type 1 (shortcut)>
and <Type 2 (detour)>. Use the user parameter <Start up/cancel> to set one of the
types.
2023/11/21 4 - 41 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The following explanation applies to the Y- and Z-planes. When considering the X- and Z-planes
if looking from the front of the machine, the compensation direction is reversed (G141 → G142,
G142 → G141).
<Term / symbol explanation>: The terms and symbols that will appear hereafter in the
explanations are described below.
Block 1
θ
G142
Workpiece side
4
Block 2
180° ≤ θ
Inner side
G141
θ
Block 1
Workpiece side
θ T
G142
D C
D CP
L
: Program path
: Nose R center path
: Auxiliary line
L : Straight line
C : Arc
D : Nose R radius
θ : Angle on workpiece side
T : Arc tangent line
CP : Intersection
S : Single block stop point
2023/11/21 4 - 42 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
D
G142
S L
L
θ
T 4
D
G142
S C
L
2023/11/21 4 - 43 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
S L
L D
G141 θ
S
4 C
D
L θ
G141
S
L
L CP
D D
L
θ
G141
S
L CP
L
D
L
G141 C
θ
T
T
2023/11/21 4 - 44 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G141
L D
L S
G141
4
θ
L D
S
C
L
D
L D
L
G141 θ DD
S
L DD L
D D S
G141 θ
L
T C
(NOTE) When θ ≤ 1°, the setting <0: Type 1 (shortcut)> is used or enabled, even if <1: Type
2 (detour)> is specified for the user parameter <Start up/cancel>.
2023/11/21 4 - 45 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
D
S
D CP L
G142
L
4
Arc to straight line
CP
D D
S
G142 C L
C
D
T
L S
CP
D
G141
θ
Arc to arc
C
C
D
S D
G141 T CP T
2023/11/21 4 - 46 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE 1) When turning on the inner side of a narrow angle (α < 1°), and the offset vector is
abnormally large.
S L
α
D
L Offset vector
D
G141
L
L L
D L
α
T
G141
D
(NOTE 2) When turning on the inner side of an angle that is almost parallel (180° ≤ θ < 181°).
θ
G142
L S
L
The processing is the same for: arc → straight line, straight line → arc and arc → arc.
2023/11/21 4 - 47 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
CP L
S
D
L D θ
G141
4 T
θ
G142
D
D
CP L
L S
G142
T
T
C
θ
D
D
L
S L
CP
Arc to arc
G142
T
T
θ
C
D T
L D
S L T
CP
C
2023/11/21 4 - 48 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE) When turning on the outer side of an angle that is almost parallel (179° ≤ θ < 180°).
L S
L
D
G141
θ
The processing is the same for: arc → straight line, straight line → arc and arc → arc.
L
L
S
D
D D L
D
L
θ
G141
G142
T
θ
C
L
D D
L D D
S
L
2023/11/21 4 - 49 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G142
T
L θ
D D
D D L
L S
4 Arc to arc
G142
T T
θ T
T
C C
D
D
L D D L
L S
S
L ● θ
N1 N2
G142 D1
D1 C
• L
•
G142 S
N1 G1 X_ Y_
N2 G1 X_ Y_
N3 G2 X_ Y_ R_ N3
When moving to the inner side, the path offset by N2 and N3 does not intersect, so there is no
intersection CP.
When the user parameter (switch 1: compensation function) <Error detection when there is no
intersection during inner diameter compensation> is set to <1: Enable>, the alarm <<No
intersection>> is triggered and travel stops at the end point for the previous block (N1).
When the user parameter (switch 1: compensation function) <Error detection when there is no
intersection during inner diameter compensation> is set to <0: Disable>, the path shown in the
figure above applies.
2023/11/21 4 - 50 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
In the offset cancel operation, the travel operation occurs so that the nose R center comes to a
position that is perpendicular to the end point of the block that comes before the offset cancel
block.
End point
4
G40
(G142)
θ
G142
G40
L L
T
G40
D
S L
G142 C
2023/11/21 4 - 51 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
L S
D
L
G141
θ G40
G141
C
4 S
D
L
θ
G40
S
L CP
L L
D
D
G141
θ L
G40
S
CP L
C
D D
L
G141
θ G40
(NOTE) When 179° ≤ θ < 180°, the setting <0: Type 1 (shortcut)> is used or enabled, even if
<1: Type 2 (detour)> is specified for the user parameter <Start up/cancel>.
2023/11/21 4 - 52 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
L S
D
G141
L θ
G40
C S
D 4
G141
G40
D
G141 L
G40 D
S
L L
G141
L
G40
2023/11/21 4 - 53 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Straight line
G141 Y_Z_D_;
G40;
L S
G141 G40
4
Arc
G141 Y_Z_D_;
G40;
S
C
D
T
G40
G141
(NOTE) The remaining offset is cancelled together with the next travel command.
G142 Y_Z_D_;
G40;
G01 Y_Z_F_;
G142 G40
G01
2023/11/21 4 - 54 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Compensation sign
+ -
G code
Execution conditions
Straight line to Straight line Arc to straight
Offset mode Command Arc to arc
straight line to arc line
G141 G141 Executes (The location that is offset by the nose R radius at a
position perpendicular to the end point of the previous block
4
G142 G142
becomes the stop point.)
G141 G142
Executes Executes
G142 G141
There is no distinction between the inner side and outer side cutting when changing the
compensation direction, but it varies depending on whether the intersection exists or not. In the
following explanation, the compensation is positive.
G142
D
L G141 S
D L
L S
G141
G142
D
C
2023/11/21 4 - 55 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G142
C
D
L
S
G141
Arc to arc
4
G142
C S
D D
G141 C
L S
L
G141 G142 G142
G141
G141
L D
S L
L S
G142
S
C
G142 D
L
L G141
D
S
T
2023/11/21 4 - 56 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G142
G142 C S L
C D
D D
L
S L G141
Center
4
Arc to arc
G142
G142 C S
C D C
D
L D
L
S
G141
Center
Center
2023/11/21 4 - 57 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
G142
G142
L
L S
4 G142
G142
C
D
L S
T
G142
G142
D
S L
C
Arc to arc
G142
C
G142 D
2023/11/21 4 - 58 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
N1 G141 Y_Z_D1;
N6 Ya1 Zb1;
N7 Ya2 D2; …… Compensation changed
N8 Ya3 Zb3;
4
D2
(a1, b1)
D1 N7
(a2, b1)
N6
D2
N8
G141
(a3, b3)
4. When cutting the inner side of an arc with a radius that is smaller than the nose R radius.
S
D
D≥R
D R
G141
In this situation, the alarm <<Cutter compensation too large>> and stoppage are triggered
because the infeed is not possible. It stops at the end point of the previous block.
2023/11/21 4 - 59 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
5. Infeed insufficient
This occurs when machining a step that is smaller than nose R.
D
D D
G141 d
Infeed insufficient
6. Corner travel
When cutting the outer side, it can turn on a corner with many angles. The travel mode and
feedrate when turning the corner up to point a in the diagram below are based on the command
that is issued for the current block.
4 S
G141
In addition, as shown in the diagram below, the travel operation is ignored when the corner
travel distance is extremely small, and when ΔVX ≤ ΔV and ΔVY ≤ ΔV.
The value for ΔV is set in the user parameter <Corner travel limit>.
ΔVx
D
ΔVy
D
D
G141
D
θ
G141
As a result, extremely small travel operations for a corner can be kept to a minimum.
2023/11/21 4 - 60 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
N4 Y_Z_;
N5 X_;
N6 F_;
N7 X_;
N8 Y_;
N5-N7 N8
N4
G141
4
(NOTE 1) The same infeed problem arises as noted above for a block with zero travel.
N4 G91 Y_Z_;
N5 Y0;
N6 Y_;
N6
N5
N4
G142
(NOTE 2) If there is no travel command for 2 axes on the selected planes during startup,
the startup operation is performed when a travel command is executed thereafter
even on a single axis for either the Y- or Z-axis (when travel amount ≠ 0).
2023/11/21 4 - 61 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
The operation thereafter is the same as described in the section “2. Nose R compensation
change” when changed to an offset number where offset ≠ 0.
N2
D2
N3
4 N1
G141
N4
The operation thereafter is the same as described in the section “2. Nose R compensation
change” when changed to a D number where nose R compensation ≠ 0.
N1 Y_Z_;
N2 Y_D1; (D1=0)
N3 Y_Z_;
N4 Y_Z_D2; (D2≠0)
N5 Y_;
G142 N2 N5
N1 N3
N4
9. Commands issued during nose R compensation that cause exception processing or that trigger
alarms
(1) Command that sets a perpendicular vector
G10 : Programmable data input
G52 : Local coordinate system setting
G92 : Coordinate system setting
G210 : Programmable data input (Temporary change)
#3000 : Alarm display
#3006 : Message display & stoppage
If the command noted above is issued, the machine travels to a position that is offset by
the nose R compensation using the value from the last Y- and Z-axes travel command.
2023/11/21 4 - 62 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
If the command noted above is issued, G40 (nose R compensation cancel) is automatically
triggered. Therefore, the machine travels to a position that is offset by the nose R
compensation using the value from the last Y- and Z-axes travel command.
P2 P3
P1 P4
P2'
* When operation stops at the end point (P2) of a block and the tool is then moved
manually, the tool travels from P2’ to P3, and the correct path is enabled from P3.
2023/11/21 4 - 63 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Ls
Le b
a
Deceleration ratio
Actual feedrate = Command speed ×
100
2023/11/21 4 - 64 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
Rc
Actual feedrate = Command speed ×
Rp
4
Rp Rc
Rc
(NOTE) When is less than the <Inner arc override limit> that is set in the user
Rp
Rc
parameter, that parameter value is multiplied as an alternative to .
Rp
2023/11/21 4 - 65 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
D1 D1
G141 D1
•
• N1
N1 G1 X_ Y_ N3
N2 G2 X_ Y_ R_
N3 G1 X_ Y_ D1
N2
4
θα
θβ
This function checks the arc angle (θα) at the start and end points in the N2 program path and the
arc angle (θβ) at the start and end points in tool center path after being offset. If the angle is greater
than 180°, then an alarm is triggered and operation stops before executing N2.
(NOTE 1) When an alarm is triggered, the infeed may already be too great (The infeed is too
great for the workpiece on the N3 side after N1 is executed in the above example).
(NOTE 2) This function carries out the check at the end point after 3 blocks of travel. If one of
the situations below applies while the offset mode is enabled, this check function
may not work properly because the tool center path start and end points change after
being offset.
• When there is a nose R compensation G code command or a command that sets
a perpendicular vector
• Zero travel commands for more than 3 blocks
2023/11/21 4 - 66 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
This function offsets the tool position so that the teeth move to the position that is programmed.
Even in an absolute command or an incremental command, the coordinates that are offset only for
the tool number compensation specified in H code become the actual end point for the coordinates
of the travel command end point that is programmed.
Offset is performed for X-, Y- and Z-axes. Set 0 for the axis where the compensation does not
apply. 4
1. Tool position compensation (+)
(NOTE 1) When the tool position compensation is cancelled, it is cancelled by the G49
command or by issuing 0 for the tool number.
(NOTE 2) The tool position compensation is cancelled by the M06 (tool change) or by the
G100 (nonstop ATC) command.
(NOTE 3) Refer to the next section “X-, Y- and Z-axis travel for tool position compensation
command” for axis operation when there are no travel commands for G143H_,
G144H_, or for G49 during tool position compensation and H0 command blocks.
(NOTE 4) When an X-, Y and Z-axes command is issued during tool position compensation for
reference position return (G28) or No. 2 to 6 reference position return (G30), the
tool position compensation stays enabled while traveling to the middle point. And,
the tool position compensation is cancelled temporarily while travelling to the
reference position. Refer to the next section “Resume tool position compensation”
for travel when the tool position compensation that was cancelled resumes. When
the tool position compensation resumes, if the incremental mode is enabled, it is the
equivalent of traveling from the absolute coordinates right before.
(NOTE 5) If the G53X_Y_Z_ command is issued during the tool position compensation, the
tool position compensation is temporarily cancelled during travel.
(NOTE 6) A range check is performed when the range for the tool that is specified in H code is
set for the following items: the tool length offset, the tool length wear offset, the tool
position offset and the tool position wear offset. The alarm <<Comm. issued to area
other than (tool) data area>> is triggered when the command area is outside of the
range.
(NOTE 7) If a tool length offset command (G143 and G144) is issued during G43 and G44
modals, an alarm is triggered. Note, if a tool change command (G100 and M06) is
issued on the same block, no alarm is triggered.
2023/11/21 4 - 67 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
(NOTE 8) When a tool position compensation command (G143/G144) is issued during TCP
control (G43.4/G43.5), the alarm <<TCP under control>> is triggered. In addition,
when a TCP control command is issued while in tool position compensation mode,
the alarm <<TCP control command not possible>> is triggered.
<Travel of X, Y or Z axis when tool length/tool position offset is changed> : <0: Type 1>
<Error check when traveling during tool length/tool position offset cancel> : <1: No>
X Y Z
Machine coordinate Machine coordinate Machine coordinate
G90G0X0.Y0.Z100.; -100.000 -200.000 150.000
G143H1; -95.000 -200.000 270.000
G0X10.Y20.Z80.; -85.000 -180.000 250.000
G49; -90.000 -180.000 130.000
<Travel of X, Y or Z axis when tool length/tool position offset is changed> : <1: Type 2>*
X Y Z
Machine coordinate Machine coordinate Machine coordinate
G90G0X0.Y0.Z100.; -100.000 -200.000 150.000
G143H1; -100.000 -200.000 150.000
G0X10.Y20.Z80.; -85.000 -180.000 250.000
G49; -85.000 -180.000 250.000
2023/11/21 4 - 68 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
* The operation is the same regardless if the parameter <Error check when traveling during
tool length/tool position offset cancel> is set to <0: Yes> or <1: No>.
Ex:
G28 X-50. Y-50. Z400.; ← Temporarily cancels the tool position compensation
···;
G0 X-100. Y-100.; ← X- and Y-axes tool position compensation resumes
···;
G0 Z300.; ← Z-axis tool position compensation resumes
2023/11/21 4 - 69 eCOM4NCPR4
Chapter 4 Preparation Function (Compensation Function)
2023/11/21 4 - 70 eCOM4NCPR4
Chapter 5 Preparation Function (Canned Cycle)
CHAPTER 5
PREPARATION FUNCTION
(CANNED CYCLE)
5
5.1 Outline
5.2 List of Canned Cycle Function
5.3 Basic Operation of Canned Cycle
5.4 General Rules of Canned Cycle
5.5 Details of Canned Cycle
5.6 One-shot Canned Cycle
5.7 Canned Cycle for Tool Change (Non-stop ATC)
(G100)
5.8 Coordinate Calculation Function
2023/11/21 5- 1 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
5.1 Outline
A sequence of machine operations mostly in the tool axis direction is included in a single block
and initiated by a single G code.
2023/11/21 5- 2 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Motion 1 ……… Move the tool to hole machining position (X-Y axes) by rapid feed
Motion 2 ……… Move the tool to R point by rapid feed
Motion 3 ……… Hole machining (cutting feed)
Motion 4 ……… Operation at the bottom of a hole
Motion 5 ……… Retreat the tool to R point by rapid feed / cutting feed
Motion 6 ……… Return the tool to initial point by rapid feed
Motion 1
Initial point
Motion 2 Motion 6
R point 5
Motion 3 Motion 5
Z point
Motion 4
In a single block operation, the control stops at the end of motions 1, 2, and 6, respectively.
(NOTE 1) Temporary stop availability in tapping cycles (G74, G77, G78, G84, G177, G178,
G277, and G278)
(NOTE 2) When the Z-axis perimeter mode is on (M300), motion 1, motion 5 (rapid feed only)
and motion 6 apply to Z-axis perimeter operation. However, it does not operate right
after the tapping cycle (G74, G77, G78, G84, G177, G178, G277 and G278)
recovery operation. Refer to “Chapter 12 M function” for further details on the Z-
axis perimeter operation.
2023/11/21 5- 3 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G73, G74
G76 ~ G78
G81 ~ G87
G89 Please refer to “5.2 List of canned
(III) Hole machining mode G177, G178 cycle function”
G181, G182
G185, G186
5 G189
G277, G278
Initial point
Z=0
R
R
R point R point
Z
Z point Z point
2023/11/21 5- 4 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Initial point
R point R point
Z point Z point
5
(NOTE 1) G98 and G99 are modal commands. G98 is always effective when the machine is
powered on.
(NOTE 2) When a canned cycle command and a tool length offset command exist in the same
block, the tool length offset command is executed after the tool reaches the R point.
Accordingly, the initial point is saved without tool length offset.
(NOTE 3) Initial point is the Z axis position in the machine coordinates when the control is
switched from the canned cycle cancel mode to the canned cycle mode.
1. The control is in one of the hole machining blocks (G73, G74, G76 to G78, G81 to G87, G89,
G177, G178, G181 to G182, G185, G186, G189, G277, and G278) and at least one of X, Y, Z,
R, A, B, and C is included in the block.
2. Any block, including at least one of X, Y, Z, R, A, B, and C, that occurs following a hole
machining block, up until the canned cycle command is canceled in a later block.
2023/11/21 5- 5 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G codes : G73, G74, G76 to G78, G81 to G87, G89, G177, G178, G181 to G182,
G185, G186, G189, G277, and G278
(NOTE 1) Canned cycle is canceled (G80) if you command the following codes during a
canned cycle operation:
• Tool change canned cycle (G100/M06)
• Changing from spindle to turning spindle (M141 to M142)
• G00 group
(G00/G01/G02/G03/G02.2/G03.2/G102/G103/G202/G203/G33/G392)
commands
(NOTE 2) When the TCP control command (G43.4/G43.5) is issued during a canned cycle, the
alarm <<TCP control command not possible>> is triggered.
2023/11/21 5- 6 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Ex)
Final drilling
○
5
○
○ First drilling
2023/11/21 5- 7 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
R point
Q
d
5 Return point
Cutting feed
Q
d
Z point
Dwell (P sec)
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G73 relief amount>.
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
2023/11/21 5- 8 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
Rapid feed
Cutting feed
R point Spindle stop
Spindle CW
Spindle CCW
5
Z point
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the R point.
• For feed per minute (G94), thread pitch = cutting feed rate ÷ spindle speed.
• For feed per revolution (G95), thread pitch = cutting feed rate.
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
2023/11/21 5- 9 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
R point
Rapid feed
5 Cutting feed
Z point
Shift (rapid feed)
Q
Spindle CW
• Dwell (P sec)
• Spindle stops in V-specified
rotational position
• The sign is ignored even when a negative value command is issued for the amount of shift for
Q.
• Set the shift direction ahead of time to either +X, -X, +Y or –Y in the user parameter (switch
1: canned cycle) <G76, G87 shift direction>.
• Shift direction is selectable from only 4 directions of +X, -X, +Y, and -Y. Install the tool such
that the bit faces one of these directions when the spindle stops at the specified rotational
position.
• 0° is considered commanded when you omit V.
2023/11/21 5 - 10 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G77 X_ Y_ Z_ R_ Q_ S_;
J_
Return point
R point
Spindle stop
Q
5
d Rapid feed
Cutting feed
Spindle CW
Q
d Spindle CCW
Z point
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G77, G78 relief
amount>.
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to <1:
Max. speed>, it uses the machine parameter (system 1: common) <Max. tapping speed> to
return.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
2023/11/21 5 - 11 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
I_
Command format G77 X_ Y_ Z_ R_ Q_ S_ L_;
J_
2023/11/21 5 - 12 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G78 X_ Y_ Z_ R_ Q_ S_;
J_
Return point
Q
Rapid feed 5
d
Cutting feed
Spindle CW
Q Spindle CCW
Z point
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G77, G78 relief
amount>.
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to <1:
Max. speed>, it uses the machine parameter (system 1: common) <Max. tapping speed> to
return.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
2023/11/21 5 - 13 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
I_
Command format G78 X_ Y_ Z_ R_ Q_ S_ L_;
J_
2023/11/21 5 - 14 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G81
Command format X_ Y_ Z_ R_ P_ F_;
G82
Return point
R point
5
Rapid feed
G81
Command format X_ Y_ Z_ R_ P_ W_ V_ F_ E_ L_;
G82
2023/11/21 5 - 15 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
R point
Feed rate E W
Feed rate F
Rapid feed
Feed rate L V
Z point Cutting feed
Dwell (P sec)
5
5.5.7 Peck Drilling Cycle (G83)
Return point
R point
Q
d Rapid feed
Cutting feed
Z point
Dwell (P sec)
• The cutting start position d is set in the user parameter (switch 1: canned cycle) <G83 cutting
start position>.
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
2023/11/21 5 - 16 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
Cutting feed
5
Spindle CW
Z point
Spindle CCW
The spindle stops at Z point, dwells for P sec, and then rotates reversely.
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the R point.
• For feed per minute (G94), thread pitch = cutting feed rate ÷ spindle speed.
• For feed per revolution (G95), thread pitch = cutting feed rate.
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
2023/11/21 5 - 17 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G85
Command format X_ Y_ Z_ R_ P_ F_;
G89
Return point
R point
5
Rapid feed
Cutting feed
Z point
G85
Command format X_ Y_ Z_ R_ P_ F_ E_;
G89
Return point
R point
Rapid feed
2023/11/21 5 - 18 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
R point
Rapid feed
Cutting feed
Z point
Dwell (P sec)
Spindle stop
(When Q is omitted)
Spindle CW
5
Spindle turns CW on
reaching R point
Return point
R point
Feed rate E W
Rapid feed
Feed rate F
Cutting feed
Feed rate L V
Z point Spindle CW
Dwell (P sec) Spindle stop
(When Q is omitted)
2023/11/21 5 - 19 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Z point
Dwell (P sec)
5 Rapid feed
Spindle CCW
• The sign is ignored even when a negative value command is issued for the amount of shift for
Q.
• Set the shift direction to either +X, -X, +Y or -Y in the user parameter (switch 1: canned
cycle) <G76, G87 shift direction>.
• Shift direction is selectable from only 4 directions of +X, -X, +Y, and -Y. Install the tool such
that the bit faces one of these directions when the spindle stops at the specified rotational
position.
• G99 (Return to R point level) does not exist.
• 0° is considered commanded when you omit V.
2023/11/21 5 - 20 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G177 X_ Y_ Z_ R_ S_ L_ Q_ E_;
J_
Return point
R point
Feed rate E Q
Spindle speed S
Rapid feed
Pitch (I) or number
of threads (J)
Cutting feed
Z point
Spindle CW
Spindle CCW
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During dry run, the E/Q command value is ignored, and the travel operation from point R to
point Z is a tap operation.
2023/11/21 5 - 21 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G178 X_ Y_ Z_ R_ S_ L_ Q_ E_;
J_
Return point
R point
Feed rate E Q
Spindle speed S
Rapid feed
Pitch (I) or number
of threads (J)
Cutting feed
Z point
Spindle CW
Spindle CCW
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During dry run, the E/Q command value is ignored, and the travel operation from point R to
point Z is a tap operation.
2023/11/21 5 - 22 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G181
Command format X_ Y_ Z_ R_ I_ J_ P_ W_ V_ F_ E_ L_;
G182
Return point
R point
Feed rate E W
Feed rate F
Feed rate L V
I point
Rapid feed
J point
Feed rate E W
Rapid feed
Feed rate F
Cutting feed
Feed rate L V
Z point
Dwell (P sec)
2023/11/21 5 - 23 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G185
Command format X_ Y_ Z_ R_ I_ J_ P_ F_ E_;
G189
5
R point
I point
Rapid feed
J point
Rapid feed
Feed rate F Feed rate E
Cutting feed
Z point
Dwell (P sec)
2023/11/21 5 - 24 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
Spindle turns CW on reaching 5
Return point
R point
Feed rate E W
Feed rate F
Feed rate L V
I point
J point
Feed rate E W
Rapid feed
Feed rate F
Cutting feed
Feed rate L V
Z point
Dwell (P sec) Spindle stop Spindle CW
(When Q is omitted)
2023/11/21 5 - 25 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Commad format G277 X_ Y_ Z_ R_ Q_ S_;
J_
Return point
Q
Rapid feed
5
Cutting feed
Spindle CW
Q
Spindle CCW
Z point
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
• When a temporary stop is commanded during cutting, the control stops on returning from the
hole bottom position Z to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• An alarm is triggered when S exceeds the machine parameter (system 1: common) <Max.
tapping speed>.
• When the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to <1:
Max. speed>, it uses the machine parameter (system 1: common) <Max. tapping speed> to
return.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
2023/11/21 5 - 26 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
• During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
Return point
Q
Rapid feed
Cutting feed
Spindle CW
Q
Spindle CCW
Z point
• If a negative value is entered for the cutting amount Q, the algebraic symbol (-) is ignored.
• When a temporary stop is commanded during cutting, the control stops on returning from the
hole bottom position Z to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• An alarm is triggered when S exceeds the machine parameter (system 1: common) <Max.
tapping speed>.
2023/11/21 5 - 27 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the user parameter (switch 1: canned cycle) <Tapping cycle return speed> is set to <1:
Max. speed>, it uses the machine parameter (system 1: common) <Max. tapping speed> to
return.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the Machine parameter
(System 1), the alarm <<Pitch data error>> is triggered.
5 • During the tapping operation, the operation is carried out with the FEEDRATE OVERRIDE
and the SPINDLE OVERRIDE at 100%.
G277 I_
Commad format X_ Y_ Z_ R_ Q_ S_ L_;
G278 J_
2023/11/21 5 - 28 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
Rapid feed
3rd cutting depth
d Cutting feed
•••
V
Z point
P seconds
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G73 relief amount>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
2023/11/21 5 - 29 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Return point
R point
5 d
Z point
Dwell (P sec)
Rapid feed
Cutting feed
• The cutting start position d is set in the user parameter (switch 1: canned cycle) <G83 cutting
start position>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
2023/11/21 5 - 30 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G77 X_ Y_ Z_ R_ W_ V_ S_;
J_
Return point
W
5
d
V
Z point
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G77, G78 relief
amount>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the return point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• The alarm <<Spindle speed error>> is triggered when S exceeds the machine parameter
(system 1: common) <Max. tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
2023/11/21 5 - 31 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the machine parameter
(system 1: common), the alarm <<Pitch data error>> is triggered.
I_
Command format G78 X_ Y_ Z_ R_ W_ V_ S_;
J_
Return point
Z point
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G77, G78 relief
amount>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
• The tool stops on finally reaching the R point when a temporary stop is commanded at any
moment en route from R to Z point and further back to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
2023/11/21 5 - 32 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
2023/11/21 5 - 33 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G277 X_ Y_ Z_ R_ W_ V_ S_;
J_
Return point
Cutting feed
Spindle CW
2nd cutting depth
Spindle CCW
V
Z point
2023/11/21 5 - 34 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
• When a temporary stop is commanded during cutting, the control stops on returning from the
hole bottom position Z to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• An alarm is triggered when S exceeds the machine parameter (system 1: common) <Max.
tapping speed>.
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the spindle override is greater than 100%, the
motion is carried out at 100%. 5
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the machine parameter
(system 1: common), the alarm <<Pitch data error>> is triggered.
2023/11/21 5 - 35 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
I_
Command format G278 X_ Y_ Z_ R_ W_ V_ S_;
J_
Return point
Cutting feed
Spindle CW
2nd cutting depth
Spindle CCW
V
Z point
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
• When a temporary stop is commanded during cutting, the control stops on returning from the
hole bottom position Z to the R point.
• Screw pitch or number of threads must be designated.
Enter the value after I and J, respectively.
• When I and J exist in the same block, the former is used.
• An alarm is triggered when S exceeds the machine parameter (system 1: common) <Max.
tapping speed>.
2023/11/21 5 - 36 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
• When the synchronized error for the Z-axis and spindle exceeds the machine parameter
(system 1: common) <Synchronized tapping error limit> during tapping, the alarm <<The
tapping synchronous error is too big.>> is triggered.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <0: Level 4> and this alarm is triggered, the tapping operation in progress at
this time continues until the block stop, and then it stops after the tapping operation is
complete.
When the user parameter (switch 1: canned cycle) <Tapping sync. error too big - alarm stop
level> is set to <1: Level 5> and this alarm is triggered, it immediately stops.
• When the user parameter (switch 1: common) <Tap override> is set to <1: Spindle override>,
the spindle override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out.
• When the user parameter (switch 1: common) <Tap override> is set to <2: Feedrate override>,
the feedrate override is applied to the cutting feedrate and spindle speed during the tapping
infeed and when pulling out. However, if the cutting feedrate override is greater than 100%,
the motion is carried out at 100%.
• When the screw pitch is less than the <Minimum tapping pitch> in the machine parameter
(system 1: common), the alarm <<Pitch data error>> is triggered.
Count 2 3 4 5 6 7 8 9
Factor 0.825 0.675 0.525 0.425 0.35 0.3 0.225 0.175
10 11 12 13 14
0.15 0.1 0.1 0.075 0.075
• Use the factor for the 14th count to obtain the 15th and after cutting depth.
• When the cutting depth gets smaller than V, the tool will cut by the V dimension.
Count 2 3 4 5 6 7 8 9
Factor 0.85 0.65 0.55 0.4 0.35 0.3 0.2 0.2
10 11 12 13 14
0.15 0.1 0.1 0.05 0.05
• Use the factor for the 14th count to obtain the 15th and after cutting depth.
• When the cutting depth gets smaller than V, the tool will cut by the V dimension.
(NOTE) Reducing and constant steps are switched using W and Q commands.
• When W and Q commands exist in the same block, the W command is used.
• When W and Q are not commanded, or zero is specified, the whole depth is cut
by a single pass.
• When V is not commanded, or zero is specified, the following applies (for type
1 minimum setting unit):
V = 0.001 (metric system)
V = 0.0001 (inch system)
2023/11/21 5 - 37 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(NOTE 1) Cancelling the canned cycle is possible by G80 or any of the following commands
below.
- Canned cycle (G100/M06) for tool change
- Change from spindle to lathe spindle (M141 → M142)
- G00 group
(G00/G01/G02/G03/G02.2/G03.2/G102/G103/G202/G203/G33/G392)
commands
(NOTE 2) Axis travel is performed after canceling canned cycles if axis travel is commanded in
the same G80 block.
2. When M code is commaned in the same block together with canned cycle command, the M
code is executed simultaneously with or after the first X/Y axis positioning. When the count
(K) is specified, the M code is executed in the initial instance, and will not be executed
thereafter.
3. If an M00 or M01 command is issued on the same block as the canned cycle command, the
spindle and coolant stop after X-axis and Y-axis positioning operations.
When the user parameter (switch 1: operation) is set to the following, machine operation
recovers automatically.
• When <Spindle return method for program stop> is set to <0: Method 1>
• When <Coolant return method for program stop> is set to <0: Method 1>
If the parameter is not set, issue a command in manual operation or MDI operation when
necessary, because it will not carry out the automatic return operation at the next startup.
4. The following occurs when G00 to G03, G02.2, and G03.2 are commanded in the same block
together with canned cycle:
• G00 G81 X_ Y_ Z_ R_ P_ F_;
G00 turns modal and G81 canned cycle is executed.
• G81 G00 X_ Y_ Z_ R_ P_ F_;
X, Y and Z axes travel according to G00 and the canned cycle is not executed.
5. You may not command M200, M201, or M120 in the same block together with canned cycle.
If a command is issued, the alarm <<Simultaneous specified code cannot be used.>> is
triggered.
6. A canned cycle command is not possible while in the inverse time feed (G93) modal. If a
command is issued, the alarm <<Command not possible during inverse time feed>> is
triggered.
7. While the Z-axis perimeter mode is on (M300), the Z-axis perimeter operation is carried out
when there are consecutive operations for the return height (rapid feed only) and the X-axis or
Y-axis positioning operations. However, it does not operate right after the tapping cycle (G74,
G77, G78, G84, G177, G178, G277 and G278) recovery operation. Refer to “Chapter 12 M
function” for further details on the Z-axis perimeter operation.
2023/11/21 5 - 38 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
R point
Q
5
d Rapid feed
Cutting feed
Q
d
Z point
• Address K is ignored.
2023/11/21 5 - 39 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
R point
5
W
Rapid feed
•••
Cutting feed
V
Z point
• The relief amount d is set in the user parameter (switch 1: canned cycle) <G73 relief amount>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
2023/11/21 5 - 40 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
R point
d 5
Rapid feed
Cutting feed
Z point
• Address K is ignored.
2023/11/21 5 - 41 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
R point
5
W
Z point
Rapid feed
Cutting feed
• The cutting start position is set in the user parameter (switch 1: canned cycle) <G83 cutting
start position>.
• If a negative value is entered for the cutting amount V and W, the algebraic symbol (-) is
ignored.
2023/11/21 5 - 42 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(3)
Home of ATC
(2) (4)
(1) (5) 5
Single block stop point
Operation
(1) When moving to the distance to Z-axis zero point, spindle orientation is carried out at the
same time.
(Unclamping of added axes is also carried out at the same time.)
(2) Moves to ATC zero return.
When X, Y, A, B and C axes are specified, they are moved to at the same time.
(3) The magazine turns, and the tool specified by T is assigned.
(4) Moves to Z-axis zero point position.
(5) When a Z-axis command is made, the spindle moves to the instructed position.
If a main spindle command (M03 group) is made, the main spindle moves at the same time.
(NOTE 1) During cycle operation, (1) and (2), and also (4) and (5) are linked together in their
movement during machining mode.
(NOTE 2) The machine stops after operation (4) when the [RST] key or the [FEED HOLD]
switch is pressed between (2) and (4). However, the X-, Y-, A-, B- and C-axis travel
stops immediately at (2).
(NOTE 3) Switching the mode is not possible between (1) and (4).
(NOTE 4) It is possible to omit all addresses except the G100 address, but a T code command
has to be issued once before the G100 command is issued.
(NOTE 5) The cutter compensation and the nose R compensation is cancelled when the G100
command is issued. In addition, the tool length / tool position offset (Z-axis) is
cancelled starting from (1).
2023/11/21 5 - 43 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(NOTE 6) When cutter compensation / nose R compensation commands on the G100 block and
travel commands on the selected plane axis are issued, the cutter compensation /
nose R compensation startup operation is carried out in the travel for the selected
plane axis in (2). Regardless of the user parameter (switch 1: compensation
function) <Start up/cancel>, the startup operation follows the Type 1 (shortcut)
setting.
(NOTE 7) The X- and Y- axes compensation is enabled from operation (2) and the Z-axis
compensation is enabled from (5) when the tool length / tool position offset
command is issued on the G100 block.
(NOTE 8) Only the M code commands listed in the “Simultaneous command M code”
(described later) are valid for the G100 block. The alarm <<Simultaneous specified
code cannot be used.>> is triggered when an unlisted or invalid M code command is
issued.
(NOTE 9) The alarm <<There is no *-axis option>> is triggered if an A-axis, B-axis or C-axis
command is issued when there is no A-axis, B-axis or C-axis option.
(NOTE 10) The user parameter (switch 1: ATC/Magazine) <ATC simultaneous operation start
position> is not used.
(NOTE 11) The user parameter (switch 1: ATC/Magazine) <ATC reference tool length> is not
used. Even if the G100 command is issued when the tool length / tool position offset
is cancelled (G49), (1) travels the distance to Z-axis zero position.
If there is no tool length / tool position offset command on the G100 block, (5)
travels to the Z command position.
5 (NOTE 12) When a feature coordinate index (G53.1) command is issued on the G100 block,
travel (A-axis, B-axis or C-axis rotation) is performed for the feature coordinate
index in (2).
The alarm <<Feature coordinate manufacturing mode engaged>> is triggered when
an A-axis, B-axis or C-axis command is issued. Issue a command with the
coordinate values in the feature coordinate system for the X-axis, Y-axis or Z-axis.
When a command is issued on the same block as G100 and G53.1 in G01 modal, the
A-axis, B-axis or C-axis travels at rapid feed.
(NOTE 13) When a G100 command is issued, the machining load monitor (M340) is disabled in
the machining load monitor function.
(NOTE 14) The TCP control (G43.4/G43.5) command is cancelled when the G100 command is
issued. G100 and TCP control commands can be issued on the same block. Refer to
“14.2 TCP control” for further details.
2023/11/21 5 - 44 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
5.7.2 M200Xd1/M300Xd1
Command format G100 G100 T_ X_ Y_ Z_ R_ A_ B_ C_ L_;
(3)
Home of ATC
(2) (4)
(1) (5)
Single block stop point
5
T : Tool number (1 to 99, 201 to 299), or pot number (magazine
number) (101 to 199), or group number (901 to 930).
X、Y、A、B、C : Target value when X, Y, A, B and C axes are moved at the same
time as tool replacement operations.
Movement is rapid feed.
Z : For the target value for operation in (5), movement is rapid feed.
R : R commands are ignored.
L : Specifies the tool number, pot number (magazine number) or group
number after L.
The number specified by L is the T modal after G100.
2023/11/21 5 - 45 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
5.7.2.3 Notes
(NOTE 1) During cycle operation, travel connecting (1) and (2) as well as (4) and (5) occurs in
cutting mode.
(NOTE 2) When the [RST] key or the [FEED HOLD] switch is pressed between operations
(2) and (4), it stops after operation (4). However, the X-, Y-, A- and B-axes travel
stops immediately at (2). When the C-axis is travelling to the command position, it
also stops immediately in the same way as the X-, Y-, A- and B-axes.
(NOTE 3) When the C-axis is operating as the lathe spindle, if the [RST] key is pressed
between (2) and (4), it stops after operation (4) (Stops after the positioning operation
is finished when transitioning from the lathe spindle rotation operation to the
positioning operation for the command position).
The C-axis does not stop even when the [FEED HOLD] switch is pressed.
(NOTE 4) The mode cannot be changed between (1) and (4).
(NOTE 5) It is possible to omit all addresses except the G100 address, but the T code command
has to be issued once before the G100 command is issued.
(NOTE 6) The cutter / nose R compensation is cancelled when the G100 command is issued. In
addition, the tool length / tool position offset (Z-axis) is cancelled from (1).
(NOTE 7) When cutter / nose R compensation commands on the G100 block and travel
commands on the selected plane axis are issued, the cutter / nose R compensation
startup operation is performed in the travel for the selected plane axis in (2).
Regardless of the user parameter (switch 1: compensation function) <Start
5 (NOTE 8)
up/Cancel>, the startup operation follows the type 1 setting.
The X- and Y- axes compensation is enabled from operation (2) and the Z-axis
compensation is enabled from (5) when the tool length / tool position offset
command is issued on the G100 block.
(NOTE 9) Only the M code commands listed in the “5.7.5 M code for simultaneous
commands” (described later) are valid for the G100 block. The alarm
<<Simultaneous specified code cannot be used. >> is triggered when an unlisted or
invalid M code command is issued.
(NOTE 10) The alarm <<No *-axis option>> is triggered if A-axis, B-axis and C-axis
commands are issued when there is no A-axis, B-axis and C-axis options.
(NOTE 11) The user parameter (switch 1: ATC/Magazine) <ATC simultaneous operation start
position> is not used.
(NOTE 12) The user parameter (switch 1: ATC/Magazine) <ATC reference tool length> is not
used. Even if the G100 command is issued when the tool length / tool position offset
is cancelled (G49), (1) travels to the Z-axis zero position (distance to Z-axis zero
point).
(NOTE 13) When a feature coordinate index (G53.1) command is issued on the G100 block,
travel (A-axis, B-axis or C-axis rotation) is performed for the feature coordinate
index in (2). The alarm <<Feature coordinate manufacturing mode engaged>> is
triggered when an A-axis, B-axis or C-axis command is issued. Issue a command
with the coordinate values in the feature coordinate system for the X-axis, Y-axis or
Z-axis.
When G100 and G53.1 commands are issued on the same block in a G01 modal, the
A-axis, B-axis or C-axis travels at rapid feed.
(NOTE 14) When a G100 command is issued, the machining load monitor (M340) is disabled in
the machining load monitor function.
(NOTE 15) The spindle selection command (or the lathe spindle selection command) and the
tool change command can be performed on the same block. Refer to “8.2.3 Lathe
spindle function” in Operation Manual I for further details.
(NOTE 16) The TCP control (G43.4/G43.5) command is cancelled when the G100 command is
issued. G100 and TCP control commands can be issued on the same block. Refer to
“14.2 TCP control” for further details.
2023/11/21 5 - 46 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(4)
Home of ATC
(2) (5)
R-point
(4)
(6) (5)
T : Tool number (1 to 99, 201 to 299), or pot number (magazine number) (101 to
199), or group number (901 to 930).
A, B, C : Target values when moving A-, B- and C-axes at the same time as the tool
change operation.
Travel is rapid feed.
X, Y : Target values for operation (6) and travel is rapid feed.
Z : Target values for operation (7) and travel is rapid feed.
R : Return height position before tool change (operates with tool length offset).
When there is no R command, the user parameter (switch 1: ATC/magazine)
<ATC simultaneous operation start position> is used as the R command
value for operation.
L : Specifies the tool number, pot number (magazine number) or group number
after L.
Pot with the corresponding tool is indexed after the tool change in operation
(4).
(Next tool preparation operation)
Operation
(1) When traveling to the R-point on the Z-axis, the spindle orientation and the pot shutter open
operations are carried out at the same time. When there is a T command, the magazine turns.
Thereafter, the pot falls.
(2) When the Z-axis travels to the ATC zero point and the X- and Y-axes travel to the zero point,
travel to the command values on the A-, B- and C-axes also occurs at the same time.
(3) X- and Y-axes travel to the ATC position.
2023/11/21 5 - 47 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(4) The arm turns to carry out a tool change operation. When there is an L command, the
magazine turns after the tool change.
For the tool change, the operation varies depending on the settings in the <ATC tool> screen.
For details about the tool change operation, refer to the tool change operation items.
(5) The Z-axis travels to the R-point and the X- and Y-axes travel to the zero point.
The operations are carried out at the same time when the spindle command (M03 group) is
issued.
(6) The X- and Y-axes travel to the command value.
(7) The Z-axes travel to the command value.
(NOTE 1) During cycle operation, travel connecting (1) and (2) as well as (5) and (7) on the Z-
axis occurs in cutting mode.
(NOTE 2) When the [RST] key or the [FEED HOLD] switch is pressed during operation (2),
it stops after the Z-axis completes travel to the ATC zero point. However, the X-, Y-,
A-, B- and C-axes travel stops immediately.
(NOTE 3) When the [RST] key or the [FEED HOLD] switch is pressed between operations
(3) and (5), it stops after operation (5). However, the A-, B- and C-axes travel stops
immediately.
(NOTE 4) Between operations (1) and (6), it does not stop at a single block.
(NOTE 5) Operation (4) moves onto the next operation without checking the pot rising, the pot
shutter closing or checking the preparations for the next tool.
5 (NOTE 6) The mode cannot be changed between operations (1) and (6).
(NOTE 7) It is possible to omit all addresses except the G100 address, but a T code command
has to be issued once before the G100 command is issued.
(NOTE 8) The cutter compensation is cancelled when the G100 command is issued.
In addition, the tool length offset is canceled from (2). However, if there is no tool
length offset command on the G100 block, the values displayed from (1) do not
include the tool length offset for the <Absolute coord. pos.> on the Z-axis.
(NOTE 9) When a cutter compensation command is issued on the G100 block, the cutter
compensation startup operation is performed in (6).
Regardless of the user parameter (switch 1: compensation function) <Start
up/cancel> value, the startup operation follows the Type 1 (shortcut) setting.
(NOTE 10) The Z-axis compensation is enabled from operation (5) when the tool length offset
command is issued on the G100 block.
(NOTE 11) When the G100 command is issued while the tool length offset is cancelled (G49),
the user parameter (switch 1: ATC/magazine) setting <ATC reference tool length>
compensates for the tool length in operation (1).
(NOTE 12) When there is no tool length offset command in the G100 block, the user parameter
(switch 1: ATC/magazine) setting <ATC reference tool length> compensates for the
tool length or position in operation (5).
(NOTE 13) Only the M code commands listed in the “M code for simultaneous commands”
(described later) are valid for the G100 block. The alarm <<Simultaneous specified
code cannot be used. >> is triggered when an unlisted or invalid M code command is
issued.
(NOTE 14) The alarm <<There is no *-axis option>> is triggered if an A-axis, B-axis or C-axis
command is issued when there is no A-axis, B-axis or C-axis option.
(NOTE 15) When the Z-axis travel falls for operation (1), the Z-axis does not travel in operation
(1).
(NOTE 16) When the Z-axis travel rises for operation (7), the Z-axis travels to the command
position for operation (5), and does not travel for operation (7).
(NOTE 17) It is only possible to intervene manually during a single stop operation at R-point
after operation (5). Manual intervention is not possible during any other operation.
(NOTE 18) When a feature coordinate index (G53.1) command is issued on the G100 block,
travel (A-axis, B-axis or C-axis rotation) is performed for the feature coordinate
index in (2). The alarm <<Feature coordinate manufacturing mode engaged>> is
triggered when an A-axis, B-axis or C-axis command is issued. Issue a command
with the coordinate values in the feature coordinate system for the X-axis, Y-axis or
Z-axis.
When a command is issued on the same block as G100 and G53.1 in G01 modal, the
A-axis, B-axis or C-axis travels at rapid feed.
2023/11/21 5 - 48 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(NOTE 19) When a G100 command is issued, the machining load monitor (M340) is disabled in
the machining load monitor function.
(NOTE 20) After the feature coordinate setting, an R command cannot be issued before the
feature coordinate index. Otherwise, the alarm <<Feature coordinate command
error>> is triggered.
(NOTE 21) When the user parameter (quick table) <Pallet 1 loading> or <Pallet 2 loading> is
set to <1:At 1st tool change>, if the R-point position for the first tool change
command (G100/M06) is issued at a position lower than the machine parameter
(system 1: common) <R-point lower limit for pallet loading during tool change>, the
alarm <<Pallet turn restricted range error>> is triggered.
• When changing from <Large tool> to <Standard tool> or from <Standard tool> to <Large
tool>
1. Magazine turn (empty pot is indexed)
2. Pot shutter open
3. Pot fall
4. Arm turn (spindle tool changes to an empty pot)
5. Pot rise
6. Magazine turn (specified pot is indexed)
7. Pot fall
8. Arm turn (specified pot tool changes to spindle)
9. Pot rise
10. Pot shutter close
When the operations above are carried out, the change is complete.
The procedure starts from step 2 when the empty pot is already indexed before the tool
change.
For the empty pot index in step 1, an empty pot for a large tool is indexed when the tool
change is for a <Large tool>, and an empty pot for a standard tool is indexed when the tool
change is for a <Standard tool>. In addition, the empty pot is indexed turning in the direction
that is closest.
When the tool change is for a <Large tool>, the arm turns for steps 4 and 8 at a speed that is
set by the machine parameter (system 3: common) <Rapid feedrate AT-axis 2>. When the tool
change is for a <Standard tool>, the arm turns at a speed that is set by the machine parameter
(system 3: common) <Rapid feedrate AT-axis 1>.
(NOTE 1) When changing from a <Large tool> to <Standard tool>, if there is no empty pot for
the <Large tool>, the alarm <<No empty pot>> is triggered.
(NOTE 2) When changing from a <Standard tool> to <Large tool>, if there is no empty pot for
the <Standard tool>, the alarm <<No empty pot>> is triggered.
2023/11/21 5 - 49 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
The next tool preparation varies depending on the type of tool that is set on the <ATC tool>
screen.
If the spindle tool type and the next tool type are the same, the specified tool is indexed. However,
if the types are different, an empty pot that is the same type as the spindle tool type is indexed.
When the spindle tool is a <Standard tool> and the next tool is a <Large tool>, an empty pot for a
<Standard tool> is indexed.
When the spindle tool is a <Large tool> and the next tool is a <Standard tool>, an empty pot for a
<Large tool> is indexed.
(NOTE 1) When preparing for the next tool and changing from a <Large tool> to <Standard
tool>, if there is no empty pot for the <Large tool>, the alarm <<No empty pot>> is
triggered.
(NOTE 2) When preparing for the next tool and changing from a <Standard tool> to <Large
5 tool>, if there is no empty pot for the <Standard tool>, the alarm <<No empty pot>>
is triggered.
5.7.4 H550Xd1
Command format G100 T_ X_ Y_ Z_ R_ A_ B_ C_ L_ ;
T : Tool number (1 to 99, 201 to 299), or pot number (magazine number) (101 to
199), or group number (901 to 930).
X and Y : When point R ≤ ATC position on the Z-axis, the target value and travel in (8)
is rapid feed.
When point R > ATC position on the Z-axis, the target value and travel in
(10) is rapid feed.
Z : When point R ≤ ATC position on the Z-axis, the target value and travel in (9)
is rapid feed.
When point R > ATC position on the Z-axis, the target value and travel in
(11) is rapid feed.
A, B and C : When moving A-, B- and C-axes at the same time as each operation (2), the
target value and travel is rapid feed.
R : Return height position before tool change (operates with tool length offset).
When there is no R command, the user parameter (switch 1: ATC/magazine)
<ATC simultaneous operation start position> is used as the R command
value for operation.
L : Specifies the tool number, pot number (magazine number) or group number
after L. The number specified in L becomes the T modal after G100.
2023/11/21 5 - 50 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Z+
(3) (7)
(2)
(9)
(1)
Point R Point R
ATC position Z-axis ATC position Z-axis
Operation 5
(1) When the ATC shutter opens and the Z-axis travels to point R, the spindle orientation is
carried out at the same time.
(Additional axis unclamp operation is also carried out at the same time.)
(2) The X-axis travels to the machine parameter (system 1: common) <ATC position X-axis>, the
Y-axis travels to the Y zero point and the Z-axis travels to the machine parameter (system 1:
X-, Y- and Z-axes) <Distance to zero point> (Z-axis) + machine parameter (system 1:
common) <ATC position Z-axis>. In addition, travel to the command values on the A-, B- and
C-axes occurs at the same time.
(3) The Y-axis travels to the machine parameter (system 1: common) <ATC position Y-axis>.
(4) The Z-axis travels to the ATC zero point.
(5) The magazine turns and indexes the tool specified in T.
(6) The Z-axis travels to the machine parameter (system 1: X-, Y- and Z-axes) <Distance to zero
point> (Z-axis) and the machine parameter (system 1: common) <ATC position Z-axis>.
(7) The Y-axis travels to the Y zero point.
(8) The ATC shutter closes, the X- and Y-axes travels to the command value and the Z-axis
travels to point R.
If there is no X-axis command value, then it travels to the machine parameter (system 1:
common) <Reference position X-axis after tool change>.
The operations are carried out at the same time when the spindle command (M03 group) is
issued.
(9) The Z-axis travels to the command value.
(NOTE 1) During cycle operation, travel connecting (1) and (2) on the Z-axis, (2) and (3) on
the Y-axis, (7) and (8) on the Y-axis as well as (8) and (9) on the Z-axis occurs in
cutting mode.
(NOTE 2) When the [RST] key or the [FEED HOLD] switch is pressed between operations
(3) and (7), it stops after operation (7). After the (7) operation, the ATC shutter is
closed. However, the A-, B- and C-axes travel stops immediately.
(NOTE 3) Between operations (1) and (8), it does not stop after a single block.
(NOTE 4) The mode cannot be changed between (1) and (8).
(NOTE 5) It is possible to omit all addresses except the G100 address, but the T code command
has to be issued once before the G100 command is issued.
(NOTE 6) The cutter compensation is cancelled when the G100 command is issued. In
addition, the tool length / tool position offset (Z-axis) is cancelled from (2).
However, if there is no tool length/tool position offset command on the G100 block,
the values displayed from (1) do not include the tool length/tool position offset for
the <Absolute coord. pos.> on the Z-axis.
2023/11/21 5 - 51 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(NOTE 7) When cutter compensation commands on the G100 block and travel commands on
the selected plane axis are issued, the startup operation for cutter compensation is
carried out in the travel for the selected plane axis in (8). Regardless of the user
parameter (switch 1: compensation function) <Start up/Cancel>, the startup
operation follows the Type 1 (shortcut) setting.
(NOTE 8) The X-/Y-axes compensation is enabled from operation (8) and the Z-axis
compensation is enabled from (8) when a tool length/tool position offset command
is issued on the G100 block.
(NOTE 9) Only the M code commands listed in the “5.7.5 M code for simultaneous
commands” (described later) are valid for the G100 block. The alarm
<<Simultaneous specified code cannot be used.>> is triggered when an unlisted or
invalid M code command is issued.
(NOTE 10) The alarm <<There is no *-axis option>> is triggered if an A-axis, B-axis or C-axis
command is issued when there is no A-axis, B-axis or C-axis option.
(NOTE 11) When the G100 command is issued while the tool length offset is cancelled (G49),
the user parameter (switch 1: ATC/magazine) setting <ATC reference tool length>
compensates for the tool length in operation (1).
(NOTE 12) When there is no tool length offset command in the G100 block, the user parameter
(switch 1: ATC/magazine) setting <ATC reference tool length> compensates for the
tool length or position in operation (8).
(NOTE 13) When a feature coordinate index (G53.1) command is issued on the G100 block,
travel (A-axis, B-axis or C-axis rotation) is carried out for the feature coordinate
5 index in (2). The alarm <<Feature coordinate manufacturing mode engaged>> is
triggered when an A-axis, B-axis or C-axis command is issued. Issue a command
with the coordinate values in the feature coordinate system for the X-axis, Y-axis or
Z-axis.
When G100 and G53.1 commands are issued on the same block in a G01 modal, the
A-axis, B-axis or C-axis travels at rapid feed.
(NOTE 14) When a G100 command is issued, the machining load monitor (M340) is disabled in
the machining load monitor function.
(NOTE 15) If point R < the current position before the operation, then point R travel is omitted
in (1).
(NOTE 16) When determining if point R ≤ ATC position on the Z-axis, if point R becomes
greater than the ATC position on the Z-axis after the tool change, because the tool
length offset is added, then the operation for (7) to (11) assumes point R > ATC
position on the Z-axis.
(NOTE 17) After the feature coordinate setting, an R command cannot be issued before the
feature coordinate index. Otherwise, the alarm <<Feature coordinate command
error>> is triggered.
Z+ (4)
(8)
(3) (9)
Stroke Stroke
(2) (10)
(11)
(1)
Point R Point R
ATC position Z-axis Z ATC position Z-axis Z
2023/11/21 5 - 52 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Operation
(1) When the ATC shutter opens and the Z-axis travels to point R, the spindle orientation is
carried out at the same time.
(Additional axis unclamp operation is also carried out at the same time.)
(2) The X-axis travels to the machine parameter (system 1: common) <ATC position X-axis>,
and the Y-axis travels to the Y zero point. In addition, travel to the command values on the
A-, B- and C-axes occurs at the same time.
(3) The Z-axis moves to the machine parameter (system 1: X-, Y- and Z-axes) <Distance to zero
point> (Z-axis) and the machine parameter (system 1: common) <ATC position Z-axis>.
(4) The Y-axis travels to the machine parameter (system 1: common) <ATC position Y-axis>.
(5) The Z-axis travels to the ATC zero point.
(6) The magazine turns and indexes the tool specified in T.
(7) The Z-axis travels to the machine parameter (system 1: X-, Y- and Z-axes) <Distance to zero
point> (Z-axis) and the machine parameter (system 1: common) <ATC position Z-axis>.
(8) The Y-axis travels to the Y zero point.
(9) The ATC shutter closes, and the Z-axis moves to point R.
The operations are carried out at the same time when the spindle command (M03 group) is
issued.
(10) The X- and Y-axes travel to the command value. If there is no X-axis command value, then it
travels to the machine parameter (system 1: common) <Reference position X-axis after tool
change>.
(11) The Z-axis travels to the command value.
5
(NOTE 1) When the [RST] key or the [FEED HOLD] switch is pressed between operations
(4) and (8), it stops after operation (8). After the (8) operation, the ATC shutter is
closed. However, the A-, B- and C-axes travel stops immediately.
(NOTE 2) Between operations (1) and (10), it does not stop after a single block.
(NOTE 3) The mode cannot be changed between (1) and (10).
(NOTE 4) It is possible to omit all addresses except the G100 address, but the T code command
has to be issued once before the G100 command is issued.
(NOTE 5) The cutter compensation is cancelled when the G100 command is issued. In
addition, the tool length / tool position offset (Z-axis) is cancelled from (3).
However, if there is no tool length/tool position offset command on the G100 block,
the values displayed from (1) do not include the tool length/tool position offset for
the <Absolute coord. pos.> on the Z-axis.
(NOTE 6) When cutter compensation commands on the G100 block and travel commands on
the selected plane axis are issued, the startup operation for cutter compensation is
carried out in the travel for the selected plane axis in (10). Regardless of the user
parameter (switch 1: compensation function) <Start up/Cancel>, the startup
operation follows the Type 1 (shortcut) setting.
(NOTE 7) The X-/Y-axes compensation is enabled from operation (10) and the Z-axis
compensation is enabled from (9) when a tool length/tool position offset command
is issued on the G100 block.
(NOTE 8) Only the M code commands listed in the “5.7.5 M code for simultaneous
commands” (described later) are valid for the G100 block. The alarm
<<Simultaneous specified code cannot be used.>> is triggered when an unlisted or
invalid M code command is issued.
(NOTE 9) The alarm <<There is no *-axis option>> is triggered if an A-axis, B-axis or C-axis
command is issued when there is no A-axis, B-axis or C-axis option.
(NOTE 10) When the G100 command is issued while the tool length offset is cancelled (G49),
the user parameter (switch 1: ATC/magazine) setting <ATC reference tool length>
compensates for the tool length in operation (1).
(NOTE 11) When there is no tool length offset command in the G100 block, the user parameter
(switch 1: ATC/magazine) setting <ATC reference tool length> compensates for the
tool length or position in operation (9).
2023/11/21 5 - 53 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
(NOTE 12) When a feature coordinate index (G53.1) command is issued on the G100 block,
travel (A-axis, B-axis or C-axis rotation) is carried out for the feature coordinate
index in (2). The alarm <<Feature coordinate manufacturing mode engaged>> is
triggered when an A-axis, B-axis or C-axis command is issued. Issue a command
with the coordinate values in the feature coordinate system for the X-axis, Y-axis or
Z-axis.
When G100 and G53.1 commands are issued on the same block in a G01 modal, the
A-axis, B-axis or C-axis travels at rapid feed.
(NOTE 13) When a G100 command is issued, the machining load monitor (M340) is disabled in
the machining load monitor function.
(NOTE 14) If point R < the current position before the operation, then point R travel is omitted
in (1).
(NOTE 15) When determining if point R > ATC position on the Z-axis, if point R becomes equal
or less than the ATC position on the Z-axis after the tool change, because the tool
length offset is added, then the operation for (6) to (9) assumes point R ≤ ATC
position on the Z-axis.
(NOTE 16) After the feature coordinate setting, an R command cannot be issued before the
feature coordinate index. Otherwise, the alarm <<Feature coordinate command
error>> is triggered.
2023/11/21 5 - 54 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
M code Contents
M420 ATC arm turn speed (maximum speed)
M421 ATC arm turn speed (large tool speed)
M432
M422 ATC arm turn speed 1
M423 ATC arm turn speed 2
C-axis unclamp
M430
(Simultaneous command is not possible with QT-axis)
C-axis clamp
M431
(Simultaneous command is not possible with QT-axis)
M435 Magazine rotation top speed
M436 Magazine rotational speed 1
M437 Magazine rotational speed 2
M440 B-axis unclamp
M441 B-axis clamp
M442 A-axis unclamp
M443 A-axis clamp
M444 C-axis unclamp
M445 C-axis clamp
M450 One shot signal output
M451 (Proceeds to the next block after the signal has turned off)
M455 One shot signal output
(Proceeds to the next block without waiting for the signal off.)
5
M456
M460 Waiting for M460 signal ON
M461 Waiting for M460 signal OFF
M462 Waiting for M462 signal ON
M463 Waiting for M462 signal OFF
M464 Waiting for M464 signal ON
M465 Waiting for M464 signal OFF
M466 Waiting for M466 signal ON
M467 Waiting for M466 signal OFF
M468 Waiting for M468 signal ON
M469 Waiting for M468 signal OFF
M474 Coil conveyor automatic mode: Enable
M475 Coil conveyor automatic mode: Disable
M480 M480 signal ON
M481 M480 signal OFF
M482 M482 signal ON
M483 M482 signal OFF
M484 M484 signal ON
M485 M484 signal OFF
M486 M486 signal ON
M487 M486 signal OFF
M494 Coolant through center ON
M495 Coolant through center OFF
M497 Tool replacement tool washing ON
M498 Spindle air blow / tool wash ON
M499 Spindle air blow / tool wash OFF
M801 to M899 Signal output * for PLC
M900 to M999 Extend signal output
2-bit BCD signal BCD signal output
M code is executed at the same time as when the Z-axis travels in the plus direction to point R,
except for the following situation.
2023/11/21 5 - 55 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
When using a turret type ATC mechanism (excluding H series), the following M code is output at
the same time while traveling from the “Distance to Z-axis zero point” to the “Z-axis command
point”.When using an arm type ATC mechanism, the code is output at the same time while
traveling from the ATC zero point to the R-point, after the tool change. When using a turret type
ATC mechanism (H series), the code is output at the same time while traveling from the Y-axis
zero point after the tool change.
1. M03 (Spindle CW)
2. M04 (Spindle CCW)
3. M05 (Spindle stop)
4. M19 (Spindle orientation)
5. M111 (Spindle orientation to 180°)
6. M08 (Coolant pump ON)
7. M494 (Coolant through center ON)
When using an arm type ATC mechanism, the following M code is output at the same time while
traveling from the R-point to the “Z-axis command point”, after the tool change. In addition, when
a command is issued at the same time as a canned cycle (G100) for a tool change while in memory
operation, it is valid after the magazine turn operation in preparation for the next tool. However, if
a command is issued at the same time while in MDI operation, the alarm <<Specified M code
cannot be used>> is triggered.
• M435 to M437 (specify maximum magazine turn)
5 Output of an M signal to wait for MFIN is always accepted during ATC. However, if MFIN is not
input when the travel operation (after the tool change) to point R (Z-axis zero point) is complete,
then MFIN goes into standby and it travels to the Z-axis command value once MFIN is input.
ATC home
When the user parameter (switch 1: program) <Multiple M codes in one block> is set to <1: Yes>,
up to 3 M code commands can be issued on the same block.
However, only one of the 2-bit BCD signals, signal outputs (M801 to M899) to PLC, and
expansion signal outputs (M900 to M999) can be commanded.
In addition, if M codes which work simultaneously are commanded at the same time, they are
output simultaneously. If you want to know the order of output, command them separately in
multiple blocks.
2023/11/21 5 - 56 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
If the <Automatically use (S or F) command when changing tool> is set as <1:Yes> each value set
in the tool data for the tool in the spindle is automatically updated and output in automatic tool
change.
In addition, if a command is already in a same block of a program in NC, it is first commanded
prior others.
(NOTE 1) The spindle speed can only be automatically set when the constant peripheral speed
control is cancelled (G97). The automatic setting does not perform when the
constant peripheral speed is being controlled (G96).
(NOTE 2) Feed rate can be automatically set only when the feed per minute is set (G94). It is
not automatically set when the rotational speed is set (G95).
(NOTE 3) If spindle rotational speeds and feed rates in the tool data are not set, the spindle
moves in the current S/F mode.
(NOTE 4) If dialogue tools are changed by a pot number command, the spindle rotational
speed and feed rate are considered as unset and the spindle is moved in the current
S/F mode.
5
2023/11/21 5 - 57 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
G36
Command format : X_ Y_ I_ J_ K_ P_ Q_;
5 G39
(NOTE 1) Coordinate calculation function command is not possible while in the inverse time
feed (G93) modal. If a command is issued, the alarm <<Command not possible
during inverse time feed>> is triggered.
(NOTE 2) A coordinate calculation function command cannot be issued while under TCP
control (G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/21 5 - 58 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Ex) When using P6 where P is the number of intervals (360 degrees / 60 degrees = 6 intervals)
G36 X0. Y0. I50 J30. K5 P6.;
60
30
X
(0, 0)
50
2023/11/21 5 - 59 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
Ex) When using P8 where P is the number of intervals (360 degrees / 45 degrees = 8 intervals)
G36 X0. Y0. I50. J15. K7 P8.;
45
15
X
( 0, 0 )
50
5
(NOTE) Coordinate values are measured counterclockwise from the start point.
20
20
20
20
20
30
X
(0, 0)
2023/11/21 5 - 60 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
45
5
30
15
X
(0, 0) 20 40 60
2023/11/21 5 - 61 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
5
25
30
(0, 0) X
20
(NOTE 1) The coordinates for the reference point are also output.
(NOTE 2) The direction of the X-axis is obtained from the reference point.
2023/11/21 5 - 62 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
X
0 50
N100 memorizes canned cycle data, and N105 calculates coordinates to drill holes at the specified
position.
2023/11/21 5 - 63 eCOM4NCPR5
Chapter 5 Preparation Function (Canned Cycle)
2023/11/21 5 - 64 eCOM4NCPR5
Chapter 6 Macro
CHAPTER 6
MACRO
2023/11/21 6- 1 eCOM4NCPR6
Chapter 6 Macro
• Variables function
• Calculation function
• Control function
• Call function
Examples of combination of the functions are shown below (Examples 1 and 2).
How to create a macro program is described on the following pages.
N01 G90G0G54.....;
N02 ;
•
•Machining program
•
N50 #100=#100+1; (count up)
N51 IF[#100LT10] GOTO 55; (go to N55 if the content of #100 is less that 10))
N53 M200; (detects tool break)
6 N54 #100=0; (clear counter)
N55 M30;
• Main program
N01 G90G54G0Z30.;
N02 G65P0042X-100.Y-100.R50.Z-3.W2.U0.V30.F1000;
N01 G90G0X[#24+COS[#21]*#18]Y[#25+SIN[#21]*#18];
N02 Z#23;
N03 G1Z#26F#9;
N03 G3X[#24+COS[#22]*#18]Y[#25+SIN[#22]*#18] R#18;
N04 G0Z#23;
N05 M99;
2023/11/21 6- 2 eCOM4NCPR6
Chapter 6 Macro
N01
50
N03
30°
2023/11/21 6- 3 eCOM4NCPR6
Chapter 6 Macro
2023/11/21 6- 4 eCOM4NCPR6
Chapter 6 Macro
Local variables are unique to respective macro program call level. When a macro program is
called, the local variables of the calling program are saved, and the area for new local variables is
prepared for the called macro program.
Local variables and levels are described in 6.5 Call Function.
Common variables can be called and written from any program and level.
Detailed specifications are given in the table below.
Types of variables
Variable No. Variable type Function
#0 Always empty Always empty; cannot enter a value.
#1 to #33 Local variables Used uniquely on respective levels of a macro program.
Initialized to the empty status when power is turned off.
The range of variables that can be input into local variables
is:
-1.0×1099 to -1.0×10-99, 0, 1.0×10-99 to 1.0×1099
(NOTE) All digits are not necessarily displayed on the
screen but actual variables can be represented in
the above range.
#100 to #199 Common Used in all different macro programs commonly. Initialized
variables to the empty status when power is turned off.
The range of variables that can be input into these common 6
variables is:
-1.0×1099 to -1.0×10-99, 0, 1.0×10-99 to 1.0×1099
(NOTE) All digits are not necessarily displayed on the
screen but actual variables can be represented in
the above range.
Initialization is also carried out when the setting is
changed in the user parameter (switch 1)
<Conversation/NC language change>.
#500 to #999 Used in all different macro programs commonly.
The data is retained when power is turned off.
The range and number of significant digits of variables that
can be input into these common variables is:
(When the minimum set unit is type 1)
Metric: -999999.999 to 999999.999
(6 digits for integer and 3 for fractional portion)
Inch: -99999.9999 to 99999.9999
(5 digits for integer and 4 for fractional portion).
(When the minimum set unit is type 2)
Metric: -999999.9999 to 999999.9999
(6 digits for integer and 4 for fractional portion)
Inch: -99999.99999 to 99999.99999
(5 digits for integer and 5 for fractional portion).
When substituting a variable with a large number of
significant digits at the fractional portion, the fractional
portion is rounded to the above number of digits.
(NOTE) When an attempt was made to assign a value that
exceeds the variable range, the alarm <<Macro
command error>> is triggered.
2023/11/21 6- 5 eCOM4NCPR6
Chapter 6 Macro
To display macro variables, press [3][ENT] on the Data Bank Menu screen. Alternatively, select
Menu No. 3 with the cursor and press the [ENT]key.
The values of common variables (#100 to #199 and #500 to #999) and local variables can be
referenced and/or changed.
• Display of values
The values of common variables from #100 to #199 and all local variables are displayed only
when these variables are within the range given below.
All digits are not necessarily displayed even though the value is within the above range.
The rounded figures are shown on the display. The value appearing on the screen may therefore
differ from the actual variable.
2023/11/21 6- 6 eCOM4NCPR6
Chapter 6 Macro
Typical application
Signals are output from a program to port 10 of standard terminal block.
Assign #1100 to port 10 of the standard terminal block with <External Output Signal> of
<External I/O Signal>.
• Write a command as follows on the program to output signals to port 10 of the standard
terminal block.
•
•
#1100=1;
•
•
2023/11/21 6- 7 eCOM4NCPR6
Chapter 6 Macro
(NOTE) When commanded during cutter compensation, the tool moves to where an offset
vector is set vertically perpendicular to the direction of travel of the previous axis
travel.
6.2.6.6 Time
Time 1 #3001 R/W Timer in the unit of 10msec.
Clears after 42949672.96 sec (ca. 497 days). Cleared to
zero on turning power on, and counts continuously.
Time 2 #3002 R/W Timer in the unit of 10msec.
Clears after 42949672.96 sec (ca. 497days). Counts the
time when activation LED is lit (STL).
The value is retained when power is turned off.
Date #3011 R Current date
Ex) January 20, 2007
#3011 = 20070120 (NOTE 1)
Hour #3012 R Current time (24-hour system)
Ex) 4H 17M 5S pm
#3012 = 161705 (NOTE 2)
(NOTE 1) When an attempt is made to assign the date (#3011) as a common variable (#500 to
#999), the alarm <<Macro variable error>> is triggered.
2023/11/21 6- 8 eCOM4NCPR6
Chapter 6 Macro
(NOTE 2) If the user parameter (switch 1: system) <Machine unit system> is set to <1:Inch>,
when an attempt is made to assign the time (#3012) as a common variable (#500 to
#999), the alarm <<Macro variable error>> is triggered.
#3003
• The default value 0 appears when turning power on.
• Turns 0 on resetting and with M30.
• The control goes to the next block without waiting for MFIN if this is set to <Does Not Wait>.
MFIN OFF is not checked before outputting an M signal.
The M signal output time (when set to <Do not wait>) is set in the user parameter (switch 1:
programming) <External signal output time when MFIN is invalid>.
• When M signal blocks run successively with MFIN set to <Does Not Wait>, the next M signal
is output after time elapse of the above parameter.
#3004
• The default value 0 when turning power on.
• Turns 0 on resetting and with M30. 6
• When the feedrate override is disabled, the override is fixed at 100% regardless of the feedrate
override setting on the operations box.
• Spindle override and rapid feed override are also fixed at 100%.
(NOTE) The macro command is executed during a look ahead operation, and therefore the
“1” (Program restarted) status may be scanned and checked even if there is a #3008
below the start position. To scan and check the “0” (Program not restarted) status,
leave a space between the start position and #3008, or insert M159 (Look ahead
prohibited) immediately after the start position.
Example when “1” status applies to #3008 on the block after the start position due to look ahead
N1 (SAMPLE);
>> N2 G90 G54 G00 X0 Y0;
Start position → N3 X-10. Y-10.;
N4 #100=#3008; “1” status applies to #100 during look
ahead
2023/11/21 6- 9 eCOM4NCPR6
Chapter 6 Macro
Example when M159 (Look ahead prohibited) is added to program above and “0” status applies to
#3008
N1 (SAMPLE);
>> N2 G90 G54 G00 X0 Y0;
Start position →N3 X-10. Y-10.;
! M159;
N4 #100=#3008; “0” status applies because execution is after
program restart
N5 X-20. Y-20.;
#4113
• The M code returns the M number commanded immediately before.
When the user parameter (switch 1: programming) <Multiple M codes in one block> is set to
<Yes> and multiple commands have been issued on one block, the M code number noted at
the end of the block applies.
#4114
• Sequence Number returns the N number commanded immediately before.
(Not the block number currently being executed)
N90 #100 = 0;
N100 #100 = #4114:
When commanded as above, 90 is substituted in #100.
2023/11/21 6 - 10 eCOM4NCPR6
Chapter 6 Macro
#4115
• Program number returns the subprogram number when it is being executed.
#4120
• Pot number command value (101 to 1nn) is returned when T code is commanded by pot
number. Group number command value (901 to 930) is returned when T code is commanded
by group number.
2023/11/21 6 - 11 eCOM4NCPR6
Chapter 6 Macro
2023/11/21 6 - 12 eCOM4NCPR6
Chapter 6 Macro
#5001 to #5008, #5021 to #5028, #5041 to #5048, #5061 to #5068, #5081 to #5088, #5101 to
#5108, and #5161 to #5168 read the value of X, Y, Z, and additional axes, respectively.
#5031 to #5034, #5051 to #5054, #5071 to #5074, #5111 to #5114, and #5171 to #5174 read the
value of PLC1 to 4 axes, respectively.
#30000 reads the spindle feedback position. The range depends on the user parameter (switch 1:
common) <Macro/PLC spindle feedback position unit>.
(NOTE) After the power is turned ON, the value is undefined until the spindle rotation is carried
out.
#30001 reads the pallet number selected in memory operation.
Range: 1 to 2.
(NOTE 1) When using a model with a quick table, it is set to 1.
(NOTE 2) In the drawing before operation and tool path simulation, the number that is set in
the drawing parameter <Machining pallet> is read.
Reading during travel is not possible for the current position, the tool length offset, the servo
deviation and the spindle feedback position. However, this means that the value is not guaranteed
to be accurate because the numerical value is set at the time when the look-ahead is carried out.
6
To be specific:
X-10.;
X-10.;
X-10.;
#100 = #5021;
•
•
In the above blocks, for example, the macro command looks ahead while the axes are traveling,
and thus the position of axes in transit rather than the travel end position in the preceding block is
read. To acquire the value after the travel is completed on the previous block, insert M159 (look
ahead prohibited) between the previous block and the macro command.
0 : Cap designation
1 to 99, 201 to 299 : Tool number set in the NC language mode
1001 to 1099 : Tool number set in the interactive mode
Empty : Undefined
2023/11/21 6 - 13 eCOM4NCPR6
Chapter 6 Macro
(NOTE 1) Results of measurement of X, Y, and Z axes use the machine coordinate system.
(NOTE 2) G code 1 takes the following values:
1 :G121; 2 :G122; 3 :G123; 4 :G124; 5 :G125; 6 :G126; 7 :G127; 9 :G129
Result of measurement in the case of G128 only is zero.
(NOTE 3) G code 2 takes the following value:
8 : G128
Result of measurement in the case of not including G128 is zero.
2023/11/21 6 - 14 eCOM4NCPR6
Chapter 6 Macro
2023/11/21 6 - 15 eCOM4NCPR6
Chapter 6 Macro
0: Not detected
1: Normal
2: Stuck chips
3: Error
#40016 Stuck chips detection value R
(Stuck chips detection data No.01)
#40017~40019 Reserved -
#40020 Tool No. (Stuck chips detection data No.02) R
#40021 Magazine No. (Stuck chips detection data No.02) R
#40022 Stuck chips detection position R
(Stuck chips detection data No.02)
#40023 Stuck chips reference value R
(Stuck chips detection data No.02)
#40024 Stuck chips detection thermal compensation R
(Stuck chips detection data No.02)
2023/11/21 6 - 16 eCOM4NCPR6
Chapter 6 Macro
0: Not detected
1: Normal
2: Stuck chips
3: Error
#40026 Stuck chips detection value R
(Stuck chips detection data No.02)
#40027~40029 Reserved -
• • •
• • •
#40500 Tool No. (Stuck chips detection data No.50) R
#40501 Magazine No. (Stuck chips detection data No.50) R
#40502 Stuck chips detection position R
(Stuck chips detection data No.50)
#40503 Stuck chips reference value R
(Stuck chips detection data No.50)
#40504 Stuck chips detection thermal compensation R
(Stuck chips detection data No.50)
#40505 Stuck chips detection result R
(Stuck chips detection data No.50)
0: Not detected
1: Normal
2: Stuck chips 6
3: Error
#40506 Stuck chips detection value R
(Stuck chips detection data No.50)
#40507~40509 Reserved -
(NOTE) When the value is outside the setting range of the user parameter (switch 1:
ATC/magazine) <Stuck chips detection threshold> for #40009, then the alarm
<<Macro variable error>> is triggered.
2023/11/21 6 - 17 eCOM4NCPR6
Chapter 6 Macro
(NOTE) If there is a macro command that acquires the compensation amount immediately
after an M code executes automatic thermal distortion compensation, it may not
acquire the most recent compensation amount because the macro command is
executed with a look ahead. To ensure the most recent compensation amount is
acquired, insert M159 (look ahead prohibited) between the M code and the macro
command.
N1 (SAMPLE);
N2 M353; Automatic thermal distortion compensation
– Compensation updated
N3 M159; Look ahead prohibited
N4 #100=#42004; Compensation 1 (X-axis)
N5 #101=#42005; Compensation 2 (X-axis)
2023/11/21 6 - 18 eCOM4NCPR6
Chapter 6 Macro
To specify precedence of calculation different from the above general rule, you may use square
brackets ([ ]).
Up to five sets of square brackes, including those of the function, can be used.
2023/11/21 6 - 19 eCOM4NCPR6
Chapter 6 Macro
2023/11/21 6 - 20 eCOM4NCPR6
Chapter 6 Macro
n : Sequence No.
When the sequence number n is out of range, the alarm <<Macro command error>> is triggered.
When there is no corresponding sequence number, the alarm <<No applicable sequence>> is
triggered.
Sequence number may be specified by an equation.
Ex) N1 GOTO 3;
N2 GOTO #10;
N3 ;
GOTO instruction is effective within the program to which it belongs. It acts on the first sequence
number that it encounters in the program in the direction toward the end of the program. On
reaching the end of the program, the search starts from the beginning of the program.
2023/11/21 6 - 21 eCOM4NCPR6
Chapter 6 Macro
n : 1~99999
The control branches to the sequence number n when the conditional equation is satisfied. If not,
the succeeding block is executed.
Types of conditional equations are described below.
2023/11/21 6 - 22 eCOM4NCPR6
Chapter 6 Macro
m = 1~4
Condition met
Processing Condition not met
END m;
2023/11/21 6 - 23 eCOM4NCPR6
Chapter 6 Macro
The identifier m(m=1 to 4) may be used as many times as you want provided that the one-to-one
relationship is maintained.
:
WHILE [#100 LT 10] DO 1;
:
:
END 1;
:
:
6 WHILE [#101 EQ 50] DO 1;
:
:
END 1;
:
(NOTE 2) You may not cross DOm and ENDm in WHILE instructions.
The alarm <<Macro Command Error>> occurs.
:
WHILE [#100 LT 10] DO 1;
:
:
WHILE [#101 EQ 50] DO 2;
:
:
END 1;
:
:
END 2;
:
2023/11/21 6 - 24 eCOM4NCPR6
Chapter 6 Macro
:
:
Double
WHILE [#101 LT 20] DO 2;
:
: Triple
WHILE [#102 LT 30] DO 3;
:
: 4-fold
WHILE [#103 LT 40] DO 4;
:
:
END 4;
:
:
END 3;
:
:
END 2;
:
6
:
END 1;
:
:
2023/11/21 6 - 25 eCOM4NCPR6
Chapter 6 Macro
2023/11/21 6 - 26 eCOM4NCPR6
Chapter 6 Macro
This function is used to help create a unique canned cycle for when the user wishes to repeat the
same operation.
Macro program calling (G65, G66 and G code or M code that is registered in the data bank <G/M
code macro>) can be executed in memory operation mode and MDI operation mode.
The macro program that is called returns to the calling source when M99 is executed.
When the macro program executes M02 or M30 (program end), the program ends without
returning to the calling source. (Memory operation ends.)
G65
G65
M99 M02
Returns Ends
6
A macro program can call other macros with G65/G66. This parental relationship is available for
up to 4 generations (4-fold multiplicity of macro program; this is referred to as multi-layered call).
When calling a macro program, the source program may deliver arbitrary numerical values to the
called program as argument.
There is a sub program calling (M98, M198) for a function similar to macro program calling (G65,
G66), and the differences between these two are described later in detail.
These call functions are described below.
Ex. 1)
G65 P200;
This calls program No. 200 once.
Ex. 2)
G65 P200L2;
is the same as:
G65 P200;
G65 P200;
Program No. 200 is called twice in either case.
2023/11/21 6 - 27 eCOM4NCPR6
Chapter 6 Macro
Modal call is registered by G66 command. Registration is canceled by G67 command. Once modal
call is registered, the designated macro program is executed after axes travel each time an axis
travel is commanded.
There are two methods to call a program: using a program number and using a program name.
Ex. 1)
6 G66 P10; (1) Register No. 10 ready for call
G01 X-10.0Y-10.0; (2) Call No. 10 after execution
G01 X-1.0Y-1.0; (3) Call No. 10 after execution
G67; (4) Cancel registration
G01 X-10.0Y-10.0; (5) Do not call
G01 X-1.0Y-1.0; (6) Do not call
Program No. 10 is called once after executing (2). It is also called once after executing (3). The
program is not called after execution of (5) and (6).
2023/11/21 6 - 28 eCOM4NCPR6
Chapter 6 Macro
M30; M99;
xxx : G code number registered in the data bank as a <G/M code macro>
However, 0, 65, 66 and 67 cannot be used.
L : Number of repeated calls (9999 times or less)
If omitted, it is processed as 1 time (Refer to G65 description).
A command cannot be issued when carrying out tape operation (general
communications device).
(Argument) : Data transferred to the macro. Omission is possible.
In order to use G code macro calling, preset the following parameters noted in <G/M code macro>
in the data bank.
6
<G/M code macro (Common parameter)>
• <Selected folder 1 for G code macro program>
• <Specified folder 1 for G code macro program>
• <Selected folder 2 for G code macro program>
• <Specified folder 2 for G code macro program>
• <Selected folder 3 for G code macro program>
• <Specified folder 3 for G code macro program>
• <Macro program call control type>
There are 3 folders that can be specified for calling a macro program. The description below shows
how to specify a folder. The default setting is configured to the root folder (root directory).
Macro program call folder Selection: <Selected Setting: <Specified folder
folder * for G code macro * for G code macro
program> (*:1 to 3) program> (*:1 to 3)
Same folder as the main program <1: Current folder> Grayed out and disabled.
(NOTE) This folder is the root folder
when using MDI operation or
tape operation.
Specified folder <0: Specified folder> Folder name
Root directory or root folder <0: Specified folder> Blank field
When a program is called, a search is conducted starting from <Selected folder 1 for G code macro
program> - <Specified folder 1 for G code macro program> and continues up to the <Selected
folder 3 for G code macro program> - <Specified folder 3 for G code macro program>. The first
program that is found in the search is called.
2023/11/21 6 - 29 eCOM4NCPR6
Chapter 6 Macro
When an M98, G65 or G66 command is issued inside the macro program that is called using a G
code, the program is called from a folder that is specified in “8.3 Simple call function”. In
addition, a macro call using G code cannot be used inside a program that is called. The system G
code operation is carried out.
(NOTE 1) The program restrictions or the conditions that trigger an alarm, and the modal
display or the conditions that cancel a modal are processed in the same way as a
simple call (G65P****) or a modal call (G66P****) depending on the <Call
method>.
(NOTE 2) If the G code number used in a macro call overlaps with a G code number that is
used in the system, the macro call operation takes precedence.
(NOTE 3) A macro call using G code cannot be used inside a macro program that is called
using G code. The system G code operation is carried out.
(NOTE 4) When a macro call using M code is carried out inside a macro program that is called
using G code, the system M code operatin is carried out when the <Macro program
call control type> is set to type 1. The macro program is called when it is set to type
2.
(NOTE 5) More than 2 G/M code macro commands cannot be used on the same block.If used,
the subsequent command is processed as an argument, or the alarm <<Macro
program call address error>> is triggered.
(NOTE 6) After a G code based macro is called when the <Call type> is set to <1: Type 2>, the
G code based macro call cannot be used until the modal call is canceled (G67
command is executed).
(NOTE 7) When there is a G66 command inside the macro program that is called using a G
code, if a travel axis command is issued after the macro program call is registered,
6 the program is called from a folder that is specified in “8.3 Simple call function”.
M99;
M30;
2023/11/21 6 - 30 eCOM4NCPR6
Chapter 6 Macro
In order to use M code macro calling, preset the following parameters noted in <G/M code macro>
in the data bank.
<G/M code macro (Common parameter)>
• <Selected folder 1 for M code macro program>
• <Specified folder 1 for M code macro program>
• <Selected folder 2 for M code macro program>
• <Specified folder 2 for M code macro program>
• <Selected folder 3 for M code macro program>
• <Specified folder 3 for M code macro program>
• <Macro program call control type>
There are 3 folders that can be specified for calling a macro program. The description below shows
how to specify a folder. The default setting is configured to the root folder (root directory). When
the current folder is selected, the folder is the same as the main program.
Macro program call folder Selection: <Selected folder * Setting: <Specified folder *
for M code macro program> for M code macro program>
(*:1 to 3) (*:1 to 3)
Same folder as the main <1: Current folder> Grayed out and disabled.
program
(NOTE) This folder is the
root folder when
using MDI operation
or tape operation.
6
Specified folder <0: Specified folder> Folder name
Root directory or root folder <0: Specified folder> Blank field
When a program is called, a search is conducted starting from <Selected folder 1 for M code
macro program> - <Specified folder 1 for M code macro program> and continues up to the
<Selected folder 3 for M code macro program> - <Specified folder 3 for M code macro program>.
The first program that is found in the search is called.
When an M98, G65 or G66 command is issued inside the macro program that is called using a M
code, the program is called from a folder that is specified in “8.3 Simple call function”. In
addition, a macro call using M code cannot be used inside a program that is called. The system M
code operation is carried out.
(NOTE 1) The program restrictions or an alarm, and the modal display or the conditions that
cancel a modal are processed the same way as a simple call (G65P****).
(NOTE 2) If the M code number used in a macro call overlaps with an M code number that is
used in the system, the macro call operation takes precedence.
(NOTE 3) A macro call using M code cannot be used inside a macro program that is called
using M code. The system M code operation is carried out.
(NOTE 4) When a macro call using G code is carried out inside a macro program that is called
using M code, the system G code operatin is carried out when the <Macro program
call control type> is set to type 1. The macro program is called when it is set to type
2.
(NOTE 5) More than 2 G/M code macro commands cannot be used on the same block.If used,
the subsequent command is processed as an argument, or the alarm <<Macro
program call address error>> is triggered.
(NOTE 6) When there is a G66 command inside the macro program that is called using a M
code, if a travel axis command is issued after the macro program call is registered,
the program is called from a folder that is specified in “8.3 Simple call function”.
2023/11/21 6 - 31 eCOM4NCPR6
Chapter 6 Macro
(NOTE 1) When the user parameter <Macro call method (Address L)> is set to <0: Method 1>,
the number of repeats is used to call the macro for the L address. When set to <1:
Method 2>, an argument is used to call the macro.
(NOTE 2) A sequence number is used to specify the N address at the header of the block, and
an argument is used to specify the address in all other places.
(NOTE 3) For the address P, when a Pnnnn (nnnn refers to the program number) command is
issued, the program number is assigned as #16. When <****> (**** refers to the
character string for a given file name) command is issued, #16 is defined as
unregistered. However, if a command is issued when the character string for a given
file name is a four-digit number that starts from “O” (such as <O0123>), then the
numerical value without the “O” is assigned as #16.
2023/11/21 6 - 32 eCOM4NCPR6
Chapter 6 Macro
Method 2
Number of repeats of I, J, and K and A, B, and C can be specified.
Address for specifying arguments Specified number of repeats Variables in macro
A 1 #1
B 1 #2
C 1 #3
I 1 #4
J 1 #5
K 1 #6
I 2 #7
J 2 #8
K 2 #9
I 3 #10
J 3 #11
K 3 #12
I 4 #13
J 4 #14
K 4 #15
I 5 #16
J 5 #17
K 5 #18
I 6 #19
J 6 #20
K 6 #21
I 7 #22
J 7 #23 6
K 7 #24
I 8 #25
J 8 #26
K 8 #27
I 9 #28
J 9 #29
K 9 #30
I 10 #31
J 10 #32
K 10 #33
2023/11/21 6 - 33 eCOM4NCPR6
Chapter 6 Macro
(NOTE 1) Variables are saved in the arguments in the specified order. A maximum of five
arguments can be used. If that maximum is exceeded, an alarm is triggered.
However, when specifying multiple G codes in the same G code group, any G code
value that is specified subsequently is overwritten and the number of arguments is
processed as one.
Ex: M06 is registered as an M code macro call
M06 G00 G04 G01
(1) #28 ← 0.0 (G00)
(2) #29 ← 4.0 (G04)
(3) #28 ← 1.0 (G01: G00 is already used in the same group and is overwritten
as G01)
(NOTE 2) When the user parameter <Macro call method (Address L)> is set to <0: Method 1>,
the number of repeats is used to call the macro for the L address. When set to <1:
Method 2>, an argument is used to call the macro.
(NOTE 3) The address M in the M code used for calling is stored for #27. The last M address
(apart from the M code used for calling) is stored for #13.
Ex: M07 is registered as an M code macro call
M06 M07
(1) #27 ← 7.0 (M07)
(2) #13 ← 6.0 (M06 is used as an M code macro argument)
In addition, when the user parameter <Multiple M codes in one block> is set to <0:
No>, there is one M address that can be specified for an M code that is not used for
calling. When the user parameter <Multiple M codes in one block> is set to <1:
Yes>, there are three M addresses that can be specified for an M code that is not
used for calling. If the number of specified M addresses is exceeded, the alarm <<M
code macro call address error>> is triggered.
(NOTE 4) A sequence number is used to specify the N address at the header of the block, and
an argument is used to specify the address in all other places.
2023/11/21 6 - 34 eCOM4NCPR6
Chapter 6 Macro
(NOTE 5) When an integer is noted for the argument value, the value that is actually registered
and stored as an argument is affected by the setting of the user parameter <Program
unit>.
Method 2:
The same content as method 2 in “6.5.5.1 Argument for simple/modal call function” applies.
Ex: G65 D1.0 E2.0 I3.0 J4.0 K5.0 I6.0 J7.0 K8.0 F9.0
(1) #7 ← 1.0
(2) #8 ← 2.0
(3) #4 ← 3.0
(4) #5 ← 4.0
(5) #6 ← 5.0
(6) #7 ← 6.0 (Numerical value specified in D is invalid)
(7) #8 ← 7.0 (Numerical value specified in E is invalid)
(8) #9 ← 8.0
(9) #9 ← 9.0 (Numerical value specified the second time in K is invalid)
2023/11/21 6 - 35 eCOM4NCPR6
Chapter 6 Macro
6 Local variables Local variables Local variables Local variables Local variables
for level 0 for level 1 for level 2 for level 3 for level 4
#1 #1 #1 #1 #1
• • • • •
• • • • •
#4 #4 3.0 #4 5.0 #4 7.0 #4 9.0
#5 #5 4.0 #5 6.0 #5 8.0 #5 10.0
• • • • •
• • • • •
#9 #9 #9 #9 #9
#11 #11 #11 #11 #11
#13 #13 #13 #13 #13
#17 #17 #17 #17 #17
• • • • •
• • • • •
#33 #33 #33 #33 #33
2023/11/21 6 - 36 eCOM4NCPR6
Chapter 6 Macro
6.6.1 POPEN
This command links with an external connection. Specify this command prior to respective
commands of BPRNT, DPRNT, and PCLOS.
6
Command format POPEN;
(NOTE 1) If POPEN is specified when the POPEN state has already been established, it is
ignored.
(NOTE 2) When connecting to a <Memory card>, be sure to keep the memory card inserted
without removing it until the PCLOS command or the program is finished.
2023/11/21 6 - 37 eCOM4NCPR6
Chapter 6 Macro
6.6.2 BPRNT
This command executes an output of characters and a binary output of macro variable values.
(NOTE 1) The alarm <<POPEN is unable.>> occurs if BPRNT is commanded without first
commanding POPEN.
(NOTE 2) Add the “end of block” code at the end of output data.
1. Output of characters
The following characters are output as they are.
Alphabets “A” to “Z”
Numbers “0” to “9”
Symbols “(” “)” “=” “/” “.” “+” “,” “-” “?” “:”
(NOTE 1) When connecting to a <General COMM device>, the output character code
6 follows the <Communication parameter> <Send data code> setting. The output
character code does not output “?” when using EIA format.
(NOTE 2) The alarm <<Macro Command Error>> occurs if “#”, “[” and “]” are output
(used other than in the output format of macro variables).
(NOTE 3) Motion is not guaranteed when using characters that cannot be output.
(NOTE 1) When a macro variable value is a negative value, it is output in the expression of
two’s complement.
(NOTE 2) If the number of digits after decimal point of the data to be output is larger than
the significant digits, the output data is rounded off.
(NOTE 3) The alarm <<Too many external output command digit.>> occurs when the
macro variable value exceeds the range of -2147483648 to 2147483647 as a
result of forms processing.
BPRNT example:
44 41 D4 41 A0 D8 A0 00 00 30 3A 59 A0 FF FF CF C6 5A A0 00 00 00 00 8D 0A
DATA SP X SP 12346 Y SP -12346 Z SP 0 CR,LF
2023/11/21 6 - 38 eCOM4NCPR6
Chapter 6 Macro
6.6.3 DPRNT
This command executes an output of characters and a character string output of macro variable
values.
(NOTE 1) The alarm <<POPEN is unable.>> occurs if DPRNT is commanded without first
commanding POPEN.
(NOTE 2) Add the “end of block” code at the end of output data.
1. Output of characters
Same as the BPRNT command. Refer to “1. Output of characters”, “6.6.2 BPRNT”.
2. Output of macro variables
Of a macro variable value, specify necessary number of digits before and after decimal point
respectively in square brackets. By this command, a macro variable value is output with the
character codes including decimal point by the amount of number of digits specified, every
digit starting from the high-order digit.
A space code is output for the high-order zero and a positive sign if the <leading zero suppression
(DPRNT)> of the <Communication parameter> is set to <0: Type 1>. Nothing is output if <1:
6
Type 2>.
When the number of digits after decimal point is other than 0, the decimal point and a value after
decimal point are always output. If the number of digits after decimal point is 0, the decimal point
is not output.
(NOTE 1) If the number of significant digits specified is 1, the number of significant digits
before decimal point is treated as 0.
(NOTE 2) A numerical value exceeding the number of significant digits is not output. If the
number of digits after decimal point of the data to be output is larger than the
significant digits, the output data is rounded off.
(NOTE 3) When the data is 0 as a result of rounding off, a sign depends on a numeric value
before it was rounded off.
DPRNT example:
(1) <Leading zero suppression (DPRNT)> of <Communication parameter> is set to <0: Type 1>
D8 A0 2D A0 B1 B2 33 2E B4 35 36 30 59 A0 A0 B2 33 2E B4 36 5A A0 A0 A0 30 A0 2D 2E B4 36 8D 0A
X SP -SP123.4560 Y SP SP23.46 Z SP SPSP0 SP -.46 CR,LF
(2) <Leading zero suppression (DPRNT)> of <Communication parameter> is set to <1: Type 2>
D8 A0 2D B1 B2 33 2E B4 35 36 30 59 A0 B2 33 2E B4 36 5A A0 30 A0 2D 2E B4 36 8D 0A
X SP -123.4560 Y SP 23.46 Z SP 0 SP -.46 CR,LF
2023/11/21 6 - 39 eCOM4NCPR6
Chapter 6 Macro
6.6.4 PCLOS
This command cancels the link with the external connection. Specify this command after
respective commands of POPEN, BPRNT, and DPRNT.
When PCLOS is specified, if the data output by the BPRNT or DPRNT command is underway, the
PCLOS processing is executed after the data output is completed.
(NOTE) If PCLOS is specified when the PCLOS state has already been established
(including the state in which POPEN is not executed), it is ignored.
6 The external output file saves the output data from POPEN to PCLOS inside the program, or until
the program finishes. The method for saving output data varies depending on the setting in the
communication parameter <External output - File format>.
When the communication parameter <External output - File format> is set to <0: Method 1>:
A new output data file is created when an external output file with the same date does not exist
in the memory card. When an external output file with the same date exists, it is added to the
file with the largest sequence number. (NOTE 1)
When the file size exceeds 20 MB for POPEN, a file with the next available sequence number
is created and saved.
A maximum of 100 external output files with the same date can be saved.
Refer to the following output folder and file name for this setting.
Output folder : Root folder
Output file name : yyyymmdd_**.log
yyyy: year mm: month dd: day
**: sequence number (00~99)
However, if a “yyyymmdd_99.log” file already exists when creating a file, the alarm
<<External output file cannot be created.>> is triggered and the file cannot be saved.
Even if there is an available number in the middle of the sequence, it is skipped over and the
next biggest number is used.
As a result, even when the maximum (100) is not exceeded, the same alarm is triggered and
the file cannot be saved.
If there is not enough space available on the memory card and the file cannot be saved, the
alarm <<Memory overflow (Memory card)>> is triggered.
2023/11/21 6 - 40 eCOM4NCPR6
Chapter 6 Macro
When the communication parameter <External output - File format> is set to <1: Method 2>:
A new file is created for the output data each time POPEN is used.
A maximum of 10,000 external output files with the same date can be saved.
Refer to the following output file name for this setting.
Output folder : Root folder
Output file name : yyyymmdd_****.log
yyyy: year mm: month dd: day
****: sequence number (0000~9999)
However, if a “yyyymmdd_9999.log” file already exists when creating a file, the alarm
<<External output file cannot be created.>> is triggered and the file cannot be saved.
Even if there is an available number in the middle of the sequence, it is skipped over and the
next biggest number is used.
As a result, even when the maximum (10,000) is not exceeded, the same alarm is triggered and
the file cannot be saved.
If there is not enough space available on the memory card and the file cannot be saved, the
alarm <<Memory overflow (Memory card)>> is triggered.
The data that is output to the external output file can be opened using software that supports the
following file formats.
Data output using BPRNT command: Binary format
Data output using DPRNT command: Text format
When there are a lot of files inside the output folder, it may take some time to process them.
Organize the files output to the memory card as necessary.
(NOTE 1) The output data is added even if the external output file attributes that exist in the
memory card are changed to reading only.
6
(NOTE 2) The number of files or maximum file size may be different from the above
information since those limits depend on the file format of the memory card.
The external output file uses the APPE command to save the output data from POPEN to PCLOS
inside the program, or until the program finishes.
(NOTE 1) A server that supports the APPE command needs to be specified for the server used
for saving. When the communication parameter <External output - File format> is
set to <0: Method 1> on a server that does not support APPE commands, even if a
new file is created successfully the first time, thereafter it cannot be created from the
second time onward. When using an FTP(S) server for the first time, set the
communication parameter <External output - File format> to <0: Method 1> first,
and then execute and check the operation at least two times to make sure it is
working properly.
(NOTE 2) This machine cannot be specified as a server for saving.
2023/11/21 6 - 41 eCOM4NCPR6
Chapter 6 Macro
When the communication parameter <External output - File format> is set to <0: Method 1>:
A new output data file is created when an external output file with the same date does not exist
in the <Output folder>. When an external output file with the same date exists, it is added to
the file with the largest sequence number.
When the file size exceeds 20 MB for POPEN, a file with the next available sequence number
is created and saved.
When the communication parameter <External output - File format> is set to <1: Method 2>:
A new file is created for the output data each time POPEN is used.
A maximum of 10000 external output files with the same date can be saved.
However, if an “SSSSSyyyymmdd_9999.log” file already exists when creating a file, the alarm
<<External output file cannot be created.>> is triggered and the file cannot be saved.
Even if there is an available number in the middle of the sequence, it is skipped over and the next
biggest number is used. As a result, even when the maximum (10000) is not exceeded, the same
alarm is triggered and the file cannot be saved.
(NOTE) When there is a file on the server that has the same name as an external output file
but the file names differ only in letter case, then the file may not output correctly
due to the server configuration.
The data that is output to the external output file can be opened using software that supports the
following file formats.
Data output using BPRNT command: Binary format
Data output using DPRNT command: Text format
6 When there are a lot of files inside the output folder, it may take some time to process them.
In addition, it may take some time for a reply depending on the server and network configuration.
Therefore, we recommend using a high speed server and network when possible. In particular,
when the FTP(S) server name is not specified in the IP address, the server name will take a few
seconds to set during POPEN. If the name fails to set in the processing, it will automatically make
another attempt, which may take more than 10 seconds to complete.
(NOTE) Do not change the external output file attributes that exist in the FTP server to
reading only. Otherwise, operation stops.
BPRNT[#[#100][1]];
DPRNT[#100[#1]];
2023/11/21 6 - 42 eCOM4NCPR6
Chapter 6 Macro
8. If the following operations are performed before the PCLOS command is executed, the
communication is blocked without carrying out the PCLOS processing when connected to a
<General COMM device>. When connected to an <FTP(S) server> and a PCLOS command is
processed, the connection to the FTP(S) server is severed.
When connecting to a <General COMM device>
• [RST] key is pressed
• Operation is reset (except operation reset by M30)
2023/11/21 6 - 43 eCOM4NCPR6
Chapter 6 Macro
(O0001) (O1000)
Interrupt signal
M96 P1000; → ignored
Interrupt signal
Without P
Interrupt signal is
command
accepted in this period
M99(P0200);
M97;
With P
Interrupt signal is not command
accepted hereafter
Interrupt signal
N0200;
→ ignored
M30;
2023/11/21 6 - 44 eCOM4NCPR6
Chapter 6 Macro
(NOTE 1) The alarm <<Simultaneous specified code cannot be used.>> is triggered when
another G or M code command is issued on an M96 and M97 command block. In
addition, the axis does not travel even if an X-, Y-, Z-, A-, B- or C-axis command is
issued.
(NOTE 2) If there is no command with an interrupt program number or interrupt program name
on the M96 command block, the alarm <<Interrupt program number error>> is
triggered. If a program number that does not exist is specified, the alarm <<No
interrupt program>> is triggered.
(NOTE 3) When an interrupt signal is detected during execution of a subprogram, the interrupt
program is called.
Interrupt
(O0001) (O2000) signal (O1000)
M96 P1000;
M98 P2000;
(NOTE 4) The alarm <<Interrupted program call error>> occurs at the time of calling an
interrupt program when an interrupt signal is detected during execution by
G65/G66/M98 of subprogram specified as interrupt program.
Interrupt
(O0001) (O1000) signal
Alarm <<Interrupted program 6
M96 P1000; call error>> occurs
M98 P1000;
M30; M99;
(NOTE 5) The alarm <<Interrupted program call error>> occurs at the time of calling an
interrupt program when an interrupt signal is detected during execution of a
subprogram which parent program is the subprogram specified in the interrupt
program.
(O0001) (O1000) (O1001) Interrupt signal
Alarm <<Interrupted
M96 P1000; program call
M98 P1001; error>> occurs
M98 P1000;
(NOTE 6) The alarm <<Subprogram call error>> occurs when calling the parent program from
an interrupt program which has been called during execution of a subprogram.
Interrupt
signal
(O0001) (O1001) (O1000) Alarm
<<Subprogram call
M96 P1000; error>> occurs
M98 P1001;
M98 P1001;
2023/11/21 6 - 45 eCOM4NCPR6
Chapter 6 Macro
(NOTE 7) When the total program size that is loaded (including size of interrupt programs)
exceeds the set size at 32MB, it operates in the extended memory operation mode. In
this mode, the operation may stop for a time period equivalent to the time required
for loading if the size of the interrupt program is large.
(NOTE 8) You may specify the interrupt program number using macro variables. Refer to “8.3
Simple Call Function”.
(NOTE 9) When a command is issued for P_ and <****> simultaneously, the data is
overwritten after the command.
When NC statements are included in the interrupt program or subprogram / macro program
called from the interrupt program, the commands included in the interrupted block are lost,
and the source program re-starts from the block next to the affected block on returning to the
source program.
6
Ordinary program
This portion not executed
Interrupt program
NC statement exists
In the absence of NC statements, the commands in the suspended block continue on returning
to the source program.
Ordinary program
Remainder executed
Refer to “6.7.6 Macro Statement and NC Statement” for the detailed description of NC
statement.
Macro statements up to the first NC statement in the interrupt program or subprogram / macro
program called from the interrupt program are processed in parallel with the currently
executed block.
Timing of start of processing of macro statements may differ depending on the contents of the
currently executed block.
2023/11/21 6 - 46 eCOM4NCPR6
Chapter 6 Macro
Interrupt sig. ON
N2 Ex.: G1X-100.;
Ordinary program
Interrupt program
Execute macro Execute NC statement
statement only
6
Ordinary program
Multiple operation commands are listed below. All other commands are single operation
commands.
• Reference point return (G28/G29/G30)
• Canned cycle (G73 to G89, G177 to G189, G277/G278)
• Tool replacement canned cycle (G100/M06)
• Coordinate calculation function (G36 to G39)
• Brake load test
For both types of interruption, blocks after the first NC statement are executed after completion of
the currently executed block.
Refer to “6.7.6 Macro Statement and NC Statement” for the detailed description of NC and macro
statements.
2023/11/21 6 - 47 eCOM4NCPR6
Chapter 6 Macro
In either type of call, the call does not increase multiplicity of subprogram / macro call.
Subprogram / macro call conducted in an interrupt program increases respective multiplicity.
Interrupt signal
ON
OFF
2023/11/21 6 - 48 eCOM4NCPR6
Chapter 6 Macro
M99;
6
With P
command
N0200;
Modal as modified in
interrupt program is valid
M99 P0200;
2023/11/21 6 - 49 eCOM4NCPR6
Chapter 6 Macro
Interrupt occurs B0
Tool center path B1
A0
Program path
Refer to the “6.7.6 Macro Statement and NC Statement” for the detailed description of NC
statement.
* Only when the user parameter (switch 1: programming) <Macro command single stop> is set
to <0:No>.
Blocks that do not conduct Single Block Stop in single operation may be said macro statement and
those that do conduct Single Block Stop NC statement.
2023/11/21 6 - 50 eCOM4NCPR6
Chapter 6 Macro
6.7.7 Restrictions
1. The alarm <<Specified G code cannot be used>> occurs when interrupting in the
programmable mirror image (G51.1), rotational transformation (G68), or scaling (G51) mode
and commanding the same programmable mirror image (G51.1), rotational transformation
(G68), or scaling (G51) again in the interrupt program.
2. When <Interrupt macro interrupt type> is set to type 2 and macro program modal call (G66)
and interrupt type macro (M96) are modals, if an interrupt signal is detected during a travel
axis command, the interrupt type macro (M96) is given priority and called. The registered
macro program will not be called in the modal call (G66).
3. Macro modal call (G66) is canceled on calling an interrupt program. G66 must be commanded
in the interrupt program if you wish to perform macro modal call in the interrupt program.
4. The interrupt program is executed after finishing search when an interrupt signal is detected
during search of sequence number of GOTO instruction, END instruction of WHILE – END,
and sequence number of M98Hxxxx and M99Pxxxx.
5. Interrupt signals, which are detected during search of the block specified by program restart
(Sequence Search), are ignored.
6. Interrupt signals, which are detected during search of the block specified by program restart
(Restart) and during return operation, are ignored.
7. When an interrupt signal is detected during a dwell, the interrupt program is executed after the
dwell.
8. When an interrupt signal is detected while waiting for ON/OFF of BCD signal output and M
signals of M460, etc., the interrupt program is executed after detecting ON/OFF of the waiting
signal.
9. The alarm <<High accuracy A (or B) invalid command>> occurs when commanding M96 in
the high accuracy mode. The alarm <<High accuracy A (or B) invalid modal>> occurs when
commanding a high accuracy mode (M260 / M261 / M262 / M265) in the M96 modal. 6
10. When an NC statement is included in the interrupt program or subprogram / macro program
called from an interrupt program, the M99 command block for returning from the interrupt
program to the original program will perform single block stop in the case of single operation.
11. When the door opens for safety reasons, the interrupt type macro function does not enable.
Refer to “Door Interlock Function” in the Operation Manual Ⅰ for further details on the door
open definition.
12. The following operations do not apply: mirror image, scaling, rotational transformation, cutter
compensation and nose R compensation, when performing axis travel for an interrupt
program, and within a sub program / macro program that is called from an interrupt program.
13. It returns to the original path from the second travel operation after the return operation when
an interrupt occurs during a cutter compensation operation and nose R compensation operation
and when there is an NC statement in the interrupt program, and within a sub program / macro
program that is called from an interrupt program.
(NOTE) During cutter compensation when an interference check is being carried out for
nose R compensation, the interference check starts again at the place where it
returns to the original path.
14. When the item <Interrupt type macro interrupt system> is set to <0: Type 1> (interrupts by
cancelling execution), if travel for tool length offset and for tool position compensation is lost
due to the interruption, compensation will not be executed until the next Z-axis travel
operation, and until the next X-, Y- and Z-axes travel operation.
15. The mode cannot be changed during the time from when an interrupt signal is detected until
the interrupt program is ended by executing M99. Otherwise, the alarm <<Interrupt type
macro execution is being prepared.>> is displayed.
16. The mode cannot be changed during the time from when the interrupt program execution is
completed until the processing is returned to the original program. Otherwise, the alarm
<<Interrupt type macro post-process being executed.>> is displayed.
17. When restoring from an interrupt program during tap operation (general communications
device), the sequence number cannot be specified. If it is specified, the alarm <<Interrupted
program return error>> is triggered.
18. If an interrupt occurs during incremental mode (G91) and an NC sentence exists in the
interrupt program or a sub-program or macro program which is called from the interrupt
program, the first movement command given after the reset will be treated as an incremental
command from the coordinates where the reset occurred.
2023/11/21 6 - 51 eCOM4NCPR6
Chapter 6 Macro
19. When the command M96 is issued inside the following sub program or macro program, the
alarm <<Interrupt type macro command not possible>> is triggered.
• Macro program that is called using G code (or M code).
• Sub program / macro program that is called using the command M98, M198, G65 or G66
from a macro program that is called using G code (or M code).
20. When an interrupt signal (UINT) is detected inside the macro program that is called using G
code (or M code), it interrupts and executed the program that is specified in the M96
command.
21. The alarm <<Feature coordinate manufacturing mode engaged>> is triggered when an M96
command is issued while in feature coordinate manufacturing mode. In addition, the alarm
<<Feature coordinate command error>> is triggered when a feature coordinate setting
command (G68.2) is issued during M96 modal.
22. If an interrupt signal (UNIT) is detected during the Z-axis perimeter operation, then the
interrupt program is not executed until after the operation is completed, regardless of the user
parameter (switch 1: programming) <Interrupt macro interrupt type> setting. The Z-axis
perimeter operation begins at the start of the Z-axis up rapid feed and lasts until the X-/Y- axis
rapid feed is complete. Refer to “Chapter 12 M function” for further details on the Z-axis
perimeter operation.
23. When an M96 command is issued during TCP control, the alarm <<TCP under control>> is
triggered. In addition, when the TCP control (G43.4/G43.5) command is issued during M96
modal, the alarm <<TCP control command not possible>> is triggered.
(NOTE) The folders above are referenced as well when an interrupt signal (UINT) is detected
inside the macro program that is called using G code (or M code).
2023/11/21 6 - 52 eCOM4NCPR6
Chapter 7 Automatic Workpiece Measurement
CHAPTER 7
AUTOMATIC WORKPIECE
MEASUREMENT
2023/11/14 7- 1 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Z
+Y
+X
+Z
+Y
+X
7
3. G122…X and Y coordinates for center of parallel groove
+Z
+Y
+X
+Z
+Y
+X
2023/11/14 7- 2 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Z
+Y
+X
+Z
+Y
+X
+Z 7
+Y
+X
2023/11/14 7- 3 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
(NOTE 1) The commands G121 to G129 cannot be issued when using the lathe spindle in the
following situations. After switching modals, issue the command.
• M142 modal in progress
• G143/G144 modal in progress
(NOTE 2) The commands G121 to G129 cannot be issued while in feature coordinate
manufacturing mode (G68.2 modal in progress).
(NOTE 3) The G121 to G129 commands are not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse
time feed>> is triggered.
(NOTE 4) A command between G121 and G129 cannot be issued while under TCP control
(G43.4/G43.5). Otherwise, the alarm <<TCP under control>> is triggered.
2023/11/14 7- 4 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
7
Automatic workpiece
measurement compensation
Setting range -9.999 to 9.999 mm
-0.9999 to 0.9999 inch
(When using Type 1 for the minimum unit setting)
<Automatic workpiece Set the difference between the center of the circle, calculated by 3-point
measurement measurement (G124 and G125), and the center of the actual circle. The X value of
compensation X (3-point the difference corresponds to the <Automatic workpiece measurement
circle)> compensation X (3-point circle)> and the Y value of the difference corresponds to
<Automatic workpiece the <Automatic workpiece measurement compensation Y (3-point circle)>.
measurement We recommend performing the automatic setting on the automatic centering -
compensation Y (3-point <Automatic workpiece measurement compensation (3-point circle)> screen in
circle)> MDI mode.
Setting range -9.999 to 9.999 mm
-0.9999 to 0.9999 inch
(When using Type 1 for the minimum unit setting)
2023/11/14 7- 5 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Item Description
<Automatic workpiece Set the difference between the spindle end when the detection signal turns ON and
measurement the spindle end when the stylus tip ball touches the workpiece, with the touch
compensation Z probe attached to the spindle. We recommend performing the automatic setting on
(workpiece top surface)> the automatic centering - <Automatic workpiece measurement compensation
(workpiece top surface)> screen in MDI mode.
When ball tip of stylus When detection
touches workpiece signal turns ON
2023/11/14 7- 6 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Item Description
<Automatic workpiece <0: Type 1>
measurement motion> 1. Detection signal OFF check
<0: Type 1> 2. Travels at automatic workpiece measurement speed 1 in specified axis
<1: Type 2> direction
3. Axis travel stops when detection signal turns ON
4. Returns to front traveling the return distance
5. Travels at automatic workpiece measurement speed 2 in specified axis
direction
6. Axis travel stops when detection signal turns ON
7. Returns to position in Step 4
8. Detection signal OFF check
2
4
5
7 Return stroke after
automatic workpiece
measurement
4
Return stroke after
automatic workpiece
measurement
Stop point before automatic
workpiece measurement
2023/11/14 7- 7 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Item Description
<Automatic workpiece Set the first measurement speed for the automatic workpiece measurement motion
measurement speed 1> (Type 1). When this value is increased, the time it takes to measure can be reduced
because the axis travel speed increases. However, if the value is increased too
much, the probe can become damaged. Therefore, be careful when setting this
value.
The appropriate value for <Automatic workpiece measurement speed 1> can be
calculated by using the following procedure.
(1) Set the tolerance value L (mm) for the overtravel amount of the probe
(2) Check the delay time tp (msec) for the probe’s touch signal detection
(3) Calculate the value t (msec) that includes the machine parameter (system 1:
X-, Y- and Z-axes) <Skip feed time const. 1/3>
(4) Use the equation below to calculate F_1, and set the <Automatic workpiece
measurement speed 1> so it is below that value
7 (NOTE 1) The probe overtravel amount or the detection delay time varies
according to the device being used. After confirming which probe is
being used, by checking the manual or by contacting the probe
manufacturer, then decide on the value.
(NOTE 2) This setting is also used for the measurement in the automatic
centering - <Automatic workpiece measurement compensation
(corner)>, <Automatic workpiece measurement compensation (3-
point circle)> and <Automatic workpiece measurement
compensation (workpiece top surface)> in MDI mode.
(NOTE 1) The probe’s repeatability varies according to the device being used.
After confirming which probe is being used, by checking the manual
or by contacting the probe manufacturer, then decide on the value.
(NOTE 2) This setting is also used for the measurement in the automatic
centering - <Automatic workpiece measurement compensation
(corner)>, <Automatic workpiece measurement compensation (3-
point circle)> and <Automatic workpiece measurement
compensation (workpiece top surface)> in MDI mode.
2023/11/14 7- 8 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Item Description
<Stop point before Set the distance between the end of the probe at the measurement start point and
automatic workpiece the predicted value on the workpiece surface.
measurement> The alarm <<Detection signal off>> is triggered if it travels from this point and
skips over the <Stop point before automatic workpiece measurement> + <Travel
limit distance in automatic workpiece measurement>.
Setting range 0.000 to 99.999 mm
0.0000 to 9.9999 inch
(When using Type 1 for the minimum unit setting)
<Travel limit distance in Set the overtravel when the measurement skip operation exceeds the predicted
automatic workpiece value (programmed value).
measurement>
Setting range 0.000 to 99.999 mm
0.0000 to 9.9999 inch
(When using Type 1 for the minimum unit setting)
<Tolerance 1 for automatic The alarm <<Large error in measured value (1)>> is triggered if the difference
workpiece measurement> between the measurement result and the predicted value (programmed value)
exceeds this setting. When 0 is set, the error checking is not performed.
7
Setting range 0.000 to 99.999 mm
0.0000 to 9.9999 inch
(When using Type 1 for the minimum unit setting)
<Tolerance 2 for automatic The alarm <<Large error in measured value (2)>> is triggered if the difference
workpiece measurement> between the current measurement result and the previous measurement result
exceeds this setting. When the following situation applies, the error checking is
not performed.
• When 0 is set
• When there is no measurement result for previous measurement
• When the G code for this command is different from the previous command
2023/11/14 7- 9 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Item Description
<Return stroke after Set the return distance from the position where the measurement probe makes
automatic workpiece contact with the workpiece.
measurement>
However, if this value is decreased too much, the probe and workpiece may come
into contact while the speed is not at a constant value, causing inappropriate
measurement results.
We recommend following the procedure below to set the calculated value.
(1) Calculate the value t (msec) that includes the machine parameter (system 1:
X-, Y- and Z-axes) <Skip feed time const. 1/3>
(2) Confirm the value F2 (mm/min) for the <Automatic workpiece measurement
speed 2>
(3) Calculate the values for (a) and (b) below, and set the <Return stroke after
automatic workpiece measurement> so it is greater than the bigger of the two
values
(a) 1.0
(b) F2×t/60000
(NOTICE) The set values, such as the measurement speed and return distance after
measurement, vary depending on the probe being used. Therefore, contact the probe
manufacturer when deciding on the set values.
2023/11/14 7 - 10 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
The travel speed follows G00/G01 modals when the automatic workpiece measurement is being
performed, when traveling to the measurement start point and when returning from the
measurement point.
G00: Rapid feedrate
G01: F command value
G02/G03/G102/G103/G202/G203: The alarm <<Arc mode>> is triggered.
G02.2/G03.2: The alarm <<Invalid command for involute interpolation modal>> is triggered.
Make sure that no swarf or chips are stuck to the end of the measurement probe or on the
measurement surface. In addition, make sure that there is no disturbance (caused by vibrations
from outside of the machine) that adversely affects the machine. We cannot guarantee the
measurement accuracy when there is swarf or other factors that can cause inaccuracy.
The mode cannot be changed during the automatic workpiece measurement. Attempting to change
the mode will trigger the alarm <<During measurement>>.
To avoid damaging the probe as well, press the [SINGL] key for the first measurement in the
automatic workpiece measurement operation, and check each motion using the single operation.
Perform the automatic workpiece measurement while the tool length offset is engaged.
The tool length offset is cancelled even if the coordinate is set in the machining coordinates using
the G53 command.
2023/11/14 7 - 11 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
(X, Y)
+Z J
L
I
+Y
K
+X
(X, Y)
I
+Z J
K
+Y L
+X
2023/11/14 7 - 12 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Boss
(Motion)
1. Spindle orientation. Travels to the first measurement start position for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis.
3. First measurement (position J).
4. Measures at position L when there is an L command.
5. Travels to the return height position on the Z-axis.
6. Spindle orientation. Travels to the second measurement start position for the X- and Y-axes.
7. Travels to the measurement position on the Z-axis.
8. Measurement (position I).
9. Measures at position K when there is a K command.
10. Travels to the return height point on the Z-axis.
+Y 7
1st
+X
J
2nd
1st +X direction, spindle 0°
2nd +Y direction, spindle 0°
2023/11/14 7 - 13 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
2nd +Y
I
+X
1st
+Y
1st
+X
J
7 I
2 nd
2nd +Y
I
J +X
1st
2023/11/14 7 - 14 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Groove
(Motion)
1. Spindle orientation. Travels to the first measurement start position for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis.
3. First measurement (position J).
4. Measures at position L when there is an L command.
5. Spindle orientation. Travels to the second measurement start position for the X- and Y-axes.
6. Measurement (position I).
7. Measures at position K when there is a K command.
8. Travels to the return height point on the Z-axis.
+Y
1st
J +X
2nd
I
+Y 7
I
2nd +X
J
1st
1st +Y
2nd
J
+X
I
2023/11/14 7 - 15 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Y
I
J +X
2nd
1st
1st +X direction, spindle 0°
2nd +Y direction, spindle 0°
7.4.2 Parallel
Command format
Groove G122 X_ Y_ I_(J_) D_ Z_ R_ Q_;
Boss G123 X_ Y_ I_(J_) D_ Z_ R_ Q_;
+Z
+Y
7 +X
+Z
+Y
+X
2023/11/14 7 - 16 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Groove
(Motion)
1. Spindle orientation 0°. Travels to the first measurement start position for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis.
3. First measurement.
4. Spindle orientation 180°. Travels to the second measurement start position for the X- and Y-
axes.
5. Second measurement.
6. Travels to the return height position on the Z-axis.
+Y
+X
2nd 1st
+Y
7
J 1st
+X
2nd
2023/11/14 7 - 17 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Boss
(Motion)
1. Spindle orientation 180°. Travels to the first measurement start position for the X- and Y-axes.
2. Travels to the measurement position on the Z-axis.
3. First measurement.
4. Travels to the return height point on the Z-axis.
5. Spindle orientation 0°. Travels to the second measurement start position for the X- and Y-
axes.
6. Travels to the measurement position on the Z-axis.
7. Second measurement.
8. Travels to the return position on the Z-axis.
I
+Y
+X
2nd 1st
1st
+X
2nd
2023/11/14 7 - 18 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Z
+Y
I +X
+Z
I
+Y
+X
2023/11/14 7 - 19 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Y
1st
+X
3rd
2nd
1st +Y
+X
2nd 3rd
2023/11/14 7 - 20 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Y
3rd
+X
2nd
1st
4th
7
2023/11/14 7 - 21 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
3rd +Y
+X
7
2nd 1st
4th
2023/11/14 7 - 22 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Z
+Y
+X
(Motion)
1. Spindle orientation 0°. Travels to the measurement start position for the X- and Y-axes.
2. Travels to the measurement start point on the Z-axis.
3. Executes measurement. (Z-axis minus direction)
2023/11/14 7 - 23 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
+Z
c
+Y
+X
Measurement point a
G120 Xa Yb Zc
2023/11/14 7 - 24 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
7
When continuing to perform measurements, the measurement results that were previously carried
out are displayed.
2023/11/14 7 - 25 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
Pn : n = 1 G54
2 G55
3 G56
4 G57
5 G58
6 G59
Pn : n = 1 G54.1 P1
2 G54.1 P2
• •
• •
• •
300 G54.1 P300
X, Y and Z : Coordinates for measurement position
Q : Measurement result number (1 to 4)
Ex: When the measurement value for Measurement Result Number 2 is (X, Y) = (-120, -80) in
the machine coordinates, the following command is issued to change this position to (-40, -
40) with G55 using the absolute coordinates.
-40
-40
G55
-40
-80
-Y
(NOTICE) The measurement value is acquired by this function, and the true value varies
depending on the delay that is unique to the probe. Therefore, contact the probe
manufacturer and adjust it accordingly.
2023/11/14 7 - 26 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
7
+Z
+X/+Y
<0:Method 1>: Checks the detection signal within the time specified in the user
parameter (switch 1: programming) <Meas. instrument detect signal
check time(setting 1)>.
<1: Method 2>: Checks the detection signal once before axis travel starts.
Checks the detection signal within the time specified in the user parameter (switch 1:
programming) <Meas. instrument detect signal check time(setting 1)>.
2023/11/14 7 - 27 eCOM4NCPR7
Chapter 7 Automatic Workpiece Measurement
2023/11/14 7 - 28 eCOM4NCPR7
Chapter 8 Sub Program Function
CHAPTER 8
8.1 Overview
8.2 Create Sub Program
8.3 Simple Call Function
8.4 External Sub Program Call Function
8.5 Specify Return Number from Sub Program Function
8.6 Call Specifying Sequence No.
8
2023/11/14 8- 1 eCOM4NCPR8
Chapter 8 Sub Program Function
8.1 Overview
While programming, if there is a fixed sequence, or a repeated pattern in the program, a sub
program can be registered beforehand to execute this. These sub programs are called when needed,
which can simplify programming tremendously.
This sub program can be called from memory operation mode. It can also be called in the same
way when using extended memory operation. In addition, a sub program registered in an external
device (memory card) can be called. However, a sub program registered in an external device
(general communications device) cannot be called.
When using tape operation (with a memory card or general communications device), a sub
program registered in the internal memory can be called. However, a sub program registered in an
external device (with a memory card or general communications device) cannot be called.
In addition, when using tape operation and calling a sub program registered in the internal
memory, the communication with the external device stops temporarily while the sub program
from the internal memory that was called is executing.
Furthermore, a separate sub program can also be called from a sub program which was called. In
this situation, up to 8 sub programs can be called.
M99; M99;
A sub program can also be called repeatedly with one call command.
2023/11/14 8- 2 eCOM4NCPR8
Chapter 8 Sub Program Function
M99;
(NOTE 1) Always specify M99 at the last block of the sub program.
(NOTE 2) Another G or M code command cannot be issued on the M99 command block. The
alarm <<Simultaneous specified code cannot be used.>> is triggered when a G code
command is issued.
In addition, if a M code command is issued and the user parameter (switch 1:
programming) <Multiple M codes in one block> is set to <0: No>, the alarm
<<Same code cannot be used.>> is triggered. If the user parameter <Multiple M
codes in one block> is set to <1: Yes>, the alarm <<Multiple M codes cannot be
used.>> is triggered.
(NOTE 3) For extended memory, tape and MDI operation, the cutting feed operation before
and after M99 may not connect when it returns back to the call source in the M99 8
command.
When optional
block skip is OFF
/N0100 M99;
When programming as described above, the program continues to operate and repeat the content
from the beginning of the program until N0100 while the optional block skip is turned OFF. If the
optional block skip is turned ON, the program skips the N0100 block and proceeds to execute
from the next block.
2023/11/14 8- 3 eCOM4NCPR8
Chapter 8 Sub Program Function
There are 3 folders that can be specified for calling a sub program. The description below shows
how to specify a folder. In the default settings, the folder is the same as the main program.
Sub program call folder User parameter (switch User parameter (switch
1: programming) 1: programming)
Selection: <Sub Setting: <Sub program
program folder selection folder designation *>
*> (*:1 to 3) (*:1 to 3)
Same folder as the main program <1: Current folder> Grayed out and
(NOTE) This folder is the root folder disabled.
when using MDI operation or
tape operation.
Specified folder <0: Specified folder> Folder name
Root directory or root folder <0: Specified folder> Blank field
When a program is called, a search is conducted starting from <Sub program folder selection 1> -
<Sub program folder designation 1> and continues up to <Sub program folder selection 3> - <Sub
8 program folder designation 3>. The first program that is found in the search is called.
(NOTE 1) Another G or M code command cannot be issued on the M98 command block.
The alarm <<Simultaneous specified code cannot be used>> is triggered when a G
code command is issued.
In addition, if an M code command is issued and the user parameter (switch 1:
programming) <Multiple M codes in one block> is set to <0: No>, the alarm
<<Same code cannot be used>> is triggered. If the user parameter <Multiple M
codes in one block> is set to <1: Yes>, the alarm <<Multiple M codes cannot be
used>> is triggered.
(NOTE 2) Macro variables can be used in a subprogram number and G/M code macro to call.
However, when the total size of the program that is loaded does not exceed 32MB,
after an M30 (M02) command, all programs that can be called with the macro
variables, such as “M98P1” (1st program call) or “G200” and “M200” (G/M code
number registered in the G/M code macro) must be registered beforehand as
“M98P?” (? is the program number), “G?” or “M?” (? is the G code number
registered in the G/M code macro).
When a program that is not registered is called, the alarm <<No subprogram
(****)>> is triggered.
2023/11/14 8- 4 eCOM4NCPR8
Chapter 8 Sub Program Function
When the program load size is the size that is selected in the user parameter (switch
1) <Program load size>.
(NOTE 3) When the total program size that is loaded (including sub programs) exceeds 32MB,
it operates in the extended memory operation mode.
When a macro variable is used in the sub program number that is called, as
described in (NOTE 2), and when the total program size, including the sub programs
that are noted after M30, exceeds 32MB, the machine operates in the extended
memory operation mode.
(NOTE 4) When using extended memory operation and tape operation, the sub program is
loaded when it is called. Operation sometimes stops during that time period. (At this
time, the startup LED stays lit up.)
(NOTE 5) When using extended memory operation or tape operation, other sub programs that
are not executing can be edited during operation. However, the edited content does
not apply until that sub program is executed the next time.
In addition, the alarm <<Editing>> is triggered when an attempt is made to execute
that program while it is saved. 8
Furthermore, the alarm <<Communicating>> is triggered when an attempt is made
to execute that program while data communication is still in progress.
(NOTE 6) If M98 is executed while an external device program is being executed during tape
operation, etc., the communication with the external device up to that point will stop
temporarily until M99 is executed and operation resumes in the external device
program, or until the memory operation ends (M30 execution or [RST]). Note that
other communication means with the external device is not available during this
time period.
(NOTE 7) The axis does not travel even if an X-, Y-, Z-, A-, B- or C- axis command is issued
on the M98 command block.
(NOTE 8) When a sequence number (H address) and the number of repetitions (L address) are
specified during tape operation (general communications device), the alarm
<<Subprogram call error>> is triggered.
(NOTE 9) When a command is issued for P_ and <****> simultaneously, the data is
overwritten after the command.
2023/11/14 8- 5 eCOM4NCPR8
Chapter 8 Sub Program Function
(NOTE 1) Another G or M code command cannot be issued on the M198 command block. The
alarm <<Simultaneous specified code cannot be used>> is triggered when a G code
command is issued. In addition, if an M code command is issued and the user
parameter (switch 1: programming) <Multiple M codes in one block> is set to <0:
No>, the alarm <<Same code cannot be used>> is triggered. If the user parameter
<Multiple M codes in one block> is set to <1: Yes>, the alarm <<Multiple M codes
cannot be used>> is triggered.
(NOTE 2) If the specified external sub program does not exist, the alarm <<No subprogram>>
is triggered when the external sub program call is executed.
(NOTE 3) The axis does not travel even if an X-, Y-, Z-, A-, B- or C-axis command is issued
on the M198 command block.
(NOTE 4) Macro variables can be used in an external sub program number to call.
(NOTE 5) The external sub program is loaded when it is called. Operation sometimes stops
during that time period. (At this time, the startup LED stays lit up.)
(NOTE 6) If M98 is executed while an external device (memory card) program is being
executed with M198, the communication with the external device up to that point
will stop temporarily until M99 is executed and operation resumes in the external
device program, or until the memory operation ends (M30 execution or [RST]).
8 Note that other communication means with the external device is not available
during this time period.
(NOTE 7) Calling an external sub program from tape operation is not possible. The alarm
<<External sub program call not possible>> is triggered.
(NOTE 8) When the external I/O device connection is not set to memory card, calling an
external sub program is not possible. The alarm <<External sub program call not
possible>> is triggered.
(NOTE 9) Calling an external sub program from an external sub program is not possible. The
alarm <<External sub program call not possible>> is triggered.
(O0001) (O0002) (O0003)
M198P2 M198P3
(NOTE 10) Calling a sub program from an external sub program is possible, but after a sub
program is called by an external sub program, any sub program thereafter cannot
call an external sub program. Otherwise, the alarm <<External sub program call not
possible>> is triggered.
(O0001) (O0002) (O0003) (O0004)
2023/11/14 8- 6 eCOM4NCPR8
Chapter 8 Sub Program Function
P : Sequence No.
M98P_;
G01Z_;
N0001;
M99 P0001
(NOTE 1) The alarm <<Subprogram return error>> is triggered if the number of repetitions in
the M98 command is not 1.
(NOTE 2) The return number is ignored when carrying out tape operation (general
communications device).
N0001;
M99 P0001;
2023/11/14 8- 7 eCOM4NCPR8
Chapter 8 Sub Program Function
Special notes are provided below when programming and using an H address.
N10 N10
N30
M99 M99
N20 N20
M98P4 M98P4
M99P30 M99P30
(NOTE 1) When calling with M98H_, the structure becomes 1 layer (1 sub program) deep even
in the same program. (The level does not change in a sub program call with M98
using local variables for the macro.)
(NOTE 2) The alarm <<No applicable sequence>> is triggered if there is no sequence number
specified in the H address.
(NOTE 3) The search for the H address starts from the beginning of the program.
(NOTE 4) The alarm <<Subprogram number error>> is triggered when no command has been
issued for both the program number or program name command and the H address.
When carrying out tape operation (general communications device), program
number or program name command cannot be omitted because an H address
command is not possible.
(NOTE 5) The alarm <<Subprogram call error>> is triggered when the current program is
called. Specify only using the H address to call the current program.
(NOTE 6) The relationship between the main and sub programs for calling the current program
using M98H_ is established with the sequence number. As a result, the alarm
<<Subprogram call error>> is triggered if it jumps to N10 before M99 is executed
when using M98H10.
(NOTE 7) The macro variable command can be used in the P and H address. However, the
address is ignored when the macro variable field is “blank”. However, a macro
variable cannot be used when a program name command is issued such as <#100>.
(NOTE 8) The sequence number search for the H address is carried out when the M98
command is issued. Therefore, when the main and sub program are processed
together in one program, the cycle time may be delayed before they are processed as
one.
2023/11/14 8- 8 eCOM4NCPR8
Chapter 8 Sub Program Function
Ex 1:
(O0001)
M30
Ex 2:
M99 M99
M30 M30
Ex 3:
(O0001)
M99
Ex 4:
2023/11/14 8- 9 eCOM4NCPR8
Chapter 8 Sub Program Function
Ex 5:
(O0001) (O0001)
M30 M30
M99 M99
Ex 6:
M98P2H20 M98P2H20
M99 M99
Ex 7:
N30 N30
M99 M99
2023/11/14 8 - 10 eCOM4NCPR8
Chapter 8 Sub Program Function
Ex 8:
M99P20 M99P20
Ex 9:
(O0001) (O0002)
N40
M99
Ex 10:
(O0001) (O0001) (O0001)
8
M98H10 M98H10 M98H10
M98H30 M98H30 M98H30 When creating a program as
shown on the left, the “M98H10”
M30 M30 M30 block is executed twice. After it
N10 N10 N10 is executed for the first time, it
resets with M99. As a result, an
M99 M99 M99 error does not trigger on the
block when it executes the
N30 N30 N30 second time. This program
ends normally with M30.
M98H10 M98H10 M98H10
2023/11/14 8 - 11 eCOM4NCPR8
Chapter 8 Sub Program Function
2023/11/14 8 - 12 eCOM4NCPR8
Chapter 9 Feed Function
CHAPTER 9
FEED FUNCTION
2023/11/14 9- 1 eCOM4NCPR9
Chapter 9 Feed Function
(NOTE 1) The execution speed (actual travel speed on machine) of the feedrate per rotation is
calculated using the following formula.
Execution speed [mm (inch)/min] = Feedrate [mm (inch)/rev] × Spindle speed [min-1]
×(Spindle override [%] / 100) × (Cutting override [%] / 100)
(NOTE 2) If the spindle rotation is zero when the feedrate per rotation command is executed,
the alarm <<Feedrate error>> is triggered.
(NOTE 3) When a command is issued during TCP control (G43.4/G43.5), the alarm <<TCP
under control>> is triggered. In addition, when a TCP control command is issued
during feedrate per rotation, the alarm <<TCP control command not possible>> is
triggered.
9 After the inverse time feed (G93) command is issued, the inverse time feed is enabled before the
command for the feedrate per minute (G94) or the feedrate per rotation (G95) is issued.
In the above example, the feedrate for the NO2 block is as follows:
Feedrate (mm/min) = Radius of arc from start point (mm) × F(1/min)
=50×10
=500
2023/11/14 9- 2 eCOM4NCPR9
Chapter 9 Feed Function
(NOTE 1) In the inverse time feed, issue an F command each time on a block for the cutting
feed, in order to issue a machining time command for the segment.
When there is a block without an F command, the alarm <<Feedrate not specified>>
is triggered.
(NOTE 2) An inverse time feed (G93) command cannot be issued during the following modes.
When issuing a command, the alarm <<Specified G code cannot be used>> is
triggered.
• Thread cutting command (G33) in progress and thread cutting cycle (G392) in
progress
• Canned cycle (apart from G80) in progress
• Constant peripheral speed control (G96) in progress
• TCP control (G43.4/G43.5) in progress
2023/11/14 9- 3 eCOM4NCPR9
Chapter 9 Feed Function
When the feedrate calculated from the inverse time is less than the following limit values, the
alarm <<Command data range error>> is triggered.
When calculating the execution speed of the feedrate per rotation, if the value (Feedrate
[mm(inch)/rev] × Spindle speed [min-1]) before applying the override is less than the minimum
value of the executable range for the feedrate per minute, then the minimum value becomes the
feedrate.
Ex: When the minimum unit setting is Type 1 (micron) in meters and when the feedrate is 0.0001
mm/rev and the spindle speed is 99 min-1:
Value (mm/min) before applying override = 0.0001 mm/rev × 99 min-1 = 0.0099 mm/min
Since the value is less than the minimum 0.01 mm/min, the calculation result is adjusted to
0.01 mm/min.
In addition, when the value after applying the override (actual speed) is less than the
minimum of the command range, the actual speed becomes 0 mm(inch)/min.
2023/11/14 9- 4 eCOM4NCPR9
Chapter 10 Spindle Related Functions (S Function)
CHAPTER 10
10.1 S Function
10.2 M Function (Spindle Control)
10.3 M Function (Lathe Spindle Control)
10.4 M Function (Spindle Selection)
10
2023/11/14 10 - 1 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)
10.1 S Function
10.1.1 Spindle Speed Command
A spindle speed (min-1) command is issued.
This command uses the numerical values (under 5 digits) that come after “S” to specify the speed.
(NOTE 1) The S command is not erased with NC reset, but it must be set when the power is
turned ON.
(NOTE 2) The S command must always be issued before the spindle rotation command
(M03/M303, M04/M304).
(NOTE 3) When the S command is on the same block as axis travel, the S command becomes
valid at the same time as the axis travel start.
By issuing a peripheral speed command (m/min, or feet/min) to the G96S address, this function
controls the rotation speed of the spindle so that the cutting speed is maintained at a fixed or
constant level that corresponds to the machining diameter.
The G96 modal S command assumes S = 0 (peripheral speed 0) until the spindle rotation
command (M03/M303) and the spindle reverse rotation command (M04/M304) is issued.
10 When using the constant peripheral speed control, configure the settings so that the workpiece
coordinate zero for the control axis is in the lathe spindle center.
When using the tool length/tool position offset function, the spindle speed is controlled with the
tool length/tool position offset amount added to the current machine coordinates.
The constant peripheral speed control for the rapid feed command (G00) and the tool change
command (G100/M06) calculates the peripheral speed based on the end position of the constant
peripheral speed control axis.
(NOTE 1) If a constant peripheral speed control command is issued while using the [SP.CW]
key to rotate the spindle, the alarm <<Spindle rotating>> is triggered. Specify the
spindle rotation command on the same block.
(NOTE 2) Constant peripheral speed control command is not possible while in the inverse time
feed (G93) modal. If a command is issued, the alarm <<Command not possible
during inverse time feed>> is triggered.
(NOTE 3) When a command for the constant peripheral speed control (G96) is issued during
TCP control, the alarm <<TCP under control>> is triggered. In addition, when the
TCP control (G43.4/G43.5) command is issued during G96 modal, the alarm <<TCP
control command not possible>> is triggered.
2023/11/14 10 - 2 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)
G97 command
G96 command
Yes
Spindle speed command
10
No
Spindle speed (min-1)
issued by S command
* The peripheral speed will not be set (while power is turned ON) when the spindle is changed
using the spindle selection command (M141/M142).
Ex:
M142 G96 P1 S200 ; Peripheral speed 200
G97 S1000 ; Peripheral speed 200 is saved
M141 G96 P1 ; Peripheral speed is not set (saved peripheral speed is deleted because
the spindle is changed)
2023/11/14 10 - 3 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)
The spindle speed is controlled to a value below the command value issued for the S address, or
above the command value issued for the Q address.
The spindle speed clamp is only valid when the constant peripheral speed control (G96) is enabled.
Always issue the G92 S command when issuing a constant peripheral speed control command
(G96). If a G96 command is executed without the other command, an alarm is triggered.
When the power is turned ON, the settings are not configured. In addition, when the command
value issued for the Q address is larger than the command value issued for the S address, then the
spindle speed is not controlled using the command value issued for the Q address.
When the user parameter (switch 1: programming) <Tool data spindle rotation exceeded> is set to
<0: Alarm>, if a spindle speed command is issued that exceeds the maximum speed set for the
tool, the alarm <<Tool data spindle rotational frequency error>> is triggered. When set to <1:
Clamp at max. speed>, the tool is clamped at the maximum spindle speed that is set for the tool.
When not set, the spindle speed is not checked. (However, the alarm <<Spindle speed error>> is
triggered when an attempt is made to rotate at a speed that exceeds the machine parameter (system
1: common) <Max. spindle speed>.)
(NOTE) When the tool is set in conversation language for the spindle, it is processed as “not
set”.
10
2023/11/14 10 - 4 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)
(NOTECE) When performing an orientation operation without moving the spindle at all after
turning the power ON, the spindle may rotate more than one rotation.
(NOTE) On a machine equipped with the lathe function, the spindle may vibrate slightly
when carrying out an orientation operation at the zero degree position while the
spindle is fitted with a cutting tool. There is no impact on the machining or
measurement operations. However, to stop this slight vibration, perform the
orientation operation at another position besides zero degrees, or execute the spindle
rotation command (M03/M04).
2023/11/14 10 - 5 eCOM4NCPR10
Chapter 10 Spindle Related Functions (S Function)
(NOTE) When there is no lathe spindle, the M303, M304 and M305 commands cannot be
issued.
(NOTE 1) When there is no lathe spindle, the M141 and M142 commands cannot be issued.
(NOTE 2) The M141 and M142 modals are linked with the [L. SP] key. When the [L. SP] key
is turned ON in manual mode, it changes to M142 modal. When it is turned OFF, it
changes to M141 modal.
10
2023/11/14 10 - 6 eCOM4NCPR10
Chapter 11 Tool Related Functions (T Function)
CHAPTER 11
11.1 T Function
11.2 M Function (Tool Control)
11
2023/11/14 11 - 1 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)
11.1 T Function
On an arm type ATC mechanism, a T command turns the magazine to the corresponding pot.
On a turret type ATC mechanism, the tool (magazine) is set to index when the tool change
command (G100, M6) is issued.
Command format T_ _ _;
The alarm <<Command data range error>> is triggered when a command is issued in MDI
operation mode.
11
2023/11/14 11 - 2 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)
M420 : Turn the arm at the maximum speed that corresponds to the tool type being
changed.
- Standard tool turn speed when a standard tool is used (NOTE 2).
- Large tool turn speed when a large tool is used (NOTE 3).
M421/M432 : Turn the arm at a large tool turning speed regardless of the tool type to be changed.
The modal becomes M421 even when an M432 command is issued. (M432 is for
compatibility for B00 control. In the D00 control, the same operation is possible
with M421, and the operation does not change.)
M422 : For the standard tool turning speed, the arm turns at a speed that is calculated
using the user parameter (switch 1) setting <ATC arm turn speed ratio 1 (M422)>.
(NOTE 4)
M423 : For the standard tool turning speed, the arm turns at a speed that is calculated
using the user parameter (switch 1) setting <ATC arm turn speed ratio 2 (M423)>.
(NOTE 4)
(NOTE 1) This function is disabled on a turret type ATC mechanism. When a command is
issued, it follows user parameter (switch 1) <Unregistered M-code>.
(NOTE 2) Set value for machine parameter (system 3) <AT-axis rapid feedrate 1>
(NOTE 3) Set value for machine parameter (system 3) <AT-axis rapid feedrate 2>
(NOTE 4) When all of the following conditions are met, the arm operates using a turning speed
for a large tool.
- Tool type being changed is a large tool
- Speed calculated using the ratio exceeds the turning speed for a large tool
11
Use the following operations to change back to the M420 modal.
- M420 execution
- Program end
- Pressing [RST (Machine lock)] key
- Operation reset
- Tool change (G100/M06)
2023/11/14 11 - 3 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)
When using a turret type ATC mechanism (H series), the shutter can be operated after the M code
is executed.( NOTE 1)
(NOTE 1) M434, M448 and M449 are invalid on a turret type ATC mechanism (H series).
When a command is issued, it follows the user parameter (switch 1: programming)
<Unregistered M-code>.
(NOTE 2) When a command is issued while the door is open, the alarm <<Door open>> is
triggered.
(NOTE 3) The maximum wait time follows the set value in the machine parameter (system 3:
common) <ATC/Pot shutter timeout period>.
2023/11/14 11 - 4 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)
11
2023/11/14 11 - 5 eCOM4NCPR11
Chapter 11 Tool Related Functions (T Function)
11
2023/11/14 11 - 6 eCOM4NCPR11
Chapter 12 M Function
CHAPTER 12
M FUNCTION
12
2023/11/14 12 - 1 eCOM4NCPR12
Chapter 12 M Function
(NOTE) The modal command is canceled by the M code in the same group, or the modal
command continues until it is changed. The one-shot command is effective only in
the commanded block.
For “Multiple commands” and “Multiple command limits”, refer to “12.2.1 Multiple M Code
Commands in One Block”.
For multiple M code commands for tool changes, refer to “5.7 Canned cycle for tool change (Non-
stop ATC) (G100)”.
Timing of Modal / Multiple
Group M code Contents
axis motions One-shot commands
M00 Program stop After One-shot Impossible
M01 Optional stop After One-shot Impossible
M02 End of Program
- - Impossible
M30 End of Program
M03 Spindle CW
M04 Spindle CCW
M05* Spindle stop Simultaneous Modal Possible
M19 Spindle orientation
M111 Spindle orientation (180°)
M08 Coolant pump ON Before
Modal Possible
M09* Coolant pump OFF After
M06 Tool change Simultaneous One-shot Possible
M96 Interruptive macro program
- Modal Impossible
M97* Cancel interruptive macro program
M98 Sub Program Call -
M99 Return from Subprogram - - Impossible
M198 External sub program call -
M120 Tool breakage error check (ON)
After One-shot Possible
M121 Tool breakage error check (OFF)
M141* Selection of spindle
Simultaneous Modal Possible
M142 Selection of turning spindle
M159 Prohibit reading ahead - One-shot Impossible
Tool breakage detection
M200 Simultaneous One-shot Possible
(with return motion)
M201 Tool breakage detection Simultaneous One-shot Possible
2023/11/14 12 - 2 eCOM4NCPR12
Chapter 12 M Function
2023/11/14 12 - 3 eCOM4NCPR12
Chapter 12 M Function
2023/11/14 12 - 4 eCOM4NCPR12
Chapter 12 M Function
(NOTE 1) The modal during power startup is specified in the user parameter (switch 1: canned
cycle) <Tap accel. setting>.
(NOTE 2) The modal during power startup is specified in the user parameter (switch 3: in-
position check distance) <Initial modal for in-position check distance>.
(NOTE 3) The modal during power startup is specified in the user parameter (switch 1:
programming) <Z-axis perimeter function>.
(NOTE 4) Even when the user parameter (switch 1: operation) <S.T.M. return> is set to <1:
Yes>, it does not restore to the last modal status in the M code group when restarting
the program.
(NOTE 5) Even if the user parameters (switch 3: modal display setting): <M code for modal
display 1> to <M code for modal display 16> are not set to 0 (zero), the M code
modal does not display on the <Modal info 1> and <MDI operation> screens.
Also when multiple M code commands are issued on the same block for axis travel, the operation
for each M code is described in “Operation timing for axis travel” found in the “12.2 M Code
List.” If multiple commands that operate with the same timing are issued on one block, they are
output simultaneously.
If you need to be aware of the output order for the M codes, set it up so that commands are issued
and broken up into mutliple blocks.
In addition, simultaneously commandable M codes have limits. For combination of M dodes, refer
to the list below.
When an M code that cannot be specified at the same time is issued on 1 block, the alarm
<<Multiple M codes cannot be used.>> is triggered.
Independent
M06 M430/M411 M430/M431 M45X M46X M8XX M9XX BCD Others
command
Independent
Impossible Impossible Impossible Impossible Impossible Impossible Impossible Impossible Impossible Impossible
command
M06 - Impossible Impossible Impossible Possible Possible Possible Possible Possible Possible
M430/M411 - - *5 *5 Possible Possible Possible Possible Possible *1
M430/M431 - - - *5 Possible Possible Possible Possible Possible Possible 12
M45X - - - - *2 Possible Possible Possible Possible Possible
M46X - - - - - *3 Possible Possible Possible Possible
M8XX - - - - - - Impossible Impossible Impossible Possible
M9XX - - - - - - - Impossible Impossible Possible
BCD - - - - - - - - Impossible Possible
Others - - - - - - - - - *4
2023/11/14 12 - 5 eCOM4NCPR12
Chapter 12 M Function
1. Independent commands
The M codes listed in the following table must be independently commanded and cannot be
commanded together with other M codes simultaneously.
M00 M01 M02 M30
M96 M97 M98 M99
M159 M198 M203 M238
M239 M298 M299 M340
M341 M342 M343 M350
M351 M352 M353 M355
M360 M361 M362 M363
M364 M365 M366 M367
M368 M369 M434 M438
M439 M448 M449 M470
M471 M476 M477 M478
M479 M489 M498 M499
M5xx
2. M06
For M06 (tool change) and simultaneously commandable M codes, refer to “5.7 Canned cycle
for tool change (Non-stop ATC) (G100)”. (*1)
2023/11/14 12 - 6 eCOM4NCPR12
Chapter 12 M Function
9. Others
With respect to the combination of M codes other than the above, the commands other than
the simultaneously commandable M codes like instruction of thesame function ON/OFF,
instruction of spindle motion, specification of time constant, command to coolant through
center and the relatives, etc. can be simultaneously commanded together. (*4)
12
2023/11/14 12 - 7 eCOM4NCPR12
Chapter 12 M Function
(NOTE) Issue an M03 or M04 command if spindle rotation is required in the block after
M00. Issue a command such as a coolant command when necessary.
However, when the user parameter (switch 1: operation) is set to the following, the
spindle, lathe spindle and coolant automatically return when executing the following
sequence.
• When <Spindle return method for program stop> is set to <0: Method 1>
• When <Lathe spindle return method for program stop> is set to <0: Method 1>
• When <Coolant return method for program stop> is set to <0: Method 1>
(NOTE) If other G or M code is commanded in the M02 or M30 block, an alarm appears.
The axis movement is not available even by commanding X, Y or Z address.
Ex) If M211 and M212 are executed in an operation program when the counted number of the
counter 1 is 1 and the counted number of the counter 2 is 2, the counter 1 counts up per 1 and
the counter 2 counts up per 2 when M02 or M30 is executeded.
2023/11/14 12 - 8 eCOM4NCPR12
Chapter 12 M Function
(NOTE) If the time measurement (M258, M259) extends over into successive blocks for the
cutting feed, the in-position check is carried out.
As a result, it may not be possible to obtain the expected value in program example
1 below. Therefore, specify the commands on the same block, as shown in program
example 2.
Ex.1: G01 X-10.000 Y-10.000;
M258;
G01 X-11.500 Y-11.000;
Ex.2: G01 X-10.000 Y-10.000;
G01 X-11.500 Y-11.000 M258;
The example below shows the operation when the Z-axis perimeter mode is turned ON.
Program example
G00 G98 X0.0 Z200.0;
M300;
G81 Z100.0 R150.0;
G81 X-20.0 Z100.0 R150.0;
12
2023/11/14 12 - 9 eCOM4NCPR12
Chapter 12 M Function
Coasting distance
Initial point
Single block stop point
R-point
Rapid feed
Cutting feed
Z-point
(NOTE 1) The Z-axis coating distance varies depending on the Z-axis travel distance and the
X-/Y-axis travel distance. The upper limit of the coasting distance is set in the user
parameter (switch 1: programming) <Upper limit for Z-axis perimeter coasting
distance>. The perimeter motion is not carried out when the set value has been
exceeded.
(NOTE 2) The perimeter motion is carried out to the plus side within the stroke limit or within
the stroke range.
(NOTE 3) If there is a single block stop, the X- and Y-axes do not travel, and the Z-axis stops
at a position on the plus side that is equal to the command position plus the coasting
distance.
(NOTE 4) If the additional axis moves at the same time as the Z-axis rapid feed operation in
the plus direction or the X-/Y-axis rapid feed operation, then the perimeter motion is
not carried out.
(NOTE 5) MDI intervention is not possible during the perimeter motion. The operator message
<<Z-axis perimeter operation in progress>> appears when an attempt is made to
change the mode.
(NOTE 6) If an interrupt signal is detected during the M96 modal and the Z-axis perimeter
motion, then the interrupt program is executed after the X-/Y-axis rapid feed
operation is completed, regardless of the user parameter (switch 1: programming)
<Interrupt macro interrupt type> setting.
(NOTE 7) The machine is initialized in the modal that is set in the user parameter (switch 1:
programming) <Z-axis perimeter function> when the power is turned ON, when the
[RST] key is pressed, when the M02 or M30 command is executed and when the
operation is reset.
(NOTE 8) When the Z-axis perimeter mode is ON, the following commands will carry out the
perimeter motion. Even if the rapid feed operation is not included in other
commands (not listed below), the perimeter motion is not carried out regardless of
12 the modal.
• Positioning (G00)
• Reference position return (G28 to G30)
• Complex thread cutting cycle (G376)
• Thread cutting cycle (G392)
• General canned cycles (Excluding right after the tapping cycle (G74, G77, G78,
G84, G177, G178, G277 and G278) recovery operation)
(NOTE 9) While under TCP control (G43.4/G43.5), the perimeter motion will not be carried
out even when Z-axis perimeter mode is ON.
2023/11/14 12 - 10 eCOM4NCPR12
Chapter 12 M Function
(NOTE) When an M320 command is issued, the check signal is turned OFF by one of the
following operations: pressing the [RST] key, locking/unlocking the machine or
turning OFF the power. In addition, the signal status is updated not just with a skip
command but when a measurement function (automatic workpiece measurement
(G121 to 129) and automatic centering) is used as well.
2023/11/14 12 - 11 eCOM4NCPR12
Chapter 12 M Function
• After the user parameter (switch 1: installation) <Chip shower retention time> has elapsed, the
M401 command turns OFF the chip shower.
• The following operations turn on the external output signal and PLC signals
<SHM480>/<SHM482>/<SHM484>/<SHM486>.
• Commands: M480/M481/M482/M483/M484/M485/M486/M487
• Startup from pause status (M480/M482/M484/M486 modal) (only when spindle/lathe
spindle returns automatically)
• Return operation from program restart (M480/M482/M484/M486 modal)
(When user parameter <S.T.M return (NC language)> is set to <1: Yes>)
2023/11/14 12 - 12 eCOM4NCPR12
Chapter 12 M Function
Ex.1: G00 X-50. M444; ← When it travels along the X-axis, the C-axis unclamp is carried
out at the same time.
Ex.2: G00 C90. M444; ← The alarm <<Address where command is not possible>> is
triggered.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the unclamp is finished.
When the M445 command is issued, the C-axis is clamped, and thereafter, the C-axis
unclamp/clamp is automatically controlled. When there is an axis travel command on the same
block, the axis travel is carried out at the same time. However, when there is a C-axis travel
command on the same block, the alarm <<Address where command is not possible>> is triggered.
Ex.1: G00 X-50. M445; ← When it travels along the X-axis, the C-axis clamp is carried out
at the same time.
Ex.2: G00 C90. M445; ← The alarm <<Address where command is not possible>> is
triggered
(NOTICE 1) If the alarm <<*-axis clamp retry attempt was made>> is triggered by a clamp
command (M431, M445), it is possible that there is an impact from the machining
load during the unclamp that is right before. We recommend decreasing the
machining load or machining while clamped.
(NOTICE 2) When there is a large cutting force applied in A-, B- or C-axis unclamp mode, it may
adversely affect the machining accuracy.
In addition, there may be a delay or waiting time before the start of the next
operation.
In this type of situation, we recommend decreasing the machining load or machining
while clamped.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the clamp is finished. 12
When C-axis operation is enabled in the <Machine parameter> setting and when the clamp
mechanism is set to <1: Type 2> or <2: Type 3>, this command is valid.
When configured to another setting, the alarm (NOTE) <<Specified M code cannot be used>> is
triggered.
When the C-axis changes from a clamp status to an unclamp status using an M444 command, the
C-axis returns to a clamp status if an M02 (M30) command is issued, if the reset key is pressed or
if a stop level 5 alarm is triggered. It does not return to clamp status even when the operation reset
is performed.
However, when the machine is not equipped with QT, the M430 has the same function as M444,
and M431 has the same function as M445.
2023/11/14 12 - 13 eCOM4NCPR12
Chapter 12 M Function
(NOTE) When the user parameter (switch 1: programming) <Unregistered M-code> is set to
<0: Error>.
Ex.1: G00 Y-50. M440; ← When it travels along the Y-axis, the B-axis unclamp is carried
out at the same time.
Ex.2: G00 B90. M440; ← The alarm <<Simultaneous specified code cannot be used.>> is
triggered.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the unclamp is finished.
When the M441 command is issued, the B-axis is clamped, and thereafter, the B-axis
unclamp/clamp is automatically controlled. When there is an axis travel command on the same
block, the axis travel is carried out at the same time. However, when there is a B-axis travel
command on the same block, the alarm <<Invalid command>> is triggered.
Ex.1: G00 Y-50. M441; ← When it travels along the Y-axis, the B-axis clamp is carried out
at the same time.
Ex.2: G00 B90. M441; ← The alarm <<Address where command is not possible>> is
triggered.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the clamp is finished.
When B-axis operation is enabled in the <Machine parameter> setting and when the clamp
mechanism is set to <1: Type 2> or <2: Type 3>, this command is valid.
When configured to another setting, the alarm (NOTE) <<Specified M code cannot be used>> is
triggered.
When the B-axis changes from a clamp status to an unclamp status using an M440 command, the
B-axis returns to a clamp status if an M02 (M30) command is issued, if the reset key is pressed or
if a stop level 5 alarm is triggered. It does not return to clamp status even when the operation reset
is performed.
(NOTE) When the user parameter (switch 1: programming) <Unregistered M-code> is set to
<0: Error>.
12
2023/11/14 12 - 14 eCOM4NCPR12
Chapter 12 M Function
Ex.1: G00 Z-50. M442; ← When it travels along the Z-axis, the A-axis unclamp is carried
out at the same time.
Ex.2: G00 A90. M442; ←The alarm <<Address where command is not possible>> is
triggered.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the unclamp is finished.
When the M443 command is issued, the A-axis is clamped, and thereafter, the A-axis
unclamp/clamp is automatically controlled. When there is an axis travel command on the same
block, the axis travel is carried out at the same time. However, when there is a A-axis travel
command on the same block, the alarm <<Address where command is not possible>> is triggered.
Ex.1: G00 Z-50. M443; ← When it travels along the Z-axis, the A-axis clamp is carried out
at the same time.
Ex.2: G00 A90. M443; ← The alarm <<Address where command is not possible>> is
triggered.
(NOTE) When there is a command on the same block as the axis travel command, the axis
travel starts before the clamp is finished.
When A-axis operation is enabled in the <Machine parameter> setting and when the clamp
mechanism is set to <1: Type 2> or <2: Type 3>, this command is valid.
When configured to another setting, the alarm (NOTE)<<Specified M code cannot be used>> is
triggered.
When the A-axis changes from a clamp status to an unclamp status using an M442 command, the
A-axis returns to a clamp status if an M02 (M30) command is issued, if the reset key is pressed or
if a stop level 5 alarm is triggered. It does not return to clamp status even when the operation reset
is performed.
(NOTE) When the user parameter (switch 1: programming) <Unregistered M-code> is set to
<0: Error>.
12
2023/11/14 12 - 15 eCOM4NCPR12
Chapter 12 M Function
When one of the following operations is performed, the data is initialized to the modal that is set in
the user parameter (switch 3: in-position check distance) <Initial modal for in-position check
distance>.
• Program ends
• Operation reset
• Power OFF
• Reset (including switching the machine lock setting)
12
2023/11/14 12 - 16 eCOM4NCPR12
Chapter 12 M Function
(NOTICE) Use the low acceleration speed M253 or M254 if the alarm <<Servo error
(overload)>> is triggered during a tapping operation for M252 modal.
In addition, use the low acceleration speed M254 if the alarm <<Servo error
(overload)>> is triggered during a tapping operation for M253 modal.
Issue a dwell or similar command to lower the frequency of the tapping operation
when the alarm or error persists.
(NOTE) The machine is initialized in the modal that is set in the user parameter (switch 1:
canned cycle) <Tap accel. setting> when the power is turned ON, when the [RST]
key is pressed, when the M02 or M30 command is executed and when the operation
is reset.
(NOTE 1) This test does not execute on the external additional axis (only machine models with
QT) / PLC-axis.
(NOTE 2) When the lathe spindle is selected and the test is executed for the lathe spindle, the
alarm <<The lathe spindle is being selected.>> is triggered and the test cannot be
executed.
12
2023/11/14 12 - 17 eCOM4NCPR12
Chapter 12 M Function
12
2023/11/14 12 - 18 eCOM4NCPR12
Chapter 13 High-accuracy Mode
CHAPTER 13 (1)
1 Outline
2 How to Use
3 Restrictions
4 Detailed Explanations and Adjustments of Parameters
13
2023/11/14 13 - 1 - 1 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
1 Outline
1.1 Outline of High-accuracy Mode AIII
The high-accuracy mode AIII is appropriate for contouring or 3-dimentional shape workpiece
machining to atain high-speed, high-accuracy, and high-dignity machining. The high accuracy
mode AIII is equipped with two functions: one for improving the shape accuracy and one for
improving the surface quality. The user can change the machining shape accuracy and surface
quality by setting the override value in the user parameter.
The parameter default settings have 6 machining levels available, that is, there is one level that
focuses on shape accuracy or another that focuses on surface quality. The appropriate machining
level can be easily selected depending on the machining needs or requirements. In addition, unique
two levels of parameter setting are available.
The machining level can be changed in an NC program.
Commanded path
Tool path
Shape error
(Decrement in radius)
13 Programmed route
Tool path
2023/11/14 13 - 1 - 2 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
Tool path
Commanded path
(Fine linear block)
Tool path
13
2023/11/14 13 - 1 - 3 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
2 How to Use
2.1 To Select a Machining Level
High accuracy mode A is equipped with a function to improve shape accuracy and another to
improve surface quality. There are 6 machining levels available in the default settings, such as one
that focuses on shape accuracy and another that focuses on surface quality. Select one from these
six machining levels depending on the machining content. (Note, in the default settings, the
function that improves the surface quality uses smooth override.)
In addition, there are two more levels other than the above levels that can be defined by users so
that the machining levels can be adjusted to the optimum. For detail, refer to the “4 Detailed
explanations and adjustments of parameter”.
1 Shape accuracy The surface quality is equivalent to the level when M260
high accuracy mode is not used. Machining time
becomes a little longer because it decelerates in
accordance with a shape.
The shape accuracy is more emphasized than the
machining level 1.
Shape accuracy The surface quality is less than when high accuracy
2 M261
(High) mode is not used. Machining time becomes a little
longer because it decelerates in accordance with a
shape. In addition, the top speed of a command is
limited. (F5000 is the default value.)
Both the shape accuracy and face dignity are
emphasized.
Shape accuracy
3 M262
+ face dignity
As the deceleration time become longer, the
machining time may become very long.
The face dignity is emphasized (first recommended
for emphasizing face dignity).
4 Face dignity M263
Use this if smooth face dignity is necessary.
However, shape accuracy becomes bad.
The face dignity is emphasized more than the
machining level 4.
Face dignity
5 M264
(High)
Use this if smoother face dignity is necessary.
However, shape accuracy becomes worse.
High speed is emphasized.
2023/11/14 13 - 1 - 4 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
Low M264
Face dignity
Low High
Image of machining levels
2. Decide which of the shape accuracy or face dignity is necessary for the machining.
Depending on the stripes (parallel grooves) appering on the machining face, you may know
which of the shape accuracy or the face dignity is necessary to be emphasized.
(1) Stripes (parallel grooves) parallel in the tool ongoing direction appear.
Tool path
Presumed cause 13
There ia a possibility that the stripes (parallel grooves) may appear due to a shape error.
Especially they tend to appear if the commanded speed is too fast or the curvature is too
small.
2023/11/14 13 - 1 - 5 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
(2) Stripes (parallel grooves) perpendicular to the tool path in the ongoing direction appear.
Tool path
Presumed cause
The minute linear command created by CAM or the like for a curved shape is polygonal,
so it tends to generate stripes (parallel grooves). Especially they tend to appear if the
speed is too slow or the curvature is too large. They may be none by minimizing the
tolerance of CAM.
(3) If you want to emphasize the shape accuracy or the face dignity more
Use the machining level 2 (shape accuracy (High), M261) or the machining level 5 (face
dignity (High), M264). However, the machining level 2 may take more machining time
than the machining level 1. The machining level 5 worsens the shape accuracy more than
the machining level 4.
(4) The machining level 3 (shape accuracy + face dignity, M262) may take very long
machining time.
13
2023/11/14 13 - 1 - 6 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
Example of Use
(Program Example)
NC program
G00 X0 Y0 Z0;
;
M260; High-accuracy mode A (Level 1) ON
G01 X20. Y30. Z50.;
X40. Y20. Z30.; High-accuracy mode A (Level 1) in operation
;
High-accuracy mode A (Level 1) OFF
M269;
;
M261; High-accuracy mode A (Level 2) ON
G01 X20. Y30. Z50.;
X40. Y20. Z30.; High-accuracy mode A (Level 2) in operation
;
M269; High-accuracy mode A (Level 2) OFF
;
M262; High-accuracy mode A (Level 3) ON
G01 X20. Y30. Z50.;
High-accuracy mode A (Level 3) in operation
X40. Y20. Z30.;
;
M269; High-accuracy mode OFF
M30;
13
2023/11/14 13 - 1 - 7 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
3 Restrictions
3.1 Commandable Functions
The functions available using commands while high accuracy mode A is executing are as follows.
1. All M code commands are possible except M96 (interrupt type macro).
2. Except for TCP control (G43.4/G43.5), G code commands are possible when using the
automatic corner deceleration function, the automatic arc deceleration function or the
automatic curve approximation deceleration function. G code commands, except the involute
interpolation (G02.2/G03.2) and TCP control (G43.4/G43.5), are available on the fully
automatic deceleration function.
(NOTE 1) When a function command is accidentally issued even though it is not available, the
alarm <<High accuracy A invalid command>> is triggered.
(NOTE 2) The high-accuracy mode A is temporarily cancelled by the following commands
(modes). When the commands (modes) finish, the high-accuracy mode A becomes
valid again.
• M code commands
• Blocks which have no movement amounts
• Blocks which have no cutting feed movement
• Every rotary feed
• Fixed cycle
• Thread cutting
• Thread cutting cycle
• Complex thread cutting cycle
• Exact stop mode
• Skip feed (G31, G131 and G132)
• Measurement related G code commands (G120 to G129)
• Inverse time feed
(NOTE 3) The smooth path offset function in the high-accuracy mode A is temporarily
cancelled by the following commands (modes). When the commands (modes) finish,
the high-accuracy mode A becomes valid again.
• M code commands
• Blocks which have no movement amounts
• Blocks which have no cutting feed movement
• Every rotary feed
• Fixed cycle
• Thread cutting
• Thread cutting cycle
• Complex thread cutting cycle
• Circular interpolation
• Involute interpolation
• Exact stop mode
• Tool diameter offset mode
• Scaling
• Mirror image
• Coordinate rotational function
• Feature coordinate manufacturing mode
• Inverse time feed
13
2023/11/14 13 - 1 - 8 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
2023/11/14 13 - 1 - 9 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
Setting
The setting area of the <Corner deceleration override> is up to “0% or 10%-9999%”. The
smaller the setting value is, the more strongly the deceleration function works to minimize the
error and makes the shape accuracy better. In addition, if you input “0%”, the automatic
corner deceleration function goes off.
Setting
The setting area of the <Arc deceleration override> is up to “0% or 10%-9999%” (Default
value “100%”). The smaller the setting value is, the more the deceleration function works
strongly to minimize the error and the shape accuracy becomes better. In addition, if you input
“0%”, the automatic arc deceleration function goes off.
2023/11/14 13 - 1 - 10 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
Setting
The setting area of the <Curve approximate deceleration override> is up to “0% or 10%-
9999%” (Default value is “100%”). The smaller the setting value is, the more strongly the
deceleration function works to minimize the error and the shape accuracy becomes better.
In addition, if you input “0%”, the automatic curve approximate deceleration function goes
off.
Set value
The setting range for the <Accuracy level> is from <0 (Invalid)> to 5.000 mm (when the user
parameter (switch 1: system) <Machine unit system> is set to <1: Inch>, then the range is
from <0 (Invalid)> to 0.1999 inch) (Default value: <0 (Invalid)>).
When the parameter is set to <0 (Invalid)>, the functions: (1) automatic corner deceleration
function, (2) automatic arc deceleration function and (3) automatic curve approximation
deceleration function are enabled. When it is configured to another setting, (1) automatic
corner deceleration function, (2) automatic arc deceleration function and (3) automatic curve
approximation deceleration function are disabled and fully automatic deceleration function is
enabled.
Setting
The setting area of the <Smooth override> is up to ”10%-9999%” (Default value is “100%”).
If it becomes bigger than 100, smoother face dignity is attained. If it becomes smaller than
100, the shape accuracy becomes better.
13
Guide amount of shape error
Shape errors at a corner, arc, and curve vary depending on the settings of the <Smooth
override>.
The shape error at a corner becomes a value in proportion to the square root of the setting
value. For example, if the error amount when the setting value is set at 100% is 100, it
becomes 140 when set at 200%, and it becomes 70 when set at 50%.
The shape error at an arc or curve becomes a value in proportion to the setting value. For
example, if the error amount when the setting value is set at 100% is 100, it becomes 200
when set at 200% and it becomes 50 when set at 50%.
2023/11/14 13 - 1 - 11 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
If the smooth override value is set at 100% or more, the cutting feedrate can be raised.
However, if the restricted value exceeds the machine parameter (high accuracy: X-, Y- and Z-
axes) <Maximum feedrate A>, it clamps to ensure it does not exceed <Maximum feedrate A>.
Ex.) Limit value of cutting feedrate for the reference feedrate A: 10000 mm/min, Max.
feedrate A: 20000 mm/min
Setting
The setting area of the <Smooth path offset level> is “1-5” (The default value is “1”). If this
value is made bigger, the path is offset by more command points to have much smoother path.
However, if it is made big, the path may error.
(When the user parameter (high accuracy: common) <Smooth path offset function> is set to
“Invalid", this set value is invalid.)
13
2023/11/14 13 - 1 - 12 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
(High accuracy A)
(High-accuracy common)
13
2023/11/14 13 - 1 - 13 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
2023/11/14 13 - 1 - 14 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
13
2023/11/14 13 - 1 - 15 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
7.0
6.0
5.0
4.0
3.0
2.0 Smooth override: 100%
1.0
0
0% 100% 200% 300% 400% 500% 600% 700% 800%
Deceleration override setting value
3.0
Corner shape error
2.5
2.0
1.5
Deceleration override: 100%
1.0
0.5
0
0% 100% 200% 300% 400% 500% 600% 700% 800% 900% 1000%
Smooth override setting value
Reference
Corner shape error = E * D * √S
E : Error when the corner deceleration override is 100% and the smooth override is
100% (Guide amount: 100-120 µm)
D : Corner deceleration override/100
13 S : Smooth override/100
2023/11/14 13 - 1 - 16 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
6.0
Arc/curve shape error
5.0
4.0
3.0
1.0
0
0% 100% 200% 300% 400% 500% 600% 700% 800%
Deceleration override setting value
7.0
Arc/curve shape error
6.0
5.0
4.0
3.0
Deceleration override: 100%
2.0
1.0
0
0% 100% 200% 300% 400% 500% 600% 700% 800% 900% 1000%
Smooth override setting value
Reference
Arc/curved shape error = E * D * S
E : Error when the arc (approximate curve) deceleration override is 100% and the smooth
override is 100% (Guide amount is 10-20 µm)
D : Arc (approximate curve) deceleration override/100
S : Smooth override/100
13
2023/11/14 13 - 1 - 17 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
13
2023/11/14 13 - 1 - 18 eCOM4NCPR13-1
Chapter 13 High-accuracy Mode
CHAPTER 13 (2)
HIGH-ACCURACY MODE B
1 Outline
2 How to Use
3 Restrictions
4 Explanations on Parameters
13
2023/11/14 13 - 2 - 1 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
1 Outline
The high-accuracy mode B can perform better shape accuracy machining compared with the high-
accuracy mode A by looking ahead a program and accelerating/decelerating the speed before
interpolation.
The high-accuracy mode B has the following functions as same as the high-accuracy mode A:
• Automatic arc decelerating function
• Automatic curve approximation decelerating function
• Smooth override function
• Smooth path offset function
Note, the following specifications vary based on whether the machine is equipped with the option
or not.
Not equipped: High
Option Equipped: High accuracy mode BII
accuracy mode BI
No. of look ahead blocks 160 Machine parameter (high accuracy:
common) <No. of look-ahead blocks B>
Smooth path offset function Not available Available
In addition, when the machine parameter (high accuracy: common) <No. of look-ahead blocks B>
is less than 160, that set value is valid.
13
2023/11/14 13 - 2 - 2 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
2 How to Use
2.1 To Select a Machining Level
High accuracy mode B is equipped with a function to improve shape accuracy (arc deceleration
and curve approximation deceleration) and another to improve surface quality. The default setting
is configured to the optimum machining level for shape accuracy and surface quality.
In addition to the level mentioned above, there are 7 separate user defined levels, and the user can
adjust the settings to the most appropriate machining level. For details, refer to “Chapter13 (1)
High-accuracy Mode AIII 4. Detailed explanations and adjustments of parameters”.
Example of Use
Program example:
NC program
G00 X0 Y0 Z0;
;
M285; To activate the high-accuracy mode B
G01 X20. Y30. Z50.;
X40. Y20. Z30.; The high-accuracy mode B is in action.
;
M289; To deactivate the high-accuracy mode B
M30;
(NOTE 1) If the high-accuracy mode B is used when the above modal status is not applied, the
alarm <<High-accuracy B unable modal>> appeas.
(NOTE 2) Commands are possible while under TCP control (G43.4/G43.5). However, refer to
“14.2.6 Machining parameter” for further details on the functions and parameter
content.
2023/11/14 13 - 2 - 3 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
3 Restrictions
3.1 Commandable Functions
The functions available using commands while high accuracy mode B is executing are as follows.
1. All M code commands are possible except M96 (interrupt type macro).
2. All G code commands are possible.
(NOTE 2) The high-accuracy mode B is temporarily cancelled when the following commands
(modes) are issued:
When these commands (modes) finish, the high-accuracy mode B becomes valid
again.
• M-code command
• S-code command
• T-code command
• Blocks that have no travel amount
• Blocks that have no cutting feed
• Every rotary feed
• Fixed cycle
• Thread cutting
• Thread cutting cycle
• Complex thread cutting cycle
• Exact stop mode
• Skip feed (G31, G131 and G132)
• Measurement related G code commands (G120 to G129)
• Inverse time feed
(NOTE 3) The smooth path offset function of the high-accuracy mode B is temporarily
cancelled when the following commands (modes) are issued. When these commands
(modes) finish, the high-accuracy mode B becomes valid again.
• M-code command
• S-code command
• T-code command
• Blocks that have no travel amount
• Blocks that have no cutting feed
• Blocks with an additional axis travel command
• Every rotary feed
• Fixed cycle
• Thread cutting
• Thread cutting cycle
• Complex thread cutting cycle
• Arc interpolation
• Involute interpolation
• Exact stop mode
• Diameter offset mode
• Scaling
• Mirror image
• Rotation of coordinates
13 • Feature coordinate manufacturing mode
• Inverse time feed
2023/11/14 13 - 2 - 4 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
When set to <1: Valid>, the additional axis travel operates in high accuracy mode B.
When set to <0: Invalid>, the additional axis travel does not operate in high accuracy mode B. 13
• If a travel command is issued only for the additional axis, then high accuracy mode B is
temporarily canceled only during that command.
• The feed axis and the additional axis cannot move at the same time during the cutting feed.
When issuing a travel command on the additional axis in high accuracy mode B, contact the index
manufacturer and set the appropriate value in the machine parameter before using it.
2023/11/14 13 - 2 - 5 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
4 Explanations on Parameters
User parameter (high accuracy: high accuracy B)
Parameter name Contents Setting range
Corner deceleration Used for automatic corner deceleration function. 0, 10-9999
override Automatic corner deceleration is performed at 100 based on the (%)
machine's unique deceleration rate. When a value larger than 100 is set,
the deceleration rate is smaller, making machining time shorter. When
a value smaller than 100 is set, the deceleration rate is larger, resulting
in more accurate machining. In addition, when 0 is set, automatic
corner deceleration is not performed.
This parameter is disabled when the smooth override type is set to <1:
Type 2>.
Arc deceleration Used for automatic arc deceleration. 0, 10-9999
override When 100 is set, automatic arc deceleration is performed based on the (%)
machine's unique deceleration rate. When a value larger than 100 is set,
the deceleration rate is smaller, making machining time shorter. When
a value smaller than 100 is set, the deceleration rate is larger, resulting
in more accurate machining. In addition, when 0 is set, automatic arc
deceleration is not performed.
Curve approximation Used for automatic curve approximation deceleration. 0, 10-9999
deceleration override When 100 is set, automatic curve approximation deceleration is (%)
performed based on the machine's unique deceleration rate. When a
value larger than 100 is set, the deceleration rate is smaller, making
machining time shorter. When a value smaller than 100 is set, the
deceleration rate is larger, resulting in more accurate machining. In
addition, when 0 is set, automatic curve approximation deceleration is
not performed.
Smooth path offset Used when <Smooth path offset function> (described later) is set to 1-5
level <Valid>.
The larger the value is, the smoother the path becomes.
Making the set value larger may cause a significant deviation from the
program path. Be extra careful when changing the value.
Smooth override Used machine parameter (high accuracy) <High accuracy B cutting 100-9999
feed time constant> at a value of 100. (%)
If the value is larger than 100, the path becomes smoother.
Minute block deletion If the travel distance of one block is less than the parameter value, the 0-2.000
distance block is deleted. (mm)
If <Smooth path offset function> is set to <Valid>, it is executed at a
programmed point after path approximation.
Smooth override type Change the smooth override type. 0-1
<0: Type 1>
Even if the smooth override setting is changed, the speed difference
that is permitted between blocks does not change.
<1: Type 2>
The speed difference allowed between blocks is equal to the “Speed
difference between the machine parameter (high accuracy: X-, Y- and
Z-axes) <Speed difference B(min.)> (X-, Y- and Z-axes) and <Speed
difference B(max.)>” × “Smooth override (value)” / 100.
When type 2 is selected, increasing the set value for the smooth
override makes it more difficult to decelerate at corners. Therefore, the
13 machining time can be reduced.
2023/11/14 13 - 2 - 6 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
13
2023/11/14 13 - 2 - 7 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
13
2023/11/14 13 - 2 - 8 eCOM4NCPR13-2
Chapter 13 High-accuracy Mode
CHAPTER 13 (3)
1 Overview
2 High accuracy (machining mode) function
3 High accuracy (accuracy specification mode) function
4 Description of function key
5 Mode selection using program command
(NC language only)
6 Check Current Mode
13
2023/11/16 13 - 3 - 1 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
1 Overview
The machining mode setting function streamlines the steps required for adjusting parameters in
order to access and use high accuracy mode quickly. Any content that is edited here is reflected in
the user parameters.
There are two functions available: the “High accuracy (machining mode) function” for selecting
the desired function from the graph on the screen and “High accuracy (accuracy specification
mode) function” for directly specifying the accuracy level.
Use the desired mode to support the machining content.
(NOTE) This setting is enabled only when the TCP control is OFF. Refer to “14.2.6
Machining parameters” for details about how to adjust the machining parameters
while under TCP control.
13
2023/11/16 13 - 3 - 2 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
The accuracy refers to the margin of error on the inner turning that occurs during linear
interpolation and circular interpolation as shown in the diagram below. The margin of error on the
inner turning decreases in high accuracy mode.
■ Linear interpolation ■ Circular interpolation
The user can add 3 more customized machining modes in addition to the 6 modes noted above.
Machining mode Description
Adjustment A Machining mode A set by customer
Adjustment B Machining mode B set by customer
Adjustment C Machining mode C set by customer
Usage
This section provides a description on using the high accuracy (machining mode) function.
There are 6 basic machining modes for the high accuracy (machining mode) function, and there
are an additional 2 modes (machining mode adjustment) that the user can customize based on the
basic modes.
13
2023/11/16 13 - 3 - 3 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
Machining mode
1. Open the <Machining parameter adjustment (Machining mode)> screen.
3 1
13
2023/11/16 13 - 3 - 4 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
2. Tap on a machining mode on the graph, or tap on an item under <Machining mode> to select
the desired machining mode setting.
3. Press the <Completion mode> key to complete and exit the editing. After pressing the [RST]
key, the setting appears.
13
2023/11/16 13 - 3 - 5 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
2
3
4
13
2023/11/16 13 - 3 - 6 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
2. Set <Standard mode> for the mode that will be the standard. <L7: Adjustment A> is displayed
in the graph. The grayed out adjustment buttons for <Accuracy adjustment value> and
<Smoothness adjustment value> are enabled and become available.
e.g.) When <L6. Finishing S> is set for the <Standard mode>
13
2023/11/16 13 - 3 - 7 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
3. Set the <Accuracy adjustment value> for the standard mode using the up and down arrow
buttons. The accuracy is displayed on the vertical axis in the graph. The higher the value is,
the more accurate (goes up) the machining becomes. The smaller the value is, the faster (goes
down) the machining becomes. The accuracy can be adjusted to 5 levels in the positive and
negative directions for the standard mode.
If the <Accuracy adjustment value> is changed, the <L7: Adjustment A> on the graph moves
vertically only for the increment set for the standard mode.
e.g.) When <6: Finish S> is set for the <Standard mode> and <-2> is set for <Accuracy
adjustment value>
13
2023/11/16 13 - 3 - 8 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
4. Set the <Smoothness adjustment value> for the standard mode using the left and right arrow
buttons. The smoothness level is displayed by the blue gauge on the graph. The higher the
value is (as the blue gauge becomes greater), the smoother the machining surface becomes.
The smoothness level can be adjusted to 5 levels in the positive and negative directions for the
standard mode (When <L2: Rough> is set for the standard mode, a negative value cannot be
set for the <Smoothness adjustment value>).
If the <Smoothness adjustment value> is changed, the blue gauge for <L7: Adjustment A> on
the graph changes only for the increment set for the standard mode.
e.g.) When <6. Finishing S> is set for the <Standard mode>, and <-2> is set for <Accuracy>
and <3> is set for smoothness
13
2023/11/16 13 - 3 - 9 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
5. Open the <Machining parameter adjustment (Machining mode)> screen. Tap on the item
<Machining mode> and select <7: Adjust. A> from the displayed list.
6. Press the <Completion mode> key to complete and exit the editing. After pressing the [RST]
key, the setting appears.
(NOTE) The position and the blue gauge on the graph for <L7: Adjustment A> to <L9:
Adjustment C> show the relationship with the standard mode. When comparing
with a mode that is not the standard mode, the position on the graph and the
relationship with the blue gauge may be different from the actual machining
results.
13
2023/11/16 13 - 3 - 10 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
Restrictions
• Depending on the machining mode, the alarm <<The high-accuracy B is being executed>>
may trigger and switching the dry run may be unavailable during cutting travel.
• Depending on the machining mode, if cutting travel is carried out in single operation mode,
the alarm <<Command interrupted in high-accuracy mode B>> is triggered.
• Depending on the machining mode, the feed axis and the additional axis cannot be moved at
the same time.
• M96 (interrupt type macro) cannot be used.
• When using a feedrate faster than 20,000 mm/min and the machining mode is changed, the
alarm <<Feedrate error>> may trigger.
• When equipped with the option: high accuracy B/smooth path offset, the cycle time may
become shorter and the machining surface may change slightly.
• The following restrictions apply when the smooth path offset function is enabled. Refer to
“Chapter 13 (1) High-accuracy mode AIII” and “Chapter 13 (2) High-accuracy mode B” for
further details on the smooth path offset function.
- Block stop position in single operation mode is different from the program command
position.
- The mode cannot be changed.
- The dry run cannot be changed.
- A block that is cutting with the smooth path offset function cannot be specified as a block
for resuming or restarting the program. If it is specified, the alarm <<Program restart
error>> is triggered.
- If the user parameter (high accuracy: common) <Smooth path offset cancel angle> is set
too large, the alarm <<Curve speed error>> may be triggered.
- The user parameter (high accuracy: high accuracy A/B) <Minute block deletion distance>
does not apply to blocks where the smooth path offset function has been cancelled.
However, this excludes when the user parameter (high accuracy: common) <Minute block
deletion when smooth path offset is cancelled> is set to <1: Yes>.
(NOTE) When a function command is accidentally issued even though it is not available
in the selected machining mode, the alarm <<Invalid command in machining
mode>> is triggered.
13
2023/11/16 13 - 3 - 11 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
There are 3 accuracy specification modes, and the default factory settings are as follows.
The set value is a guide and cannot always be guaranteed to fall within the tolerance.
Usage
The following description is a setting procedure for <L21. Accuracy spec. A>.
The setting procedures for <L22. Accuracy spec. B> and <L23. Accuracy spec. C> are the same.
2
3
13
2023/11/16 13 - 3 - 12 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
2. Tap on the item <Accuracy spec. mode> and select <L21: Accuracy spec. A>.
The <Accuracy spec. A> is the mode for rough machining in the default factory settings. To
adjust the accuracy and machining time, change the accuracy level and the smoothness in
steps (3) and (4).
3. Enter the target accuracy in units (setting units depends on the user parameter (switch 1:
system) <Machine unit system>) of mm for the <Accuracy level>, and press the [ENT] key.
4. Set the smoothness level in <Smoothness>. The higher the value is, the smoother the
machining surface becomes.
5. Press the <Completion mode> key to complete and exit the editing. After pressing the [RST]
key, the setting appears.
13
2023/11/16 13 - 3 - 13 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
Restrictions
• The feed axis and the additional axis cannot be moved at the same time while in accuracy
specification mode.
• When equipped with the option: high accuracy mode B (Look ahead 1000 blocks, smooth path
offset), the cycle time may become shorter and the machining surface may change slightly.
• M96 (interrupt type macro) cannot be used.
• The following restrictions apply when the smooth path offset function is enabled. The
following restrictions apply when the smooth path offset function is enabled. Refer to
“Chapter 13 (1) High-accuracy mode AIII” and “Chapter 13 (2) High-accuracy mode B” for
further details on the smooth path offset function.
- Block stop position in single operation mode is different from the program command
position.
- The mode cannot be changed.
- The dry run cannot be changed.
- A block that is cutting with the smooth path offset function cannot be specified as a block
for resuming or restarting the program. If it is specified, the alarm <<Program restart
error>> is triggered.
- If the user parameter (high accuracy: common) <Smooth path offset cancel angle> is set
too large, the alarm <<Curve speed error>> may be triggered.
- The user parameter (high accuracy: high accuracy A/B) <Minute block deletion distance>
does not apply to blocks where the smooth path offset function has been cancelled.
However, this excludes when the user parameter (high accuracy: common) <Minute block
deletion when smooth path offset is cancelled> is set to <1: Yes>.
(NOTE) When a function command is accidentally issued even though it is not available
during accuracy specification mode, the alarm <<Invalid command in accuracy
specification mode>> is triggered.
13
2023/11/16 13 - 3 - 14 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
13
2023/11/16 13 - 3 - 15 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
Issue a machining mode or an accuracy specification mode command by using the numerical
values that come after the “L” (Refer to the table below).
L0 (OFF) is the setting that does not use high accuracy mode. The same is true when the
<Machining mode> and <Accuracy spec. mode> are both <L0: OFF>.
L0 OFF
L1 Standard
L2 Rough
L3 Medium rough
L4 Medium rough S
L5 Finishing
L6 Finishing S
L7 Adjustment A
L8 Adjustment B
L9 Adjustment C
L21 Accuracy spec. A
L22 Accuracy spec. B
L23 Accuracy spec. C
(NOTE 1) If a command is issued when high accuracy mode A/B is ON, the alarm
<<Unavailable modal for machining mode specification>> is triggered and
operation stops.
(NOTE 2) When the TCP control command (G43.4/G43.5) is issued during mode selection
(M298), the alarm <<TCP control command not possible>> is triggered.
Issuing an M299 command can cancel the machining mode that was initiated by the command
M298.
13
2023/11/16 13 - 3 - 16 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
The following is an example of a program when <L1: Standard> is set for the <Machining mode>.
(Program example)
G00 X0 Y0 Z0;
;
G01 X20. Y30. Z50.; <L1:Std.>machining mode
X40. Y20. Z30.;
;
M260; High accuracy mode A (Level 1) ON
G01 X20. Y30. Z50.;
X40. Y20. Z30.;
M269; High accuracy mode A (Level 1) OFF
;
M298 L5; <L5:Finishing> machining mode ON
G01 X20. Y30. Z50.;
X40. Y20. Z30.;
M299; <L5Finishing> machining mode OFF
;
G01 X20. Y30. Z50.; <L1:Std.> machining mode
X40. Y20. Z30.;
;
M30;
13
2023/11/16 13 - 3 - 17 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
Status Description
OFF High accuracy mode is not be used.
Standard The machine is operating in <L1:Standard> machine mode.
Rough The machine is operating in <L2:Rough> machine mode.
Medium rough The machine is operating in <L3:Medium rough> machine mode.
Medium rough S The machine is operating in <L4:Medium rough S> machine mode.
Finishing The machine is operating in <L5:Finishing> machine mode.
Finishing S The machine is operating in <L6:Finishing S> machine mode.
Adjustment A The machine is operating in <L7:Adjust. A> machine mode.
Adjustment B The machine is operating in <L8:Adjust. B> machine mode.
Adjustment C The machine is operating in <L9:Adjust. C> machine mode.
Accuracy spec. A The machine is operating in accuracy specification mode: <L21:Accuracy
spec. A>.
Accuracy spec. B The machine is operating in accuracy specification mode: <L22:Accuracy
spec. B>.
Accuracy spec. C The machine is operating in accuracy specification mode: <L23:Accuracy
spec. C>.
M260 to M267 The machine is operating in high accuracy mode A.
13 M280 to M287 The machine is operating in high accuracy mode B.
5 axes machining Operating using the default value for TCP control ON.
5 axes machining Operating using the machining level specified in M code for TCP control
(M280~M287) ON.
2023/11/16 13 - 3 - 18 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
13
2023/11/16 13 - 3 - 19 eCOM4NCPR13-3
Chapter 13 High-accuracy Mode
13
2023/11/16 13 - 3 - 20 eCOM4NCPR13-3
Chapter 14 5 axes machining function
CHAPTER 14
14
2023/11/21 14 - 1 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE) The 5-axes simultaneous interpolation may not enable depending on the user
parameter setting for (switch 1: programming) <Positioning method>. Refer to
“14.1.4 Positioning (G00)” for further details.
The axis command is valid for up to 3 linear travel axes + 2 additional axes.
If an additional axis command is issued when there is no additional axis option, the alarm <<No *-
axis option.>> is triggered.
The feedrate command is issued in F. The command is valid from the time it is issued until the
feedrate is changed to another value.
When the command axis is the X-, Y- or Z-axis, mm/min (mm/rev) is recognized for the feedrate.
When it is an additional axis, deg/min (deg/rev) is recognized for the feedrate.
End point
Start point
2023/11/21 14 - 2 eCOM4NCPR14
Chapter 14 5 axes machining function
The L value is calculated based on the user parameter (switch 1: programming) <Rotation axis
speed command type> settings below.
- <Type 1> L= α2 + β2 + γ2 + δ2+ε2
- <Type 2> L= α2 + β2 + γ2 + (δ × γ × π÷ 180)2 + (ε × r × π÷ 180)2
r: User parameter (switch 1: programming) <Standard circle radius>
(NOTE) When the <Rotation axis speed command type> is set to <Type 2> and the
<Standard circle radius> is set to 0, the alarm <<User param. setting error (switch
1)>> is triggered.
14
2023/11/21 14 - 3 eCOM4NCPR14
Chapter 14 5 axes machining function
An axis command outside of the selected plane is valid for up to 1 linear travel axis + 1 additional
axis. When only using additional axes, it is valid for up to 2 additional axes.
The feedrate command on a circular interpolation axis is issued in F.
When F is greater than the machine parameter (system 1: X, Y or Z-axis) <Maximum cutting
travel speed> (X, Y or Z-axes) or <Rapid feedrate> (X, Y or Z-axis), the alarm <<Feedrate
error>> is triggered.
The axis feed outside of the selected plane is determined by the values for “Feed”, “End point X”,
“End point Y” and “End point Z” for the circular interpolation axis as shown in the following
formula.
180 * L
Fz = *F
π*R*θ
Ex: When command speed = 500 (mm/min), radius = 10 (mm), angle = 360 (°), travel distance =
2 (mm),
Fz = (180 * 2 * 500) / (π * 10 * 360)
≈ 15.9 (mm/min).
If the calculated feedrate for the axis outside of the selected plane is: greater than the machine
parameter (system 1: X-, Y- and Z-axes) <Maximum cutting travel speed> or the <Rapid feedrate>
14 (X-, Y- or Z-axes), or greater than the machine parameter (system 2: additional axis) <Maximum
cutting rotation speed> (5th- to 8th-axes) or <Rapid feedrate> (5th- to 8th-axes), then the slowest
speed is applied and that minimum speed on both the selected plane axis and the axis outside of
the selected plane are fixed and used.
When issuing a cutter compensation command, cutter compensation is carried out for the selected
plane.
2023/11/21 14 - 4 eCOM4NCPR14
Chapter 14 5 axes machining function
Helical thread cutting interpolation command is not possible while in the inverse time feed (G93)
modal. If a command is issued, the alarm <<Command not possible during inverse time feed>> is
triggered.
The axis command is valid for up to 3 linear travel axes + 2 additional axes.
If an additional axis command is issued when there is no additional axis option, an alarm is
triggered.
When carrying out G00 based positioning, it first performs an in-position check (NOTE 1) and
then proceeds to the next block.
One of the following options can be selected for the tool path in the user parameter (switch 1:
programming) <Positioning method>.
However, if the user parameter (switch 1: programming) <Positioning method> is changed, use
idling, for example, to check the tool path and cycle time before operating, because the tool path
during rapid feed changes.
In addition, be careful because the margin of error due to thermal distortion also changes,
adversely affecting the machining accuracy.
End point
Start point
X
(NOTE 1) The in-position check refers to checking whether or not the position detected on the 14
machine has reached a range within the target position (end point).
However, when there are successive Z-axis only operations, such as G0Z_ → G0Z_,
the in-position check may not be carried out.
2023/11/21 14 - 5 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 2) The in-position range used for the in-position check varies according to the machine
parameter that is used for the command that follows.
When the command sequence is G0→G0, the <Positioning end check distance>
applies, and when the command sequence is a cutting command such as G0→
G1/G2, the <In-position width> applies.
However, when the command sequence is an operation in the same direction such as
G0Z_ → G1Z_, the <Positioning end check distance> applies.
(NOTE 3) The rapid feedrate is set for each axis in the machine parameter.
As a result, an F command for the feedrate cannot be carried out.
(NOTE 4) The positioning operation during a tool change (G100 and M06) is a non-linear
interpolation type regardless of the type that is selected in the user parameter
<Positioning method>.
(NOTE 5) While the Z-axis perimeter mode is on (M300), the Z-axis perimeter operation is
carried out when there are consecutive operations for the Z-axis positioning in the
plus direction and the X-axis or Y-axis positioning operations. Refer to “Chapter 12
M function” for details on the Z-axis perimeter operation.
14.1.6 Restrictions
The restrictions are shown below for the simultaneous interpolation command for 5 axes.
• When a command is issued in conversation language mode for 2 additional axes
simultaneously in a job for a specified cutting axis, the alarm <<Interpolation command using
5 axes simultaneously is not possible>> is triggered.
• When the machine parameter (high accuracy: common) <High accuracy B additional axes>
is set to <1:Valid> and a command is issued simultaneously for 2 additional axes using
G01/G02, the alarm <<High-accuracy B unable command>> is triggered.
14
2023/11/21 14 - 6 eCOM4NCPR14
Chapter 14 5 axes machining function
TCP (Tool
center point)
A0 A22.5 A45
Control point
A0 A22.5 A45
In addition, when using the TCP control, the speed of the TCP (from the perspective of the
workpiece) is controlled so that it reaches the command speed in the program (F command value).
The user can directly issued commands in the program for the cutting speed (from the perspective
of the workpiece).
When not using the TCP control, the speed of the control point (resultant speed of X-, Y- and Z-
axes and additional axis) in the machine coordinate system is controlled so that it follows the
command speed in the program (F command value). The cutting speed (from the perspective of the
workpiece) will not reach command speed in the program.
14.2.1.2 Prerequisites
This function can only be used on machine models equipped with the interpolation function using
5 axes simultaneously.
It can only be used in NC language mode. It cannot be used in conversation language mode. 14
2023/11/21 14 - 7 eCOM4NCPR14
Chapter 14 5 axes machining function
In addition, this function is used only when the rotation direction of the rotation axis/tilt axis is set
to one of the following.
Tilt axis
• Forward direction around X-axis rotates from the Z-axis forward direction to the Y-axis
forward direction
(When user parameters (rotation axis/tilt axis settings) <Forward direction for the coordinate
system on tilt axis 1> is set to <1: Z→Y>)
• Forward direction around Y-axis rotates from the X-axis forward direction to the Z-axis
forward direction
(When user parameters (rotation axis/tilt axis settings) <Forward direction for the coordinate
system on tilt axis 1> is set to <3: X→Z>)
Rotation axis
• Forward direction around Z-axis rotates from the Y-axis forward direction to the X-axis
forward direction
(When user parameters (rotation axis/tilt axis settings) <Forward direction for the coordinate
system on rotation axis 1> is set to <5: Y→X>)
When the TCP control ON command is issued on another machine configuration with the rotation
direction set, the alarm <<Rotation axis/Tilt axis parameter setting error>> is triggered.
G43.4 X_ Y_ Z_ α_ β_ Hn ;
Command format X_ Y_ Z_ α_ β_ ;
…
(NOTE 1) A command is issued for X, Y and Z in the coordinate system that is set in the user
parameter (5 axes machining: common) <Programming coordinate system>. Refer
to “14.2.3 Coordinate system” for further details.
(NOTE 2) X, Y, Z, α and β for the same block as G43.4 can be omitted. An omitted axis is
processed as a no travel command. Refer to “14.2.4 Startup operation” for further
details.
14 (NOTE 3) If a command is issued at an address that is not specified for the tilt axis/rotation
axis in α and β, the alarm <<Address where command is not possible>> is triggered.
(NOTE 4) When “H0” is specified, the tool length is always 0. If “H” is omitted, the current H
modal is used. However, if there is no H modal, it operates with a 0 tool length.
(NOTE 5) When the tool length offset range is set for the tool specified in H code, the range is
checked. The alarm <<Comm. issued to area other than (tool) data area.>> is
triggered when the command area is outside of the range.
2023/11/21 14 - 8 eCOM4NCPR14
Chapter 14 5 axes machining function
K
Z
Y
Table coordinate X
system I J
G43.5 X_ Y_ Z_ α_ β_ Hn ;
Command format X_ Y_ Z_ I_ J_ K_ ;
…
(NOTE 1) X, Y and Z commands are issued in the table coordinate system. Refer to “14.2.3
Coordinate system” for further details on the table coordinate system.
(NOTE 2) X, Y, and Z on the same block as G43.5 can be omitted. An omitted axis is processed
as a no travel command. Refer to “14.2.4. Startup operation” for further details.
(NOTE 3) If the user parameter (5 axes machining: common) <Programming coordinate
system> is set to <1: Wrkpc. coord. sys.>, then the alarm <<TCP control command
error>> is triggered.
(NOTE 4) If the user parameter (rotation axis/tilt axis setting) <Tilt axis 1> or <Rotation axis
1> is set to <Not specified>, then the alarm <<TCP control command error>> is
triggered.
(NOTE 5) On the G43.5 block, commands for I, J and K are not possible. If a command is
issued, the alarm <<Address where command is not possible>> is triggered.
(NOTE 6) When one of the following is omitted: I, J or K, it is processed as a 0 value. When
all are omitted, the tool posture in the previous block is maintained and the
additional axis does not travel.
(NOTE 7) When “H0” is specified, the tool length is always 0. If “H” is omitted, the current H
modal is used. However, if there is no H modal, it operates with a 0 tool length.
(NOTE 8) When the tool length offset range is set for the tool specified in H code, the range is
checked. The alarm <<Comm. issued to area other than (tool) data area.>> is
triggered when the command area is outside of the range.
(NOTE 9) If a rotation axis address command is issued while using the G43.5 modal, the alarm
<<Address where command is not possible>> is triggered.
14
2023/11/21 14 - 9 eCOM4NCPR14
Chapter 14 5 axes machining function
• Up to 12 digits for the integer and decimal digits can be used for commands (excluding
symbols and decimal points)
Ex: K-1.12345678901 (1 integer digit + 11 decimal digits = 12 total digits) → All digits
valid
K-1.123456789012 (1 integer digit + 12 decimal digits = 13 total digits) → <<Command
data range error>>
• Number of valid decimal digits is the difference after subtracting integer digits from total of
12 digits (maximum of 11 digits)
Ex: K[-1000/6]→166.666666667 (9 decimal digits are valid because there are 3 integers)
K[-1/6]→0.16666666667 (11 decimal digits are valid because there is 1 integer)
K-.123456789012 (0 integer digits + 12 decimal digits = 12 total digits) → Up to the
11th decimal digit is valid
A short cut is taken when traveling to the established angle. A positive direction is taken when
traveling if the travel amount in the positive and negative directions is the same.
When there is an axis that is set as a tilt axis or rotation axis and the user parameter (switch 2:
stroke) <*-axis stroke control> is set to <1: Yes>, it selects an angle within the stroke range. In
addition, it selects an angle where the axis can travel within the stroke range. The alarm <<TCP
control command error>> is triggered when an angle cannot be found for the axis to travel. The
angle is established using the method above when there are still two or more sets of angles.
How the selection is made as explained above is the same as the feature coordinate setting
function.
Refer to “3.8.8.2 Command format - (2) How the travel angle on the additional axis is established”
for specific examples.
14
2023/11/21 14 - 10 eCOM4NCPR14
Chapter 14 5 axes machining function
X_Y_Z_ : End point coordinate (for G90 modal) or travel amount (for G91 modal)
α_ β_ : End point coordinate for tilt axis and rotation axis (for G90 modal)
Travel amount for tilt axis and rotation axis (for G91 modal)
α and β indicate the address “A”, “B”, or “C” for the tilt axis and rotation axis.
(NOTE 1) XYZ commands on the same block as G49 are issued in the workpiece coordinate
system. Refer to “14.2.5 Cancel operation” for further details.
(NOTE 2) The tool length offset command (G43/G44) and the tool change command (G100)
can also be cancelled. Refer to the “14.2.5.3 Cancel operation by other commands”
for further details.
(NOTE 3) Before executing the end of program (M02 and M30), always cancel the TCP
control. When executing without cancelling TCP control, the alarm <<TCP control
did not turn OFF.>> is triggered.
(NOTE 4) The following commands cannot be carried out at the same time as the TCP cancel
command. Otherwise, the alarm <<TCP under control>> is triggered.
• General canned cycle (G77, G81, etc.)
• Coordinate calculation (G36 to G39)
• Skip (G31/G131/G132)
• Automatic workpiece measurement (G121 to G129)
• Positioning to measurement position (G120)
• Single direction positioning (G60)
• Cutter compensation (G41, G42)
• Nose R compensation (G141 and G142)
• Rotary fixture offset (G54.2)
• Lathe spindle selection (M142)
However, the command is possible if it is at the same time as a lathe spindle
rotation command (M303/M304).
Command conditions
- G00 modal (positioning) or G01 modal (linear interpolation)
- G40 modal (cutter / nose R compensation cancel)
- G43/G44 modal (tool length offset) or G49 modal (cancel)
- G50 modal (cancel scaling)
- G50.1 modal (cancel mirror image)
- Zero point shift amount is not set in G52 one shot command (local coordinate) → (NOTE 1)
- G54.2P0 modal (cancel rotary fixture offset)
- G69 modal (cancel rotational transformation/feature coordinate manufacturing mode)
- G80 modal (canned cycle cancel mode)
- G94 modal (feedrate per minute)
- G97 modal (cancel constant peripheral speed control)
- M97 modal (cancel interrupt type macro)
- M141 modal (spindle selection)
- M269/M289 modal (high accuracy mode A/B OFF) or M280 to M287 modal (high accuracy
mode B ON) →(NOTE 2)
- M299 modal (cancel machining mode specification)
14
- Additional axis position is set →(NOTE 3)
- Travel is complete for tool offset →(NOTE 4)
- LOCK signal is OFF for all axes (X-, Y-, Z-, rotation and tilt axes) that are used in TCP
control
2023/11/21 14 - 11 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) An alarm is triggered when the zero point shift amount is set in G52 (local
coordinate). An alarm does not trigger when the zero point shift amount is set in G92
(workpiece coordinate system).
(NOTE 2) TCP control cannot be turned ON for modals M260 to M267 (high accuracy mode A
ON).
(NOTE 3) After changing from the lathe spindle (M142) to the spindle (M141), the alarm
<<TCP control command error>> is triggered if the following commands are not
issued to the additional axis that is assigned as the lathe spindle.
• Axis travel command for G90 modal
• Reference position return command (G28, G30) when there is no travel to the
middle position
(NOTE 4) The alarm <<TCP control command error>> is triggered when travel is not complete
for the tool offset.
Command functions
- Positioning (G00) / linear interpolation (G01) →(NOTE 1)
- Dwell (G04)
- Exact stop check (G09)
- Programmable data input (G10) →(NOTE 2)
- Skip (G31/G131/G132) →(NOTE 3)
- Exact stop mode (G61)
- Cutting mode (G64)
- Macro call (G65) and macro modal call (G66)
- Absolute / Incremental command (G90/G91)
- Programmable data input (high accuracy) (G210)
- S code command
- T code command
- M code command excluding unavailable command functions
(NOTE 1) Angle chamfering/corner R cannot be used. Otherwise, the alarm <<Address where
command is not possible>> is triggered.
(NOTE 2) Input command is not possible for workpiece coordinate zero data (G10
L2/L20/L98/L99) and for tool length offset data (G10 L10/L11/L90Z/L91Z).
Otherwise, the alarm <<TCP under control>> is triggered.
(NOTE 3) Skip command is only possible for X-, Y- and Z-axes commands. If an additional
axis command is issued, the alarm <<Address where command is not possible>> is
triggered.
2023/11/21 14 - 12 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) An alarm is triggered when a command is issued again while the TCP control is
already ON.
(NOTE 2) TCP control can be turned ON with the M300 modal, but the Z-axis perimeter
function is normally disabled.
14.2.2.5 Feedrate
In the linear interpolation (G01), the TCP speed relative to the workpiece (TCP speed in the table
coordinate system) is controlled by the “F” command feedrate.
Refer to “14.2.3 Coordinate system” for further details on the table coordinate system.
Refer to “14.2.2.6 Positioning” for details on the positioning (G00) operation.
(NOTE 1) Only feedrate per minute (G94) commands are possible. An error is triggered when
feedrate per rotation (G95) and inverse time feed (G93) commands are issued.
(NOTE 2) When the user parameter (5 axes machining: common) <Programming coordinate
system> is set to <1: Wrkpc. coord. sys.> as well, then the TCP speed relative to the
workpiece is controlled so that it reaches the feedrate.
(NOTE 3) The user parameter (switch 1: programming) <Rotation axis speed command type>
is invalid.
(NOTE 4) The user parameters (switch 1: programming) <Max. actual cutting travel speed
(linear axis)> and <Max. actual cutting travel speed (rotation axis)> are invalid.
• <F command value>: Controlled so the faster speed between the rotation axis and tilt axis
becomes the F command value (deg/min).
• <Maximum speed>: Controlled so that each axis speed for the rotation/tilt axis speed becomes
the <Maximum speed (Cutting)> (5th- to 8th-axes) set in the machine parameter (5 axes
machining: additional axis).
2023/11/21 14 - 13 eCOM4NCPR14
Chapter 14 5 axes machining function
14.2.2.6 Positioning
Positioning (G00) command operates with TCP control.
The speed of each axis in the machine coordinate system is controlled so that it becomes within
the set value of the following parameters.
(NOTE 1) The operation functions always with the TCP control ON regardless of the set value
in the user parameter (switch 1: programming) <Positioning method>.
(NOTE 2) The same block as the TCP control ON command operates with the TCP control
OFF. Refer to “14.2.4 Startup operation” for further details.
When the tilt axis and rotation axis operate at the same time, the tool posture in the middle of the
block does not exist on the same plane as the tool posture at the start and end points on the block,
because the two axes operate independently.
Workpiece
14
2023/11/21 14 - 14 eCOM4NCPR14
Chapter 14 5 axes machining function
Table
coordinate
A-45 A45 system
A0
A-45 A0 A45
2023/11/21 14 - 15 eCOM4NCPR14
Chapter 14 5 axes machining function
Assumed conditions
• A-axis: Tilt axis around the X-axis
Program
N1 G54 G90 X_ Y_ Z_ A0. ;…A-axis default value: 0 degrees
N2 G43.4 Hn ;…TCP control ON
N3 X_ Y_ Z_ A45. ; …A-axis rotation: 45 degrees
…
Operation
• When <Zero position in workpiece coordinates> or <Additional axis position at start> applies.
The workpiece coordinate system is fixed to the table with the A-axis machine coordinate at 0
degrees.
Workpiece coordinate zero (G54) After N2 execution After N3 execution
Workpiece
Z Workpiece Z coord. system Z
coordinate = Table coord.
Y system Y system Y
As shown below, even if the workpiece coordinate system zero point (G54) is set to another
value besides 0 degrees, the workpiece coordinate system is fixed to the table at a position
where the A-axis is 0 degrees in the workpiece coordinates (20 degrees in machine
coordinates) for the <Zero position in workpiece coordinates> and <Additional axis position at
start>.
Workpiece coordinate zero (G54) After N2 execution After N3 execution
Workpiece Workpiece
Z Z
coordinate coord. system Z
Y system
= Table coord.
Y system Y
14
2023/11/21 14 - 16 eCOM4NCPR14
Chapter 14 5 axes machining function
Assumed conditions
• A-axis: Tilt axis around the X-axis
Program
N1 G54 G90 X_ Y_ Z_ A90. ;…A-axis default value: 90 degrees
N2 G43.4 Hn ; …TCP control ON
N3 X_ Y_ Z_ A45. ; …After A-axis rotation: 45 degrees
…
Operation
• When set to <Zero position in workpiece coordinates>
The workpiece coordinate system is fixed to the table at the workpiece coordinate zero point
(A-axis machine coordinate is 0 degrees).
Workpiece coordinate zero (G54) After N2 execution After N3 execution
Z
Workpiece
coordinate
Y system Table coordinate Table
system coordinate
system
Z
Z
A90 A45
A-axis zero: Machine
Y
coord. 0 deg.
Y
• When set to <Additional axis position at start>
The workpiece coordinate system is fixed to the table at the additional axis position when N2
executes (A-axis machine coordinate is 90 degrees).
Workpiece coordinate zero (G54) After N2 execution After N3 execution
Z
Workpiece Z
Workpiece coord. Z
coordinate system
Y = Table coord. Y
Y system
system
Table coordinate
system
As shown below, to fix the coordinate system at the top end of the workpiece, the zero point in
the workpiece coordinate system must be set beforehand to the top end position of the
workpiece at a position when the machine coordinate is 90 degrees. At this time, the upward
direction relative to the workpiece becomes the Y direction in the coordinate system.
Workpiece coordinate zero (G54) After N2 execution After N3 execution
Workpiece coord. Table coordinate system
Workpiece system
coordinate = Table coord.
system system
Z Z
14
Z
Y Y Y
A-axis zero: Machine coord. A90 A45
0 deg.
2023/11/21 14 - 17 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) The startup operation includes the travel for TCP control OFF.
(NOTE 2) It travels only for the tool offset regardless of the set value in the user parameter
(switch 1: compensation function) <X/Y/Z-axis travel at tool length/tool pos. offset
change>.
Parameter setting
• User parameter (5 axes machining: common) <Programming coordinate system>: <Table
coordinate system>
• Tool length offset H1: 80 mm
Program
N1 G90 G54 G00 Y0. Z200. A0.;
N2 G43.4 H1 ; … No axis travel command
N3 Y-30. Z30. A60. ;… X-, Y- and Z-axes command is issued in programming
coordinate system
…
Operation
On the N2 block, the Z-axis travels in the plus direction only for the tool length offset.
Starting from N3 block, it travels for the TCP control ON, and then travels along a curve when
looking at the machine coordinate system.
N2 travel N3 travel
N2 end point
N2 end point
Workpiece coordinates
Workpiece coordinates (Y, Z) = (200, 0)
(Y, Z) = (200, 0) Workpiece
coordinate N3 end point
Workpiece Z system (G54) Z
coordinate Y Y Table coordinates
system (G54) (Y,Z)=(-30,30)
Table coordinate
system
A0 A60
14
2023/11/21 14 - 18 eCOM4NCPR14
Chapter 14 5 axes machining function
Refer to “14.2.2.1 TCP control ON command” for details on the significance of each address.
(NOTE 1) The startup operation includes the travel for TCP control OFF.
(NOTE 2) When startup operation includes the positioning operation (G0 modal) and the user
parameter (switch 1: programming) <Positioning method> is set to <Non-linear
interpol.pos.>, the path changes depending on the [RAPID TRAVERSE
OVERRIDE] switch status. Pay particular attention that there is no tool or jig
interference.
(NOTE 3) The end position of the X-, Y- and Z-axes on the same block as the G43.4/G43.5
follows the coordinate system (table coordinate system or workpiece coordinate
system) that is set in the user parameter (5 axes machining: common)
<Programming coordinate system>.
(NOTE 4) The user parameter (switch 1: compensation function) <X/Y/Z-axis travel at tool
length/tool pos. offset change> is invalid. Even if there is no Z-axis travel command,
it always travels the tool offset amount.
Parameter setting
• User parameter (5 axes machining: common) <Programming coordinate system>: <Table
coordinate system>
• Tool length offset H1: 80 mm
Program
N1 G90 G54 G00 Y0. Z200. A0.;
N2 G43.4 Y-70. Z50. A45. H1 ; …X-, Y- and Z-axes commands are issued in the table
coordinate system.
N3 Y-30. Z30. A60. ; … X-, Y- and Z-axes commands are issued in the table
coordinate system.
…
Operation
On the N2 block, it travels for the TCP control OFF, and then travels along a linear path when
looking at the machine coordinate system.
Starting from N3 block, it travels for the TCP control ON, and then travels along a curve when
looking at the machine coordinate system.
N2 travel N3 travel
N1 end point
Workpiece coordinates
(Y,Z)=(0,200) N2 end point
N2 end point
Workpiece
Z
Y
Workpiece
Z
Y
N3 end point 14
coordinate coordinates Table coordinates
(Y,Z)=(-70,50) Workpiece (Y,Z)=(-30,30)
system(G54) coordinate
system
Table coordinate
(G54)
system
Table coordinate
A45 A60 system
2023/11/21 14 - 19 eCOM4NCPR14
Chapter 14 5 axes machining function
T : Tool number (1 to 99, 201 to 299), or pot number (magazine number) (101 to 199), or group
number (901 to 930).
Refer to “14.2.2.1 TCP control ON command” for details on the significance of each address apart
from those above.
(NOTE 1) The end position of the X-, Y- and Z-axes on the same block as the G100 follows the
coordinate system (table coordinate system or workpiece coordinate system>) that is
set in the user parameter (5 axes machining: common) <Programming coordinate
system>.
(NOTE 2) An alarm is triggered if a command is carried out that cannot be executed on the
same block as G43.4/G43.5 or G100. Refer to “3.17 G code priority” for further
details.
The operation is the same as the standard tool change canned cycle.
Refer to the following operation example.
Parameter setting
• User parameter (5 axes machining: common) <Programming coordinate system>: <Table
coordinate system>
Assumed conditions
• A-axis: Tilt axis around the X-axis
• Spindle mounted tool: T1
Program command
N1 G54 G90 G0 Y-40. Z40.
N2 G100 G43.4 T2 X0. Y-30. Z10. A45. C0. H2 M03 S10000 ;
N3 X_ Y_ Z_ A_ C_;
…
14
2023/11/21 14 - 20 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) The absolute coordinates and remaining distance display on the position screen are
as follows.
• Absolute coordinates:
Between (1) and (5) in the figure above, the positioning is displayed in the table
coordinate system or workpiece coordinate system depending on the user
parameter (5 axes machining: common) <Absolute coordinate display format>.
• Remaining distance:
Between (2) and (4) in the figure above, the remaining distance is always
displayed in the machine coordinate system during a tool change. During
operation for (1) and (5), the remaining distance is displayed in the table
coordinate system or machine coordinate system depending on the user
parameter (5 axes machining: common) <Display format of remaining
distance>.
Other specifications are the same as the standard tool change canned cycle.
Refer to “5.7 Canned cycle for tool change (nonstop ATC) (G100)” for further details.
14
2023/11/21 14 - 21 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) The cancel operation includes the travel for TCP control OFF.
(NOTE 2) When the user parameter (switch 1: compensation function) <Error check when
traveling during tool length/tool position offset cancel> is set to <Yes>, an error is
triggered.
(NOTE 3) It travels only for the tool offset regardless of the set value in the user parameter
(switch 1: compensation function) <X/Y/Z-axis travel at tool length/tool pos. offset
change>.
(NOTE 4) When there is a cancel operation, there may be a slight movement that is less than
the minimum unit setting on the axis under TCP control.
(NOTE 5) When there is a cancel operation, if the lock signal for the TCP control axis is ON,
then the alarm <<Lock signal for axis with TCP control is on.>> may trigger. In this
situation, set the lock signal so it turns on in the next block for the cancel operation.
(NOTE 1) The cancel operation includes the travel for TCP control OFF.
(NOTE 2) When cancel operation includes the positioning operation (G0 modal) and the user
parameter (switch 1: programming) <Positioning method> is set to <Non-linear
interpol.pos.>, the path changes depending on the [RAPID TRAVERSE
OVERRIDE] switch status. Pay particular attention that there is no tool or jig
interference.
(NOTE 3) The command position of X-, Y- and Z-axes on the same block as G49 is specified
in the workpiece coordinate system.
(NOTE 4) When using an IJK command format, a tool posture (IJK address) command is not
possible on a G49 block. An ABC address command is possible for the tilt
axis/rotation axis.
(NOTE 5) When one of the following commands: M260 to M267 (high accuracy mode A ON)
or M280 to M287 (high accuracy mode B ON) is issued on the same block as G49, it
becomes valid starting on the next block. OFF travel is carried out for high accuracy
mode and machining mode on the same block as G49.
(NOTE 6) When the Z-axis travel command is omitted and when the user parameter (switch 1:
compensation function) <Error check when traveling during tool length/tool position
offset cancel> is set to <Yes>, an error is triggered.
(NOTE 7) The user parameter (switch 1: compensation function) <X/Y/Z-axis travel at tool
length/tool pos. offset change> is invalid. Even if there is no Z-axis travel command,
it always travels the tool offset amount.
14 (NOTE 8) When there is a cancel operation, there may be a slight movement that is less than
the minimum unit setting on the axis under TCP control.
(NOTE 9) When there is a cancel operation, if the lock signal for the TCP control axis is ON,
then the alarm <<Lock signal for axis with TCP control is on.>> may trigger. In this
situation, set the lock signal so it turns on in the next block for the cancel operation.
2023/11/21 14 - 22 eCOM4NCPR14
Chapter 14 5 axes machining function
TCP control is cancelled and the tool length offset turns ON.
It travels to the position that is offset by the tool length regardless if there is a Z-axis travel
command or not.
(NOTE) When there is a command that does not include a Z-axis travel command and the
user parameter (switch 1: compensation function) <X/Y/Z-axis travel at tool
length/tool pos. offset change> is set to <Type 2>, be careful because it behaves
differently as shown below.
• When under TCP control, it travels to the position that is offset by the tool
length.
• When not under TCP control, the Z-axis does not travel.
(NOTE 1) The set value in the machine parameter (5 axes machining: common) <No. of look-
ahead blocks> is valid for the number look ahead blocks.
(NOTE 2) The acceleration/deceleration is carried out without any stops even if there are heavy
travel blocks, empty lines and/or comment lines.
(NOTE 3) Acceleration/deceleration before interpolation is disabled for the following
operations.
- Axis travel on the same block as the TCP control ON command
- Axis travel on the same block as the TCP control cancel command
- Axis travel for the skip command
- Axis travel after restoring from a manual intervention operation
- Axis travel when the dry run key is ON
14
2023/11/21 14 - 23 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) Before the additional axis travel command, it first stops and then automatically
unclamps. In addition, after the additional axis travel is complete, it always stops
first and then automatically clamps. To keep it from stopping at every block, issue a
command M442/M440/M444 (A-/B-/C-axis unclamp) beforehand and turn OFF the
automatic control as shown below.
N1 M442 M444 ;…A-axis/C-axis unclamp
N2 G43.4 Hn X_ Y_ Z_ A_ C_ ; …TCP control ON
N3 G01 X_ Y_ Z_ A_ C_ ;
N4 G01 X_ Y_ Z_ A_ C_ ; A- and C-axes stay unclamped
N5 G01 X_ Y_ Z_ A_ C_ ; (Stops at each block)
…
The set values for each override function can be changed in the user parameters.
Refer to “14.2.6.6 Parameter adjustment screen” for further details.
Command path
Tool path
14
2023/11/21 14 - 24 eCOM4NCPR14
Chapter 14 5 axes machining function
Acceleration override
When the acceleration is gradual after decelerating on the corner or curve section, the surface
quality improves.
The X-, Y-, Z-, tilt and rotation axes can be adjusted with the <Acceleration override(*axis)>. The
setting range can be set between “10% and 100%”.
The smaller the set value, the more gradual the acceleration becomes, making the surface quality
better.
However, the machining time takes longer as a result.
When the machining level (M280 to M287) is not selected, all become 100 (%). Refer to the next
chapter for details on selecting the machining level.
These override functions are enabled for the cutting feed. They do not affect the positioning
operation.
2023/11/21 14 - 25 eCOM4NCPR14
Chapter 14 5 axes machining function
Level 4
More emphasis (More emphasis on shape accuracy)
on shape
accuracy Level 2
(More emphasis on shape accuracy) M283
Level 3
M282
Level 1 M281
Default status
(More emphasis on
speed) M280 Surface quality
(high)
M289
Surface quality (medium)
More emphasis Surface quality (low)
on speed
Low Surface quality High
14
2023/11/21 14 - 26 eCOM4NCPR14
Chapter 14 5 axes machining function
To use a machining level between 1 and 8, insert an M code (M280 to M287) to change the desired
machining level.
(Program example 2)
G00 X_ Y_ Z_;
M281; Machining level (level 2) ON
G01 X_ Y_ Z_;
X_ Y_ Z_; High accuracy mode B (level 2) executing
…
G00 X_ Y_ Z_;
G43.4 H1; TCP control ON
…
M282; Machining level (level 3) ON
G01 X_ Y_ Z_ A_ C_;
X_ Y_ Z_ A_ C_; TCP control ON (level 3) executing
…
G0 X_ Y_ Z_ A_ C_;
M283; Machining level (level 4) ON
G01 X_ Y_ Z_ A_ C_;
X_ Y_ Z_ A_ C_; TCP control ON (level 4) executing
…
G0 X_ Y_ Z_ A_ C_;
G49 Z_; TCP control OFF
…
M289; Machining level selection OFF
G01 X_ Y_ Z_;
X_ Y_ Z_; High accuracy mode B OFF executing
…
M30;
(NOTE 1) Machining level selection for M280 to M287 is valid regardless if the TCP control is
ON or OFF. When the TCP control is OFF, the machining level selection is used for
high accuracy mode B. Refer to “Chapter 13 (2) High accuracy mode B” for further
details.
(NOTE 2) When one of the following operations is performed, the machining level selection is
turned OFF.
• If the power is turned ON
• If the [RST] key is pressed
• If an operation resets the memory operation such as pressing the [Z.RTN] key
in manual operation mode
• If end of program (M02, M30) is executed
(NOTE 3) Machining level selection for M260 to M267 is valid only when the TCP control is
OFF. Refer to “Chapter 13 (1) High accuracy mode AIII” for further details. When
the TCP control ON command is executed in a modal between M260 and M267, the
alarm <<TCP control command error>> is triggered.
(NOTE 4) The machining mode, selected on the <Machining parameter adjustment (Machining
mode)> screen or on the <Machining parameter adjustment (Machining mode)>
screen using the machining mode setting function, is valid only when the TCP
control is OFF. Refer to “6.2.5 Machining mode settings” in Operation Manual II for
further details.
(NOTE 5) When there is a TCP control ON command and the mode is selected by a program
command using the machining mode setting function, the alarm <<TCP control
command error>> is triggered.
14
2023/11/21 14 - 27 eCOM4NCPR14
Chapter 14 5 axes machining function
14.2.7 Other
14.2.7.1 Operation pause
When the [FEED HOLD] switch is used to stop operation while under TCP control, operation
may not stop on the block when the switch is pressed, because it decelerates gradually within the
allowable acceleration.
(NOTE) The execution pointer (“>>”) on the program operation screen refers to the block
where operation was actually stopped.
(NOTE) The execution pointer (“>>”) on the program operation screen refers to the block
that was executing when the switch was pressed. The block may be different from
the block where operation was actually stopped.
2023/11/21 14 - 28 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE) Refer to “14.2.2.5 Feedrate” for details on the additional axis only travel.
(NOTE) When the switch is set to 100%, the speed on each axis is restricted so that the X-,
Y-, Z- and additional axes stay within the values set in the machine parameter (5
axes machining: X-, Y- and Z-axes) <Maximum speed(Rapid feed)> and machine
parameter (5 axes machining: additional axis) <Maximum speed(Rapid feed)>.
In addition, when the mode is changed to manual operation mode without performing one of the
above stop operations, memory operation pauses and an intervention operation below can be
carried out.
(NOTE 1) When one of the following intervention operations is performed while under TCP
control, an operator message appears.
- [ATC], [Z.RTN] and [L.SP] keys
- Additional axis is selected on the <Manual conditions> screen and [+4] or [-4]
key is pressed
- Additional axis is selected on the <Manual conditions> screen and [Axis
selection] switch is changed to <4> on the manual pulse generator
(NOTE 2) If the mode is changed to manual operation mode during the G91 modal or while
dry run is ON, an axis travel operation cannot be carried out. The operator message
<<TCP under control>> appears when one of the following operation is carried out.
- [+X], [-X], [+Y], [-Y], [+Z] or [-Z] key is pressed
14
- When the [Axis selection] switch on the manual pulse generator is changed to a
setting besides <OFF>
2023/11/21 14 - 29 eCOM4NCPR14
Chapter 14 5 axes machining function
Machine
coordinate
system
Table
Z coordinate
system
Y A45
TCP
Travel amount of
intervention is
maintained in
machine coordinate
system
A0 A22.5 A45
Block start point Middle of block Block end point
14
2023/11/21 14 - 30 eCOM4NCPR14
Chapter 14 5 axes machining function
(NOTE 1) The dry run ON/OFF cannot be changed while TCP control is being used. When the
[DRY] key is pressed, the operator message <<TCP under control>> appears.
(NOTE 2) As shown in the image below, when the path exceeds the Z-axis zero position
(distance to Z-axis zero) after the dry run offset is applied, then the Z-axis is
clamped at the zero position (distance to zero point) and operates accordingly.
(NOTE 3) When an axis travel operation is performed using a manual intervention while dry
run is ON, the operator message <<TCP under control>> appears.
A-45 A-22.5 A0
Block start point Middle of block Block end point
14
2023/11/21 14 - 31 eCOM4NCPR14
Chapter 14 5 axes machining function
• When the user parameter (switch 1: operation) <Axis travel speed method for dry run> is set
to <Method 2>
<Cutting speed
TCP speed (positioning)
restriction>
OFF The traveling axes operate at a maximum TCP speed that does not
exceed the following speeds.
• X-, Y- and Z-axes
Machine parameter (system 1: X-, Y- and Z-axes) <Maximum
cutting travel speed> (X- to Z-axes)
• Tilt axis/rotation axis
Machine parameter (system 2: additional axis) <Maximum cutting
rotation speed> (5th to 8th-axes)
ON The travelling axes operate at a maximum TCP speed that does not
exceed the following speeds.
• X-, Y- and Z-axes
Cutting clamp speed 1 (BDY164/165)
• Tilt axis/rotation axis
Cutting clamp speed 2 (BDY166/167)
(NOTE 1) Refer to “7.1.11 Dry run” in Operation Manual I for details about the dry run speed
when TCP control is OFF.
(NOTE 2) For the cutting feed, the cutting feedrate override is applied to the speed calculated
from the table.
After the cutting feedrate override is applied, the resulting speed is restricted to the
upper limit of cutting clamp speed 1, cutting clamp speed 2, maximum cutting travel
speed or maximum cutting rotation speed.
14
2023/11/21 14 - 32 eCOM4NCPR14
Chapter 14 5 axes machining function
14
2023/11/21 14 - 33 eCOM4NCPR14
Chapter 14 5 axes machining function
14
2023/11/21 14 - 34 eCOM4NCPR14
(This page was intentionally left blank.)
©2021-2023 BROTHER INDUSTRIES, LTD.
All Rights Reserved.
Printed in Japan.
This is the original instructions.
69A799001
2310 (9)
eCOM4NCPROKU